- Standard path, e.g.
a.b.c[0].d
. - Provider types & utils: Path, PathValue, pathGet, pathSet, pathSetImmutable.
- Built with typescript, provide type protection, code autocompletion, make your app robust.
- No dependencies, less than 1kB page size.
npm install object-standard-path
import { Path, PathValue } from 'object-standard-path'; type Test = { value: string; array: { value: string; }[]; }; type TestPath = Path<Test>; // result: "value" | "array" | `array[${number}]` | `array[${number}].value` type TestPathValue = PathValue<Test, 'array[0]'>; // result: { value: string }
import { pathGet, pathSet, pathSetImmutable } from 'object-standard-path'; const object = { array: [ { value: 1, }, ], }; const result = pathGet(object, 'array[0].value'); // result: 1 pathSet(object, 'array[0].value', 2); // object: { array: [{ value: 2 }] } const result = pathSetImmutable(object, 'array[0].value', 2); // result: { array: [{ value: 2 }] }
Notes: please don't include the characters .[]
in the key of the object, as they may affect parsing.