@swagger-api/apidom-json-pointer-relative 0.75.0 → 0.76.0
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/cjs/compile.cjs +23 -14
- package/cjs/errors/CompilationRelativeJsonPointerError.cjs +21 -0
- package/cjs/errors/EvaluationRelativeJsonPointerError.cjs +24 -10
- package/cjs/errors/InvalidRelativeJsonPointerError.cjs +7 -9
- package/cjs/errors/RelativeJsonPointerError.cjs +8 -0
- package/cjs/evaluate.cjs +49 -8
- package/cjs/index.cjs +9 -4
- package/cjs/parse.cjs +26 -17
- package/dist/apidom-json-pointer-relative.browser.js +2259 -278
- package/dist/apidom-json-pointer-relative.browser.min.js +1 -1
- package/es/compile.js +22 -15
- package/es/errors/CompilationRelativeJsonPointerError.js +20 -0
- package/es/errors/EvaluationRelativeJsonPointerError.js +31 -10
- package/es/errors/InvalidRelativeJsonPointerError.js +8 -9
- package/es/errors/RelativeJsonPointerError.js +3 -0
- package/es/evaluate.js +51 -9
- package/es/index.js +5 -2
- package/es/parse.js +25 -17
- package/package.json +5 -4
- package/types/dist.d.ts +41 -8
- package/cjs/errors/index.cjs +0 -9
- package/es/errors/index.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.76.0](https://github.com/swagger-api/apidom/compare/v0.75.0...v0.76.0) (2023-09-01)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **json-pointer-relative:** use error hierarchy and metadata when trowing errors ([#3108](https://github.com/swagger-api/apidom/issues/3108)) ([deaed14](https://github.com/swagger-api/apidom/commit/deaed142acd9881062fc65156e1162b48a580751)), closes [#3039](https://github.com/swagger-api/apidom/issues/3039)
|
|
11
|
+
|
|
6
12
|
# [0.75.0](https://github.com/swagger-api/apidom/compare/v0.74.1...v0.75.0) (2023-08-22)
|
|
7
13
|
|
|
8
14
|
### Features
|
package/cjs/compile.cjs
CHANGED
|
@@ -1,27 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = void 0;
|
|
5
6
|
var _apidomJsonPointer = require("@swagger-api/apidom-json-pointer");
|
|
7
|
+
var _CompilationRelativeJsonPointerError = _interopRequireDefault(require("./errors/CompilationRelativeJsonPointerError.cjs"));
|
|
6
8
|
// compile :: RelativeJSONPointer -> String
|
|
7
9
|
const compile = relativeJsonPointer => {
|
|
8
|
-
|
|
10
|
+
try {
|
|
11
|
+
let relativePointer = '';
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
// non-negative-integer
|
|
14
|
+
relativePointer += String(relativeJsonPointer.nonNegativeIntegerPrefix);
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
// index-manipulation
|
|
17
|
+
if (typeof relativeJsonPointer.indexManipulation === 'number') {
|
|
18
|
+
relativePointer += String(relativeJsonPointer.indexManipulation);
|
|
19
|
+
}
|
|
20
|
+
if (Array.isArray(relativeJsonPointer.jsonPointerTokens)) {
|
|
21
|
+
// <json-pointer>
|
|
22
|
+
relativePointer += (0, _apidomJsonPointer.compile)(relativeJsonPointer.jsonPointerTokens);
|
|
23
|
+
} else if (relativeJsonPointer.hashCharacter) {
|
|
24
|
+
// "#"
|
|
25
|
+
relativePointer += '#';
|
|
26
|
+
}
|
|
27
|
+
return relativePointer;
|
|
28
|
+
} catch (error) {
|
|
29
|
+
throw new _CompilationRelativeJsonPointerError.default('Relative JSON Pointer compilation encountered an error.', {
|
|
30
|
+
relativePointer: relativeJsonPointer,
|
|
31
|
+
cause: error
|
|
32
|
+
});
|
|
16
33
|
}
|
|
17
|
-
if (Array.isArray(relativeJsonPointer.jsonPointerTokens)) {
|
|
18
|
-
// <json-pointer>
|
|
19
|
-
relativePointer += (0, _apidomJsonPointer.compile)(relativeJsonPointer.jsonPointerTokens);
|
|
20
|
-
} else if (relativeJsonPointer.hashCharacter) {
|
|
21
|
-
// "#"
|
|
22
|
-
relativePointer += '#';
|
|
23
|
-
}
|
|
24
|
-
return relativePointer;
|
|
25
34
|
};
|
|
26
35
|
var _default = compile;
|
|
27
36
|
exports.default = _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _RelativeJsonPointerError = _interopRequireDefault(require("./RelativeJsonPointerError.cjs"));
|
|
7
|
+
class CompilationRelativeJsonPointerError extends _RelativeJsonPointerError.default {
|
|
8
|
+
constructor(message, structuredOptions) {
|
|
9
|
+
super(message, structuredOptions);
|
|
10
|
+
if (typeof structuredOptions !== 'undefined') {
|
|
11
|
+
this.nonNegativeIntegerPrefix = structuredOptions.relativePointer.nonNegativeIntegerPrefix;
|
|
12
|
+
this.indexManipulation = structuredOptions.relativePointer.indexManipulation;
|
|
13
|
+
this.hashCharacter = structuredOptions.relativePointer.hashCharacter;
|
|
14
|
+
if (Array.isArray(structuredOptions.relativePointer.jsonPointerTokens)) {
|
|
15
|
+
this.jsonPointerTokens = [...structuredOptions.relativePointer.jsonPointerTokens];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
var _default = CompilationRelativeJsonPointerError;
|
|
21
|
+
exports.default = _default;
|
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = void 0;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (typeof
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
var _apidomCore = require("@swagger-api/apidom-core");
|
|
7
|
+
var _RelativeJsonPointerError = _interopRequireDefault(require("./RelativeJsonPointerError.cjs"));
|
|
8
|
+
class EvaluationRelativeJsonPointerError extends _RelativeJsonPointerError.default {
|
|
9
|
+
constructor(message, structuredOptions) {
|
|
10
|
+
super(message, structuredOptions);
|
|
11
|
+
if (typeof structuredOptions !== 'undefined') {
|
|
12
|
+
this.relativePointer = structuredOptions.relativePointer;
|
|
13
|
+
this.currentElement = structuredOptions.currentElement.element;
|
|
14
|
+
if ((0, _apidomCore.hasElementSourceMap)(structuredOptions.currentElement)) {
|
|
15
|
+
this.currentElementSourceMap = (0, _apidomCore.toValue)(structuredOptions.currentElement.getMetaProperty('sourceMap'));
|
|
16
|
+
}
|
|
17
|
+
this.rootElement = structuredOptions.rootElement.element;
|
|
18
|
+
if ((0, _apidomCore.hasElementSourceMap)(structuredOptions.rootElement)) {
|
|
19
|
+
this.rootElementSourceMap = (0, _apidomCore.toValue)(structuredOptions.rootElement.getMetaProperty('sourceMap'));
|
|
20
|
+
}
|
|
21
|
+
if (typeof structuredOptions.cursorElement !== 'undefined') {
|
|
22
|
+
this.cursorElement = structuredOptions.cursorElement.element;
|
|
23
|
+
if ((0, _apidomCore.hasElementSourceMap)(structuredOptions.cursorElement)) {
|
|
24
|
+
this.cursorElementSourceMap = (0, _apidomCore.toValue)(structuredOptions.cursorElement.getMetaProperty('sourceMap'));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
14
27
|
}
|
|
15
28
|
}
|
|
16
29
|
}
|
|
17
|
-
|
|
30
|
+
var _default = EvaluationRelativeJsonPointerError;
|
|
31
|
+
exports.default = _default;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = void 0;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Error.captureStackTrace(this, this.constructor);
|
|
12
|
-
} else {
|
|
13
|
-
this.stack = new Error(`Invalid Relative JSON Pointer "${relativePointer}".`).stack;
|
|
6
|
+
var _RelativeJsonPointerError = _interopRequireDefault(require("./RelativeJsonPointerError.cjs"));
|
|
7
|
+
class InvalidRelativeJsonPointerError extends _RelativeJsonPointerError.default {
|
|
8
|
+
constructor(message, structuredOptions) {
|
|
9
|
+
super(message, structuredOptions);
|
|
10
|
+
if (typeof structuredOptions !== 'undefined') {
|
|
11
|
+
this.relativePointer = structuredOptions.relativePointer;
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
14
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apidomError = require("@swagger-api/apidom-error");
|
|
6
|
+
class RelativeJsonPointerError extends _apidomError.ApiDOMStructuredError {}
|
|
7
|
+
var _default = RelativeJsonPointerError;
|
|
8
|
+
exports.default = _default;
|
package/cjs/evaluate.cjs
CHANGED
|
@@ -6,7 +6,7 @@ exports.default = void 0;
|
|
|
6
6
|
var _apidomCore = require("@swagger-api/apidom-core");
|
|
7
7
|
var _apidomJsonPointer = require("@swagger-api/apidom-json-pointer");
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
|
-
var
|
|
9
|
+
var _EvaluationRelativeJsonPointerError = _interopRequireDefault(require("./errors/EvaluationRelativeJsonPointerError.cjs"));
|
|
10
10
|
var _parse = _interopRequireDefault(require("./parse.cjs"));
|
|
11
11
|
// evaluates Relative JSON Pointer against ApiDOM fragment
|
|
12
12
|
const evaluate = (relativePointer, currentElement, rootElement) => {
|
|
@@ -22,12 +22,33 @@ const evaluate = (relativePointer, currentElement, rootElement) => {
|
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
if (ancestorLineage.length === 0) {
|
|
25
|
-
throw new
|
|
25
|
+
throw new _EvaluationRelativeJsonPointerError.default('Relative JSON Pointer evaluation failed. Current element not found inside the root element', {
|
|
26
|
+
relativePointer,
|
|
27
|
+
currentElement,
|
|
28
|
+
rootElement,
|
|
29
|
+
cursorElement: cursor
|
|
30
|
+
});
|
|
26
31
|
}
|
|
27
32
|
if ((0, _ramda.last)(ancestorLineage) === rootElement) {
|
|
28
|
-
throw new
|
|
33
|
+
throw new _EvaluationRelativeJsonPointerError.default('Relative JSON Pointer evaluation failed. Current element cannot be the root element', {
|
|
34
|
+
relativePointer,
|
|
35
|
+
currentElement,
|
|
36
|
+
rootElement,
|
|
37
|
+
cursorElement: cursor
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
let relativeJsonPointer;
|
|
41
|
+
try {
|
|
42
|
+
relativeJsonPointer = (0, _parse.default)(relativePointer);
|
|
43
|
+
} catch (error) {
|
|
44
|
+
throw new _EvaluationRelativeJsonPointerError.default('Relative JSON Pointer evaluation failed while parsing the pointer.', {
|
|
45
|
+
relativePointer,
|
|
46
|
+
currentElement,
|
|
47
|
+
rootElement,
|
|
48
|
+
cursorElement: cursor,
|
|
49
|
+
cause: error
|
|
50
|
+
});
|
|
29
51
|
}
|
|
30
|
-
const relativeJsonPointer = (0, _parse.default)(relativePointer);
|
|
31
52
|
|
|
32
53
|
// non-negative-integer
|
|
33
54
|
if (relativeJsonPointer.nonNegativeIntegerPrefix > 0) {
|
|
@@ -41,7 +62,12 @@ const evaluate = (relativePointer, currentElement, rootElement) => {
|
|
|
41
62
|
}
|
|
42
63
|
}
|
|
43
64
|
if (typeof cursor === 'undefined') {
|
|
44
|
-
throw new
|
|
65
|
+
throw new _EvaluationRelativeJsonPointerError.default(`Relative JSON Pointer evaluation failed on non-negative-integer prefix of "${relativeJsonPointer.nonNegativeIntegerPrefix}"`, {
|
|
66
|
+
relativePointer,
|
|
67
|
+
currentElement,
|
|
68
|
+
rootElement,
|
|
69
|
+
cursorElement: cursor
|
|
70
|
+
});
|
|
45
71
|
}
|
|
46
72
|
ancestorLineage = ancestorLineageCopy;
|
|
47
73
|
}
|
|
@@ -50,13 +76,23 @@ const evaluate = (relativePointer, currentElement, rootElement) => {
|
|
|
50
76
|
if (typeof relativeJsonPointer.indexManipulation === 'number') {
|
|
51
77
|
const containedArray = (0, _ramda.last)(ancestorLineage);
|
|
52
78
|
if (typeof containedArray === 'undefined' || !(0, _apidomCore.isArrayElement)(containedArray)) {
|
|
53
|
-
throw new
|
|
79
|
+
throw new _EvaluationRelativeJsonPointerError.default(`Relative JSON Pointer evaluation failed failed on index-manipulation "${relativeJsonPointer.indexManipulation}"`, {
|
|
80
|
+
relativePointer,
|
|
81
|
+
currentElement,
|
|
82
|
+
rootElement,
|
|
83
|
+
cursorElement: cursor
|
|
84
|
+
});
|
|
54
85
|
}
|
|
55
86
|
const currentCursorIndex = containedArray.content.indexOf(cursor);
|
|
56
87
|
const newCursorIndex = currentCursorIndex + relativeJsonPointer.indexManipulation;
|
|
57
88
|
cursor = containedArray.content[newCursorIndex];
|
|
58
89
|
if (typeof cursor === 'undefined') {
|
|
59
|
-
throw new
|
|
90
|
+
throw new _EvaluationRelativeJsonPointerError.default(`Relative JSON Pointer evaluation failed on index-manipulation "${relativeJsonPointer.indexManipulation}"`, {
|
|
91
|
+
relativePointer,
|
|
92
|
+
currentElement,
|
|
93
|
+
rootElement,
|
|
94
|
+
cursorElement: cursor
|
|
95
|
+
});
|
|
60
96
|
}
|
|
61
97
|
}
|
|
62
98
|
if (Array.isArray(relativeJsonPointer.jsonPointerTokens)) {
|
|
@@ -66,7 +102,12 @@ const evaluate = (relativePointer, currentElement, rootElement) => {
|
|
|
66
102
|
} else if (relativeJsonPointer.hashCharacter) {
|
|
67
103
|
// "#"
|
|
68
104
|
if (cursor === rootElement) {
|
|
69
|
-
throw new
|
|
105
|
+
throw new _EvaluationRelativeJsonPointerError.default('Relative JSON Pointer evaluation failed. Current element cannot be the root element to apply "#"', {
|
|
106
|
+
relativePointer,
|
|
107
|
+
currentElement,
|
|
108
|
+
rootElement,
|
|
109
|
+
cursorElement: cursor
|
|
110
|
+
});
|
|
70
111
|
}
|
|
71
112
|
const parentElement = (0, _ramda.last)(ancestorLineage);
|
|
72
113
|
if (typeof parentElement !== 'undefined') {
|
package/cjs/index.cjs
CHANGED
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.parse = exports.isRelativeJsonPointer = exports.evaluate = exports.compile = exports.InvalidRelativeJsonPointerError = exports.EvaluationRelativeJsonPointerError = void 0;
|
|
5
|
+
exports.parse = exports.isRelativeJsonPointer = exports.evaluate = exports.compile = exports.RelativeJsonPointerError = exports.InvalidRelativeJsonPointerError = exports.EvaluationRelativeJsonPointerError = exports.CompilationRelativeJsonPointerError = void 0;
|
|
6
|
+
var _RelativeJsonPointerError = _interopRequireDefault(require("./errors/RelativeJsonPointerError.cjs"));
|
|
7
|
+
exports.RelativeJsonPointerError = _RelativeJsonPointerError.default;
|
|
8
|
+
var _InvalidRelativeJsonPointerError = _interopRequireDefault(require("./errors/InvalidRelativeJsonPointerError.cjs"));
|
|
9
|
+
exports.InvalidRelativeJsonPointerError = _InvalidRelativeJsonPointerError.default;
|
|
10
|
+
var _EvaluationRelativeJsonPointerError = _interopRequireDefault(require("./errors/EvaluationRelativeJsonPointerError.cjs"));
|
|
11
|
+
exports.EvaluationRelativeJsonPointerError = _EvaluationRelativeJsonPointerError.default;
|
|
12
|
+
var _CompilationRelativeJsonPointerError = _interopRequireDefault(require("./errors/CompilationRelativeJsonPointerError.cjs"));
|
|
13
|
+
exports.CompilationRelativeJsonPointerError = _CompilationRelativeJsonPointerError.default;
|
|
6
14
|
var _parse = _interopRequireWildcard(require("./parse.cjs"));
|
|
7
15
|
exports.parse = _parse.default;
|
|
8
16
|
exports.isRelativeJsonPointer = _parse.isRelativeJsonPointer;
|
|
@@ -10,8 +18,5 @@ var _compile = _interopRequireDefault(require("./compile.cjs"));
|
|
|
10
18
|
exports.compile = _compile.default;
|
|
11
19
|
var _evaluate = _interopRequireDefault(require("./evaluate.cjs"));
|
|
12
20
|
exports.evaluate = _evaluate.default;
|
|
13
|
-
var _index = require("./errors/index.cjs");
|
|
14
|
-
exports.InvalidRelativeJsonPointerError = _index.InvalidRelativeJsonPointerError;
|
|
15
|
-
exports.EvaluationRelativeJsonPointerError = _index.EvaluationRelativeJsonPointerError;
|
|
16
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
package/cjs/parse.cjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.isRelativeJsonPointer = exports.default = void 0;
|
|
5
6
|
var _apidomJsonPointer = require("@swagger-api/apidom-json-pointer");
|
|
6
|
-
var
|
|
7
|
+
var _InvalidRelativeJsonPointerError = _interopRequireDefault(require("./errors/InvalidRelativeJsonPointerError.cjs"));
|
|
7
8
|
const nonNegativeIntegerPrefixRegExp = '(?<nonNegativeIntegerPrefix>[1-9]\\d*|0)';
|
|
8
9
|
const indexManipulationRegExp = '(?<indexManipulation>[+-][1-9]\\d*|0)';
|
|
9
10
|
const hashCharacterRegExp = '(?<hashCharacter>#)';
|
|
@@ -18,23 +19,31 @@ exports.isRelativeJsonPointer = isRelativeJsonPointer;
|
|
|
18
19
|
const parse = relativePointer => {
|
|
19
20
|
const match = relativePointer.match(relativeJsonPointerRegExp);
|
|
20
21
|
if (match === null || typeof match.groups === 'undefined') {
|
|
21
|
-
throw new
|
|
22
|
+
throw new _InvalidRelativeJsonPointerError.default(`Invalid Relative JSON Pointer "${relativePointer}".`, {
|
|
23
|
+
relativePointer
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
// non-negative-integer
|
|
28
|
+
const nonNegativeIntegerPrefix = parseInt(match.groups.nonNegativeIntegerPrefix, 10);
|
|
29
|
+
// index-manipulation
|
|
30
|
+
const indexManipulation = typeof match.groups.indexManipulation === 'string' ? parseInt(match.groups.indexManipulation, 10) : undefined;
|
|
31
|
+
// <json-pointer>
|
|
32
|
+
const jsonPointerTokens = typeof match.groups.jsonPointer === 'string' ? (0, _apidomJsonPointer.parse)(match.groups.jsonPointer) : undefined;
|
|
33
|
+
// "#"
|
|
34
|
+
const hashCharacter = typeof match.groups.hashCharacter === 'string';
|
|
35
|
+
return {
|
|
36
|
+
nonNegativeIntegerPrefix,
|
|
37
|
+
indexManipulation,
|
|
38
|
+
jsonPointerTokens,
|
|
39
|
+
hashCharacter
|
|
40
|
+
};
|
|
41
|
+
} catch (error) {
|
|
42
|
+
throw new _InvalidRelativeJsonPointerError.default(`Relative JSON Pointer parsing of "${relativePointer}" encountered an error.`, {
|
|
43
|
+
relativePointer,
|
|
44
|
+
cause: error
|
|
45
|
+
});
|
|
22
46
|
}
|
|
23
|
-
|
|
24
|
-
// non-negative-integer
|
|
25
|
-
const nonNegativeIntegerPrefix = parseInt(match.groups.nonNegativeIntegerPrefix, 10);
|
|
26
|
-
// index-manipulation
|
|
27
|
-
const indexManipulation = typeof match.groups.indexManipulation === 'string' ? parseInt(match.groups.indexManipulation, 10) : undefined;
|
|
28
|
-
// <json-pointer>
|
|
29
|
-
const jsonPointerTokens = typeof match.groups.jsonPointer === 'string' ? (0, _apidomJsonPointer.parse)(match.groups.jsonPointer) : undefined;
|
|
30
|
-
// "#"
|
|
31
|
-
const hashCharacter = typeof match.groups.hashCharacter === 'string';
|
|
32
|
-
return {
|
|
33
|
-
nonNegativeIntegerPrefix,
|
|
34
|
-
indexManipulation,
|
|
35
|
-
jsonPointerTokens,
|
|
36
|
-
hashCharacter
|
|
37
|
-
};
|
|
38
47
|
};
|
|
39
48
|
var _default = parse;
|
|
40
49
|
exports.default = _default;
|