Skip to content

Commit c8407d6

Browse files
authored
fix(json-path): use spec compliant JSON Pointer evaluation (#4873)
1 parent a534a34 commit c8407d6

File tree

6 files changed

+12
-12
lines changed

6 files changed

+12
-12
lines changed

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/apidom-json-path/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"@babel/runtime-corejs3": "^7.26.10",
4141
"@swagger-api/apidom-core": "^1.0.0-beta.32",
4242
"@swagger-api/apidom-error": "^1.0.0-beta.32",
43-
"@swagger-api/apidom-json-pointer": "^1.0.0-beta.32",
43+
"@swaggerexpert/json-pointer": "^2.9.0",
4444
"jsonpath-plus": "^10.0.6"
4545
},
4646
"files": [

packages/apidom-json-path/src/evaluate-multi.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { JSONPath } from 'jsonpath-plus';
2+
import { evaluate as jsonPointerEvaluate } from '@swaggerexpert/json-pointer/evaluate/realms/apidom';
23
import { Element, toValue, cloneDeep } from '@swagger-api/apidom-core';
3-
import { evaluate as jsonPointerEvaluate } from '@swagger-api/apidom-json-pointer';
44

55
import MultiEvaluationJsonPathError from './errors/MultiEvaluationJsonPathError.ts';
66

@@ -35,7 +35,7 @@ const evaluateMulti: EvaluateMulti = (paths, element) => {
3535

3636
const endPointValues: Element[] = [];
3737
for (const pointer of pointers) {
38-
const endPointValue = jsonPointerEvaluate(pointer, element);
38+
const endPointValue = jsonPointerEvaluate(element, pointer) as Element;
3939
endPointValues.push(endPointValue);
4040
}
4141

packages/apidom-json-path/src/evaluate.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { JSONPath } from 'jsonpath-plus';
2+
import { evaluate as jsonPointerEvaluate } from '@swaggerexpert/json-pointer/evaluate/realms/apidom';
23
import { Element, toValue, cloneDeep } from '@swagger-api/apidom-core';
3-
import { evaluate as jsonPointerEvaluate } from '@swagger-api/apidom-json-pointer';
44

55
import EvaluationJsonPathError from './errors/EvaluationJsonPathError.ts';
66

@@ -25,7 +25,7 @@ const evaluate: Evaluate = (path, element) => {
2525
resultType: 'pointer',
2626
}) as string[];
2727

28-
return pointers.map((pointer) => jsonPointerEvaluate(pointer, element));
28+
return pointers.map((pointer) => jsonPointerEvaluate(element, pointer));
2929
} catch (error: unknown) {
3030
throw new EvaluationJsonPathError(
3131
`JSON Path evaluation failed while evaluating "${String(path)}".`,

packages/apidom-json-pointer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"@babel/runtime-corejs3": "^7.26.10",
4141
"@swagger-api/apidom-core": "^1.0.0-beta.32",
4242
"@swagger-api/apidom-error": "^1.0.0-beta.32",
43-
"@swaggerexpert/json-pointer": "^2.8.1"
43+
"@swaggerexpert/json-pointer": "^2.9.0"
4444
},
4545
"files": [
4646
"src/**/*.mjs",

packages/apidom-json-pointer/src/evaluate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import EvaluationJsonPointerError from './errors/EvaluationJsonPointerError.ts';
1010
*/
1111
const evaluate = <T extends Element>(pointer: string, element: T): Element => {
1212
try {
13-
return baseEvaluate(element, URIFragmentIdentifier.from(pointer), { trace: true });
13+
return baseEvaluate(element, URIFragmentIdentifier.from(pointer));
1414
} catch (error: unknown) {
1515
if (error instanceof JSONPointerEvaluateError) {
1616
throw new EvaluationJsonPointerError(error.message, {

0 commit comments

Comments
 (0)