@swagger-api/apidom-json-pointer
TypeScript icon, indicating that this package has built-in type declarations

0.99.1 • Public • Published

@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';

/@swagger-api/apidom-json-pointer/

    Package Sidebar

    Install

    npm i @swagger-api/apidom-json-pointer

    Weekly Downloads

    356,669

    Version

    0.99.1

    License

    Apache-2.0

    Unpacked Size

    554 kB

    Total Files

    30

    Last publish

    Collaborators

    • swagger-api