@swagger-api/apidom-json-pointer 1.0.0-beta.8 → 1.0.0-rc.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 +186 -0
- package/README.md +37 -6
- package/dist/apidom-json-pointer.browser.js +7982 -11742
- package/dist/apidom-json-pointer.browser.min.js +1 -1
- package/package.json +25 -15
- package/src/index.cjs +26 -22
- package/src/index.mjs +36 -9
- package/src/legacy/compile.cjs +25 -0
- package/src/legacy/compile.mjs +20 -0
- package/src/{errors → legacy/errors}/CompilationJsonPointerError.cjs +2 -0
- package/src/{errors → legacy/errors}/CompilationJsonPointerError.mjs +2 -0
- package/src/{errors → legacy/errors}/EvaluationJsonPointerError.cjs +2 -0
- package/src/{errors → legacy/errors}/EvaluationJsonPointerError.mjs +2 -0
- package/src/{errors → legacy/errors}/InvalidJsonPointerError.cjs +2 -0
- package/src/{errors → legacy/errors}/InvalidJsonPointerError.mjs +2 -0
- package/src/{errors → legacy/errors}/JsonPointerError.cjs +1 -0
- package/src/{errors → legacy/errors}/JsonPointerError.mjs +1 -0
- package/src/legacy/escape.cjs +13 -0
- package/src/legacy/escape.mjs +10 -0
- package/src/legacy/evaluate.cjs +36 -0
- package/src/legacy/evaluate.mjs +31 -0
- package/src/legacy/index.cjs +25 -0
- package/src/legacy/index.mjs +9 -0
- package/src/legacy/parse.cjs +38 -0
- package/src/legacy/parse.mjs +34 -0
- package/src/legacy/unescape.cjs +13 -0
- package/src/legacy/unescape.mjs +10 -0
- package/types/apidom-json-pointer.d.ts +68 -91
- package/src/compile.cjs +0 -24
- package/src/compile.mjs +0 -19
- package/src/escape.cjs +0 -10
- package/src/escape.mjs +0 -7
- package/src/evaluate.cjs +0 -62
- package/src/evaluate.mjs +0 -57
- package/src/parse.cjs +0 -53
- package/src/parse.mjs +0 -47
- package/src/unescape.cjs +0 -24
- package/src/unescape.mjs +0 -21
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,192 @@
|
|
|
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
|
+
# [1.0.0-rc.0](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.51...v1.0.0-rc.0) (2025-10-21)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
9
|
+
|
|
10
|
+
# [1.0.0-beta.51](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.50...v1.0.0-beta.51) (2025-10-14)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
13
|
+
|
|
14
|
+
# [1.0.0-beta.50](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.49...v1.0.0-beta.50) (2025-09-26)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
17
|
+
|
|
18
|
+
# [1.0.0-beta.49](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.48...v1.0.0-beta.49) (2025-09-22)
|
|
19
|
+
|
|
20
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
21
|
+
|
|
22
|
+
# [1.0.0-beta.48](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.47...v1.0.0-beta.48) (2025-09-09)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
25
|
+
|
|
26
|
+
# [1.0.0-beta.47](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.46...v1.0.0-beta.47) (2025-09-01)
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
- **ls:** disable newly added rules for 3.1 spec ([#4997](https://github.com/swagger-api/apidom/issues/4997)) ([d5b16f8](https://github.com/swagger-api/apidom/commit/d5b16f82a916aea70929d2f3ff5be04769d8d8d3))
|
|
31
|
+
|
|
32
|
+
# [1.0.0-beta.46](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.45...v1.0.0-beta.46) (2025-08-19)
|
|
33
|
+
|
|
34
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
35
|
+
|
|
36
|
+
# [1.0.0-beta.45](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.44...v1.0.0-beta.45) (2025-08-01)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
39
|
+
|
|
40
|
+
# [1.0.0-beta.44](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.43...v1.0.0-beta.44) (2025-07-07)
|
|
41
|
+
|
|
42
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
43
|
+
|
|
44
|
+
# [1.0.0-beta.43](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.42...v1.0.0-beta.43) (2025-06-13)
|
|
45
|
+
|
|
46
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
47
|
+
|
|
48
|
+
# [1.0.0-beta.42](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.41...v1.0.0-beta.42) (2025-06-06)
|
|
49
|
+
|
|
50
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
51
|
+
|
|
52
|
+
# [1.0.0-beta.41](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.40...v1.0.0-beta.41) (2025-06-04)
|
|
53
|
+
|
|
54
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
55
|
+
|
|
56
|
+
# [1.0.0-beta.40](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.39...v1.0.0-beta.40) (2025-05-30)
|
|
57
|
+
|
|
58
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
59
|
+
|
|
60
|
+
# [1.0.0-beta.39](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.38...v1.0.0-beta.39) (2025-05-20)
|
|
61
|
+
|
|
62
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
63
|
+
|
|
64
|
+
# [1.0.0-beta.38](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.37...v1.0.0-beta.38) (2025-05-16)
|
|
65
|
+
|
|
66
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
67
|
+
|
|
68
|
+
# [1.0.0-beta.37](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.36...v1.0.0-beta.37) (2025-05-12)
|
|
69
|
+
|
|
70
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
71
|
+
|
|
72
|
+
# [1.0.0-beta.36](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.35...v1.0.0-beta.36) (2025-05-06)
|
|
73
|
+
|
|
74
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
75
|
+
|
|
76
|
+
# [1.0.0-beta.35](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.34...v1.0.0-beta.35) (2025-05-02)
|
|
77
|
+
|
|
78
|
+
### Bug Fixes
|
|
79
|
+
|
|
80
|
+
- **json-pointer-relative:** use spec compliant JSON Pointer impl ([#4885](https://github.com/swagger-api/apidom/issues/4885)) ([f22949c](https://github.com/swagger-api/apidom/commit/f22949c26b3b3f1dab2081dc32b84f4e1035049c)), closes [#4870](https://github.com/swagger-api/apidom/issues/4870)
|
|
81
|
+
|
|
82
|
+
# [1.0.0-beta.34](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.33...v1.0.0-beta.34) (2025-05-02)
|
|
83
|
+
|
|
84
|
+
### Bug Fixes
|
|
85
|
+
|
|
86
|
+
- **ns-openapi-3-1:** use spec compliant JSON Pointer implementation ([#4880](https://github.com/swagger-api/apidom/issues/4880)) ([9499aa8](https://github.com/swagger-api/apidom/commit/9499aa8733445f15ec7441c7f87b89dab8542c49)), closes [#4870](https://github.com/swagger-api/apidom/issues/4870)
|
|
87
|
+
|
|
88
|
+
# [1.0.0-beta.33](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.32...v1.0.0-beta.33) (2025-04-30)
|
|
89
|
+
|
|
90
|
+
### Bug Fixes
|
|
91
|
+
|
|
92
|
+
- **json-path:** use spec compliant JSON Pointer evaluation ([#4873](https://github.com/swagger-api/apidom/issues/4873)) ([c8407d6](https://github.com/swagger-api/apidom/commit/c8407d691b0fc540dfd3476f61ce17611621e67b))
|
|
93
|
+
|
|
94
|
+
# [1.0.0-beta.32](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.31...v1.0.0-beta.32) (2025-04-28)
|
|
95
|
+
|
|
96
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
97
|
+
|
|
98
|
+
# [1.0.0-beta.31](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.30...v1.0.0-beta.31) (2025-04-24)
|
|
99
|
+
|
|
100
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
101
|
+
|
|
102
|
+
# [1.0.0-beta.30](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.29...v1.0.0-beta.30) (2025-03-17)
|
|
103
|
+
|
|
104
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
105
|
+
|
|
106
|
+
# [1.0.0-beta.29](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.28...v1.0.0-beta.29) (2025-03-17)
|
|
107
|
+
|
|
108
|
+
### Bug Fixes
|
|
109
|
+
|
|
110
|
+
- **security:** eliminate CVE-2025-27789 ([#4797](https://github.com/swagger-api/apidom/issues/4797)) ([af335c3](https://github.com/swagger-api/apidom/commit/af335c3d53616b7991acc74329e61d350398997a))
|
|
111
|
+
|
|
112
|
+
# [1.0.0-beta.28](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.27...v1.0.0-beta.28) (2025-03-12)
|
|
113
|
+
|
|
114
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
115
|
+
|
|
116
|
+
# [1.0.0-beta.27](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.26...v1.0.0-beta.27) (2025-03-12)
|
|
117
|
+
|
|
118
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
119
|
+
|
|
120
|
+
# [1.0.0-beta.26](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.25...v1.0.0-beta.26) (2025-03-12)
|
|
121
|
+
|
|
122
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
123
|
+
|
|
124
|
+
# [1.0.0-beta.25](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.24...v1.0.0-beta.25) (2025-03-12)
|
|
125
|
+
|
|
126
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
127
|
+
|
|
128
|
+
# [1.0.0-beta.24](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.23...v1.0.0-beta.24) (2025-03-12)
|
|
129
|
+
|
|
130
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
131
|
+
|
|
132
|
+
# [1.0.0-beta.23](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.22...v1.0.0-beta.23) (2025-03-12)
|
|
133
|
+
|
|
134
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
135
|
+
|
|
136
|
+
# [1.0.0-beta.22](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.21...v1.0.0-beta.22) (2025-03-12)
|
|
137
|
+
|
|
138
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
139
|
+
|
|
140
|
+
# [1.0.0-beta.21](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2025-03-12)
|
|
141
|
+
|
|
142
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
143
|
+
|
|
144
|
+
# [1.0.0-beta.20](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2025-03-12)
|
|
145
|
+
|
|
146
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
147
|
+
|
|
148
|
+
# [1.0.0-beta.19](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2025-03-12)
|
|
149
|
+
|
|
150
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
151
|
+
|
|
152
|
+
# [1.0.0-beta.18](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2025-03-12)
|
|
153
|
+
|
|
154
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
155
|
+
|
|
156
|
+
# [1.0.0-beta.17](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.16...v1.0.0-beta.17) (2025-03-12)
|
|
157
|
+
|
|
158
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
159
|
+
|
|
160
|
+
# [1.0.0-beta.16](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.15...v1.0.0-beta.16) (2025-03-12)
|
|
161
|
+
|
|
162
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
163
|
+
|
|
164
|
+
# [1.0.0-beta.15](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2025-03-11)
|
|
165
|
+
|
|
166
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
167
|
+
|
|
168
|
+
# [1.0.0-beta.14](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.13...v1.0.0-beta.14) (2025-03-11)
|
|
169
|
+
|
|
170
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
171
|
+
|
|
172
|
+
# [1.0.0-beta.13](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.12...v1.0.0-beta.13) (2025-03-10)
|
|
173
|
+
|
|
174
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
175
|
+
|
|
176
|
+
# [1.0.0-beta.12](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.11...v1.0.0-beta.12) (2025-02-11)
|
|
177
|
+
|
|
178
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
179
|
+
|
|
180
|
+
# [1.0.0-beta.11](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2025-01-27)
|
|
181
|
+
|
|
182
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
183
|
+
|
|
184
|
+
# [1.0.0-beta.10](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2025-01-25)
|
|
185
|
+
|
|
186
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
187
|
+
|
|
188
|
+
# [1.0.0-beta.9](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2025-01-23)
|
|
189
|
+
|
|
190
|
+
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
|
191
|
+
|
|
6
192
|
# [1.0.0-beta.8](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2025-01-23)
|
|
7
193
|
|
|
8
194
|
**Note:** Version bump only for package @swagger-api/apidom-json-pointer
|
package/README.md
CHANGED
|
@@ -9,7 +9,37 @@ You can install this package via [npm CLI](https://docs.npmjs.com/cli) by runnin
|
|
|
9
9
|
```sh
|
|
10
10
|
$ npm install @swagger-api/apidom-json-pointer
|
|
11
11
|
```
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
## Modern API
|
|
14
|
+
|
|
15
|
+
This is the recommended API for use in new projects. It is fully compliant with [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901) and supports all aspects of JSON Pointer.
|
|
16
|
+
Uses [@swaggerexpert/json-pointer](https://www.npmjs.com/package/@swaggerexpert/json-pointer) under the hood and fully reflects its API.
|
|
17
|
+
|
|
18
|
+
Evaluation is contextual to [ApiDOM realm](https://github.com/swaggerexpert/json-pointer?tab=readme-ov-file#apidom-evaluation-realm) - meaning `evaluate` function
|
|
19
|
+
expects only ApiDOM as the first argument.
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
import { evaluate } from '@swagger-api/apidom-json-pointer/modern';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Legacy API
|
|
28
|
+
|
|
29
|
+
This is a legacy API not recommended for use in new projects. It is provided for backward compatibility only.
|
|
30
|
+
The legacy API implementation is not RFC 6901 compliant, nor does it support all features of JSON Pointer.
|
|
31
|
+
|
|
32
|
+
Importing legacy API from `@swagger-api/apidom-json-pointer` is equivalent to importing from `@swagger-api/apidom-json-pointer/legacy`.
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
import { evaluate } from '@swagger-api/apidom-json-pointer';
|
|
36
|
+
```
|
|
37
|
+
or
|
|
38
|
+
```js
|
|
39
|
+
import { evaluate } from '@swagger-api/apidom-json-pointer/legacy';
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Evaluating
|
|
13
43
|
|
|
14
44
|
```js
|
|
15
45
|
import { ObjectElement } from '@swagger-api/apidom-core';
|
|
@@ -20,7 +50,7 @@ const result = evaluate('/a/b', apidom);
|
|
|
20
50
|
// => StringElement('c')
|
|
21
51
|
```
|
|
22
52
|
|
|
23
|
-
|
|
53
|
+
### Parsing
|
|
24
54
|
|
|
25
55
|
Parses JSON Pointer into list of tokens.
|
|
26
56
|
|
|
@@ -30,7 +60,7 @@ import { parse } from '@swagger-api/apidom-json-pointer';
|
|
|
30
60
|
const tokens = parse('/a/b'); // => ['a', 'b']
|
|
31
61
|
```
|
|
32
62
|
|
|
33
|
-
|
|
63
|
+
### Compiling
|
|
34
64
|
|
|
35
65
|
Compiles list of tokens into JSON Pointer.
|
|
36
66
|
|
|
@@ -40,7 +70,7 @@ import { compile } from '@swagger-api/apidom-json-pointer';
|
|
|
40
70
|
const jsonPointer = compile(['a', 'b']); // => '/a/b'
|
|
41
71
|
```
|
|
42
72
|
|
|
43
|
-
|
|
73
|
+
### Escaping
|
|
44
74
|
|
|
45
75
|
Escapes/unescapes tokens of JSON Pointer.
|
|
46
76
|
|
|
@@ -51,7 +81,7 @@ escape('~a/'); // => '~0a~1'
|
|
|
51
81
|
unescape('~0a~1'); // => '~a/'
|
|
52
82
|
```
|
|
53
83
|
|
|
54
|
-
|
|
84
|
+
### Transforming URI to JSON Pointer
|
|
55
85
|
|
|
56
86
|
Handles case of [URI Fragment Identifier Representation](https://datatracker.ietf.org/doc/html/rfc6901#section-6).
|
|
57
87
|
|
|
@@ -61,7 +91,7 @@ import { uriToPointer } from '@swagger-api/apidom-json-pointer';
|
|
|
61
91
|
uriToPointer('https://example.com/path/#/a/b'); // => '/a/b'
|
|
62
92
|
```
|
|
63
93
|
|
|
64
|
-
|
|
94
|
+
### Invalid JSON Pointers
|
|
65
95
|
|
|
66
96
|
If invalid JSON Pointer is supplied to `parse` or `evaluate` functions, `InvalidJsonPointerError`
|
|
67
97
|
is thrown.
|
|
@@ -76,3 +106,4 @@ ApiDOM fragment, `EvaluationJsonPointerError` is thrown.
|
|
|
76
106
|
```js
|
|
77
107
|
import { EvaluationJsonPointerError } from '@swagger-api/apidom-json-pointer';
|
|
78
108
|
```
|
|
109
|
+
|