Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@pragyanatvade
Copy link
Contributor

Adds event-based streaming decode for memory-efficient processing of large TOON documents.

What's new

  • events / events-ch - decode to lazy seq or async channel of parse events
  • events->value - reconstruct values from event streams
  • lines->value - decode from pre-split lines
  • encode-lines - streaming encode (returns seq of lines)

Other changes

  • Feature parity with TS: wasQuoted on keys, length on arrays
  • Strict mode validation for array counts
  • Refactored internal naming to follow Stuart Sierra conventions
  • Reduced CLJ/CLJS duplication in stream module

All 520 tests pass.

List items with inline fields and nested children now correctly emit
complete objects combining both. Cursor tracking fixed to properly
advance through child fields before processing next list item.
Add 8 comprehensive tests ensuring streaming decode produces identical
results to regular decode for: simple objects, nested objects, mixed
structures, list arrays, and all primitive types (number, string,
boolean, null)
@pragyanatvade pragyanatvade merged commit 8127248 into main Nov 28, 2025
2 checks passed
@pragyanatvade pragyanatvade deleted the feat/streaming-decode-api branch December 8, 2025 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants