0.6.2 • Published 2 years ago

json-pointer v0.6.2

Weekly downloads
225,779
License
MIT
Repository
github
Last release
2 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-zhpizzalol-redocpush-modelpulsedocssg-serializerservice-layerskema-formslush-regeneratorrfc6902-json-diffsift-rulestarscreamstblockrebuxredoc-extendedredoc-ldredoc-linkredoc-mod-libredoc-react18redoc_customredocredoc-asyncapiredoc-asyncapi-api-docsredoc-etnreact-schema-uisemvalserver-mockrserver-mockrssmykowskisolar-radsoilsjssreposswab-jsswagger-translation-toolswagger-examples-validatortf-seyna-redocthe-seatthe-storetest-ow-js-sdkreselect-treeroads-starterscoped-transform-streamstructured-loggingswagger-reposwagger-repo-zplswagger-parametersswagger-parameters-extractorethereum-transaction-debuggerexpress-markdown-browserevent-to-objectexpress-typescript-codegenemjendvt-bitdb-coredummy-package-fourfetch-rancher-metadatagavel2htmlformiifugaquiafs-dbfx-schema-form-antdfirebase-nightlightflux-modelingjsflux-json-to-threeextensions-manager-sdkmongoldmd-to-json-snippet-generatormulti-schema-linkermocked-apimodelproxy-engine-dubbomodify-json-loaderlp-redocjson-diff-dandyjson-machetejson-magicjson-patch-friendlyjson-rewriterjson-schema-compose
0.6.2

2 years ago

0.6.1

4 years ago

0.6.0

8 years ago

0.5.0

8 years ago

0.4.0

8 years ago

0.3.1

8 years ago

0.3.0

9 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.1.0

10 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago