Implementations
These implementations of Flat Notation pass the conformance suite at the levels shown. CI checks every row marked "CI" on each change.
| Language | Package | Version | Decoder | Encoder | Exact integers | Lenient | References | Messages | Checked |
|---|---|---|---|---|---|---|---|---|---|
| JavaScript, TypeScript | @flattype/core 1.14+ | 1.1 | ✓ | ✓ | ✓ ¹ | ✓ | ✓ | ✓ | CI |
| Python | flattype 1.14+ | 1.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | CI |
Versions 1.13 of both packages implement Flat Notation 1.0.
¹ With decode(text, { bigint: true }). By default, integers beyond 2⁵³ round, as with JSON.parse.
Both also pass the Unpaired surrogates level, and both stream, with createDecoder and flattype.Decoder.
Add yours
Wrote an implementation in another language? It can be listed here, whoever maintains it:
- Make the suite pass at the levels you want to claim:
node conformance/run.mjs -- <your adapter>(see writing a port). - Open an issue with the List my implementation template, and paste the runner's output.
A listed implementation keeps its row while it keeps passing. When the spec gets a new minor version, its row shows the version it was checked against.