@swagger-api/apidom-json-pointer 1.0.0-beta.32 → 1.0.0-beta.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/apidom-json-pointer.browser.js +2723 -2782
- package/dist/apidom-json-pointer.browser.min.js +1 -1
- package/package.json +5 -7
- package/src/compile.cjs +9 -9
- package/src/compile.mjs +9 -9
- package/src/escape.cjs +4 -2
- package/src/escape.mjs +4 -2
- package/src/evaluate.cjs +14 -41
- package/src/evaluate.mjs +15 -42
- package/src/index.cjs +6 -6
- package/src/index.mjs +3 -3
- package/src/parse.cjs +7 -24
- package/src/parse.mjs +8 -23
- package/src/unescape.cjs +4 -16
- package/src/unescape.mjs +4 -16
- package/types/apidom-json-pointer.d.ts +4 -3
package/src/escape.cjs
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
|
-
var
|
|
5
|
+
var _jsonPointer = require("@swaggerexpert/json-pointer");
|
|
6
6
|
/**
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
const escape =
|
|
9
|
+
const escape = referenceToken => {
|
|
10
|
+
return _jsonPointer.URIFragmentIdentifier.to((0, _jsonPointer.escape)(referenceToken)).slice(1);
|
|
11
|
+
};
|
|
10
12
|
var _default = exports.default = escape;
|
package/src/escape.mjs
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { escape as baseEscape, URIFragmentIdentifier } from '@swaggerexpert/json-pointer';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
|
-
const escape =
|
|
6
|
+
const escape = referenceToken => {
|
|
7
|
+
return URIFragmentIdentifier.to(baseEscape(referenceToken)).slice(1);
|
|
8
|
+
};
|
|
7
9
|
export default escape;
|
package/src/evaluate.cjs
CHANGED
|
@@ -3,60 +3,33 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var
|
|
6
|
+
var _jsonPointer = require("@swaggerexpert/json-pointer");
|
|
7
|
+
var _apidom = require("@swaggerexpert/json-pointer/evaluate/realms/apidom");
|
|
7
8
|
var _apidomCore = require("@swagger-api/apidom-core");
|
|
8
|
-
var _parse = _interopRequireDefault(require("./parse.cjs"));
|
|
9
9
|
var _EvaluationJsonPointerError = _interopRequireDefault(require("./errors/EvaluationJsonPointerError.cjs"));
|
|
10
10
|
/**
|
|
11
11
|
* Evaluates JSON Pointer against ApiDOM fragment.
|
|
12
12
|
* @public
|
|
13
13
|
*/
|
|
14
14
|
const evaluate = (pointer, element) => {
|
|
15
|
-
let tokens;
|
|
16
15
|
try {
|
|
17
|
-
|
|
16
|
+
return (0, _apidom.evaluate)(element, _jsonPointer.URIFragmentIdentifier.from(pointer));
|
|
18
17
|
} catch (error) {
|
|
19
|
-
|
|
18
|
+
if (error instanceof _jsonPointer.JSONPointerEvaluateError) {
|
|
19
|
+
throw new _EvaluationJsonPointerError.default(error.message, {
|
|
20
|
+
pointer,
|
|
21
|
+
tokens: error.referenceTokens,
|
|
22
|
+
failedToken: error.referenceToken,
|
|
23
|
+
failedTokenPosition: error.referenceTokenPosition,
|
|
24
|
+
element: (0, _apidomCore.cloneDeep)(element),
|
|
25
|
+
cause: error
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
throw new _EvaluationJsonPointerError.default(error.message, {
|
|
20
29
|
pointer,
|
|
21
30
|
element: (0, _apidomCore.cloneDeep)(element),
|
|
22
31
|
cause: error
|
|
23
32
|
});
|
|
24
33
|
}
|
|
25
|
-
return tokens.reduce((acc, token, tokenPosition) => {
|
|
26
|
-
if ((0, _apidomCore.isObjectElement)(acc)) {
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
if (!acc.hasKey(token)) {
|
|
29
|
-
throw new _EvaluationJsonPointerError.default(`JSON Pointer evaluation failed while evaluating token "${token}" against an ObjectElement`, {
|
|
30
|
-
pointer,
|
|
31
|
-
tokens,
|
|
32
|
-
failedToken: token,
|
|
33
|
-
failedTokenPosition: tokenPosition,
|
|
34
|
-
element: (0, _apidomCore.cloneDeep)(acc)
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
// @ts-ignore
|
|
38
|
-
return acc.get(token);
|
|
39
|
-
}
|
|
40
|
-
if ((0, _apidomCore.isArrayElement)(acc)) {
|
|
41
|
-
if (!(token in acc.content) || !(0, _ramdaAdjunct.isInteger)(Number(token))) {
|
|
42
|
-
throw new _EvaluationJsonPointerError.default(`JSON Pointer evaluation failed while evaluating token "${token}" against an ArrayElement`, {
|
|
43
|
-
pointer,
|
|
44
|
-
tokens,
|
|
45
|
-
failedToken: token,
|
|
46
|
-
failedTokenPosition: tokenPosition,
|
|
47
|
-
element: (0, _apidomCore.cloneDeep)(acc)
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
// @ts-ignore
|
|
51
|
-
return acc.get(Number(token));
|
|
52
|
-
}
|
|
53
|
-
throw new _EvaluationJsonPointerError.default(`JSON Pointer evaluation failed while evaluating token "${token}" against an unexpected Element`, {
|
|
54
|
-
pointer,
|
|
55
|
-
tokens,
|
|
56
|
-
failedToken: token,
|
|
57
|
-
failedTokenPosition: tokenPosition,
|
|
58
|
-
element: (0, _apidomCore.cloneDeep)(acc)
|
|
59
|
-
});
|
|
60
|
-
}, element);
|
|
61
34
|
};
|
|
62
35
|
var _default = exports.default = evaluate;
|
package/src/evaluate.mjs
CHANGED
|
@@ -1,57 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { JSONPointerEvaluateError, URIFragmentIdentifier } from '@swaggerexpert/json-pointer';
|
|
2
|
+
import { evaluate as baseEvaluate } from '@swaggerexpert/json-pointer/evaluate/realms/apidom';
|
|
3
|
+
import { cloneDeep } from '@swagger-api/apidom-core';
|
|
4
4
|
import EvaluationJsonPointerError from "./errors/EvaluationJsonPointerError.mjs";
|
|
5
5
|
/**
|
|
6
6
|
* Evaluates JSON Pointer against ApiDOM fragment.
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
9
|
const evaluate = (pointer, element) => {
|
|
10
|
-
let tokens;
|
|
11
10
|
try {
|
|
12
|
-
|
|
11
|
+
return baseEvaluate(element, URIFragmentIdentifier.from(pointer));
|
|
13
12
|
} catch (error) {
|
|
14
|
-
|
|
13
|
+
if (error instanceof JSONPointerEvaluateError) {
|
|
14
|
+
throw new EvaluationJsonPointerError(error.message, {
|
|
15
|
+
pointer,
|
|
16
|
+
tokens: error.referenceTokens,
|
|
17
|
+
failedToken: error.referenceToken,
|
|
18
|
+
failedTokenPosition: error.referenceTokenPosition,
|
|
19
|
+
element: cloneDeep(element),
|
|
20
|
+
cause: error
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
throw new EvaluationJsonPointerError(error.message, {
|
|
15
24
|
pointer,
|
|
16
25
|
element: cloneDeep(element),
|
|
17
26
|
cause: error
|
|
18
27
|
});
|
|
19
28
|
}
|
|
20
|
-
return tokens.reduce((acc, token, tokenPosition) => {
|
|
21
|
-
if (isObjectElement(acc)) {
|
|
22
|
-
// @ts-ignore
|
|
23
|
-
if (!acc.hasKey(token)) {
|
|
24
|
-
throw new EvaluationJsonPointerError(`JSON Pointer evaluation failed while evaluating token "${token}" against an ObjectElement`, {
|
|
25
|
-
pointer,
|
|
26
|
-
tokens,
|
|
27
|
-
failedToken: token,
|
|
28
|
-
failedTokenPosition: tokenPosition,
|
|
29
|
-
element: cloneDeep(acc)
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
// @ts-ignore
|
|
33
|
-
return acc.get(token);
|
|
34
|
-
}
|
|
35
|
-
if (isArrayElement(acc)) {
|
|
36
|
-
if (!(token in acc.content) || !isInteger(Number(token))) {
|
|
37
|
-
throw new EvaluationJsonPointerError(`JSON Pointer evaluation failed while evaluating token "${token}" against an ArrayElement`, {
|
|
38
|
-
pointer,
|
|
39
|
-
tokens,
|
|
40
|
-
failedToken: token,
|
|
41
|
-
failedTokenPosition: tokenPosition,
|
|
42
|
-
element: cloneDeep(acc)
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
// @ts-ignore
|
|
46
|
-
return acc.get(Number(token));
|
|
47
|
-
}
|
|
48
|
-
throw new EvaluationJsonPointerError(`JSON Pointer evaluation failed while evaluating token "${token}" against an unexpected Element`, {
|
|
49
|
-
pointer,
|
|
50
|
-
tokens,
|
|
51
|
-
failedToken: token,
|
|
52
|
-
failedTokenPosition: tokenPosition,
|
|
53
|
-
element: cloneDeep(acc)
|
|
54
|
-
});
|
|
55
|
-
}, element);
|
|
56
29
|
};
|
|
57
30
|
export default evaluate;
|
package/src/index.cjs
CHANGED
|
@@ -12,14 +12,14 @@ var _CompilationJsonPointerError = _interopRequireDefault(require("./errors/Comp
|
|
|
12
12
|
exports.CompilationJsonPointerError = _CompilationJsonPointerError.default;
|
|
13
13
|
var _EvaluationJsonPointerError = _interopRequireDefault(require("./errors/EvaluationJsonPointerError.cjs"));
|
|
14
14
|
exports.EvaluationJsonPointerError = _EvaluationJsonPointerError.default;
|
|
15
|
+
var _parse = _interopRequireWildcard(require("./parse.cjs"));
|
|
16
|
+
exports.parse = _parse.default;
|
|
17
|
+
exports.uriToPointer = _parse.uriToPointer;
|
|
18
|
+
var _evaluate = _interopRequireDefault(require("./evaluate.cjs"));
|
|
19
|
+
exports.evaluate = _evaluate.default;
|
|
15
20
|
var _escape = _interopRequireDefault(require("./escape.cjs"));
|
|
16
21
|
exports.escape = _escape.default;
|
|
17
22
|
var _unescape = _interopRequireDefault(require("./unescape.cjs"));
|
|
18
23
|
exports.unescape = _unescape.default;
|
|
19
|
-
var _parse = _interopRequireWildcard(require("./parse.cjs"));
|
|
20
|
-
exports.parse = _parse.default;
|
|
21
|
-
exports.uriToPointer = _parse.uriToPointer;
|
|
22
24
|
var _compile = _interopRequireDefault(require("./compile.cjs"));
|
|
23
|
-
exports.compile = _compile.default;
|
|
24
|
-
var _evaluate = _interopRequireDefault(require("./evaluate.cjs"));
|
|
25
|
-
exports.evaluate = _evaluate.default;
|
|
25
|
+
exports.compile = _compile.default;
|
package/src/index.mjs
CHANGED
|
@@ -2,8 +2,8 @@ export { default as JsonPointerError } from "./errors/JsonPointerError.mjs";
|
|
|
2
2
|
export { default as InvalidJsonPointerError } from "./errors/InvalidJsonPointerError.mjs";
|
|
3
3
|
export { default as CompilationJsonPointerError } from "./errors/CompilationJsonPointerError.mjs";
|
|
4
4
|
export { default as EvaluationJsonPointerError } from "./errors/EvaluationJsonPointerError.mjs";
|
|
5
|
+
export { default as parse, uriToPointer } from "./parse.mjs";
|
|
6
|
+
export { default as evaluate } from "./evaluate.mjs";
|
|
5
7
|
export { default as escape } from "./escape.mjs";
|
|
6
8
|
export { default as unescape } from "./unescape.mjs";
|
|
7
|
-
export { default as
|
|
8
|
-
export { default as compile } from "./compile.mjs";
|
|
9
|
-
export { default as evaluate } from "./evaluate.mjs";
|
|
9
|
+
export { default as compile } from "./compile.mjs";
|
package/src/parse.cjs
CHANGED
|
@@ -1,33 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
3
|
exports.__esModule = true;
|
|
5
4
|
exports.uriToPointer = exports.default = void 0;
|
|
6
|
-
var
|
|
7
|
-
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
-
var _unescape = _interopRequireDefault(require("./unescape.cjs"));
|
|
9
|
-
var _InvalidJsonPointerError = _interopRequireDefault(require("./errors/InvalidJsonPointerError.cjs"));
|
|
5
|
+
var _jsonPointer = require("@swaggerexpert/json-pointer");
|
|
10
6
|
/**
|
|
11
7
|
* @public
|
|
12
8
|
*/
|
|
13
|
-
const parse = pointer => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
throw new _InvalidJsonPointerError.default(`Invalid JSON Pointer "${pointer}". JSON Pointers must begin with "/"`, {
|
|
19
|
-
pointer
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const tokens = (0, _ramda.pipe)((0, _ramda.split)('/'), (0, _ramda.map)(_unescape.default))(pointer);
|
|
24
|
-
return (0, _ramda.tail)(tokens);
|
|
25
|
-
} catch (error) {
|
|
26
|
-
throw new _InvalidJsonPointerError.default(`JSON Pointer parsing of "${pointer}" encountered an error.`, {
|
|
27
|
-
pointer,
|
|
28
|
-
cause: error
|
|
29
|
-
});
|
|
30
|
-
}
|
|
9
|
+
const parse = (pointer, options) => {
|
|
10
|
+
const {
|
|
11
|
+
tree
|
|
12
|
+
} = (0, _jsonPointer.parse)(_jsonPointer.URIFragmentIdentifier.from(pointer), options);
|
|
13
|
+
return tree;
|
|
31
14
|
};
|
|
32
15
|
|
|
33
16
|
/**
|
|
@@ -47,7 +30,7 @@ const getHash = uri => {
|
|
|
47
30
|
*/
|
|
48
31
|
const uriToPointer = uri => {
|
|
49
32
|
const hash = getHash(uri);
|
|
50
|
-
return
|
|
33
|
+
return _jsonPointer.URIFragmentIdentifier.from(hash);
|
|
51
34
|
};
|
|
52
35
|
exports.uriToPointer = uriToPointer;
|
|
53
36
|
var _default = exports.default = parse;
|
package/src/parse.mjs
CHANGED
|
@@ -1,28 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import unescape from "./unescape.mjs";
|
|
4
|
-
import InvalidJsonPointerError from "./errors/InvalidJsonPointerError.mjs";
|
|
1
|
+
import { parse as jsonPointerParse, URIFragmentIdentifier } from '@swaggerexpert/json-pointer';
|
|
2
|
+
|
|
5
3
|
/**
|
|
6
4
|
* @public
|
|
7
5
|
*/
|
|
8
|
-
const parse = pointer => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
throw new InvalidJsonPointerError(`Invalid JSON Pointer "${pointer}". JSON Pointers must begin with "/"`, {
|
|
14
|
-
pointer
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
const tokens = pipe(split('/'), map(unescape))(pointer);
|
|
19
|
-
return tail(tokens);
|
|
20
|
-
} catch (error) {
|
|
21
|
-
throw new InvalidJsonPointerError(`JSON Pointer parsing of "${pointer}" encountered an error.`, {
|
|
22
|
-
pointer,
|
|
23
|
-
cause: error
|
|
24
|
-
});
|
|
25
|
-
}
|
|
6
|
+
const parse = (pointer, options) => {
|
|
7
|
+
const {
|
|
8
|
+
tree
|
|
9
|
+
} = jsonPointerParse(URIFragmentIdentifier.from(pointer), options);
|
|
10
|
+
return tree;
|
|
26
11
|
};
|
|
27
12
|
|
|
28
13
|
/**
|
|
@@ -42,6 +27,6 @@ const getHash = uri => {
|
|
|
42
27
|
*/
|
|
43
28
|
export const uriToPointer = uri => {
|
|
44
29
|
const hash = getHash(uri);
|
|
45
|
-
return
|
|
30
|
+
return URIFragmentIdentifier.from(hash);
|
|
46
31
|
};
|
|
47
32
|
export default parse;
|
package/src/unescape.cjs
CHANGED
|
@@ -2,23 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
|
-
var
|
|
6
|
-
/**
|
|
7
|
-
* decodeURIComponent can throw URIError in certain cases like 'c%d'.
|
|
8
|
-
* safeDecodeURIComponent is a safe variant of decodeURIComponent that never trows.
|
|
9
|
-
*
|
|
10
|
-
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Malformed_URI|More info about URIError}
|
|
11
|
-
*/
|
|
12
|
-
const safeDecodeURIComponent = encodedURIComponent => {
|
|
13
|
-
try {
|
|
14
|
-
return decodeURIComponent(encodedURIComponent);
|
|
15
|
-
} catch {
|
|
16
|
-
return encodedURIComponent;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
|
|
5
|
+
var _jsonPointer = require("@swaggerexpert/json-pointer");
|
|
20
6
|
/**
|
|
21
7
|
* @public
|
|
22
8
|
*/
|
|
23
|
-
const unescape =
|
|
9
|
+
const unescape = referenceToken => {
|
|
10
|
+
return _jsonPointer.URIFragmentIdentifier.from((0, _jsonPointer.unescape)(referenceToken));
|
|
11
|
+
};
|
|
24
12
|
var _default = exports.default = unescape;
|
package/src/unescape.mjs
CHANGED
|
@@ -1,21 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* decodeURIComponent can throw URIError in certain cases like 'c%d'.
|
|
5
|
-
* safeDecodeURIComponent is a safe variant of decodeURIComponent that never trows.
|
|
6
|
-
*
|
|
7
|
-
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Malformed_URI|More info about URIError}
|
|
8
|
-
*/
|
|
9
|
-
const safeDecodeURIComponent = encodedURIComponent => {
|
|
10
|
-
try {
|
|
11
|
-
return decodeURIComponent(encodedURIComponent);
|
|
12
|
-
} catch {
|
|
13
|
-
return encodedURIComponent;
|
|
14
|
-
}
|
|
15
|
-
};
|
|
1
|
+
import { unescape as baseUnescape, URIFragmentIdentifier } from '@swaggerexpert/json-pointer';
|
|
16
2
|
|
|
17
3
|
/**
|
|
18
4
|
* @public
|
|
19
5
|
*/
|
|
20
|
-
const unescape =
|
|
6
|
+
const unescape = referenceToken => {
|
|
7
|
+
return URIFragmentIdentifier.from(baseUnescape(referenceToken));
|
|
8
|
+
};
|
|
21
9
|
export default unescape;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ApiDOMErrorOptions } from '@swagger-api/apidom-error';
|
|
2
2
|
import { ApiDOMStructuredError } from '@swagger-api/apidom-error';
|
|
3
3
|
import { Element as Element_2 } from '@swagger-api/apidom-core';
|
|
4
|
+
import { ParseOptions } from '@swaggerexpert/json-pointer';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* @public
|
|
@@ -25,7 +26,7 @@ export declare const compile: (tokens: string[]) => string;
|
|
|
25
26
|
/**
|
|
26
27
|
* @public
|
|
27
28
|
*/
|
|
28
|
-
declare const escape_2: (
|
|
29
|
+
declare const escape_2: (referenceToken: string) => string;
|
|
29
30
|
export { escape_2 as escape }
|
|
30
31
|
|
|
31
32
|
/**
|
|
@@ -81,12 +82,12 @@ export declare class JsonPointerError extends ApiDOMStructuredError {
|
|
|
81
82
|
/**
|
|
82
83
|
* @public
|
|
83
84
|
*/
|
|
84
|
-
export declare const parse: (pointer: string) => string[];
|
|
85
|
+
export declare const parse: (pointer: string, options?: ParseOptions) => string[];
|
|
85
86
|
|
|
86
87
|
/**
|
|
87
88
|
* @public
|
|
88
89
|
*/
|
|
89
|
-
declare const unescape_2: (
|
|
90
|
+
declare const unescape_2: (referenceToken: string) => string;
|
|
90
91
|
export { unescape_2 as unescape }
|
|
91
92
|
|
|
92
93
|
/**
|