@stoplight/json
Useful functions when working with JSON.
Installation
Supported in modern browsers and node.
yarn add @stoplight/json
Usage
import { parseWithPointers } from "@stoplight/json/parseWithPointers";
const result = parseWithPointers('{"foo": "bar"'});
console.log(result.data)
console.log(result.pointers)
- decycle: Remove circular references with support for an optional replacer.
- parseWithPointers: Like
JSON.parse(val)
but also returns a source map that includes a JSON path pointer for every property in the result (with line information). - safeParse: Like
JSON.parse(val)
but does not throw on invalid JSON. - safeStringify: Like
JSON.stringify(val)
but handles circular references. - startsWith: Like native JS
x.startsWith(y)
but works with strings AND arrays. - trimStart: Like
lodash.startsWith(x, y)
but works with strings AND arrays.
Contributing
- Clone repo.
- Create / checkout
feature/{name}
, chore/{name}
, or fix/{name}
branch. - Install deps:
yarn
. - Make your changes.
- Run tests:
yarn test.prod
. - Stage relevant files to git.
- Commit:
yarn commit
. NOTE: Commits that don't follow the conventional format will be rejected. yarn commit
creates this format for you, or you can put it together manually and then do a regular git commit
. - Push:
git push
. - Open PR targeting the
develop
branch.