JSPM

  • Created
  • Published
  • Downloads 2065848
  • Score
    100M100P100Q193075F
  • License Apache-2.0

Useful functions when working with JSON.

Package Exports

  • @stoplight/json
  • @stoplight/json/parseWithPointers

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@stoplight/json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@stoplight/json

Maintainability Test Coverage

Useful functions when working with JSON.

Installation

Supported in modern browsers and node.

# latest stable
yarn add @stoplight/json

Usage

// basic example of parseWithPointers
// note: parseWithPointers is not exported from root, ust import by name
import { parseWithPointers } from "@stoplight/json/parseWithPointers";

const result = parseWithPointers('{"foo": "bar"'});
console.log(result.data) // => the {foo: "bar"} JS object
console.log(result.pointers) // => the source map with a single "#/foo" pointer that has position info for the foo property
  • 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

  1. Clone repo.
  2. Create / checkout feature/{name}, chore/{name}, or fix/{name} branch.
  3. Install deps: yarn.
  4. Make your changes.
  5. Run tests: yarn test.prod.
  6. Stage relevant files to git.
  7. 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.
  8. Push: git push.
  9. Open PR targeting the develop branch.