@swagger-api/apidom-json-pointer
apidom-json-pointer
is a package that evaluates JSON Pointer against ApiDOM.
Installation
You can install this package via npm CLI by running the following command:
$ npm install @swagger-api/apidom-json-pointer
Evaluating
import { ObjectElement } from '@swagger-api/apidom-core';
import { evaluate } from '@swagger-api/apidom-json-pointer';
const apidom = new ObjectElement({ a: { b: 'c' } });
const result = evaluate('/a/b', apidom);
// => StringElement('c')
Parsing
Parses JSON Pointer into list of tokens.
import { parse } from '@swagger-api/apidom-json-pointer';
const tokens = parse('/a/b'); // => ['a', 'b']
Compiling
Compiles list of tokens into JSON Pointer.
import { compile } from '@swagger-api/apidom-json-pointer';
const jsonPointer = compile(['a', 'b']); // => '/a/b'
Escaping
Escapes/unescapes tokens of JSON Pointer.
import { escape, unescape } from '@swagger-api/apidom-json-pointer';
escape('~a/'); // => '~0a~1'
unescape('~0a~1'); // => '~a/'
Transforming URI to JSON Pointer
Handles case of URI Fragment Identifier Representation.
import { uriToPointer } from '@swagger-api/apidom-json-pointer';
uriToPointer('https://example.com/path/#/a/b'); // => '/a/b'
Invalid JSON Pointers
If invalid JSON Pointer is supplied to parse
or evaluate
functions, InvalidJsonPointerError
is thrown.
import { InvalidJsonPointerError } from '@swagger-api/apidom-json-pointer';
If valid JSON Pointer is supplied to evaluate
function and the pointer cannot be evaluated against
ApiDOM fragment, EvaluationJsonPointerError
is thrown.
import { EvaluationJsonPointerError } from '@swagger-api/apidom-json-pointer';