Skip to content

Add NDRON and RON text-sequence support #2

Description

@delaneyj

Add the two RON v1 streaming profiles after #1 lands.

NDRON

The NDJSON counterpart:

RON-text LF
  • UTF-8, one single-line RON value per record.
  • Encoder emits LF; parser accepts LF and CRLF.
  • Reject embedded raw CR and an unterminated final record.
  • Empty-line handling is documented and configurable.

Recommended media type: application/x-ndron; extension: .ndron.

RON text sequences

The RFC 7464 counterpart:

RS RON-text LF
  • Incremental, UTF-8 RON with binary RS framing.
  • Continue at the next RS after malformed or truncated elements.
  • Report invalid preamble bytes; ignore consecutive RS markers.
  • LF-less wrapped/quoted self-delimited values may be accepted.
  • Drop LF-less bare scalars and root-elided objects as potentially truncated.
  • Never publish partial values from a failed element.

Recommended media type: application/ron-seq.

The escape correction in #1 makes framing safe: LF, CR, and RS string values encode as \n, \r, and \u001e.

Acceptance:

  • Expose idiomatic incremental reader/writer APIs for both profiles.
  • Enforce configurable record-size and nesting limits.
  • Consume testdata/sequences/manifest.json after updating the corpus submodule.
  • Exact-match valid stream bytes and pass all malformed/truncation recovery cases.

Reference: https://www.rfc-editor.org/rfc/rfc7464

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions