@speclynx/apidom-json-pointer 4.0.2 → 4.0.4

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 CHANGED
@@ -3,6 +3,18 @@
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.4](https://github.com/speclynx/apidom/compare/v4.0.3...v4.0.4) (2026-03-12)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **release:** override minimatch 10.2.3 to fix glob pattern regression in lerna publish ([#157](https://github.com/speclynx/apidom/issues/157)) ([c2d65a0](https://github.com/speclynx/apidom/commit/c2d65a06a2187e8563a9dc9db74ba27255450e0b)), closes [lerna/lerna#4305](https://github.com/lerna/lerna/issues/4305) [isaacs/minimatch#284](https://github.com/isaacs/minimatch/issues/284)
11
+
12
+ ## [4.0.3](https://github.com/speclynx/apidom/compare/v4.0.2...v4.0.3) (2026-03-11)
13
+
14
+ ### Bug Fixes
15
+
16
+ - **release:** fix v4.0.2 failed release ([b4dc1c4](https://github.com/speclynx/apidom/commit/b4dc1c48e8d9b2986a70e49b5554eb0a166d7528))
17
+
6
18
  ## [4.0.2](https://github.com/speclynx/apidom/compare/v4.0.1...v4.0.2) (2026-03-11)
7
19
 
8
20
  **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": "4.0.2",
3
+ "version": "4.0.4",
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": "4.0.2",
59
- "@speclynx/apidom-error": "4.0.2",
58
+ "@speclynx/apidom-datamodel": "4.0.4",
59
+ "@speclynx/apidom-error": "4.0.4",
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": "af1b05d4d5e48a11a3a03cd5699324e0f1b62765"
72
+ "gitHead": "a06f6ef3d37ad5bf860cbbf4b442bfbe3a522cc2"
73
73
  }
package/src/index.cjs ADDED
@@ -0,0 +1,50 @@
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 ADDED
@@ -0,0 +1,51 @@
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 ADDED
@@ -0,0 +1,58 @@
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 ADDED
@@ -0,0 +1,55 @@
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;