ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Registry.PyPI.StreamingProjection

Description

Join supported PyPI fields while preserving source positions and existing read limits.

Synopsis

Documentation

data PyPIProjection Source #

Parsed files keep their read coordinate and share retained scalars with the compact serving records.

emptyProjection :: PackageName -> PyPIProjection Source #

Start one project's source without retaining any input chunks.

collectField :: Limits -> PyPIRead -> PyPIProjection -> PyPIField -> Either LimitError PyPIProjection Source #

Decode one compact file and stop retaining payloads after an existing structural limit trips.

keepsFile :: PyPIProjection -> Bool Source #

Whether a file read now would be retained: files in the first files array, until a limit trips.

finishProjection :: PackageName -> PyPIProjection -> Either MetadataError (PackageInfo, SimpleDocument) Source #

Check protocol and name before structural counts, then project the source's retained files.