Notation.js
Read, modify, and filter the contents of JavaScript objects and arrays — with object/bracket notation strings or glob patterns.
Notation.create({ x: 1 }).set('some.prop', true).filter(['*.prop']).value;// » { some: { prop: true } }Read & Build
Get and set deeply-nested values by notation — no && guard chains, no undefined surprises.
Glob Filtering
Include or exclude fields with wildcard * and bang ! patterns. Order-independent, auto-normalized.
Flatten & Expand
Round-trip between nested objects and flat, dotted-key maps — handy for DB rows and form data.
Move & Copy
Copy, move, rename, extract, and merge properties within or across objects.
Bracket & Array Notation
Address array indices and non-standard keys: x[0], x[“my-key”], x[’*’].
ESM · Typed · Tested
Pure ESM, ships TypeScript types, 100% test coverage. Runs on Node, Bun, Deno, and the browser.
See Related Projects
Section titled “See Related Projects”Builds a nested, typed configuration object from flat config items, with templating and ABAC filtering. Built on Notation.
Role- and attribute-based access control (RBAC/ABAC) for Node.js.
© 2026, @onury • MIT License