ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

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

Documentation

data CachedDoc Source #

A serving document the pipeline threads and permitted caches hold. The derived Show and Eq are a debug and test affordance, not a projection.

Instances

Instances details
Show CachedDoc Source # 
Instance details

Defined in Ecluse.Core.Registry.CachedDocument

Eq CachedDoc Source # 
Instance details

Defined in Ecluse.Core.Registry.CachedDocument

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.