Configuard
const cfg = new Configuard(rows, { accessor: AccessorType.SYSTEM });cfg.get<number>('device.port'); // 8080 — typed & nested, built from flat config rowscfg.has('device.ui.accent'); // trueFlat → Nested & Typed
Turn a tall key / value config table into a nested object, each value cast to its declared type.
Templating
${...} references resolve recursively; circular and missing references are caught, not ignored.
ABAC Filtering
Each row declares an accessor; clients see only what their accessor and bitwise app level allow.
Immutable & Fail-Loud
The built object is deep-frozen by default, and a corrupt row throws at construction — never a silent partial build.
Admin Round-Trip
parseFlat() renders rows as editable fields; serializeFlat() validates edits back into a DB-ready diff.
Encryption-Aware
Bring your own crypto: a decrypt/encrypt hook handles encrypt: true values at rest.
See Related Projects
Section titled “See Related Projects”Read, modify, and filter JavaScript objects and arrays with notation strings or glob patterns. Configuard is built on it.
Role- and attribute-based access control (RBAC/ABAC) for Node.js — pairs with Configuard’s row-level filtering.
© 2026, @onury • MIT License