True chunked input streaming #4
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracks true chunked/streaming input parsing in PureYAML's core engine, distinct from the document-boundary chunking already prototyped in PureYAMLStreaming.
Current state (per PureYAMLStreaming's README): the incubator streams YAML input in chunks and emits one parsed
PureYAML.Stream.Documentat a time, bounded by the largest single document plus parser state. It is not yet a token-level scanner.Remaining work:
PureYAMLpackage once the streaming API and memory behavior are proven, per PureYAMLStreaming's README "Relationship To PureYAML" section.See NodetteHQ/PureYAMLStreaming for the incubator implementation.
Reconstructed from PureYAML's README roadmap, which referenced this as issue #43 before the GitHub to Codeberg migration reset issue numbering on this repo.
Part of #8.
Closing: all three "remaining work" items are done.
scanStep()(LibYAML.Scanner.Streaming.swift) resumes token-by-token across chunk boundaries, including persisted mid-token suspension for plain scalars (no checkpoint-and-rescan), and is now exposed as public API:PureYAML.Streaming.Scanner(init()/feed(_:)/finish()/next()),Streaming.Token/Token.Kind/Token.ScalarStyle.StreamingScannerDifferentialTests(the internalscanStep()) andPublicStreamingScannerTests(the public wrapper's own translation layer, checked separately since a wrong case mapping there wouldn't be caught by the internal proof) both run the full yaml-test-suite corpus at multiple chunk sizes and match batch parsing exactly.PureYAML: made and executed — the resumable scanner lives in core now, not just PureYAMLStreaming's incubator.What's left is wiring
PureYAMLStreaming's ownResumableDocumentScanner(still a naive line-based---heuristic) onto this new public API, which is separate, cross-repo work with its own build/test/CI cycle: tracked as NodetteHQ/PureYAMLStreaming#3.