Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Decision records

Architecture decision records (ADRs) capture significant design choices: the context, the decision, and its consequences. They are numbered and never rewritten. A later ADR supersedes an earlier one instead.

#DecisionStatus
0001Implement JSONata ourselves, porting jsonata-js 2.2.2Accepted
0002Use regress for ECMAScript-compatible regular expressionsAccepted
0003An explicit value model with Undefined and sequence flagsAccepted
0004Audit evaluations through a tracer interface in the evaluatorAccepted
0005Carry audit labels in JSONata doc-commentsAccepted
0006Host functions with a JSON boundaryAccepted; extended by 0011
0007A language server on the language service, configured by jlens.jsonAccepted
0008A machine contract for the CLI: --json envelopes, exit codes, stdout for dataAccepted
0009Regular expressions stop within the evaluation’s limits, through a fork of regressAccepted
0010Input documents converted lazily, one level at a timeAccepted
0011Host functions call the functions they receive, through a handle that borrows the callAccepted
0012The CLI on npm: a launcher package and one package per platformAccepted
0013The VS Code extension: one package per platform with the release binaryAccepted