@speclynx/apidom-json-pointer 3.2.1 → 4.0.1
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 +8 -0
- package/package.json +4 -4
- package/src/index.cjs +0 -50
- package/src/index.mjs +0 -51
- package/src/realm.cjs +0 -58
- package/src/realm.mjs +0 -55
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
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
|
+
## [4.0.1](https://github.com/speclynx/apidom/compare/v4.0.0...v4.0.1) (2026-03-11)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @speclynx/apidom-json-pointer
|
|
9
|
+
|
|
10
|
+
# [4.0.0](https://github.com/speclynx/apidom/compare/v3.2.1...v4.0.0) (2026-03-11)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @speclynx/apidom-json-pointer
|
|
13
|
+
|
|
6
14
|
## [3.2.1](https://github.com/speclynx/apidom/compare/v3.2.0...v3.2.1) (2026-03-09)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @speclynx/apidom-json-pointer
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@speclynx/apidom-json-pointer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"description": "Evaluate JSON Pointer expressions against ApiDOM.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"apidom",
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"license": "Apache-2.0",
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@babel/runtime-corejs3": "^7.28.4",
|
|
58
|
-
"@speclynx/apidom-datamodel": "
|
|
59
|
-
"@speclynx/apidom-error": "
|
|
58
|
+
"@speclynx/apidom-datamodel": "4.0.1",
|
|
59
|
+
"@speclynx/apidom-error": "4.0.1",
|
|
60
60
|
"@swaggerexpert/json-pointer": "^3.0.1"
|
|
61
61
|
},
|
|
62
62
|
"files": [
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"README.md",
|
|
70
70
|
"CHANGELOG.md"
|
|
71
71
|
],
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "223132a9b00081ca04842efc2736a491f7876f44"
|
|
73
73
|
}
|
package/src/index.cjs
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
-
exports.__esModule = true;
|
|
5
|
-
exports.unescape = exports.testReferenceToken = exports.testJSONPointer = exports.testArrayLocation = exports.testArrayIndex = exports.testArrayDash = exports.parse = exports.evaluate = exports.escape = exports.compile = exports.XMLTranslator = exports.URIFragmentIdentifier = exports.JSONString = exports.JSONPointerTypeError = exports.JSONPointerParseError = exports.JSONPointerKeyError = exports.JSONPointerIndexError = exports.JSONPointerEvaluateError = exports.JSONPointerError = exports.JSONPointerCompileError = exports.Grammar = exports.CSTTranslator = exports.ASTTranslator = void 0;
|
|
6
|
-
var _jsonPointer = require("@swaggerexpert/json-pointer");
|
|
7
|
-
exports.JSONString = _jsonPointer.JSONString;
|
|
8
|
-
exports.URIFragmentIdentifier = _jsonPointer.URIFragmentIdentifier;
|
|
9
|
-
exports.parse = _jsonPointer.parse;
|
|
10
|
-
exports.CSTTranslator = _jsonPointer.CSTTranslator;
|
|
11
|
-
exports.ASTTranslator = _jsonPointer.ASTTranslator;
|
|
12
|
-
exports.XMLTranslator = _jsonPointer.XMLTranslator;
|
|
13
|
-
exports.testJSONPointer = _jsonPointer.testJSONPointer;
|
|
14
|
-
exports.testReferenceToken = _jsonPointer.testReferenceToken;
|
|
15
|
-
exports.testArrayLocation = _jsonPointer.testArrayLocation;
|
|
16
|
-
exports.testArrayIndex = _jsonPointer.testArrayIndex;
|
|
17
|
-
exports.testArrayDash = _jsonPointer.testArrayDash;
|
|
18
|
-
exports.compile = _jsonPointer.compile;
|
|
19
|
-
exports.escape = _jsonPointer.escape;
|
|
20
|
-
exports.unescape = _jsonPointer.unescape;
|
|
21
|
-
exports.Grammar = _jsonPointer.Grammar;
|
|
22
|
-
exports.JSONPointerError = _jsonPointer.JSONPointerError;
|
|
23
|
-
exports.JSONPointerParseError = _jsonPointer.JSONPointerParseError;
|
|
24
|
-
exports.JSONPointerCompileError = _jsonPointer.JSONPointerCompileError;
|
|
25
|
-
exports.JSONPointerEvaluateError = _jsonPointer.JSONPointerEvaluateError;
|
|
26
|
-
exports.JSONPointerTypeError = _jsonPointer.JSONPointerTypeError;
|
|
27
|
-
exports.JSONPointerKeyError = _jsonPointer.JSONPointerKeyError;
|
|
28
|
-
exports.JSONPointerIndexError = _jsonPointer.JSONPointerIndexError;
|
|
29
|
-
var _realm = _interopRequireDefault(require("./realm.cjs"));
|
|
30
|
-
exports.ApiDOMEvaluationRealm = _realm.default;
|
|
31
|
-
const realm = new _realm.default();
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* @public
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @public
|
|
39
|
-
*/
|
|
40
|
-
const evaluate = (value, jsonPointer, options = {}) => {
|
|
41
|
-
return (0, _jsonPointer.evaluate)(value, jsonPointer, {
|
|
42
|
-
...options,
|
|
43
|
-
realm
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Re-export all types
|
|
49
|
-
*/
|
|
50
|
-
exports.evaluate = evaluate;
|
package/src/index.mjs
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { evaluate as baseEvaluate } from '@swaggerexpert/json-pointer';
|
|
2
|
-
export {
|
|
3
|
-
/**
|
|
4
|
-
* Representation
|
|
5
|
-
*/
|
|
6
|
-
JSONString, URIFragmentIdentifier,
|
|
7
|
-
/**
|
|
8
|
-
* Parsing
|
|
9
|
-
*/
|
|
10
|
-
parse, CSTTranslator, ASTTranslator, XMLTranslator,
|
|
11
|
-
/**
|
|
12
|
-
* Testing
|
|
13
|
-
*/
|
|
14
|
-
testJSONPointer, testReferenceToken, testArrayLocation, testArrayIndex, testArrayDash,
|
|
15
|
-
/**
|
|
16
|
-
* Compiling
|
|
17
|
-
*/
|
|
18
|
-
compile,
|
|
19
|
-
/**
|
|
20
|
-
* Escaping
|
|
21
|
-
*/
|
|
22
|
-
escape, unescape,
|
|
23
|
-
/**
|
|
24
|
-
* Grammar
|
|
25
|
-
*/
|
|
26
|
-
Grammar,
|
|
27
|
-
/**
|
|
28
|
-
* Errors
|
|
29
|
-
*/
|
|
30
|
-
JSONPointerError, JSONPointerParseError, JSONPointerCompileError, JSONPointerEvaluateError, JSONPointerTypeError, JSONPointerKeyError, JSONPointerIndexError } from '@swaggerexpert/json-pointer';
|
|
31
|
-
import ApiDOMEvaluationRealm from "./realm.mjs";
|
|
32
|
-
export { ApiDOMEvaluationRealm };
|
|
33
|
-
const realm = new ApiDOMEvaluationRealm();
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* @public
|
|
41
|
-
*/
|
|
42
|
-
export const evaluate = (value, jsonPointer, options = {}) => {
|
|
43
|
-
return baseEvaluate(value, jsonPointer, {
|
|
44
|
-
...options,
|
|
45
|
-
realm
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Re-export all types
|
|
51
|
-
*/
|
package/src/realm.cjs
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
5
|
-
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
|
-
var _jsonPointer = require("@swaggerexpert/json-pointer");
|
|
7
|
-
/**
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
class ApiDOMEvaluationRealm extends _jsonPointer.EvaluationRealm {
|
|
11
|
-
name = 'apidom';
|
|
12
|
-
isArray(node) {
|
|
13
|
-
return (0, _apidomDatamodel.isArrayElement)(node);
|
|
14
|
-
}
|
|
15
|
-
isObject(node) {
|
|
16
|
-
return (0, _apidomDatamodel.isObjectElement)(node);
|
|
17
|
-
}
|
|
18
|
-
sizeOf(node) {
|
|
19
|
-
if (this.isArray(node) || this.isObject(node)) {
|
|
20
|
-
return node.length;
|
|
21
|
-
}
|
|
22
|
-
return 0;
|
|
23
|
-
}
|
|
24
|
-
has(node, referenceToken) {
|
|
25
|
-
if (this.isArray(node)) {
|
|
26
|
-
const index = Number(referenceToken);
|
|
27
|
-
const indexUint32 = index >>> 0;
|
|
28
|
-
if (index !== indexUint32) {
|
|
29
|
-
throw new _jsonPointer.JSONPointerIndexError(`Invalid array index "${referenceToken}": index must be an unsinged 32-bit integer`, {
|
|
30
|
-
referenceToken,
|
|
31
|
-
currentValue: node,
|
|
32
|
-
realm: this.name
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
return indexUint32 < this.sizeOf(node);
|
|
36
|
-
}
|
|
37
|
-
if (this.isObject(node)) {
|
|
38
|
-
const keys = node.keys();
|
|
39
|
-
const uniqueKeys = new Set(keys);
|
|
40
|
-
if (keys.length !== uniqueKeys.size) {
|
|
41
|
-
throw new _jsonPointer.JSONPointerKeyError(`Object key "${referenceToken}" is not unique — JSON Pointer requires unique member names`, {
|
|
42
|
-
referenceToken,
|
|
43
|
-
currentValue: node,
|
|
44
|
-
realm: this.name
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
return node.hasKey(referenceToken);
|
|
48
|
-
}
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
evaluate(node, referenceToken) {
|
|
52
|
-
if (this.isArray(node)) {
|
|
53
|
-
return node.get(Number(referenceToken));
|
|
54
|
-
}
|
|
55
|
-
return node.get(referenceToken);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
var _default = exports.default = ApiDOMEvaluationRealm;
|
package/src/realm.mjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { isObjectElement, isArrayElement } from '@speclynx/apidom-datamodel';
|
|
2
|
-
import { EvaluationRealm, JSONPointerIndexError, JSONPointerKeyError } from '@swaggerexpert/json-pointer';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @public
|
|
6
|
-
*/
|
|
7
|
-
class ApiDOMEvaluationRealm extends EvaluationRealm {
|
|
8
|
-
name = 'apidom';
|
|
9
|
-
isArray(node) {
|
|
10
|
-
return isArrayElement(node);
|
|
11
|
-
}
|
|
12
|
-
isObject(node) {
|
|
13
|
-
return isObjectElement(node);
|
|
14
|
-
}
|
|
15
|
-
sizeOf(node) {
|
|
16
|
-
if (this.isArray(node) || this.isObject(node)) {
|
|
17
|
-
return node.length;
|
|
18
|
-
}
|
|
19
|
-
return 0;
|
|
20
|
-
}
|
|
21
|
-
has(node, referenceToken) {
|
|
22
|
-
if (this.isArray(node)) {
|
|
23
|
-
const index = Number(referenceToken);
|
|
24
|
-
const indexUint32 = index >>> 0;
|
|
25
|
-
if (index !== indexUint32) {
|
|
26
|
-
throw new JSONPointerIndexError(`Invalid array index "${referenceToken}": index must be an unsinged 32-bit integer`, {
|
|
27
|
-
referenceToken,
|
|
28
|
-
currentValue: node,
|
|
29
|
-
realm: this.name
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
return indexUint32 < this.sizeOf(node);
|
|
33
|
-
}
|
|
34
|
-
if (this.isObject(node)) {
|
|
35
|
-
const keys = node.keys();
|
|
36
|
-
const uniqueKeys = new Set(keys);
|
|
37
|
-
if (keys.length !== uniqueKeys.size) {
|
|
38
|
-
throw new JSONPointerKeyError(`Object key "${referenceToken}" is not unique — JSON Pointer requires unique member names`, {
|
|
39
|
-
referenceToken,
|
|
40
|
-
currentValue: node,
|
|
41
|
-
realm: this.name
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
return node.hasKey(referenceToken);
|
|
45
|
-
}
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
evaluate(node, referenceToken) {
|
|
49
|
-
if (this.isArray(node)) {
|
|
50
|
-
return node.get(Number(referenceToken));
|
|
51
|
-
}
|
|
52
|
-
return node.get(referenceToken);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export default ApiDOMEvaluationRealm;
|