| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Ecluse.Core.Registry.PyPI.StreamingProjection
Description
Join supported PyPI fields while preserving source positions and existing read limits.
Synopsis
- data PyPIProjection
- emptyProjection :: PackageName -> PyPIProjection
- collectField :: Limits -> PyPIRead -> PyPIProjection -> PyPIField -> Either LimitError PyPIProjection
- keepsFile :: PyPIProjection -> Bool
- finishProjection :: PackageName -> PyPIProjection -> Either MetadataError (PackageInfo, SimpleDocument)
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.