| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Ecluse.Core.Registry.CachedDocument
Description
Opaque serving documents with ecosystem-specific inject/project pairs. The pipeline carries source snapshot scope separately and delegates wire access to adapters.
Synopsis
- data CachedDoc
- weighCachedDoc :: CachedDoc -> Int64
- estimateValueBytes :: Value -> Int64
- npmCached :: (Value -> CachedDoc, CachedDoc -> Maybe Value)
- pypiSimpleCached :: (SimpleDocument -> CachedDoc, CachedDoc -> Maybe SimpleDocument)
- npmPacked :: (PackedPackument -> CachedDoc, CachedDoc -> Maybe PackedPackument)
- npmRendered :: (RenderPlan -> CachedDoc, CachedDoc -> Maybe RenderPlan)
Documentation
A serving document the pipeline threads and permitted caches hold. The derived Show and Eq are a
debug and test affordance, not a projection.
weighCachedDoc :: CachedDoc -> Int64 Source #
Cached estimate of compact bytes. This is an accounting input, not measured resident memory. A packed form charges the heap bytes it holds, in the compact units a consumer expands.
estimateValueBytes :: Value -> Int64 Source #
Estimate accounting bytes without encoding. This is neither measured heap nor exact JSON length.
npmCached :: (Value -> CachedDoc, CachedDoc -> Maybe Value) Source #
npm's boundary pair. Every arm is spelled out, so a third ecosystem fails to compile here. A packed
or rendered document projects as its tree, or as Nothing when it names a string or table it lacks.
pypiSimpleCached :: (SimpleDocument -> CachedDoc, CachedDoc -> Maybe SimpleDocument) Source #
PyPI's boundary pair, spelled out arm by arm for the same reason as npmCached.
npm's packed full reads and their renders
npmPacked :: (PackedPackument -> CachedDoc, CachedDoc -> Maybe PackedPackument) Source #
npm's packed full read, and its packed form when the document is one.
npmRendered :: (RenderPlan -> CachedDoc, CachedDoc -> Maybe RenderPlan) Source #
An assembled npm listing that renders from packed releases, and its plan when the document is one.