Socket
Socket
Sign inDemoInstall

@stoplight/json

Package Overview
Dependencies
Maintainers
10
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stoplight/json

Useful functions when working with JSON.


Version published
Weekly downloads
1.1M
increased by11.71%
Maintainers
10
Weekly downloads
 
Created
Source

@stoplight/json

Maintainability Test Coverage

Useful functions when working with JSON.

  • Explore the interfaces: TSDoc
  • View the changelog: Releases

Installation

Supported in modern browsers and node.

# latest stable
yarn add @stoplight/json

Usage

  • 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).
  • pathToPointer: Turns an array of path segments into a json pointer IE ['paths', '/user', 'get'] -> #/paths/~1/user/get.
  • pointerToPath: Turns a json pointer into an array of path segments IE #/paths/~1/user/get -> ['paths', '/user', 'get'].
  • 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.
Example parseWithPointers

Note: Unlike most of the other functions, parseWithPointers is not exported from root. You must 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

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 next branch.

Keywords

FAQs

Package last updated on 30 Mar 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc