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

1.0.0-beta.35 • Public • Published

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

apidom-json-pointer-relative is a package that evaluates Relative 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-relative

Evaluating

import { ObjectElement } from '@swagger-api/apidom-core';
import { evaluate } from '@swagger-api/apidom-json-pointer-relative';

const root = new ObjectElement({ a: { b: 'c' } });
const current = root.get('a').get('b');
const result =  evaluate('0#', current, root);
// => StringElement('b')

Parsing

Parses Relative JSON Pointer into AST (Abstract Syntax Tree).

import { parse } from '@swagger-api/apidom-json-pointer-relative';

const tokens = parse('2/foo/0');
// => { nonNegativeIntegerPrefix: 2, indexManipulation: undefined, jsonPointerTokens: ['foo', '0'], hashCharacter: false }

Compiling

Compiles AST into Relative JSON Pointer.

import { compile } from '@swagger-api/apidom-json-pointer-relative';

const relativeJsonPointer = compile({
  nonNegativeIntegerPrefix: 2,
  indexManipulation: undefined,
  jsonPointerTokens: ['highly', 'nested', 'objects'],
  hashCharacter: false,
}); // => '2/highly/nested/objects'

Invalid Relative JSON Pointers

If invalid Relative JSON Pointer is supplied to parse or evaluate functions, InvalidRelativeJsonPointerError is thrown.

import { InvalidRelativeJsonPointerError } from '@swagger-api/apidom-json-pointer-relative';

If valid JSON Pointer is supplied to evaluate function and the relative pointer cannot be evaluated against ApiDOM fragment, EvaluationRelativeJsonPointerError is thrown.

import { EvaluationRelativeJsonPointerError } from '@swagger-api/apidom-json-pointer-relative';

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.0-beta.3540latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.0-beta.3540
1.0.0-beta.3437
1.0.0-beta.3351
1.0.0-beta.3244
1.0.0-beta.317
1.0.0-beta.300
1.0.0-beta.291
1.0.0-beta.280
1.0.0-beta.270
1.0.0-beta.261
1.0.0-beta.251
1.0.0-beta.241
1.0.0-beta.231
1.0.0-beta.200
1.0.0-beta.190
1.0.0-beta.180
1.0.0-beta.171
1.0.0-beta.160
1.0.0-beta.151
1.0.0-beta.140
1.0.0-beta.130
1.0.0-beta.120
1.0.0-beta.111
1.0.0-beta.100
1.0.0-beta.90
1.0.0-beta.82
1.0.0-beta.70
1.0.0-beta.61
1.0.0-beta.51
1.0.0-beta.40
1.0.0-beta.30
1.0.0-beta.20
1.0.0-beta.10
1.0.0-beta.01
1.0.0-alpha.100
1.0.0-alpha.90
1.0.0-alpha.80
1.0.0-alpha.70
1.0.0-alpha.61
1.0.0-alpha.51
1.0.0-alpha.30
1.0.0-alpha.21
1.0.0-alpha.10
1.0.0-alpha.00
0.99.20
0.99.11
0.99.00
0.98.00
0.97.00
0.96.00
0.95.00
0.94.01
0.93.02
0.92.00
0.91.01
0.90.01
0.89.01
0.88.00
0.87.01
0.86.00
0.85.00
0.84.01
0.83.00
0.82.20
0.82.10
0.82.00
0.81.01
0.80.00
0.79.00
0.78.00
0.77.02
0.76.21
0.76.10
0.76.00
0.75.00

Package Sidebar

Install

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

Weekly Downloads

156

Version

1.0.0-beta.35

License

Apache-2.0

Unpacked Size

755 kB

Total Files

29

Last publish

Collaborators

  • swagger-api