TypeScript port of omnist -- one canonical data model for JSON, YAML, TOML, XML, and its own native OML (Omnist Markup Language). See the upstream Python project for the full design rationale; this repo mirrors its module boundaries and public API (camelCase names of the same functions).
Docs: https://ts.omnist.dev/ (start at Quickstart).
Status: fully implemented -- library, CLI, and fuzz/oracle test suite are
complete and at 100% coverage (issues #1-#11). Published to npm as
@omnist-dev/omnist under the alpha dist-tag:
npm install @omnist-dev/omnist@alpha
Track progress via the issue tracker.
Same model as upstream, ported directly from its formal spec:
record definitions (closed, named fields with
cardinality), where a field's type is exactly one scalar
(string/integer/number/boolean/date/time/datetime,
optionally nullable), a Ref to a named record, or any.See the model spec for the full formal definition this port implements against, or the quickstart for the shortest possible tour.
npm install
npm run typecheck
npm run lint
npm test
npm run test:coverage
npm run docs:dev # live-reload docs site at http://localhost:5173
npm run docs:build # static build to docs/.vitepress/dist