Overview
ESC JSON Form Core is the shared foundation underneath esc-json-form-react and esc-json-form-angular. It provides schema parsing, field resolution, validation logic, and reactive state as a pure TypeScript library — no UI framework dependency.
The API is built around a store pattern: call `createJsonFormStore(initialValue, schema?)` and get back a store with typed getters, setters, path-based access, array helpers, validation, and a subscriber model.
The `getTree()` method returns a typed form tree with nested sections that mirrors the JSON structure — adapter packages use this to drive rendering without reimplementing schema traversal.
The package can also be used directly for headless form logic, server-side validation, or as the basis for custom adapters in other UI frameworks.
Tech Stack
Year
2026
Category
Open Source
Key Features
Framework-Agnostic
Pure TypeScript with no UI dependencies. Powers React and Angular adapters — or build your own.
Store Pattern
`createJsonFormStore` returns getValue, setValue, getAtPath, setAtPath, setTypeAtPath, and a subscribe listener.
Array Helpers
`addArrayItem` and `removeArrayItem` for managing dynamic array fields at any path depth.
Schema Validation
Set a schema with `setSchema`, run `validate()`, get typed error results. Supports required, minLength, min, and type rules.
Typed Form Tree
`getTree()` returns a typed nested tree mirroring the JSON shape — ready for adapter rendering loops.
Reactive Subscriptions
`store.subscribe(listener)` fires on any value change — plug into any reactive framework or plain JS.
Use ESC JSON Form Core
ESC JSON Form Core is free and open source — use it, fork it, contribute.