0.6.2 • Published 3 years ago

json-pointer v0.6.2

Weekly downloads
225,779
License
MIT
Repository
github
Last release
3 years ago

json-pointer

Build Status npm version Coverage Status

Some utilities for JSON pointers described by RFC 6901

Provides some additional stuff i needed but is not included in node-jsonpointer

Installation

node.js

$ npm install json-pointer

API

var pointer = require('json-pointer');

.get(object, pointer)

Looks up a JSON pointer in an object.

Array of reference tokens, e.g. returned by api.parse, can be passed as a pointer to .get, .set and .remove methods.

var obj = {
    example: {
        bla: 'hello'
    }
};
pointer.get(obj, '/example/bla');

.set(object, pointer, value)

Sets a new value on object at the location described by pointer.

var obj = {};
pointer.set(obj, '/example/bla', 'hello');

.remove(object, pointer)

Removes an attribute of object referenced by pointer.

var obj = {
    example: 'hello'
};
pointer.remove(obj, '/example');
// obj -> {}

.dict(object)

Creates a dictionary object (pointer -> value).

var obj = {
    hello: {bla: 'example'}
};
pointer.dict(obj);

// Returns:
// {
//    '/hello/bla': 'example'
// }

.walk(object, iterator)

Just like:

each(pointer.dict(obj), iterator);

.has(object, pointer)

Tests if an object has a value for a JSON pointer.

var obj = {
    bla: 'hello'
};

pointer.has(obj, '/bla');               // -> true
pointer.has(obj, '/non/existing');      // -> false

.escape(str)

Escapes a reference token.

pointer.escape('hello~bla');            // -> 'hello~0bla'
pointer.escape('hello/bla');            // -> 'hello~1bla'

.unescape(str)

Unescape a reference token.

pointer.unescape('hello~0bla');         // -> 'hello~bla'
pointer.unescape('hello~1bla');         // -> 'hello/bla'

.parse(str)

Converts a JSON pointer into an array of reference tokens.

pointer.parse('/hello/bla');            // -> ['hello', 'bla']

.compile(array)

Builds a json pointer from an array of reference tokens.

pointer.compile(['hello', 'bla']);      // -> '/hello/bla'

pointer(object, [pointer, value])

Convenience wrapper around the api.

pointer(object)                 // bind object
pointer(object, pointer)        // get
pointer(object, pointer, value) // set

The wrapper supports chainable object oriented style.

var obj = {anything: 'bla'};
var objPointer = pointer(obj);
objPointer.set('/example', 'bla').dict();
@spiderdan98/json-api-normalizer@esri/hub-componentsnode-service-layer@agendrix/redoc@yelloan/redocredoc-side_endpointsmarketplace-redocswagger-parameter-extactor@apemesh/cdif@apemesh/ceams@redoc/redoc-pro@putma/testjun-json-editor@adaliszk/redoc-extendedpowerpuff@leni-msft/oav@biproxi/models@uniformdev/canvas-sdkdbx-redocdocusaurus-plugin-openapi-docs-slashidwinmodel-validator-ts@infinitebrahmanuniverse/nolb-json-p@redocly/redoc-int@everything-registry/sub-chunk-1984@fakeyanss/redoc-zh@redocly/spot-experimentalswagger-examples-validatortest-ow-js-sdkwix-art-store-3rd-partyweather-prismvue-json-schema-formwu-wei-benchmarking-toolkitstarscreamstblockswagger-translation-toolswagger-reposwagger-repo-zplswagger-parametersswagger-parameters-extractorthe-seatthe-lintthe-storevjsfvaldslvoluptasimpedit@docknetwork/crypto-wasm-ts@codedown/redoc@codegena/oapi3ts@comyata/run@comet-cli/adapter-openapi@cysonius/json-utils@deuex-solutions/redoc@cpu-json-editor/antd-components@cpu-json-editor/core@benmarch/redoc@canner/rc-tablejmap-core-jsjmap-documentsjmap-donneesclimatiques-jsjmapcloud-portaljmapserver-ng-corejmap-app-jsjmap-cloud-admin-console-jsjmapcloud-console-jsjmapcloud-dashboard-jsjmapcloud-ngjmapcloud-ng-corejmap-analytics-jsjmapserver-ngjson-schema-mockifierjson-schema-parserjson-patch-friendlyjson-machetejson-magicjson-schema-validator-generatorjson-schema-to-jsdocjson-compilejson-rewriterjson-strictifyjp2pjson-diff-dandyjson-schema-composejson-schema-diff-validatorjson-schema-editor-visual-reactjak-redockickstartdskentico-kontent-docs-redockentico-cloud-docs-redocjsonschema_transformed_into_markdown_pagesjsonscript-js@contentful/content-source-mapsmodify-json-loadersrepostructured-loggingsswab-jssolar-radtxgw-docusaurus-plugin-openapi-docstruffle-conflux-debuggerui-genietf-seyna-redoc
0.6.2

3 years ago

0.6.1

5 years ago

0.6.0

9 years ago

0.5.0

9 years ago

0.4.0

9 years ago

0.3.1

9 years ago

0.3.0

10 years ago

0.2.2

11 years ago

0.2.1

11 years ago

0.1.0

12 years ago

0.0.4

12 years ago

0.0.3

12 years ago

0.0.2

12 years ago