@hyperjump/json-schema 1.9.8 → 1.9.9

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.
@@ -1,5 +1,5 @@
1
1
  export const setAnnotation: (keywordUri: string, schemaLocation: string, value: string) => void;
2
2
  export const annotation: <A>(instance: JsonNode, keyword: string, dialectUri?: string) => A[];
3
- export const annotatedWith: (instance: JsonNode, keyword: string, dialectUri?: string) => JsonNode[];
3
+ export const annotatedWith: <A extends JsonNode>(instance: A, keyword: string, dialectUri?: string) => A[];
4
4
 
5
5
  export * from "../lib/instance.js";
@@ -12,7 +12,7 @@ const compile = async (dynamicRef, ast) => {
12
12
  return [referencedSchema.document.baseUri, fragment, canonicalUri(referencedSchema)];
13
13
  };
14
14
 
15
- const evaluate = (strategy) => ([id, fragment, ref], instance, ast, dynamicAnchors, quiet) => {
15
+ const evaluate = (strategy, [id, fragment, ref], instance, ast, dynamicAnchors, quiet) => {
16
16
  if (fragment in ast.metaData[id].dynamicAnchors) {
17
17
  dynamicAnchors = { ...ast.metaData[id].dynamicAnchors, ...dynamicAnchors };
18
18
  return strategy(dynamicAnchors[fragment], instance, ast, dynamicAnchors, quiet);
@@ -21,8 +21,8 @@ const evaluate = (strategy) => ([id, fragment, ref], instance, ast, dynamicAncho
21
21
  }
22
22
  };
23
23
 
24
- const interpret = evaluate(Validation.interpret);
25
- const collectEvaluatedProperties = evaluate(Validation.collectEvaluatedProperties);
26
- const collectEvaluatedItems = evaluate(Validation.collectEvaluatedItems);
24
+ const interpret = (...args) => evaluate(Validation.interpret, ...args);
25
+ const collectEvaluatedProperties = (...args) => evaluate(Validation.collectEvaluatedProperties, ...args);
26
+ const collectEvaluatedItems = (...args) => evaluate(Validation.collectEvaluatedItems, ...args);
27
27
 
28
28
  export default { id, compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };
@@ -6,7 +6,7 @@ import type { JsonNode } from "./instance.js";
6
6
  // Compile/interpret
7
7
  export const compile: (schema: Browser<SchemaDocument>) => Promise<CompiledSchema>;
8
8
  export const interpret: (
9
- (compiledSchema: CompiledSchema, value: unknown, outputFormat?: OutputFormat) => OutputUnit
9
+ (compiledSchema: CompiledSchema, value: JsonNode, outputFormat?: OutputFormat) => OutputUnit
10
10
  ) & (
11
11
  (compiledSchema: CompiledSchema) => Validator
12
12
  );
@@ -12,15 +12,15 @@ const compile = async (schema, ast) => {
12
12
  return reference;
13
13
  };
14
14
 
15
- const evaluate = (strategy) => (fragment, instance, ast, dynamicAnchors, quiet) => {
15
+ const evaluate = (strategy, fragment, instance, ast, dynamicAnchors, quiet) => {
16
16
  if (!(fragment in dynamicAnchors)) {
17
17
  throw Error(`No dynamic anchor found for "${fragment}"`);
18
18
  }
19
19
  return strategy(dynamicAnchors[fragment], instance, ast, dynamicAnchors, quiet);
20
20
  };
21
21
 
22
- const interpret = evaluate(Validation.interpret);
23
- const collectEvaluatedProperties = evaluate(Validation.collectEvaluatedProperties);
24
- const collectEvaluatedItems = evaluate(Validation.collectEvaluatedItems);
22
+ const interpret = (...args) => evaluate(Validation.interpret, ...args);
23
+ const collectEvaluatedProperties = (...args) => evaluate(Validation.collectEvaluatedProperties, ...args);
24
+ const collectEvaluatedItems = (...args) => evaluate(Validation.collectEvaluatedItems, ...args);
25
25
 
26
26
  export default { id, compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };
@@ -3,7 +3,7 @@ import { Validation } from "../experimental.js";
3
3
 
4
4
  const id = "https://json-schema.org/keyword/not";
5
5
 
6
- const compile = Validation.compile;
7
- const interpret = (not, instance, ast, dynamicAnchors, quiet) => !Validation.interpret(not, instance, ast, dynamicAnchors, quiet);
6
+ const compile = (...args) => Validation.compile(...args);
7
+ const interpret = (...args) => !Validation.interpret(...args);
8
8
 
9
9
  export default { id, compile, interpret };
@@ -3,9 +3,9 @@ import { Validation } from "../experimental.js";
3
3
 
4
4
  const id = "https://json-schema.org/keyword/ref";
5
5
 
6
- const compile = Validation.compile;
7
- const interpret = Validation.interpret;
8
- const collectEvaluatedProperties = Validation.collectEvaluatedProperties;
9
- const collectEvaluatedItems = Validation.collectEvaluatedItems;
6
+ const compile = (...args) => Validation.compile(...args);
7
+ const interpret = (...args) => Validation.interpret(...args);
8
+ const collectEvaluatedProperties = (...args) => Validation.collectEvaluatedProperties(...args);
9
+ const collectEvaluatedItems = (...args) => Validation.collectEvaluatedItems(...args);
10
10
 
11
11
  export default { id, compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperjump/json-schema",
3
- "version": "1.9.8",
3
+ "version": "1.9.9",
4
4
  "description": "A JSON Schema validator with support for custom keywords, vocabularies, and dialects",
5
5
  "type": "module",
6
6
  "main": "./stable/index.js",