@swagger-api/apidom-json-pointer 1.0.0-beta.33 → 1.0.0-beta.34

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.
Files changed (28) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +37 -6
  3. package/dist/apidom-json-pointer.browser.js +135 -3787
  4. package/dist/apidom-json-pointer.browser.min.js +1 -1
  5. package/package.json +22 -10
  6. package/src/index.cjs +20 -22
  7. package/src/index.mjs +25 -9
  8. package/src/{compile.cjs → legacy/compile.cjs} +1 -0
  9. package/src/{compile.mjs → legacy/compile.mjs} +1 -0
  10. package/src/{errors → legacy/errors}/CompilationJsonPointerError.cjs +2 -0
  11. package/src/{errors → legacy/errors}/CompilationJsonPointerError.mjs +2 -0
  12. package/src/{errors → legacy/errors}/EvaluationJsonPointerError.cjs +2 -0
  13. package/src/{errors → legacy/errors}/EvaluationJsonPointerError.mjs +2 -0
  14. package/src/{errors → legacy/errors}/InvalidJsonPointerError.cjs +2 -0
  15. package/src/{errors → legacy/errors}/InvalidJsonPointerError.mjs +2 -0
  16. package/src/{errors → legacy/errors}/JsonPointerError.cjs +1 -0
  17. package/src/{errors → legacy/errors}/JsonPointerError.mjs +1 -0
  18. package/src/{escape.cjs → legacy/escape.cjs} +1 -0
  19. package/src/{escape.mjs → legacy/escape.mjs} +1 -0
  20. package/src/{evaluate.cjs → legacy/evaluate.cjs} +1 -0
  21. package/src/{evaluate.mjs → legacy/evaluate.mjs} +1 -0
  22. package/src/legacy/index.cjs +25 -0
  23. package/src/legacy/index.mjs +9 -0
  24. package/src/{parse.cjs → legacy/parse.cjs} +2 -0
  25. package/src/{parse.mjs → legacy/parse.mjs} +2 -0
  26. package/src/{unescape.cjs → legacy/unescape.cjs} +1 -0
  27. package/src/{unescape.mjs → legacy/unescape.mjs} +1 -0
  28. package/types/apidom-json-pointer.d.ts +50 -92
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
+ # [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)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **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)
11
+
6
12
  # [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)
7
13
 
8
14
  ### Bug Fixes
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
- ## Evaluating
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
- ## Parsing
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
- ## Compiling
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
- ## Escaping
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
- ## Transforming URI to JSON Pointer
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
- ## Invalid JSON Pointers
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
+