@schmock/faker 2.4.1 → 2.5.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/README.md +21 -0
- package/dist/constants.d.ts +12 -3
- package/dist/field-mappings.d.ts +0 -1
- package/dist/field-name-matcher.d.ts +18 -2
- package/dist/index.d.ts +14 -3
- package/dist/index.js +4 -4
- package/dist/jsf-config.d.ts +5 -2
- package/dist/output-limits.d.ts +0 -1
- package/dist/overrides.d.ts +0 -1
- package/dist/post-process.d.ts +21 -0
- package/dist/schema-children.d.ts +109 -3
- package/dist/schema-enhancement.d.ts +0 -1
- package/dist/utils.d.ts +16 -0
- package/dist/validation.d.ts +3 -7
- package/package.json +7 -7
- package/dist/constants.d.ts.map +0 -1
- package/dist/field-mappings.d.ts.map +0 -1
- package/dist/field-name-matcher.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/jsf-config.d.ts.map +0 -1
- package/dist/output-limits.d.ts.map +0 -1
- package/dist/overrides.d.ts.map +0 -1
- package/dist/schema-children.d.ts.map +0 -1
- package/dist/schema-enhancement.d.ts.map +0 -1
- package/dist/validation.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -35,6 +35,27 @@ mock.pipe(
|
|
|
35
35
|
mock("GET /users", undefined);
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
+
## Limits
|
|
39
|
+
|
|
40
|
+
Every limit is checked when the plugin is created, and again on the generated
|
|
41
|
+
value where the schema alone cannot decide. A breach throws `ResourceLimitError`
|
|
42
|
+
with the `resource` below.
|
|
43
|
+
|
|
44
|
+
| `resource` | Constant | Bound |
|
|
45
|
+
|------------|----------|-------|
|
|
46
|
+
| `array_size`, `array_max_items` | `MAX_ARRAY_SIZE` | 10,000 items |
|
|
47
|
+
| `schema_nesting_depth` | `MAX_NESTING_DEPTH` | 15 levels |
|
|
48
|
+
| `schema_nodes` | `MAX_SCHEMA_NODES` | 50,000 distinct schema nodes |
|
|
49
|
+
| `generated_nodes` | `MAX_GENERATED_NODES` | 1,000,000 generated JSON nodes |
|
|
50
|
+
| `object_properties` | `MAX_OBJECT_PROPERTIES` | 10,000 properties per object |
|
|
51
|
+
| `string_length` | `MAX_STRING_LENGTH` | 65,536 UTF-16 code units per string |
|
|
52
|
+
| `generated_chars` | not exported | 16,777,216 UTF-16 code units per response |
|
|
53
|
+
| `schema_composition_depth` | not exported | 200 composition frames |
|
|
54
|
+
|
|
55
|
+
The constants are exported from `@schmock/faker`. See
|
|
56
|
+
[Generation limits](https://github.com/khalic-lab/schmock/blob/main/docs/api.md#generation-limits)
|
|
57
|
+
for faker-argument limits and what counts toward each bound.
|
|
58
|
+
|
|
38
59
|
## Documentation
|
|
39
60
|
|
|
40
61
|
- [Getting started](https://github.com/khalic-lab/schmock/blob/main/docs/getting-started.md)
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export declare const MAX_ARRAY_SIZE = 10000;
|
|
2
2
|
export declare const DEFAULT_ARRAY_COUNT = 3;
|
|
3
|
-
export declare const DEEP_NESTING_THRESHOLD = 3;
|
|
4
|
-
export declare const LARGE_ARRAY_THRESHOLD = 100;
|
|
5
3
|
/**
|
|
6
4
|
* How deep a schema may nest before generation is refused.
|
|
7
5
|
*
|
|
@@ -76,6 +74,18 @@ export declare const MAX_OBJECT_PROPERTIES = 10000;
|
|
|
76
74
|
* lengths large enough for one field to become an accidental bulk payload.
|
|
77
75
|
*/
|
|
78
76
|
export declare const MAX_STRING_LENGTH = 65536;
|
|
77
|
+
/**
|
|
78
|
+
* Maximum number of UTF-16 code units one generated response may carry across
|
|
79
|
+
* all of its strings and object keys.
|
|
80
|
+
*
|
|
81
|
+
* The per-value limits alone multiply: 10,000 items of a 64 KiB string pass
|
|
82
|
+
* every one of them and still add up to 655M characters. 256 maximal strings
|
|
83
|
+
* (16M code units, about 32 MB in memory) is far past any realistic mock body
|
|
84
|
+
* and far short of what exhausts a process. Validation charges each string's
|
|
85
|
+
* `minLength` against it, so a schema that can only overshoot is refused when
|
|
86
|
+
* the plugin is created; the generated value is checked against it too.
|
|
87
|
+
*/
|
|
88
|
+
export declare const MAX_GENERATED_CHARS: number;
|
|
79
89
|
/**
|
|
80
90
|
* Reference date used when generation must be reproducible.
|
|
81
91
|
* Faker's `date.*` methods default their reference date to `Date.now()`, so a
|
|
@@ -85,4 +95,3 @@ export declare const MAX_STRING_LENGTH = 65536;
|
|
|
85
95
|
*/
|
|
86
96
|
export declare const DETERMINISTIC_REF_DATE = "2024-01-01T00:00:00.000Z";
|
|
87
97
|
export declare const NULLABLE_NULL_PROBABILITY = 0.05;
|
|
88
|
-
//# sourceMappingURL=constants.d.ts.map
|
package/dist/field-mappings.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export declare const GENERATABLE_FORMATS: Set<string>;
|
|
|
25
25
|
* "created_at" → ["created", "at"]
|
|
26
26
|
* "HTMLParser" → ["html", "parser"]
|
|
27
27
|
* "is_active" → ["is", "active"]
|
|
28
|
+
*
|
|
29
|
+
* Runs in time linear in the name's length.
|
|
28
30
|
*/
|
|
29
31
|
export declare function tokenizeFieldName(name: string): string[];
|
|
30
32
|
/**
|
|
@@ -33,10 +35,25 @@ export declare function tokenizeFieldName(name: string): string[];
|
|
|
33
35
|
* 1.0 — exact full match (joined tokens equal joined keywords)
|
|
34
36
|
* 0.9 — all keyword tokens found in field tokens with high coverage (>50%)
|
|
35
37
|
* 0.8 — field ends with keyword tokens
|
|
36
|
-
* 0.7 — substring match
|
|
38
|
+
* 0.7 — substring match: the keyword lines up with token edges ("urls"
|
|
39
|
+
* counts for "url"), or is at least 5 characters long ("myemailfield")
|
|
37
40
|
* 0.65 — all keyword tokens found but low coverage (<=50%)
|
|
41
|
+
*
|
|
42
|
+
* A field ending in a qualifier (type, status, format, code, kind) that the
|
|
43
|
+
* keyword does not end with only scores on the 1.0 and 0.8 tiers.
|
|
38
44
|
*/
|
|
39
45
|
export declare function scoreMatch(fieldTokens: string[], keywords: string[]): number;
|
|
46
|
+
/**
|
|
47
|
+
* The single rule every heuristic in this package obeys: a schema that states
|
|
48
|
+
* its own value source is never re-routed by the field name.
|
|
49
|
+
*
|
|
50
|
+
* `default` (which the OpenAPI normalizer also derives from `example`),
|
|
51
|
+
* `const`, `enum` and `pattern` fix or constrain the value itself; `faker`
|
|
52
|
+
* and `$ref` delegate it explicitly. `format` is handled by the caller, since
|
|
53
|
+
* `format: "uuid"` agrees with a name mapping and an unknown format defers to
|
|
54
|
+
* it.
|
|
55
|
+
*/
|
|
56
|
+
export declare function declaresExplicitValue(schema: JSONSchema7): boolean;
|
|
40
57
|
interface MatchResult {
|
|
41
58
|
mapping: FieldMapping;
|
|
42
59
|
score: number;
|
|
@@ -47,4 +64,3 @@ interface MatchResult {
|
|
|
47
64
|
*/
|
|
48
65
|
export declare function findBestMapping(fieldName: string, schema: JSONSchema7, mappings?: FieldMapping[]): MatchResult | undefined;
|
|
49
66
|
export {};
|
|
50
|
-
//# sourceMappingURL=field-name-matcher.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import type * as Schmock from "@schmock/core";
|
|
2
|
-
import { MAX_OBJECT_PROPERTIES, MAX_STRING_LENGTH } from "./constants.js";
|
|
2
|
+
import { MAX_ARRAY_SIZE, MAX_GENERATED_NODES, MAX_NESTING_DEPTH, MAX_OBJECT_PROPERTIES, MAX_SCHEMA_NODES, MAX_STRING_LENGTH } from "./constants.js";
|
|
3
3
|
export type SchemaGenerationContext = Schmock.SchemaGenerationContext;
|
|
4
4
|
export type FakerPluginOptions = Schmock.FakerPluginOptions;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Every generation ceiling, so callers can pre-check their input. A breach is
|
|
7
|
+
* reported as a `ResourceLimitError` naming the exceeded `resource`.
|
|
8
|
+
*/
|
|
9
|
+
export { MAX_ARRAY_SIZE, MAX_GENERATED_NODES, MAX_NESTING_DEPTH, MAX_OBJECT_PROPERTIES, MAX_SCHEMA_NODES, MAX_STRING_LENGTH, };
|
|
6
10
|
export declare function fakerPlugin(options: FakerPluginOptions): Schmock.Plugin;
|
|
11
|
+
/**
|
|
12
|
+
* Generate a value from a JSON Schema.
|
|
13
|
+
*
|
|
14
|
+
* The schema is validated on every call: the caller owns it and may change it
|
|
15
|
+
* between calls (an OpenAPI `onSchema` hook can edit a schema in place), so a
|
|
16
|
+
* cached verdict could be stale. `fakerPlugin` validates its private snapshot
|
|
17
|
+
* once instead.
|
|
18
|
+
*/
|
|
7
19
|
export declare function generateFromSchema(options: SchemaGenerationContext): Promise<unknown>;
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{ResourceLimitError as
|
|
2
|
-
`],negated:!1},pos:
|
|
3
|
-
`],negated:!0},pos:
|
|
4
|
-
`);break;default:K.push(P)}q++;continue}if(q+2<j.length&&j[q+1]==="-"&&j[q+2]!=="]"){let P=j.charCodeAt(q),B=j.charCodeAt(q+2);for(let V=P;V<=B;V++)K.push(String.fromCharCode(V));q+=3;continue}K.push(j[q]),q++}return q++,{node:{type:"charClass",chars:K,negated:b},pos:q}}function c(j,q,b){if(q>=j.length)return{node:b,pos:q};let K=j[q],P,B;switch(K){case"*":P=0,B=5,q++;break;case"+":P=1,B=5,q++;break;case"?":P=0,B=1,q++;break;case"{":{let V=V6(j,q);if(V)P=V.min,B=V.max,q=V.pos;else return{node:b,pos:q};break}default:return{node:b,pos:q}}if(q<j.length&&(j[q]==="?"||j[q]==="+"))q++;return{node:{type:"quantifier",node:b,min:P,max:B},pos:q}}function V6(j,q){let b=j.slice(q).match(/^\{(\d+)(?:,(\d*))?\}/);if(!b)return null;let K=parseInt(b[1],10),P;if(b[2]===void 0)P=K;else if(b[2]==="")P=K+5;else P=parseInt(b[2],10);return{min:K,max:P,pos:q+b[0].length}}function S(j){return j<10?`0${j}`:`${j}`}function w6(j,q){return new Date(j,q,0).getDate()}var K4="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";function U6(j){if(j==="^"||j==="$"||j==="^$")return!1;return!0}function G6(j,q){if(j.format){if(j.format==="date-time"&&(q.minDateTime!==void 0||q.maxDateTime!==void 0))return F6(q);let V=q.formatRegistry.get(j.format);if(V){let w=V(q.random),U=q.minLength??j.minLength,G=q.maxLength??j.maxLength;if(U!==void 0&&w.length<U)return k0(w,U,q);if(G!==void 0&&w.length>G)return w.slice(0,G);return w}}if(j.pattern){let V=q.minLength??j.minLength,w=q.maxLength??j.maxLength,U=50;for(let F=0;F<50;F++){let C=h0(j.pattern,q.random);if(V!==void 0&&C.length<V)continue;if(w!==void 0&&C.length>w)continue;return C}let G=h0(j.pattern,q.random),I=U6(j.pattern);if(V!==void 0&&G.length<V){if(I)return k0(G,V,q)}if(w!==void 0&&G.length>w)return G.slice(0,w);return G}let b=j.minLength??0,K=j.maxLength??Math.max(b+10,10),P=q.random.int(b,K),B="";for(let V=0;V<P;V++)B+=q.random.pick([...K4]);if(q.maxLength!==void 0&&B.length>q.maxLength)B=B.slice(0,q.maxLength);if(q.minLength!==void 0&&B.length<q.minLength)B=k0(B,q.minLength,q);return B}function k0(j,q,b){while(j.length<q)j+=b.random.pick([...K4]);return j}function F6(j){let q=j.minDateTime?new Date(j.minDateTime):new Date("1970-01-01"),b=j.maxDateTime?new Date(j.maxDateTime):new Date,K=q.getTime(),P=b.getTime(),B=K+j.random.next()*(P-K),V=new Date(B),w=V.getFullYear(),U=S(V.getMonth()+1),G=S(V.getDate());return`${w}-${U}-${G}T01:01:01.0Z`}function r0(j,q){if(j.const!==void 0)return structuredClone(j.const);if(j.enum!==void 0&&j.enum.length>0){let b=j.enum;if(j.minimum!==void 0||j.maximum!==void 0||j.exclusiveMinimum!==void 0||j.exclusiveMaximum!==void 0||j.multipleOf!==void 0){let P=j.exclusiveMinimum??j.minimum??-1/0,B=j.exclusiveMaximum??j.maximum??1/0,V=j.exclusiveMinimum!==void 0,w=j.exclusiveMaximum!==void 0;b=b.filter((U)=>{if(typeof U!=="number")return!0;let G=V?U>P:U>=P,I=w?U<B:U<=B;if(!G||!I)return!1;if(j.multipleOf!==void 0){let F=j.multipleOf,C=F.toString().includes(".")?F.toString().split(".")[1].length:0,g=Math.pow(10,C),A=Math.round(U*g),D=Math.round(F*g);if(A%D!==0)return!1}return!0})}if(j.minLength!==void 0||j.maxLength!==void 0){let P=j.minLength??0,B=j.maxLength??1/0;b=b.filter((V)=>{if(typeof V!=="string")return!0;return V.length>=P&&V.length<=B})}if(j.minItems!==void 0||j.maxItems!==void 0){let P=j.minItems??0,B=j.maxItems??1/0;b=b.filter((V)=>{if(!Array.isArray(V))return!0;return V.length>=P&&V.length<=B})}if(j.minProperties!==void 0||j.maxProperties!==void 0){let P=j.minProperties??0,B=j.maxProperties??1/0;b=b.filter((V)=>{if(typeof V!=="object"||V===null||Array.isArray(V))return!0;return Object.keys(V).length>=P&&Object.keys(V).length<=B})}if(b.length===0){let P=[];if(j.minLength!==void 0)P.push(`minLength: ${j.minLength}`);if(j.maxLength!==void 0)P.push(`maxLength: ${j.maxLength}`);if(j.minItems!==void 0)P.push(`minItems: ${j.minItems}`);if(j.maxItems!==void 0)P.push(`maxItems: ${j.maxItems}`);if(j.minProperties!==void 0)P.push(`minProperties: ${j.minProperties}`);if(j.maxProperties!==void 0)P.push(`maxProperties: ${j.maxProperties}`);if(j.minimum!==void 0)P.push(`minimum: ${j.minimum}`);if(j.maximum!==void 0)P.push(`maximum: ${j.maximum}`);if(j.exclusiveMinimum!==void 0)P.push(`exclusiveMinimum: ${j.exclusiveMinimum}`);if(j.exclusiveMaximum!==void 0)P.push(`exclusiveMaximum: ${j.exclusiveMaximum}`);if(j.multipleOf!==void 0)P.push(`multipleOf: ${j.multipleOf}`);throw Error(`enum values conflict with constraints [${P.join(", ")}] at ${q.path}`)}let K=q.random.pick(b);return typeof K==="object"&&K!==null?structuredClone(K):K}throw Error(`generateEnumConst called without enum or const at ${q.path}`)}function V0(j){return typeof j==="object"&&j!==null&&"then"in j&&typeof j.then==="function"}var P4=Symbol("walkCall");function M(j,q){return{[P4]:!0,schema:j,ctx:q}}function B4(j){return typeof j==="object"&&j!==null&&P4 in j}function P0(j,q){j.push({gen:q,sent:void 0,hasThrown:!1,threw:void 0})}function V4(j){let q=j[j.length-1],b;try{b=q.hasThrown?q.gen.throw(q.threw):q.gen.next(q.sent)}catch(K){if(j.pop(),j.length===0)throw K;let P=j[j.length-1];P.hasThrown=!0,P.threw=K;return}return q.hasThrown=!1,b}async function I6(j,q){let b=[];P0(b,j);for(;;){let K=V4(b);if(K===void 0)continue;if(K.done){if(b.pop(),b.length===0)return K.value;b[b.length-1].sent=K.value;continue}if(B4(K.value)){P0(b,q(K.value.schema,K.value.ctx));continue}let P=b[b.length-1];try{P.sent=await K.value}catch(B){P.hasThrown=!0,P.threw=B}}}function C6(j,q){let b=[];P0(b,j);for(;;){let K=V4(b);if(K===void 0)continue;if(K.done){if(b.pop(),b.length===0)return K.value;b[b.length-1].sent=K.value;continue}if(B4(K.value)){P0(b,q(K.value.schema,K.value.ctx));continue}if(V0(K.value))throw Error("generateSync() encountered an unexpected asynchronous operation.");b[b.length-1].sent=K.value}}function Y(j){let q={};for(let b of j){if(typeof b==="boolean"){if(!b)return{not:{}};continue}U4(q,b)}return q}function w4(j,q){if(typeof j==="boolean"||typeof q==="boolean")return{};if(typeof j!=="object"||j===null)return typeof q==="object"&&q!==null?q:{};if(typeof q!=="object"||q===null)return j;let b={...j};return U4(b,q),b}function U4(j,q){if(q.type!==void 0)if(j.type===void 0)j.type=q.type;else j.type=W6(j.type,q.type);if(q.minimum!==void 0)j.minimum=j.minimum!==void 0?Math.max(j.minimum,q.minimum):q.minimum;if(q.maximum!==void 0)j.maximum=j.maximum!==void 0?Math.min(j.maximum,q.maximum):q.maximum;if(q.exclusiveMinimum!==void 0)j.exclusiveMinimum=j.exclusiveMinimum!==void 0?Math.max(j.exclusiveMinimum,q.exclusiveMinimum):q.exclusiveMinimum;if(q.exclusiveMaximum!==void 0)j.exclusiveMaximum=j.exclusiveMaximum!==void 0?Math.min(j.exclusiveMaximum,q.exclusiveMaximum):q.exclusiveMaximum;if(q.multipleOf!==void 0)j.multipleOf=q.multipleOf;if(q.minLength!==void 0)j.minLength=j.minLength!==void 0?Math.max(j.minLength,q.minLength):q.minLength;if(q.maxLength!==void 0)j.maxLength=j.maxLength!==void 0?Math.min(j.maxLength,q.maxLength):q.maxLength;if(q.pattern!==void 0)j.pattern=q.pattern;if(q.format!==void 0)j.format=q.format;if(q.minItems!==void 0)j.minItems=j.minItems!==void 0?Math.max(j.minItems,q.minItems):q.minItems;if(q.maxItems!==void 0)j.maxItems=j.maxItems!==void 0?Math.min(j.maxItems,q.maxItems):q.maxItems;if(q.uniqueItems)j.uniqueItems=!0;if(q.items!==void 0)j.items=q.items;if(q.prefixItems!==void 0)if(j.prefixItems===void 0)j.prefixItems=q.prefixItems;else{let b=[],K=Math.max(j.prefixItems.length,q.prefixItems.length);for(let P=0;P<K;P++){let B=j.prefixItems[P],V=q.prefixItems[P];if(B!==void 0&&V!==void 0)b.push(w4(B,V));else if(B!==void 0)b.push(B);else if(V!==void 0)b.push(V)}j.prefixItems=b}if(q.contains!==void 0)if(j.containsAll!==void 0)j.containsAll=[...j.containsAll,q.contains];else if(j.contains!==void 0)j.containsAll=[j.contains,q.contains],delete j.contains;else j.contains=q.contains;if(q.properties)j.properties=L6(j.properties??{},q.properties);if(q.required)j.required=[...new Set([...j.required??[],...q.required])];if(q.additionalProperties!==void 0)j.additionalProperties=q.additionalProperties;if(q.patternProperties)j.patternProperties={...j.patternProperties??{},...q.patternProperties};if(q.minProperties!==void 0)j.minProperties=j.minProperties!==void 0?Math.max(j.minProperties,q.minProperties):q.minProperties;if(q.maxProperties!==void 0)j.maxProperties=j.maxProperties!==void 0?Math.min(j.maxProperties,q.maxProperties):q.maxProperties;if(q.const!==void 0)j.const=q.const;if(q.enum!==void 0)if(j.enum!==void 0){let b=new Set(q.enum.map((K)=>JSON.stringify(K)));j.enum=j.enum.filter((K)=>b.has(JSON.stringify(K)))}else j.enum=q.enum;if(q.$ref)j.$ref=q.$ref;if(q.$defs)j.$defs={...j.$defs??{},...q.$defs};if(q.allOf)j.allOf=[...j.allOf??[],...q.allOf];if(q.anyOf)j.anyOf=q.anyOf;if(q.oneOf)j.oneOf=q.oneOf}function W6(j,q){let b=Array.isArray(j)?j:[j],K=Array.isArray(q)?q:[q],P=b.filter((B)=>K.includes(B));if(P.length===0)return b[0];if(P.length===1)return P[0];return P}function L6(j,q){let b={...j};for(let[K,P]of Object.entries(q)){let B=j[K];if(B===void 0)b[K]=P;else if(typeof B==="object"&&typeof P==="object")b[K]=w4(B,P);else b[K]=P}return b}var w0=new Set(["$schema","$id","$ref","$defs","$anchor","$dynamicRef","$dynamicAnchor","$vocabulary","$comment","type","enum","const","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","format","contentEncoding","contentMediaType","contentSchema","items","prefixItems","contains","minItems","maxItems","uniqueItems","minContains","maxContains","properties","required","additionalProperties","patternProperties","minProperties","maxProperties","propertyNames","dependentRequired","dependentSchemas","allOf","anyOf","oneOf","not","if","then","else","faker","chance","jsonPath","template","default","examples","description","title","readOnly","writeOnly","deprecated"]);function G4(j){if(typeof j!=="object"||j===null)return!1;return Object.keys(j).some((q)=>w0.has(q))}function R0(j){if(j.properties)return j.properties;if(j.type==="object"||j.type===void 0){let q={},b=!1;for(let[K,P]of Object.entries(j)){if(w0.has(K))continue;if(G4(P))q[K]=P,b=!0;else q[K]={const:P},b=!0}if(b)return q}return{}}function F4(j,q){if(j.required)return j.required;if(j.properties===void 0&&Object.keys(q).length>0)return Object.keys(q);return[]}function I4(j,q){let b=j.alwaysFakeOptionals??!1,K=j.fixedProbabilities??!1,P=j.optionalsProbability??0.5,B;if(K&&!b&&q.length>0){let V=Math.round(q.length*P);B=new Set(q.slice(0,V))}return(V)=>{if(b)return!0;if(B)return B.has(V);return j.random.bool(P)}}function C4(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function D6(j){return j.replace(/~/g,"~0").replace(/\//g,"~1")}function v(j,q){let b=D6(q),K=j.outputPath==="/"?`/${b}`:`${j.outputPath}/${b}`,P=j.path==="/"?`/${b}`:`${j.path}/${b}`;return{...j,path:P,outputPath:K}}function z6(j){let q=R0(j);if(Object.keys(q).length>0)return q;if(Array.isArray(j.allOf)){let b={};for(let K of j.allOf){if(typeof K!=="object"||K===null)continue;let P=R0(K);Object.assign(b,P)}return b}return{}}function O6(j,q){let b=F4(j,q);if(b.length>0)return b;if(Array.isArray(j.allOf)){let K=[];for(let P of j.allOf){if(typeof P!=="object"||P===null)continue;let B=P;if(Array.isArray(B.required))K.push(...B.required)}if(K.length>0)return[...new Set(K)]}return[]}function k6(j,q,b){if(!C4(j)||typeof q!=="object"||q===null)return j;return W4(j,q,b)}function W4(j,q,b){if(b.alwaysFakeOptionals===!0)return j;let K=z6(q);if(Object.keys(K).length===0)return j;let P=O6(q,K),B=new Set(P),V=new Set(Object.keys(K)),w=[...V].filter((g)=>!B.has(g)),U=I4(b,w),G=new Set([...V,...Object.keys(j)]),I=b.path==="/"?"/properties":`${b.path}/properties`,F={...b,depth:b.depth+1,path:I},C={};for(let g of G){if(!(g in j))continue;let A=v(F,g),D=K[g]??!0;if(!(V.has(g)&&!B.has(g))||U(g))C[g]=k6(j[g],D,A)}return C}function x0(j,q,b){if(!b.filterExampleDefaults||!C4(j))return j;return W4(j,q,b)}function i0(j,q){if(typeof q!=="object"||q===null)return!1;let b=q;if(b.const!==void 0)return j===b.const;if(b.enum!==void 0)return b.enum.some((K)=>K===j);return!1}function L4(j){if(typeof j==="boolean")return!j;if(typeof j!=="object"||j===null)return!1;if(j.not===!0||typeof j.not==="object"&&j.not!==null&&Object.keys(j.not).length===0)return!0;return!1}function g0(j){let q=[];if(j.dependentRequired){for(let[b,K]of Object.entries(j.dependentRequired))if(Array.isArray(K))q.push([b,K.filter((P)=>typeof P==="string")])}if(j.dependencies){for(let[b,K]of Object.entries(j.dependencies))if(Array.isArray(K))q.push([b,K.filter((P)=>typeof P==="string")])}return q}function x6(j){let q=[];if(j.dependencies){for(let[b,K]of Object.entries(j.dependencies))if(!Array.isArray(K))q.push([b,K])}if(j.dependentSchemas)for(let[b,K]of Object.entries(j.dependentSchemas))q.push([b,K]);return q}function*g6(j,q,b,K,P,B,V={type:"string"}){if(b[B]!==void 0)return;let w=q[B];if(w===void 0&&j.patternProperties){let I=[];for(let[F,C]of Object.entries(j.patternProperties))try{if(new RegExp(F).test(B))I.push(C)}catch{}if(I.length>0)w=I.length===1?I[0]:Y(I)}if(w===void 0){if(j.additionalProperties===!1)return;w=j.additionalProperties!==void 0&&j.additionalProperties!==!0?j.additionalProperties:V}if(L4(w))return;let U=v(P,B),G=yield M(w,U);if(G!==void 0)b[B]=G,K.add(B)}function*R6(j,q){let b=R0(j),K=F4(j,b);if(q.depth>=q.maxDepth){let D=new Set(K);for(let[W,O]of g0(j))if(D.has(W))for(let k of O)D.add(k);if(D.size===0)return{};let L={};for(let W of D){let O=b[W];if(O&&typeof O==="object"&&O!==null){let k=O;if(k.const!==void 0)L[W]=k.const;else if(k.default!==void 0)L[W]=k.default;else if(k.enum!==void 0&&k.enum.length>0)L[W]=k.enum[0];else L[W]=A6(k.type)}else L[W]=null}return L}if(j.additionalProperties===!1){let D=Object.keys(b).length>0,L=j.patternProperties&&Object.keys(j.patternProperties).length>0,W=new Set(Object.keys(b)),O=[...new Set(K)].filter((k)=>!W.has(k));if((j.minProperties??0)>0&&!D&&!L)throw Error(`missing properties for ${j.minProperties} in ${q.path}: additionalProperties is false but no properties or patternProperties defined`);if(O.length>0&&!L&&!D)throw Error(`missing properties for ${O.join(", ")} in ${q.path}: additionalProperties is false but required properties not defined in properties`)}let P=q.path==="/"?"/properties":`${q.path}/properties`,B={...q,depth:q.depth+1,path:P},V={},w=new Set,U=new Set(K);for(let[D,L]of g0(j))if(U.has(D))for(let W of L)U.add(W);let G=q.fillProperties??!0,I=Object.keys(b).filter((D)=>!U.has(D)),F=I4(q,I);if(Object.keys(b).length>0)for(let[D,L]of Object.entries(b)){if(L4(L))continue;w.add(D);let W=v(B,D),O=U.has(D),k=typeof L==="object"&&L!==null&&L.type==="object",z=L;if(j.patternProperties&&typeof L==="object"&&L!==null){let x=[];for(let[R,N]of Object.entries(j.patternProperties))try{if(new RegExp(R).test(D))x.push(N)}catch{}if(x.length>0)z=Y([L,...x])}if(O){let x=yield M(z,W);if(x!==void 0)V[D]=x}else if(F(D)){let x=yield M(z,W);if(x!==void 0)V[D]=x}else if(k&&!G){let x=L.required??[];if(x.length>0){let R={};for(let N of x){let f=(L.properties??{})[N]??{},o=v(W,N),X0=yield M(f,o);if(X0!==void 0)R[N]=X0}V[D]=R}}}for(let D of U){if(V[D]!==void 0||w.has(D))continue;if(j.patternProperties){let L=[];for(let[W,O]of Object.entries(j.patternProperties))if(new RegExp(W).test(D))L.push(O);if(L.length>0){let W=L.length===1?L[0]:Y(L),O=v(B,D),k=yield M(W,O);if(k!==void 0)V[D]=k;w.add(D)}}if(!w.has(D)){let L=j.additionalProperties??!0;if(L!==!1){let W=v(B,D),O=yield M(L===!0?{}:L,W);if(O!==void 0)V[D]=O;w.add(D)}}}let C=!0;while(C){C=!1;for(let[D,L]of g0(j)){if(V[D]===void 0)continue;for(let W of L){let O=V[W];if(yield*g6(j,b,V,w,B,W),O===void 0&&V[W]!==void 0)C=!0;if(V[W]!==void 0)U.add(W)}}}for(let[D,L]of x6(j))if(V[D]!==void 0&&!w.has(D+"_dep")){if(w.add(D+"_dep"),typeof L==="boolean")continue;let W=L.oneOf??L.anyOf??L.allOf??[L],O=null;for(let z of W){if(typeof z!=="object"||z===null)continue;let{properties:x,not:R}=z;if(x&&x[D]){let N=x[D],f=V[D];if(i0(f,N)){O=z;break}}if(R?.properties){let N=R.properties[D];if(N){let f=V[D];if(!i0(f,N)){O=z;break}}}}if(!O&&W.length>0&&typeof W[0]==="object")O=W[0];if(O?.not){let z=O.not;if(z.required&&Array.isArray(z.required))for(let x of z.required)delete V[x]}let k=new Set;if(O?.required)for(let z of O.required){if(z===D)continue;if(V[z]!==void 0)continue;k.add(z);let x=O.properties?.[z]??b[z]??{type:"object"},R=v(B,z),N=yield M(x,R);if(N!==void 0)V[z]=N}if(O&&O.properties)for(let[z,x]of Object.entries(O.properties)){if(z===D)continue;if(k.has(z))continue;let R=v(B,z),N=yield M(x,R);if(N!==void 0)V[z]=N}}let g=j.minProperties??0,A=j.maxProperties;if(Object.keys(V).length<g){if(j.patternProperties&&Object.keys(j.patternProperties).length>0){let D=Object.entries(j.patternProperties),L=0,W=1000;while(Object.keys(V).length<g&&L<W){L++;let[O,k]=q.random.pick(D),z=N6(O,q);if(z&&!V[z]){let x=v(B,z),R=yield M(k,x);if(R!==void 0)V[z]=R;w.add(z)}}}if(Object.keys(V).length<g){let D=j.additionalProperties,L=D===void 0||D===!0?{type:"string"}:D;if(L!==!1){let W=0,O=1000;while(Object.keys(V).length<g&&W<O){W++;let k=`prop${q.random.int(0,99999)}`;if(!V[k]){let z=v(B,k),x=yield M(L,z);if(x!==void 0)V[k]=x;w.add(k)}}}}if(Object.keys(V).length<g){let D=Object.keys(b).join(", ");throw Error(`properties '${D}' were not found while additionalProperties is false in ${q.path}`)}}if(A!==void 0&&Object.keys(V).length>A){let D=Object.keys(V).filter((L)=>!U.has(L));q.random.shuffle(D);while(Object.keys(V).length>A&&D.length>0){let L=D.pop();delete V[L]}}if(q.pruneProperties&&q.pruneProperties.length>0)M0(V,q.pruneProperties);return M6(V,b),V}function M6(j,q){for(let[b,K]of Object.entries(q)){if(typeof K!=="object"||K===null)continue;let P=K;if(P.template===void 0)continue;let B=P.template;if(typeof B!=="string")continue;let V=B.replace(/#\{(\w+)\}/g,(w,U)=>{let G=j[U];return G!==void 0?String(G):""});j[b]=V}}function N6(j,q){let b=j.match(/^\^([a-zA-Z]+)(\.\*|\(\?\:.*\))?/);if(b){let U=b[1],G=b[2];if(G===".*"||G?.includes("?:")){let I=q.random.int(0,10),F="abcdefghijklmnopqrstuvwxyz",C="";for(let g=0;g<I;g++)C+=q.random.pick("abcdefghijklmnopqrstuvwxyz".split(""));return U+C}return U}let K=j.match(/(.*\*)?([a-zA-Z]+)\$$/);if(K){let U=K[2],G=q.random.int(1,10),I="abcdefghijklmnopqrstuvwxyz",F="";for(let C=0;C<G;C++)F+=q.random.pick("abcdefghijklmnopqrstuvwxyz".split(""));return F+U}let P=j.match(/^\^([a-zA-Z]+)\$$/);if(P)return P[1];let B=q.random.int(3,10),V="abcdefghijklmnopqrstuvwxyz",w="";for(let U=0;U<B;U++)w+=q.random.pick(V.split(""));try{if(new RegExp(j).test(w))return w}catch{}return null}function M0(j,q){if(typeof j!=="object"||j===null)return;if(Array.isArray(j)){for(let K of j)M0(K,q);return}let b=j;for(let K of Object.keys(b))if(q.includes(K))delete b[K];else M0(b[K],q)}function A6(j){switch(Array.isArray(j)?j[0]:j){case"string":return"";case"number":case"integer":return 0;case"boolean":return!1;case"null":return null;case"array":return[];case"object":return{};default:return null}}function*T6(j,q){if(q.depth>=q.maxDepth){let W=j.minItems??0;return W>0?Array.from({length:W},()=>null):[]}if(q.refDepthReached){let W=j.minItems??0;return W>0?Array.from({length:W},()=>null):[]}if(j.items===!1&&(j.minItems??0)>0){let W=j.prefixItems?.length??0;if((j.minItems??0)>W)throw Error(`missing items for ${j.minItems} in ${q.path}: items is false but minItems (${j.minItems}) exceeds prefixItems count (${W})`)}let b=q.path==="/"?"/items":`${q.path}/items`,K={...q,depth:q.depth+1,path:b},P=[],B=q.refDepthMax,V=q.minItems??j.minItems??0,w=q.maxItems??j.maxItems??Math.max(V,q.maxDefaultItems);if(j.maxItems!==void 0&&w>j.maxItems)w=j.maxItems;if(j.minItems!==void 0&&V<j.minItems)V=j.minItems;if(w<V)if(j.maxItems!==void 0)V=w;else w=V;if(q.alwaysFakeOptionals)w=Math.max(V,w);let U=j.uniqueItems?new Set:null;function*G(W,O){let k=yield M(W,O);if(k===void 0)return"omitted";if(U){let z=JSON.stringify(k);if(U.has(z)){for(let x=0;x<50;x++){if(k=yield M(W,l(K,P.length)),k===void 0)continue;let R=JSON.stringify(k);if(!U.has(R))return U.add(R),P.push(k),"added"}return"failed"}U.add(z)}return P.push(k),"added"}if(j.prefixItems)for(let W=0;W<j.prefixItems.length&&P.length<w;W++){let O=l(K,W);if((yield*G(j.prefixItems[W],O))==="failed")break}let I;if(B!==void 0&&q.refDepth>=B-1){let W=j.minItems??0;return W>0?Array.from({length:W},()=>null):[]}let F=q.alwaysFakeOptionals??!1,C=q.fixedProbabilities??!1,g=q.optionalsProbability??0.5;if(F)I=w;else if(C){let W=w-Math.max(V,P.length),O=Math.round(W*g);I=Math.max(V,P.length)+O}else I=q.random.int(Math.max(V,P.length),w);let A=j.prefixItems!==void 0,D=j.additionalItems!==void 0,L;if(A){if(D)L=j.additionalItems;else if(j.items!==void 0)L=j.items}else L=j.items;if(L!==!1&&L!==void 0){let W=L??{},O=0,k=Math.max(I*20,50);while(P.length<I){let z=yield*G(W,l(K,P.length));if(z==="added"){O=0;continue}if(O++,z==="failed"||O>=k)break}}if(j.contains){let W=j.minContains??1,O=j.maxContains??Math.max(W,1),k=q.random.int(W,O);for(let z=0;z<k;z++){let x=yield M(j.contains,l(K,P.length));if(x===void 0)continue;if(U){let R=JSON.stringify(x);if(U.has(R)){let N=!1;for(let f=0;f<50;f++){if(x=yield M(j.contains,l(K,P.length)),x===void 0)continue;let o=JSON.stringify(x);if(!U.has(o)){U.add(o),N=!0;break}}if(!N)continue}else U.add(R)}if(P.length<w){let R=q.random.int(0,P.length);P.splice(R,0,x)}else if(P.length>0){let R=q.random.int(0,P.length-1);P[R]=x}}while(P.length>w)P.pop()}if(j.containsAll){let W=new Set;for(let O of j.containsAll){let k=yield M(O,l(K,P.length));if(k===void 0)continue;if(U){let z=JSON.stringify(k);if(U.has(z)){let x=!1;for(let R=0;R<50;R++){if(k=yield M(O,l(K,P.length)),k===void 0)continue;let N=JSON.stringify(k);if(!U.has(N)){U.add(N),x=!0;break}}if(!x)continue}else U.add(z)}if(P.length<w){let z=q.random.int(0,P.length);P.splice(z,0,k);let x=new Set;for(let R of W)x.add(R>=z?R+1:R);W.clear();for(let R of x)W.add(R);W.add(z)}else if(P.length>0){let z=Array.from({length:P.length},(x,R)=>R).filter((x)=>!W.has(x));if(z.length>0){let x=z[q.random.int(0,z.length-1)];P[x]=k,W.add(x)}else P.push(k),W.add(P.length-1)}}while(P.length>w)P.pop()}if(j.uniqueItems&&P.length>0)return yield*_6(P,j,K,V,w,U);return P}function*_6(j,q,b,K,P,B){let V=q.items??{},w=0,U=100;while(j.length<K&&w<U){w++;let G=yield M(V,l(b,j.length));if(G===void 0)continue;let I=JSON.stringify(G);if(!B.has(I))B.add(I),j.push(G)}while(j.length>P)j.pop();return j}function l(j,q){let b=j.outputPath==="/"?`/${q}`:`${j.outputPath}/${q}`;return{...j,path:`${j.path}/${q}`,outputPath:b}}function m0(j,q){if(!q||q==="")return j;if(typeof j!=="object"||j===null)throw Error(`Cannot resolve fragment "${q}" in non-object schema`);if(q.startsWith("/"))return y6(j,q);throw Error(`Unsupported fragment type: ${q}. Only JSON pointers (starting with /) are supported.`)}function y6(j,q){if(q===""||q==="/")return j;let b=q.slice(1).split("/"),K=j;for(let P of b){let B=P.replace(/~1/g,"/").replace(/~0/g,"~");if(typeof K!=="object"||K===null)throw Error(`Cannot resolve JSON pointer "${q}": not an object at "${B}"`);if(Array.isArray(K)){let V=parseInt(B,10);if(isNaN(V)||V<0||V>=K.length)throw Error(`Cannot resolve JSON pointer "${q}": invalid array index "${B}"`);K=K[V]}else{if(!(B in K))throw Error(`Cannot resolve JSON pointer "${q}": property "${B}" not found`);K=K[B]}}return K}function*Z0(j,q){let b=q.refResolver(j);if(q.__sync&&V0(b))throw Promise.resolve(b).catch(()=>{}),Error(`Cannot use async refResolver in generateSync(): resolving '${j}' returned a Promise`);return yield b}function E6(j){let q=new Map;if(typeof j==="boolean")return q;if(j.$id&&typeof j==="object"){let b=j,K=b.$id,{$id:P,...B}=b;q.set(K,B)}if(j.$defs)for(let[b,K]of Object.entries(j.$defs))q.set(`#/$defs/${b}`,K);return q}function*B0(j,q){let b=j.$ref;if(!b)return{schema:j,ctx:q};let K=q.refDepth+1;if(q.refDepthMax!==void 0&&K>=q.refDepthMax)return{schema:{},ctx:{...q,refDepthReached:!0}};if(q.refStack.has(b)){if(q.refDepthMax!==void 0){if(q.refDepth>=q.refDepthMax)return{schema:{},ctx:{...q,refDepthReached:!0}}}else if(q.depth>=q.maxDepth)return{schema:{type:"null"},ctx:q}}let P,B;if(b.startsWith("#/")){if(P=q.refRegistry.get(b),P===void 0&&b.length>2){let F=q.refRegistry.get("#");if(F!==void 0&&typeof F==="object")try{P=m0(F,b.slice(1))}catch{}}if(P===void 0&&q.refResolver){if(P=yield*Z0(b,q),P!==void 0)q.refRegistry.set(b,P)}}else if(b==="#")P=q.refRegistry.get("#")??{};else if(P=q.refRegistry.get(b),P===void 0&&q.refResolver){B=yield*Z0(b,q);let F=b.indexOf("#");if(F!==-1){let C=b.slice(F+1);if(C)P=m0(B,C);else P=B}else P=B;if(B&&typeof B==="object"&&B!==null){let C=B;if(C.$defs)for(let[g,A]of Object.entries(C.$defs))q.refRegistry.set(`#/$defs/${g}`,A)}}else if(P===void 0&&q.__sync)throw Error(`Remote $ref '${b}' cannot be resolved in generateSync(); pre-resolve refs or use generate()`);if(P===void 0)throw Error(`Unresolved $ref: ${b}`);let V=new Set(["description","title","$comment","readOnly","writeOnly","deprecated"]),{$ref:w,...U}=j,G=Object.fromEntries(Object.entries(U).filter(([F])=>!V.has(F)));if(Object.keys(G).length>0&&typeof P==="object"&&P!==null)P={...P,...G};let I={...q,refStack:new Set([...q.refStack,b]),refDepth:q.refDepth+1};return{schema:P,ctx:I}}function J6(j,q){if(typeof j==="boolean")return;q.set("#",j),N0(j,"#",q)}function N0(j,q,b){if(j.$id){let{$id:K,...P}=j;b.set(K,P)}if(j.$defs)for(let[K,P]of Object.entries(j.$defs)){let B=`${q}/$defs/${K}`;if(b.set(B,P),typeof P==="object"&&P!==null)N0(P,B,b)}if(j.properties){for(let[K,P]of Object.entries(j.properties))if(typeof P==="object"&&P!==null)N0(P,`${q}/properties/${K}`,b)}}function*Y6(j,q){if(!j.$ref)return j;return(yield*B0(j,q)).schema}function*S6(j,q){let b=[];for(let K of j)if(typeof K==="object"&&K!==null&&"$ref"in K){let P=yield*Y6(K,q);b.push(P)}else if(typeof K==="object"&&K!==null)b.push(K);return b}function*Q6(j,q){let{allOf:b,anyOf:K,oneOf:P,not:B,if:V,then:w,else:U,...G}=j;if(b){let I=yield*S6(b,q),F=Y([G,...I]);return yield M(F,q)}if(P){let I=q.random.shuffle([...P]),F=G.required??[];for(let k of I){let z=typeof k==="object"&&k!==null?k:{};if(z.$ref)z=(yield*B0(z,q)).schema;let x=z.required??[],R=[...new Set([...F,...x])],N={...G,required:R},f=Y([N,z]),o={...q,optionalsProbability:0,alwaysFakeOptionals:!1};try{return yield M(f,o)}catch{}}let C=P[0],g=typeof C==="object"&&C!==null?C:{};if(g.$ref)g=(yield*B0(g,q)).schema;let A=g.required??[],D=[...new Set([...F,...A])],L={...G,required:D},W=Y([L,g]),O={...q,optionalsProbability:0,alwaysFakeOptionals:!1};return yield M(W,O)}if(K){let I=q.random.shuffle([...K]);for(let g of I){let A=Y([G,g]);try{return yield M(A,q)}catch{}}let F=K[0],C=Y([G,F]);return yield M(C,q)}if(V!==void 0)return yield*f6(G,V,w,U,q);if(B)return yield*H6(G,B,q);return yield M(G,q)}function*f6(j,q,b,K,P){if(b!==void 0){let B=Y([j,q,b]);try{return yield M(B,P)}catch{}}if(K!==void 0){let B=Y([j,K]);try{return yield M(B,P)}catch{}}return yield M(j,P)}function*H6(j,q,b){if(typeof q==="boolean"){if(q===!0)throw Error(`Cannot generate value for 'not: true' at ${b.path}`);return yield M(j,b)}if(q.type&&!q.enum&&!q.const){let K=Array.isArray(q.type)?q.type:[q.type],P=["string","number","integer","boolean","null","object","array"].filter((B)=>!K.includes(B));if(P.length>0){let B=b.random.pick(P),V=Y([j,{type:B}]);return yield M(V,b)}}if(q.const!==void 0||q.enum!==void 0){let K=q.enum??[q.const],P=new Set(K.map((B)=>JSON.stringify(B)));for(let B=0;B<20;B++){let V=yield M(j,b);if(!P.has(JSON.stringify(V)))return V}}return yield M(j,b)}class D4{extensions=new Map;define(j,q){this.extensions.set(j,{callback:q,context:{}})}has(j){return this.extensions.has(j)}reset(j){if(j){let q=this.extensions.get(j);if(q)q.context={},this.extensions.delete(j)}else this.extensions.clear()}keys(){return this.extensions.keys()}*generateGen(j,q){let b=Object.keys(j);for(let K=b.length-1;K>=0;K--){let P=b[K],B=P.startsWith("x-")?P.slice(2):P,V=this.extensions.get(B);if(V){let w=j[P],U=V.callback.call(V.context,w,j,q);if(q.__sync&&V0(U))throw Promise.resolve(U).catch(()=>{}),Error(`Cannot use async extension '${B}' in generateSync()`);let G=yield U;if(G!==void 0)return G}}return}getContext(j){return this.extensions.get(j)?.context}}var v6=new D4;function*p6(j,q){return yield*v6.generateGen(j,q)}var X6=["string","number","integer","boolean","null","object","array"];function n0(j,q,b){if(j.faker!==void 0&&j.chance!==void 0)throw Error(`ambiguous generator: both faker and chance are defined in ${q.path}`);if(j.faker!==void 0)try{let K=u6(j.faker,q),P=t0(K,b??j.type,q.path);if(typeof P==="string"&&j.format)return c0(P,j.format,q);return P}catch{}if(j.chance!==void 0)try{let K=l6(j.chance,q),P=t0(K,b??j.type,q.path);if(typeof P==="string"&&j.format)return c0(P,j.format,q);return P}catch{}return}function c0(j,q,b){if(q==="date"){let K=typeof j==="string"?new Date(j):j;if(K instanceof Date&&!isNaN(K.getTime())){let P=K.getFullYear(),B=S(K.getMonth()+1),V=S(K.getDate());return`${P}-${B}-${V}`}if(typeof j==="string"){let P=Date.parse(j);if(!isNaN(P)){let B=new Date(P),V=B.getFullYear(),w=S(B.getMonth()+1),U=S(B.getDate());return`${V}-${w}-${U}`}}}if(q==="date-time"){let K=typeof j==="string"?new Date(j):j;if(K instanceof Date&&!isNaN(K.getTime()))return K.toISOString();if(typeof j==="string"&&Date.parse(j))return new Date(j).toISOString()}return j}function t0(j,q,b){if(q===void 0)return j;let K=Array.isArray(q)?q[0]:q;switch(K){case"string":return j===null?"null":j===void 0?"undefined":String(j);case"number":case"integer":let P=Number(j);return K==="integer"?Math.floor(P):P;case"boolean":return Boolean(j);case"null":return null;default:return j}}function u6(j,q){if(!q.extensions?.faker){let V=typeof j==="string"?j:JSON.stringify(j);throw Error(`cannot resolve faker-generator for ${V} in ${q.path}`)}let b,K;if(typeof j==="object"&&j!==null){let V=j,w=Object.keys(V);if(w.length>0)b=w[0],K=V[b];else throw Error(`cannot resolve faker-generator for ${JSON.stringify(j)} in ${q.path}`)}else b=j;let P=b.split("."),B=q.extensions.faker;for(let V of P)try{B=B[V]}catch{throw Error(`failed to resolve .${V} (${b})`)}if(typeof B==="function")return K?B(...K):B();else throw Error(`cannot resolve faker-generator for ${b} in ${q.path}`)}function l6(j,q){if(!q.extensions?.chance){let b=typeof j==="string"?j:Object.keys(j)[0];throw Error(`cannot resolve chance-generator for ${b} in ${q.path}`)}if(typeof j==="string"){let b=q.extensions.chance[j];if(typeof b==="function")return b.call(q.extensions.chance);throw Error(`cannot resolve chance-generator for ${j} in ${q.path}`)}if(typeof j==="object"&&j!==null){let b=j,K=Object.keys(b)[0],P=b[K],B=q.extensions.chance[K];if(typeof B==="function")return P?B.call(q.extensions.chance,P):B.call(q.extensions.chance)}throw Error(`cannot resolve chance-generator in ${q.path}`)}function d6(j,q){let b=j.path==="/"?`/${q}`:`${j.path}/${q}`;return{...j,depth:j.depth+1,path:b,refDepthReached:j.refDepthReached}}function*y(j,q,b){if(!b.outputTransform)return j;let K=b.outputTransform(j,q,b.outputPath);if(b.__sync&&V0(K))throw Promise.resolve(K).catch(()=>{}),Error("Cannot use async outputTransform in generateSync()");return yield K}function*s(j,q){if(j===!0)return yield*s({},q);if(j===!1)throw Error(`Cannot generate value for 'false' schema at ${q.path}`);let b=null;if(typeof j==="object"&&j!==null&&j.$defs){b=[];for(let[K,P]of Object.entries(j.$defs)){let B=`#/$defs/${K}`;b.push([B,q.refRegistry.has(B)?q.refRegistry.get(B):void 0]),q.refRegistry.set(B,P)}}try{return yield*h6(j,q)}finally{if(b)for(let[K,P]of b)if(P===void 0)q.refRegistry.delete(K);else q.refRegistry.set(K,P)}}function*h6(j,q){if(q.propAliases){let V=null;for(let[w,U]of Object.entries(q.propAliases))if(w in j&&!(U in j)){if(!V)V={...j};V[U]=V[w],delete V[w]}if(V)j=V}let b;if(Array.isArray(j.type)){let V=j.type;b=q.random.pick(V);let w={...q,resolvedType:b},U=n0(j,w,b);if(U!==void 0){if(typeof U==="string"&&w.maxLength!==void 0&&U.length>w.maxLength)return yield*y(U.slice(0,w.maxLength),j,w);return yield*y(U,j,w)}}else{let V=n0(j,q,b);if(V!==void 0){if(typeof V==="string"&&q.maxLength!==void 0&&V.length>q.maxLength)return yield*y(V.slice(0,q.maxLength),j,q);return yield*y(V,j,q)}}let K={...q,proceed:(V,w)=>(q.__sync?m6:z4)(V,{...q,...w})},P=yield*p6(j,K);if(P!==void 0)return yield*y(P,j,K);if(j.$ref){let V=yield*B0(j,q);return yield M(V.schema,d6(V.ctx,"$ref"))}if(j.allOf||j.anyOf||j.oneOf||j.not||j.if)return yield*Q6(j,q);if(j.const!==void 0)return yield*y(r0(j,q),j,q);if(q.useDefaultValue&&j.default!==void 0)return yield*y(x0(j.default,j,q),j,q);if(j.enum!==void 0)return yield*y(r0(j,q),j,q);if(q.useExamplesValue){if(Array.isArray(j.examples)&&j.examples.length>0){let V=q.random.pick(j.examples);return yield*y(x0(V,j,q),j,q)}if(j.example!==void 0)return yield*y(x0(j.example,j,q),j,q)}let B=o6(j,q);if(B===null){if(q.failOnInvalidTypes===!1){if(q.defaultInvalidTypeProduct!==void 0){let V=q.defaultInvalidTypeProduct;if(typeof V==="string")return i6(V);return V}return null}throw Error(`unknown primitive ${j.type} in ${q.path}/type`)}switch(B){case"null":return yield*y(a4(q),j,q);case"boolean":return yield*y(e4(q),j,q);case"number":return yield*y(q4(j,q),j,q);case"integer":return yield*y(q6(j,q),j,q);case"string":return yield*y(G6(j,q),j,q);case"object":return yield*y(yield*R6(j,q),j,q);case"array":return yield*y(yield*T6(j,q),j,q);default:throw Error(`Unknown type: ${B} at ${q.path}`)}}function o6(j,q){if(q.resolvedType!==void 0)return q.resolvedType;if(typeof j.type==="string"){if(!["string","number","integer","boolean","null","object","array"].includes(j.type))return null;return j.type}if(Array.isArray(j.type))return q.random.pick(j.type);if(j.properties||j.required||j.additionalProperties!==void 0||j.patternProperties||j.minProperties!==void 0||j.maxProperties!==void 0)return"object";if(r6(j))return"object";if(j.items||j.prefixItems||j.contains||j.minItems!==void 0||j.maxItems!==void 0||j.uniqueItems)return"array";if(j.minimum!==void 0||j.maximum!==void 0||j.exclusiveMinimum!==void 0||j.exclusiveMaximum!==void 0||j.multipleOf!==void 0)return"number";if(j.minLength!==void 0||j.maxLength!==void 0||j.pattern||j.format||j.faker!==void 0||j.chance!==void 0)return"string";return q.random.pick(X6)}function r6(j){if(j.properties||j.type==="object"||j.type==="array")return!1;for(let q of Object.keys(j)){if(w0.has(q))continue;let b=j[q];if(typeof b==="object"&&b!==null&&!Array.isArray(b))return!0}return!1}function i6(j){switch(j){case"string":return"";case"number":case"integer":return 0;case"boolean":return!1;case"null":return null;case"object":return{};case"array":return[];default:return null}}function z4(j,q){return I6(s(j,q),s)}function m6(j,q){return C6(s(j,q),s)}function Z6(j){let q=O4(j),b=k4(j);return`${q}T${b}`}function O4(j){let q=j.int(2000,2030),b=j.int(1,12),K=w6(q,b),P=j.int(1,K);return`${q}-${S(b)}-${S(P)}`}function k4(j){let q=j.int(0,23),b=j.int(0,59),K=j.int(0,59);return`${S(q)}:${S(b)}:${S(K)}Z`}var n6=["alice","bob","charlie","dave","eve","frank","grace","heidi"],c6=["example.com","test.org","demo.net","sample.io"];function s0(j){let q=j.pick(n6),b=j.int(1,999),K=j.pick(c6);return`${q}${b}@${K}`}var t6=["https"],s6=["example.com","test.org","demo.net"],$6=["api","v1","users","items","data","resource"];function K0(j){let q=j.pick(t6),b=j.pick(s6),K=j.int(1,3),P=[];for(let B=0;B<K;B++)P.push(j.pick($6));return`${q}://${b}/${P.join("/")}`}var a6=["alpha","beta","gamma","delta","echo","fox","golf","hotel"],e6=["com","org","net","io","dev"];function $0(j){let q=j.int(1,3),b=[];for(let K=0;K<q;K++)b.push(j.pick(a6));return b.push(j.pick(e6)),b.join(".")}function j7(j){return`${j.int(1,254)}.${j.int(0,255)}.${j.int(0,255)}.${j.int(1,254)}`}function q7(j){let q=[];for(let b=0;b<8;b++)q.push(j.int(0,65535).toString(16));return q.join(":")}function b7(j){let q=(b)=>{let K="";for(let P=0;P<b;P++)K+=j.int(0,15).toString(16);return K};return`${q(8)}-${q(4)}-4${q(3)}-${["8","9","a","b"][j.int(0,3)]}${q(3)}-${q(12)}`}var K7=["foo","bar","baz","items","0","1","2","name","value"];function a0(j){let q=j.int(1,4),b=[];for(let K=0;K<q;K++)b.push(j.pick(K7));return"/"+b.join("/")}function P7(j){let q=["P"],b=j.bool(),K=j.bool();if(b){if(j.bool())q.push(`${j.int(0,100)}Y`);if(j.bool())q.push(`${j.int(0,12)}M`);if(j.bool())q.push(`${j.int(0,30)}D`)}if(K){if(q.push("T"),j.bool())q.push(`${j.int(0,23)}H`);if(j.bool())q.push(`${j.int(0,59)}M`);if(j.bool())q.push(`${j.int(0,59)}S`)}if(q.length===1||q.length===2&&q[1]==="T")q.push("0D");return q.join("")}var B7=new Map([["date-time",Z6],["date",O4],["time",k4],["duration",P7],["email",s0],["idn-email",s0],["uri",K0],["uri-reference",K0],["iri",K0],["iri-reference",K0],["hostname",$0],["idn-hostname",$0],["ipv4",j7],["ipv6",q7],["uuid",b7],["json-pointer",a0],["relative-json-pointer",(j)=>`${j.int(0,5)}${a0(j)}`]]);function x4(j){let q=new Map(B7);if(j)for(let[b,K]of Object.entries(j))q.set(b,K);return q}function V7(j,q){if(!j.startsWith("$"))throw Error(`Invalid JSONPath: ${j} (must start with $)`);let b=w7(j),K=[q];for(let P of b){let B=[];if(P===""){for(let V of K)A0(V,B);B.push(...K),K=B;continue}for(let V of K){if(V===null||V===void 0)continue;if(P.startsWith("q:")){let w=P.slice(2);if(typeof V==="object"&&V!==null&&w in V)B.push(V[w])}else if(P==="*"){if(Array.isArray(V))B.push(...V)}else if(/^\d+$/.test(P)){let w=parseInt(P,10);if(Array.isArray(V)&&w<V.length)B.push(V[w])}else if(typeof V==="object"&&V!==null&&P in V)B.push(V[P])}K=B}return K}function A0(j,q){if(j===null||j===void 0)return;if(Array.isArray(j))for(let b of j)q.push(b),A0(b,q);else if(typeof j==="object")for(let b of Object.values(j))q.push(b),A0(b,q)}function w7(j){if(!j.startsWith("$"))throw Error(`Invalid JSONPath: ${j}`);let q=[],b=j.slice(1);while(b.length>0)if(b.startsWith(".")){if(b=b.slice(1),b.startsWith("."))b=b.slice(1),q.push("");let K=b.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(K)q.push(K[1]),b=b.slice(K[1].length);else break}else if(b.startsWith("[")){let K=b.indexOf("]");if(K===-1)break;let P=b.slice(1,K),B=U7(P),V=P[0]==='"'||P[0]==="'";q.push(V?`q:${B}`:B),b=b.slice(K+1)}else break;return q}function U7(j){let q=j[0];if((q==='"'||q==="'")&&j[j.length-1]===q)return j.slice(1,-1).replace(/\\(["'\\])/g,"$1");return j}function G7(j){if(j.properties)return j.properties;if(j.type==="object"||j.type===void 0){let q={},b=!1;for(let[K,P]of Object.entries(j)){if(w0.has(K))continue;if(G4(P))q[K]=P,b=!0;else q[K]={const:P},b=!0}if(b)return q}return{}}function T0(j,q,b,K){if(!b.resolveJsonPath)return j;let P=K??j;if(q===!0||q===!1)return j;if(q.$ref)return j;let B=q;if(B.allOf||B.anyOf||B.oneOf)return j;if(typeof j==="object"&&j!==null&&!Array.isArray(j)){let V={...j},w=G7(B);for(let[U,G]of Object.entries(w))if(U in V){let I=V[U];if(typeof G==="object"&&G!==null&&"jsonPath"in G&&typeof G.jsonPath==="string"){let F=V7(G.jsonPath,P);if(F.length>0)V[U]=b.random.pick(F)}else V[U]=T0(I,G,b,P)}return V}if(Array.isArray(j)&&B.items)return j.map((V)=>T0(V,B.items,b,P));return j}var F7=x4(),e0=new Set(["https://json-schema.org/draft/2020-12/schema","https://json-schema.org/draft/2019-09/schema"]);function I7(j,q){if(q?.validateSchemaVersion===!0&&!q?.propAliases){if(typeof j==="object"&&j!==null&&"$schema"in j){let I=j.$schema;if(typeof I==="string"&&!e0.has(I))throw Error(`Unsupported JSON Schema version: ${I}. Supported versions: ${[...e0].join(", ")}`)}}let b=W7(q),K=j4(q?.seed??1),P=b.propAliases?C7(j,b.propAliases):j,B=E6(P);J6(P,B);let V=b.formats?x4(b.formats):new Map(F7),w=b.refDepthMin??b.refDepth,U=b.refDepthMax??b.refDepth;if(w!==void 0&&U!==void 0&&w>U)throw Error(`refDepthMin (${w}) cannot be greater than refDepthMax (${U})`);let G={random:K,maxDepth:b.maxDepth??(U?U+20:5),maxDefaultItems:b.maxDefaultItems??3,optionalsProbability:b.optionalsProbability??0.5,depth:0,refRegistry:B,refStack:new Set,formatRegistry:V,minItems:b.minItems,maxItems:b.maxItems,minLength:b.minLength,maxLength:b.maxLength,useDefaultValue:b.useDefaultValue,path:"/",outputPath:"/",alwaysFakeOptionals:b.alwaysFakeOptionals,fixedProbabilities:b.fixedProbabilities,fillProperties:b.fillProperties,extensions:b.extensions,resolveJsonPath:b.resolveJsonPath,autoIncrementCounters:new Map,refDepth:0,refDepthMin:w,refDepthMax:U,useExamplesValue:b.useExamplesValue,filterExampleDefaults:b.filterExampleDefaults??!1,pruneProperties:b.pruneProperties,failOnInvalidTypes:b.failOnInvalidTypes,defaultInvalidTypeProduct:b.defaultInvalidTypeProduct,minDateTime:b.minDateTime,maxDateTime:b.maxDateTime,propAliases:b.propAliases,outputTransform:b.outputTransform};return{schema_:P,normalizedOptions:b,ctx:G}}async function g4(j,q){let{schema_:b,normalizedOptions:K,ctx:P}=I7(j,q);P.refResolver=K.refResolver;let B=await z4(b,P);if(K.resolveJsonPath)return T0(B,j,P,B);return B}function C7(j,q){if(typeof j!=="object"||j===null)return j;let b=j,K=null;for(let[P,B]of Object.entries(q))if(P in b&&!(B in b)){if(!K)K={...b};K[B]=K[P],delete K[P]}return K??j}function W7(j){if(!j)return{};let q=j,b={...j};if(q.requiredOnly===!0&&b.optionalsProbability===void 0)b={...b,optionalsProbability:0,alwaysFakeOptionals:!1};if(q.ignoreProperties&&q.ignoreProperties.length>0)b={...b,outputTransform:L7(b.outputTransform,D7(q.ignoreProperties))};return b}function L7(j,q){if(!j)return q;if(!q)return j;return(b,K,P)=>{let B=j(b,K,P);if(B&&typeof B==="object"&&"then"in B&&typeof B.then==="function")return B.then((V)=>q(V,K,P));return q(B,K,P)}}function D7(j){return(q,b,K)=>{if(K==="/")return q;let P=z7(K.slice(K.lastIndexOf("/")+1));return j.some((B)=>{if(typeof B==="string")return B===P;if(B instanceof RegExp)return B.test(P);return B(b)})?void 0:q}}function z7(j){return j.replace(/~1/g,"/").replace(/~0/g,"~")}import{ResourceLimitError as U0}from"@schmock/core";function $(j){let q=[{value:j,exiting:!1}],b=new Set,K=0;while(q.length>0){let P=q.pop();if(!P)break;let B=P.value;if(P.exiting){if(typeof B==="object"&&B!==null)b.delete(B);continue}if(K+=1,K>i)throw new U0("generated_nodes",i,K);if(typeof B==="string"){if(B.length>H)throw new U0("string_length",H,B.length);continue}if(typeof B!=="object"||B===null||b.has(B))continue;if(b.add(B),q.push({value:B,exiting:!0}),Array.isArray(B)){if(B.length>J)throw new U0("array_size",J,B.length);for(let w=0;w<B.length;w+=1)q.push({value:B[w],exiting:!1});continue}let V=Object.entries(B);if(V.length>d)throw new U0("object_properties",d,V.length);for(let[,w]of V)q.push({value:w,exiting:!1})}}var g7=2147483647,R7=new Set(["$schema","$id","$ref","$defs","$anchor","$dynamicRef","$dynamicAnchor","$vocabulary","$comment","definitions","type","enum","const","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","autoIncrement","initialOffset","minLength","maxLength","pattern","format","contentEncoding","contentMediaType","contentSchema","items","prefixItems","additionalItems","contains","containsAll","minItems","maxItems","uniqueItems","minContains","maxContains","properties","required","additionalProperties","patternProperties","minProperties","maxProperties","propertyNames","dependencies","dependentRequired","dependentSchemas","allOf","anyOf","oneOf","not","if","then","else","default","examples","description","title","readOnly","writeOnly","deprecated","faker","chance","jsonPath","template","example"]);function y0(j,q){let b=new x7({locale:[k7,O7]});if(j!==void 0)b.seed(j);if(q!==void 0)b.setDefaultRefDate(q);return b}function _0(j,q){if(j===null||typeof j!=="object")return j;if(q.has(j))return j;if(j instanceof Date)return new Date(j.getTime());let b=Object.getPrototypeOf(j),K=b===Object.prototype||b===null;if(!Array.isArray(j)&&!K)try{return structuredClone(j)}catch{return j}q.add(j);try{if(Array.isArray(j))return j.map((B)=>_0(B,q));let P={};for(let[B,V]of Object.entries(j))Object.defineProperty(P,B,{value:_0(V,q),writable:!0,enumerable:!0,configurable:!0});return P}finally{q.delete(j)}}function a(j){return _0(j,new Set)}function m(j,q){if(j===null||typeof j!=="object")return j;let b=q.get(j);if(b!==void 0)return b;if(j instanceof Date){let B=new Date(j.getTime());return q.set(j,B),B}if(j instanceof RegExp){let B=new RegExp(j.source,j.flags);return B.lastIndex=j.lastIndex,q.set(j,B),B}if(j instanceof Map){let B=new Map;q.set(j,B);for(let[V,w]of j)B.set(m(V,q),m(w,q));return B}if(j instanceof Set){let B=new Set;q.set(j,B);for(let V of j)B.add(m(V,q));return B}if(j instanceof ArrayBuffer){let B=j.slice(0);return q.set(j,B),B}if(ArrayBuffer.isView(j)){let B=structuredClone(j);return q.set(j,B),B}if(j instanceof URL){let B=new URL(j.href);return q.set(j,B),B}if(Array.isArray(j)){let B=Array(j.length);q.set(j,B);for(let V=0;V<j.length;V+=1)if(Object.hasOwn(j,V))B[V]=m(j[V],q);return B}let K=Object.getPrototypeOf(j);if(K!==Object.prototype&&K!==null)return j;let P=Object.create(K);q.set(j,P);for(let[B,V]of Object.entries(j))Object.defineProperty(P,B,{value:m(V,q),writable:!0,enumerable:!0,configurable:!0});return P}function R4(j){let q=new Map;return j.map((b)=>m(b,q))}function M4(j){return j??Math.floor(Math.random()*g7)}function N4(j){let q=j;return()=>{q+=1831565813;let b=q;return b=Math.imul(b^b>>>15,b|1),b^=b+Math.imul(b^b>>>7,b|61),((b^b>>>14)>>>0)/4294967296}}function u(j,q){return typeof j==="boolean"?j:E0(j,q)}function G0(j,q){if(typeof j==="boolean")return j;return M7(j)?E0(j,q):void 0}function M7(j){return j!==null&&typeof j==="object"&&!Array.isArray(j)}function F0(j,q){return Object.fromEntries(Object.entries(j).map(([b,K])=>[b,u(K,q)]))}function N7(j){return E0(j,new Map)}function E0(j,q){let b=q.get(j);if(b)return b;let K={};q.set(j,K);for(let[U,G]of Object.entries(j))if(R7.has(U))K[U]=G;if(j.properties)K.properties=F0(j.properties,q);if(j.definitions)K.definitions=F0(j.definitions,q);if(j.$defs)K.$defs=F0(j.$defs,q);if(j.patternProperties)K.patternProperties=F0(j.patternProperties,q);if(Array.isArray(j.items))K.prefixItems=j.items.map((U)=>u(U,q)),K.items=j.additionalItems===void 0?!0:u(j.additionalItems,q),delete K.additionalItems;else if(j.items!==void 0){if(K.items=u(j.items,q),j.additionalItems!==void 0)K.additionalItems=u(j.additionalItems,q)}let P=Reflect.get(j,"prefixItems");if(!Array.isArray(j.items)&&Array.isArray(P))K.prefixItems=P.flatMap((U)=>{let G=G0(U,q);return G===void 0?[]:[G]});for(let U of["allOf","anyOf","oneOf"]){let G=j[U];if(G)K[U]=G.map((I)=>u(I,q))}if(j.additionalProperties!==void 0)K.additionalProperties=u(j.additionalProperties,q);for(let U of["contains","not","if","then","else","propertyNames"]){let G=j[U];if(G!==void 0)K[U]=u(G,q)}if(j.dependencies)K.dependencies=Object.fromEntries(Object.entries(j.dependencies).map(([U,G])=>[U,Array.isArray(G)?[...G]:u(G,q)]));let B=G0(Reflect.get(j,"contentSchema"),q);if(B!==void 0)K.contentSchema=B;let V=Reflect.get(j,"dependentSchemas");if(V!==null&&typeof V==="object"&&!Array.isArray(V))K.dependentSchemas=Object.fromEntries(Object.entries(V).flatMap(([U,G])=>{let I=G0(G,q);return I===void 0?[]:[[U,I]]}));let w=Reflect.get(j,"containsAll");if(Array.isArray(w))K.containsAll=w.flatMap((U)=>{let G=G0(U,q);return G===void 0?[]:[G]});return K}async function A4(j,q,b){let K={seed:q,maxDepth:l0,optionalsProbability:1,alwaysFakeOptionals:!0,useDefaultValue:!0,failOnInvalidTypes:!1,formats:{},extensions:{faker:y0(q,b)}},P=await g4(N7(j),K);return $(P),a(P)}var J0=new Set(["__proto__","constructor","prototype"]);function e(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function _4(j,q,b=Math.random){if(q!==void 0&&!Number.isNaN(q)){if(q<0)return 0;return Math.floor(q)}if(j.minItems!==void 0&&j.maxItems!==void 0){let K=j.minItems,P=Math.max(K,j.maxItems);return Math.floor(b()*(P-K+1))+K}if(j.minItems!==void 0)return Math.max(j.minItems,r);if(j.maxItems!==void 0)return Math.min(j.maxItems,r);if(Array.isArray(j.items))return j.items.length;return r}function j0(j,q,b,K,P){if(!q)return j;if(!e(j))return j;let B=structuredClone(j);for(let[V,w]of Object.entries(q)){if(J0.has(V))continue;if(V.includes("."))A7(B,V,w,{params:b,state:K,query:P});else if(e(w))if(e(B[V]))B[V]=j0(B[V],w,b,K,P);else B[V]=j0({},w,b,K,P);else if(typeof w==="string"&&w.includes("{{"))B[V]=y4(w,{params:b,state:K,query:P});else B[V]=a(w)}return B}function A7(j,q,b,K){let P=q.split("."),B=j;for(let w=0;w<P.length-1;w++){let U=P[w];if(J0.has(U))return;let G=B[U];if(e(G))B=G;else{let I={};B[U]=I,B=I}}let V=P[P.length-1];if(J0.has(V))return;if(typeof b==="string"&&b.includes("{{"))B[V]=y4(b,K);else B[V]=a(b)}function T4(j,q){let b=q.trim().split("."),K=j;for(let P of b)if(e(K))K=K[P];else return;return K}function y4(j,q){let b=j.match(/^\{\{\s*([^}]+)\s*\}\}$/);if(b){let K=T4(q,b[1]);return K!==void 0?a(K):j}return j.replace(/\{\{\s*([^}]+)\s*\}\}/g,(K,P)=>{let B=T4(q,P);return B!==void 0?String(B):K})}var T7=[{keywords:["email"],fakerMethod:"internet.email",schemaType:"string",minScore:0.6,format:"email"},{keywords:["username","user_name","login","handle"],fakerMethod:"internet.username",schemaType:"string",minScore:0.6},{keywords:["password","passwd","secret"],fakerMethod:"internet.password",schemaType:"string",minScore:0.6},{keywords:["token","api_key","apikey","access_token","refresh_token"],fakerMethod:"string.alphanumeric",schemaType:"string",minScore:0.8}],_7=[{keywords:["first_name","firstname","given_name","forename"],fakerMethod:"person.firstName",schemaType:"string",minScore:0.6},{keywords:["last_name","lastname","surname","family_name"],fakerMethod:"person.lastName",schemaType:"string",minScore:0.6},{keywords:["full_name","fullname","display_name","displayname","full_name"],fakerMethod:"person.fullName",schemaType:"string",minScore:0.6},{keywords:["name"],fakerMethod:"person.fullName",schemaType:"string",minScore:0.6},{keywords:["middle_name","middlename"],fakerMethod:"person.middleName",schemaType:"string",minScore:0.8},{keywords:["prefix","honorific","salutation"],fakerMethod:"person.prefix",schemaType:"string",minScore:0.8},{keywords:["suffix"],fakerMethod:"person.suffix",schemaType:"string",minScore:0.9},{keywords:["gender","sex"],fakerMethod:"person.sex",schemaType:"string",minScore:0.8},{keywords:["bio","biography"],fakerMethod:"lorem.paragraph",schemaType:"string",minScore:0.8},{keywords:["job_title","jobtitle","position","occupation","job","role"],fakerMethod:"person.jobTitle",schemaType:"string",minScore:0.6},{keywords:["job_area","department","division","team"],fakerMethod:"person.jobArea",schemaType:"string",minScore:0.8},{keywords:["zodiac","zodiac_sign"],fakerMethod:"person.zodiacSign",schemaType:"string",minScore:0.9}],y7=[{keywords:["phone","mobile","cell","tel","telephone","cellphone","fax"],fakerMethod:"phone.number",schemaType:"string",minScore:0.6},{keywords:["imei"],fakerMethod:"phone.imei",schemaType:"string",minScore:0.9}],E7=[{keywords:["street","street_address"],fakerMethod:"location.streetAddress",schemaType:"string",minScore:0.6},{keywords:["address","mailing_address","postal_address"],fakerMethod:"location.streetAddress",schemaType:"string",minScore:0.6},{keywords:["city","town"],fakerMethod:"location.city",schemaType:"string",minScore:0.6},{keywords:["state","province","region"],fakerMethod:"location.state",schemaType:"string",minScore:0.8},{keywords:["country"],fakerMethod:"location.country",schemaType:"string",minScore:0.8},{keywords:["country_code","countrycode"],fakerMethod:"location.countryCode",schemaType:"string",minScore:0.8},{keywords:["county"],fakerMethod:"location.county",schemaType:"string",minScore:0.9},{keywords:["continent"],fakerMethod:"location.continent",schemaType:"string",minScore:0.9},{keywords:["zip","zipcode","zip_code","postal","postal_code"],fakerMethod:"location.zipCode",schemaType:"string",minScore:0.6},{keywords:["latitude","lat"],fakerMethod:"location.latitude",schemaType:"number",minScore:0.6},{keywords:["longitude","lng","lon","long"],fakerMethod:"location.longitude",schemaType:"number",minScore:0.6},{keywords:["timezone","time_zone","tz"],fakerMethod:"location.timeZone",schemaType:"string",minScore:0.8},{keywords:["building_number"],fakerMethod:"location.buildingNumber",schemaType:"string",minScore:0.9}],J7=[{keywords:["url","website","link","href","homepage","webpage"],fakerMethod:"internet.url",schemaType:"string",minScore:0.6},{keywords:["avatar","photo_url","profile_image","image_url","picture","thumbnail","icon"],fakerMethod:"image.avatar",schemaType:"string",minScore:0.6},{keywords:["domain","hostname","domain_name"],fakerMethod:"internet.domainName",schemaType:"string",minScore:0.8},{keywords:["ip","ip_address","ipaddress","ipv4"],fakerMethod:"internet.ipv4",schemaType:"string",minScore:0.8},{keywords:["ipv6"],fakerMethod:"internet.ipv6",schemaType:"string",minScore:0.9},{keywords:["mac","mac_address"],fakerMethod:"internet.mac",schemaType:"string",minScore:0.9},{keywords:["user_agent","useragent"],fakerMethod:"internet.userAgent",schemaType:"string",minScore:0.9},{keywords:["port"],fakerMethod:"internet.port",schemaType:"number",minScore:0.9},{keywords:["protocol"],fakerMethod:"internet.protocol",schemaType:"string",minScore:0.9}],Y7=[{keywords:["uuid","guid"],fakerMethod:"string.uuid",schemaType:"string",minScore:0.6},{keywords:["sku"],fakerMethod:"string.alphanumeric",schemaType:"string",minScore:0.9},{keywords:["slug"],fakerMethod:"lorem.slug",schemaType:"string",minScore:0.8},{keywords:["isbn"],fakerMethod:"commerce.isbn",schemaType:"string",minScore:0.9},{keywords:["vin"],fakerMethod:"vehicle.vin",schemaType:"string",minScore:0.9},{keywords:["iban"],fakerMethod:"finance.iban",schemaType:"string",minScore:0.9},{keywords:["bic","swift"],fakerMethod:"finance.bic",schemaType:"string",minScore:0.9},{keywords:["ssn","social_security"],fakerMethod:"string.numeric",schemaType:"string",minScore:0.9}],S7=[{keywords:["description","desc","summary","overview","about","excerpt"],fakerMethod:"lorem.paragraph",schemaType:"string",minScore:0.6},{keywords:["content","body","text","message"],fakerMethod:"lorem.paragraphs",schemaType:"string",minScore:0.6},{keywords:["title","heading","subject","headline"],fakerMethod:"lorem.sentence",schemaType:"string",minScore:0.6},{keywords:["tag","label","category","keyword"],fakerMethod:"lorem.word",schemaType:"string",minScore:0.8},{keywords:["comment","note","remark","feedback","review"],fakerMethod:"lorem.sentence",schemaType:"string",minScore:0.8},{keywords:["sentence"],fakerMethod:"lorem.sentence",schemaType:"string",minScore:0.9},{keywords:["paragraph"],fakerMethod:"lorem.paragraph",schemaType:"string",minScore:0.9},{keywords:["word"],fakerMethod:"lorem.word",schemaType:"string",minScore:0.9}],Q7=[{keywords:["company","organization","org","employer","brand","operator"],fakerMethod:"company.name",schemaType:"string",minScore:0.6},{keywords:["product","product_name","item_name"],fakerMethod:"commerce.productName",schemaType:"string",minScore:0.8},{keywords:["price","amount","cost","fee","salary","wage","total","subtotal","balance","revenue","income"],fakerMethod:"commerce.price",minScore:0.6},{keywords:["currency","currency_code"],fakerMethod:"finance.currencyCode",schemaType:"string",minScore:0.8},{keywords:["currency_name"],fakerMethod:"finance.currencyName",schemaType:"string",minScore:0.8},{keywords:["currency_symbol"],fakerMethod:"finance.currencySymbol",schemaType:"string",minScore:0.8},{keywords:["account_number","account_no"],fakerMethod:"finance.accountNumber",schemaType:"string",minScore:0.8},{keywords:["credit_card","card_number"],fakerMethod:"finance.creditCardNumber",schemaType:"string",minScore:0.8},{keywords:["cvv"],fakerMethod:"finance.creditCardCVV",schemaType:"string",minScore:0.9},{keywords:["transaction_type"],fakerMethod:"finance.transactionType",schemaType:"string",minScore:0.9}],f7=[{keywords:["created_at","createdat","creation_date","date_created","createddate"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["updated_at","updatedat","modified_at","modifiedat","date_updated","last_modified","date_modified"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["deleted_at","deletedat"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["published_at","publishedat","publish_date"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["expires_at","expiresat","expiration","expiry"],fakerMethod:"date.future",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["birthday","date_of_birth","dob","birthdate","born"],fakerMethod:"date.birthdate",schemaType:"string",minScore:0.8},{keywords:["start_date","begin_date"],fakerMethod:"date.past",schemaType:"string",minScore:0.8},{keywords:["end_date","due_date","deadline"],fakerMethod:"date.future",schemaType:"string",minScore:0.8},{keywords:["timestamp","ts"],fakerMethod:"date.recent",schemaType:"string",minScore:0.8}],H7=[{keywords:["color","colour"],fakerMethod:"color.human",schemaType:"string",minScore:0.8},{keywords:["hex_color","hexcolor"],fakerMethod:"color.rgb",schemaType:"string",minScore:0.9}],v7=[{keywords:["age"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:18,max:80}},{keywords:["rating","score","stars"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:5}},{keywords:["count","quantity","qty"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:100}},{keywords:["percentage","percent"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:0,max:100}},{keywords:["weight"],fakerMethod:"number.float",schemaType:"number",minScore:0.8,fakerArgs:{min:0.1,max:200}},{keywords:["height"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:100,max:220}},{keywords:["width","length","depth"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:1000}},{keywords:["priority","order","rank","level"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:10}},{keywords:["version"],fakerMethod:"system.semver",schemaType:"string",minScore:0.8}],p7=[{keywords:["is_active","isactive","active","enabled","is_enabled"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.9},{keywords:["is_deleted","isdeleted","deleted"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.05},{keywords:["is_archived","isarchived","archived"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.1},{keywords:["is_verified","isverified","verified","confirmed","is_confirmed"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.8},{keywords:["is_admin","isadmin","admin"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.1},{keywords:["is_public","ispublic","public","visible","is_visible"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.7},{keywords:["is_read","isread","read","seen","is_seen"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.6},{keywords:["is_default","isdefault"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.8,trueProbability:0.1},{keywords:["is_required","isrequired","required","mandatory"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.5},{keywords:["is_featured","isfeatured","featured","promoted"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.8,trueProbability:0.15},{keywords:["available","in_stock"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.8,trueProbability:0.85}],X7=[{keywords:["filename","file_name"],fakerMethod:"system.fileName",schemaType:"string",minScore:0.8},{keywords:["file_type","filetype","mime_type","mimetype","content_type"],fakerMethod:"system.mimeType",schemaType:"string",minScore:0.8},{keywords:["file_ext","extension"],fakerMethod:"system.fileExt",schemaType:"string",minScore:0.9},{keywords:["file_path","filepath","path"],fakerMethod:"system.filePath",schemaType:"string",minScore:0.9},{keywords:["cron","cron_expression"],fakerMethod:"system.cron",schemaType:"string",minScore:0.9},{keywords:["semver"],fakerMethod:"system.semver",schemaType:"string",minScore:0.9}],u7=[{keywords:["aircraft_type","airplane","aircraft"],fakerMethod:"airline.aircraftType",schemaType:"string",minScore:0.9},{keywords:["flight_number","flight"],fakerMethod:"airline.flightNumber",schemaType:"string",minScore:0.9},{keywords:["record_locator","booking_ref","pnr"],fakerMethod:"airline.recordLocator",schemaType:"string",minScore:0.9},{keywords:["seat","seat_number"],fakerMethod:"airline.seat",schemaType:"string",minScore:0.9}],l7=[{keywords:["animal","animal_type","species"],fakerMethod:"animal.type",schemaType:"string",minScore:0.9},{keywords:["pet_name"],fakerMethod:"animal.petName",schemaType:"string",minScore:0.9},{keywords:["breed"],fakerMethod:"animal.dog",schemaType:"string",minScore:0.9},{keywords:["bird"],fakerMethod:"animal.bird",schemaType:"string",minScore:0.9},{keywords:["fish"],fakerMethod:"animal.fish",schemaType:"string",minScore:0.9},{keywords:["horse"],fakerMethod:"animal.horse",schemaType:"string",minScore:0.9},{keywords:["insect"],fakerMethod:"animal.insect",schemaType:"string",minScore:0.9}],d7=[{keywords:["book_title"],fakerMethod:"book.title",schemaType:"string",minScore:0.9},{keywords:["author","book_author","writer"],fakerMethod:"book.author",schemaType:"string",minScore:0.9},{keywords:["genre","book_genre"],fakerMethod:"book.genre",schemaType:"string",minScore:0.9},{keywords:["publisher","publishing_house"],fakerMethod:"book.publisher",schemaType:"string",minScore:0.9},{keywords:["book_series","series_name"],fakerMethod:"book.series",schemaType:"string",minScore:0.9}],h7=[{keywords:["dish","meal","recipe_name"],fakerMethod:"food.dish",schemaType:"string",minScore:0.9},{keywords:["ingredient"],fakerMethod:"food.ingredient",schemaType:"string",minScore:0.9},{keywords:["spice"],fakerMethod:"food.spice",schemaType:"string",minScore:0.9},{keywords:["fruit"],fakerMethod:"food.fruit",schemaType:"string",minScore:0.9},{keywords:["vegetable"],fakerMethod:"food.vegetable",schemaType:"string",minScore:0.9},{keywords:["meat"],fakerMethod:"food.meat",schemaType:"string",minScore:0.9},{keywords:["food_description"],fakerMethod:"food.description",schemaType:"string",minScore:0.9},{keywords:["ethnic_category","cuisine"],fakerMethod:"food.ethnicCategory",schemaType:"string",minScore:0.9}],o7=[{keywords:["song","song_name","track","track_name"],fakerMethod:"music.songName",schemaType:"string",minScore:0.9},{keywords:["album","album_name"],fakerMethod:"music.album",schemaType:"string",minScore:0.9},{keywords:["artist","musician","band"],fakerMethod:"music.artist",schemaType:"string",minScore:0.9},{keywords:["music_genre"],fakerMethod:"music.genre",schemaType:"string",minScore:0.9}],r7=[],i7=[{keywords:["vehicle","vehicle_name"],fakerMethod:"vehicle.vehicle",schemaType:"string",minScore:0.9},{keywords:["vehicle_type"],fakerMethod:"vehicle.type",schemaType:"string",minScore:0.9},{keywords:["vehicle_manufacturer","car_make"],fakerMethod:"vehicle.manufacturer",schemaType:"string",minScore:0.9},{keywords:["vehicle_model","car_model"],fakerMethod:"vehicle.model",schemaType:"string",minScore:0.9},{keywords:["fuel","fuel_type"],fakerMethod:"vehicle.fuel",schemaType:"string",minScore:0.9},{keywords:["bicycle"],fakerMethod:"vehicle.bicycle",schemaType:"string",minScore:0.9},{keywords:["vehicle_color","car_color"],fakerMethod:"vehicle.color",schemaType:"string",minScore:0.9}],m7=[{keywords:["branch","branch_name","git_branch"],fakerMethod:"git.branch",schemaType:"string",minScore:0.9},{keywords:["commit_sha","commit_hash","sha"],fakerMethod:"git.commitSha",schemaType:"string",minScore:0.9},{keywords:["commit_message"],fakerMethod:"git.commitMessage",schemaType:"string",minScore:0.9}],Z7=[{keywords:["db_column","column_name"],fakerMethod:"database.column",schemaType:"string",minScore:0.9},{keywords:["db_type","column_type"],fakerMethod:"database.type",schemaType:"string",minScore:0.9},{keywords:["db_engine","database_engine"],fakerMethod:"database.engine",schemaType:"string",minScore:0.9},{keywords:["collation"],fakerMethod:"database.collation",schemaType:"string",minScore:0.9},{keywords:["mongodb_id","object_id"],fakerMethod:"database.mongodbObjectId",schemaType:"string",minScore:0.9}],n7=[{keywords:["abbreviation","tech_abbreviation"],fakerMethod:"hacker.abbreviation",schemaType:"string",minScore:0.9},{keywords:["hacker_phrase","tech_phrase"],fakerMethod:"hacker.phrase",schemaType:"string",minScore:0.9}],c7=[{keywords:["adjective"],fakerMethod:"word.adjective",schemaType:"string",minScore:0.8},{keywords:["adverb"],fakerMethod:"word.adverb",schemaType:"string",minScore:0.8},{keywords:["noun"],fakerMethod:"word.noun",schemaType:"string",minScore:0.8},{keywords:["verb"],fakerMethod:"word.verb",schemaType:"string",minScore:0.8}],E4=[...T7,..._7,...y7,...E7,...J7,...Y7,...S7,...Q7,...f7,...H7,...v7,...p7,...X7,...u7,...l7,...d7,...h7,...o7,...r7,...i7,...m7,...Z7,...n7,...c7];var t7=new Set(["date-time","date","time","duration","email","idn-email","hostname","idn-hostname","ipv4","ipv6","uri","uri-reference","iri","iri-reference","json-pointer","relative-json-pointer","uuid"]);function s7(j){return typeof j==="string"&&t7.has(j)}function Y4(j){let q=j.split(/[_-]/),b=[];for(let K of q){if(!K)continue;let P=K.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z0-9])([A-Z])/g,"$1_$2").split("_");for(let B of P)if(B)b.push(B.toLowerCase())}return b}function $7(j){let q=Y4(j);return{tokens:q,joined:q.join("")}}var J4=new WeakMap;function a7(j){let q=J4.get(j);if(!q)q=j.keywords.map($7),J4.set(j,q);return q}function e7(j,q,b){let K=0;for(let{tokens:P,joined:B}of b){if(q===B)return 1;if(P.length>0&&P.every((V)=>j.includes(V))){let w=P.length/j.length>0.5?0.9:0.65;K=Math.max(K,w)}if(P.length>0&&P.length<=j.length){if(j.slice(-P.length).every((w,U)=>w===P[U]))K=Math.max(K,0.8)}if(B.length>=3&&q.includes(B))K=Math.max(K,0.7)}return K}function S4(j,q,b=E4){let K=typeof q.type==="string"?q.type:void 0;if(K==="string"&&q.format==="uuid")return{mapping:{keywords:["uuid"],fakerMethod:"string.uuid",schemaType:"string",minScore:0.5},score:1};if(q.pattern||q.enum||"faker"in q&&q.faker||q.$ref||s7(q.format)||K==="string"&&(q.minLength!==void 0||q.maxLength!==void 0))return;let P=q.minimum!==void 0||q.maximum!==void 0||q.exclusiveMinimum!==void 0||q.exclusiveMaximum!==void 0||q.multipleOf!==void 0,B=K==="number"||K==="integer",V=Y4(j),w=V.join(""),U;for(let G of b){if(P&&(B||G.schemaType==="number"||G.schemaType==="integer"))continue;if(K==="object"||K==="array")continue;if(G.schemaType&&K&&G.schemaType!==K){if(!(G.schemaType==="number"&&K==="integer"||G.schemaType==="integer"&&K==="number"))continue}let I=e7(V,w,a7(G));if(I>=G.minScore&&(!U||I>U.score))U={mapping:G,score:I}}if(K==="string"){if(V[V.length-1]==="id"&&V.length>1){if(!U||U.score<0.8)U={mapping:{keywords:["id"],fakerMethod:"string.uuid",schemaType:"string",minScore:0.5},score:0.8}}}return U}import{ResourceLimitError as h,SchemaValidationError as E}from"@schmock/core";function j5(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function Q4(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function f4(j,q){let b=[],K=(U,G,I,F,C=!1)=>{if(j5(U))b.push({schema:U,path:G,depthCost:I,frameCost:F,typedContinuation:C})},P=(U)=>j.type===U||Array.isArray(j.type)&&j.type.includes(U);if(Array.isArray(j.items))j.items.forEach((U,G)=>{K(U,`${q}.items[${G}]`,1,0,P("array"))});else K(j.items,`${q}.items`,1,0,P("array"));let B=Reflect.get(j,"prefixItems");if(Array.isArray(B))B.forEach((U,G)=>{K(U,`${q}.prefixItems[${G}]`,1,0,P("array"))});K(j.additionalItems,`${q}.additionalItems`,1,0),K(j.contains,`${q}.contains`,1,0);let V=Reflect.get(j,"containsAll");if(Array.isArray(V))V.forEach((U,G)=>{K(U,`${q}.containsAll[${G}]`,1,0)});for(let[U,G]of[["properties",j.properties],["patternProperties",j.patternProperties]]){if(!G)continue;for(let[I,F]of Object.entries(G))K(F,`${q}.${U}.${I}`,1,0,U==="properties"&&P("object"))}K(j.additionalProperties,`${q}.additionalProperties`,1,0),K(j.propertyNames,`${q}.propertyNames`,1,0);for(let U of["allOf","anyOf","oneOf"])j[U]?.forEach((G,I)=>{K(G,`${q}.${U}[${I}]`,0,1)});for(let U of["not","if","then","else"])K(j[U],`${q}.${U}`,0,1);for(let U of["definitions","$defs"]){let G=Reflect.get(j,U);if(!Q4(G))continue;for(let[I,F]of Object.entries(G))K(F,`${q}.${U}.${I}`,0,1)}if(j.dependencies){for(let[U,G]of Object.entries(j.dependencies))if(!Array.isArray(G))K(G,`${q}.dependencies.${U}`,0,1)}let w=Reflect.get(j,"dependentSchemas");if(Q4(w))for(let[U,G]of Object.entries(w))K(G,`${q}.dependentSchemas.${U}`,0,1);return K(Reflect.get(j,"contentSchema"),`${q}.contentSchema`,0,1),b}var Y0,H4=200;function _(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function b0(j,q){return j.type===q||Array.isArray(j.type)&&j.type.includes(q)}var q0={height:0,nodes:1};function H0(j,q="$",b){if(!j||typeof j!=="object")throw new E(q,"Schema must be a valid JSON Schema object");let K={visited:0,circular:!1,edges:new Map,postOrder:[],resolveRef:K5(j)};if(q5(j,q,K),K.circular)throw new E(q,"Schema contains circular references which are not supported");let P=W5(b),B=w5(j,K,P),V=B.get(j)??q0,{maxDepth:w,maxFrames:U}=G5(j,K,P);if(w>D0)throw new h("schema_nesting_depth",D0,w);if(U>H4)K.composition??={resource:"schema_composition_depth",limit:H4,actual:U};for(let[G,I]of B)x5(G,I.height,K,G===j?P:void 0);for(let G of[K.composition,K.deepArray,K.arraySize,K.objectSize,K.stringLength,K.memory])if(G)throw new h(G.resource,G.limit,G.actual);if(P!==void 0&&W0(j)&&P>J)throw new h("array_size",J,P);if(V.nodes>i)throw new h("generated_nodes",i,V.nodes)}function q5(j,q,b){let K=new Set,P=new Set,B=[{schema:j,path:q,typedChain:!0,exiting:!1}];while(B.length>0){let V=B.pop();if(!V)break;if(V.exiting){K.delete(V.schema),P.add(V.schema),b.postOrder.push(V.schema);continue}if(P.has(V.schema)){if(V.typedChain)X4(V.schema,V.path,!0);continue}if(K.has(V.schema)){b.circular=!0;continue}if(b.visited+=1,b.visited>z0)throw new h("schema_nodes",z0,b.visited);X4(V.schema,V.path,V.typedChain),L5(V.schema,b),D5(V.schema,b),z5(V.schema,b);let w=b5(V.schema,V.path,b.resolveRef);b.edges.set(V.schema,w),K.add(V.schema),B.push({...V,exiting:!0});for(let U=w.length-1;U>=0;U-=1){let G=w[U];if(K.has(G.schema))b.circular=!0;else if(!P.has(G.schema))B.push({schema:G.schema,path:G.path,typedChain:V.typedChain&&G.typedContinuation,exiting:!1})}}}function b5(j,q,b){let K=d4(j,q);for(let P of["$ref","$dynamicRef"]){let B=Reflect.get(j,P);if(typeof B!=="string")continue;let V=b(j,B);if(_(V))K.unshift({schema:V,path:`${q}.${P}`,depthCost:0,frameCost:1,typedContinuation:!1})}return K}function d4(j,q){return f4(j,q)}var v4="schmock://local/root.json";function K5(j){let q=P5(j),b=new Map;return(K,P)=>{let B=b.get(K);if(!B)B=new Map,b.set(K,B);let V=B.get(P);if(V!==void 0)return V===null?void 0:V;let w=q.scopes.get(K)??q.rootScope,U=V5(P,w,q.resources);return B.set(P,U??null),U}}function P5(j){let q=new Map,b=new Map,K={baseUri:v4,resourceRoot:j};q.set(v4,j);let P=[{schema:j,inheritedScope:K,path:"$"}];while(P.length>0){let B=P.pop();if(!B||b.has(B.schema))continue;let V=B5(B.schema,B.inheritedScope,q,B.path);b.set(B.schema,V);for(let w of d4(B.schema,B.path))P.push({schema:w.schema,inheritedScope:V,path:w.path})}return{resources:q,scopes:b,rootScope:b.get(j)??K}}function B5(j,q,b,K){let P=q;if(typeof j.$id==="string"){let B=h4(j.$id,q.baseUri);if(B)if(S0(b,B,j,K),o4(B)===""){let V=f0(B);S0(b,V,j,K),P={baseUri:V,resourceRoot:j}}else P={...q,baseUri:B}}for(let B of["$anchor","$dynamicAnchor"]){let V=Reflect.get(j,B);if(typeof V==="string"&&V.length>0)S0(b,`${f0(P.baseUri)}#${V}`,j,`${K}.${B}`)}return P}function S0(j,q,b,K){let P=j.get(q);if(P!==void 0&&P!==b)throw new E(K,`Duplicate canonical schema identifier: "${q}"`,"Give each embedded resource and anchor a unique canonical identifier");j.set(q,b)}function V5(j,q,b){if(j==="#")return q.resourceRoot;if(j.startsWith("#/"))return p4(q.resourceRoot,j.slice(1));let K=h4(j,q.baseUri);if(!K)return;let P=b.get(K);if(P!==void 0)return P;let B=b.get(f0(K));if(B===void 0)return;let V=o4(K);if(V==="")return B;return V.startsWith("/")?p4(B,V):void 0}function h4(j,q){try{return new URL(j,q).href}catch{return}}function f0(j){let q=new URL(j);return q.hash="",q.href}function o4(j){return new URL(j).hash.slice(1)}function p4(j,q){let b;try{b=decodeURIComponent(q)}catch{return}if(b==="")return j;if(!b.startsWith("/"))return;let K=j;for(let P of b.slice(1).split("/")){let B=P.replace(/~1/g,"/").replace(/~0/g,"~");if(typeof K!=="object"||K===null||!Object.hasOwn(K,B))return;K=Reflect.get(K,B)}return typeof K==="boolean"||_(K)?K:void 0}function w5(j,q,b){let K=new Map;for(let P of q.postOrder)K.set(P,U5(P,K,q.resolveRef,P===j?b:void 0));return K}function U5(j,q,b,K){let P=typeof j.$ref==="string"?j.$ref:Reflect.get(j,"$dynamicRef");if(typeof P==="string")return Q0(b(j,P),q);let B=0,V=1,w=(F)=>{let C=Q0(F,q);return B=Math.max(B,C.height+1),C},U=(F)=>{let C=Q0(F,q);return B=Math.max(B,C.height),C};if(W0(j)){let F=K??v0(j),C=0;if(Array.isArray(j.items)){j.items.forEach((A,D)=>{let L=w(A);if(D<F)C=p(C+L.nodes)});let g=j.additionalItems===void 0?q0:w(j.additionalItems);C=p(C+Math.max(0,F-j.items.length)*g.nodes)}else if(j.items!==void 0)C=p(F*w(j.items).nodes);else C=F;if(j.contains!==void 0)w(j.contains);V=p(V+C)}if(i4(j)){let F=new Set(Object.keys(j.properties??{}));for(let L of Object.values(j.properties??{}))V=p(V+w(L).nodes);let C=q0;for(let L of Object.values(j.patternProperties??{})){let W=w(L);if(V=p(V+W.nodes),W.nodes>C.nodes)C=W}if(j.additionalProperties!==void 0){let L=w(j.additionalProperties);if(L.nodes>C.nodes)C=L}if(j.propertyNames!==void 0)w(j.propertyNames);let g=new Set((j.required??[]).filter((L)=>!F.has(L))).size,A=Math.max(0,(j.minProperties??0)-F.size),D=Math.max(g,A);V=p(V+D*C.nodes)}if(j.allOf)for(let F of j.allOf)V=p(V+Math.max(0,U(F).nodes-1));let G=0;for(let F of["anyOf","oneOf"])for(let C of j[F]??[])G=Math.max(G,U(C).nodes-1);if(V=p(V+Math.max(0,G)),j.if!==void 0)U(j.if);let I=0;for(let F of["then","else"])if(j[F]!==void 0)I=Math.max(I,U(j[F]).nodes-1);if(V=p(V+Math.max(0,I)),j.not!==void 0)U(j.not);return{height:B,nodes:V}}function Q0(j,q){return _(j)?q.get(j)??q0:q0}function G5(j,q,b){let K=new Map([[j,0]]),P=new Map([[j,0]]),B=0,V=0;for(let w=q.postOrder.length-1;w>=0;w-=1){let U=q.postOrder[w],G=K.get(U),I=P.get(U);if(G===void 0||I===void 0)continue;B=Math.max(B,G),V=Math.max(V,I);let F=U===j&&b!==void 0?b:v0(U);if(W0(U)&&G>=Z&&F>=n)q.deepArray??={resource:"deep_nesting_memory_risk",limit:Z*n,actual:G*F};for(let C of q.edges.get(U)??[]){let g=G+C.depthCost,A=I+C.frameCost;if(g>(K.get(C.schema)??-1))K.set(C.schema,g);if(A>(P.get(C.schema)??-1))P.set(C.schema,A)}}return{maxDepth:B,maxFrames:V}}function X4(j,q,b){if(b&&Object.keys(j).length===0)throw new E(q,"Schema cannot be empty");let K=["object","array","string","number","integer","boolean","null"];if(j.type&&typeof j.type==="string"&&!K.includes(j.type))throw new E(q,`Invalid schema type: "${j.type}"`,"Supported types are: object, array, string, number, integer, boolean, null");if(j.properties!==void 0&&(typeof j.properties!=="object"||Array.isArray(j.properties)))throw new E(`${q}.properties`,"Properties must be an object mapping property names to schemas",'Use { "propertyName": { "type": "string" } } format');if(j.type==="array"){if(j.items===null||j.items===void 0)throw new E(`${q}.items`,"Array schema must have valid items definition","Define items as a schema object or array of schemas");if(Array.isArray(j.items)&&j.items.length===0)throw new E(`${q}.items`,"Array items cannot be empty array","Provide at least one item schema")}if("faker"in j&&j.faker!==void 0)try{F5(j.faker)}catch(P){if(P instanceof E){let B=P.context,V="Invalid faker method",w;if(B&&typeof B==="object"){if("issue"in B&&typeof B.issue==="string")V=B.issue;if("suggestion"in B&&typeof B.suggestion==="string")w=B.suggestion}throw new E(`${q}.faker`,V,w)}if(P instanceof Error)throw P;throw Error(String(P))}}function F5(j){if(typeof j==="string"){C0(j);return}if(typeof j!=="object"||j===null||Array.isArray(j))throw new E("$.faker","Faker must be a method string or an object with exactly one own method key",'Use "person.fullName" or { "number.int": [{ "min": 1, "max": 2 }] }');let q=Reflect.ownKeys(j),b=Object.keys(j);if(q.length!==1||b.length!==1||typeof q[0]!=="string"||q[0]!==b[0])throw new E("$.faker","Object-form faker must contain exactly one own method key",'Use { "number.int": [{ "min": 1, "max": 2 }] }');let K=b[0],P=Object.getOwnPropertyDescriptor(j,K);if(!P||!("value"in P)||!Array.isArray(P.value))throw new E("$.faker",`Arguments for faker method "${K}" must be an array`,'Wrap options in an array, for example [{ "min": 1, "max": 2 }]');C0(K),C5(K,P.value)}var T={resource:"string_length",limit:H},I0={resource:"array_size",limit:J},I5={"string.fromCharacters":[{argumentIndex:1,direct:!0,...T}],"string.alpha":[{argumentIndex:0,direct:!0,property:"length",...T}],"string.alphanumeric":[{argumentIndex:0,direct:!0,property:"length",...T}],"string.binary":[{argumentIndex:0,direct:!1,property:"length",...T}],"string.octal":[{argumentIndex:0,direct:!1,property:"length",...T}],"string.hexadecimal":[{argumentIndex:0,direct:!1,property:"length",...T}],"string.numeric":[{argumentIndex:0,direct:!0,property:"length",...T}],"string.sample":[{argumentIndex:0,direct:!0,...T}],"string.nanoid":[{argumentIndex:0,direct:!0,...T}],"string.symbol":[{argumentIndex:0,direct:!0,...T}],"word.sample":[{argumentIndex:0,direct:!0,property:"length",...T}],"word.words":[{argumentIndex:0,direct:!0,property:"count",...T}],"lorem.word":[{argumentIndex:0,direct:!0,property:"length",...T}],"lorem.words":[{argumentIndex:0,direct:!0,...T}],"lorem.sentence":[{argumentIndex:0,direct:!0,...T}],"lorem.sentences":[{argumentIndex:0,direct:!0,...T}],"lorem.slug":[{argumentIndex:0,direct:!0,...T}],"lorem.lines":[{argumentIndex:0,direct:!0,...T}],"lorem.paragraph":[{argumentIndex:0,direct:!0,...T}],"lorem.paragraphs":[{argumentIndex:0,direct:!0,...T}],"lorem.text":[{argumentIndex:0,direct:!0,...T}],"internet.password":[{argumentIndex:0,direct:!1,property:"length",...T}],"helpers.uniqueArray":[{argumentIndex:1,direct:!0,...I0}],"helpers.arrayElements":[{argumentIndex:1,direct:!0,...I0}],"helpers.multiple":[{argumentIndex:1,direct:!1,property:"count",...I0}],"date.betweens":[{argumentIndex:0,direct:!1,property:"count",...I0}]};function C5(j,q){for(let P of I5[j]??[]){let B=q[P.argumentIndex],V=P.direct?u4(B):0;if(P.property&&r4(B))V=Math.max(V,u4(Reflect.get(B,P.property)));if(V>P.limit)throw new h(P.resource,P.limit,V)}let b=[...q],K=new Set;while(b.length>0){let P=b.pop();if(typeof P==="string"&&P.length>H)throw new h("string_length",H,P.length);if(typeof P!=="object"||P===null||K.has(P))continue;if(K.add(P),Array.isArray(P)){for(let B of P)b.push(B);continue}for(let B of Object.values(P))b.push(B)}}function r4(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function u4(j){if(typeof j==="number")return j;if(!r4(j))return 0;let q=0;for(let b of["min","max"]){let K=Reflect.get(j,b);if(typeof K==="number")q=Math.max(q,K)}return q}function W0(j){return b0(j,"array")||j.items!==void 0||j.minItems!==void 0||j.maxItems!==void 0}function v0(j){let{minItems:q,maxItems:b}=j;if(q!==void 0&&b!==void 0)return Math.max(q,b);if(b!==void 0)return b;if(q!==void 0)return q;return r}function W5(j){if(j===void 0||Number.isNaN(j))return;return Math.floor(Math.max(0,j))}function L5(j,q){let b=Math.max(j.minItems??0,j.maxItems??0);if(b>J)q.arraySize??={resource:"array_max_items",limit:J,actual:b}}function D5(j,q){if(!i4(j))return;let b=new Set(Object.keys(j.properties??{})),K=new Set((j.required??[]).filter((B)=>!b.has(B))).size,P=Math.max(j.minProperties??0,b.size+K);if(P>d)q.objectSize??={resource:"object_properties",limit:d,actual:P}}function z5(j,q){if(O5(j)){for(let b of[j.minLength,j.maxLength])if(b!==void 0)l4(b,q)}for(let b of[j.const,j.default,j.enum,Reflect.get(j,"template")])l4(k5(b),q)}function O5(j){if(j.type!==void 0)return b0(j,"string");if(j.const!==void 0)return typeof j.const==="string";if(j.enum!==void 0)return j.enum.some((q)=>typeof q==="string");if(j.default!==void 0)return typeof j.default==="string";return!0}function l4(j,q){if(j>H&&(!q.stringLength||j>q.stringLength.actual))q.stringLength={resource:"string_length",limit:H,actual:j}}function k5(j){let q=[j],b=new Set,K=0;while(q.length>0){let P=q.pop();if(typeof P==="string"){K=Math.max(K,P.length);continue}if(typeof P!=="object"||P===null||b.has(P))continue;b.add(P),q.push(...Object.values(P))}return K}function i4(j){if(j.type!==void 0)return b0(j,"object");return j.properties!==void 0||j.required!==void 0||j.additionalProperties!==void 0||j.patternProperties!==void 0||j.minProperties!==void 0||j.maxProperties!==void 0}function x5(j,q,b,K){if(!W0(j))return;let P=K??v0(j);if(q>Z&&P>n)b.memory??={resource:"memory_estimation",limit:Z*n,actual:q*P}}function p(j){return Math.min(j,Number.MAX_SAFE_INTEGER)}function C0(j){let q=j.split(".");if(q.length<2)throw new E("$.faker",`Invalid faker method format: "${j}"`,"Use format like 'person.firstName' or 'internet.email'");if(!Y0)Y0=y0();let K=Y0;for(let P of q)if(K&&typeof K==="object"&&P in K)K=Reflect.get(K,P);else throw new E("$.faker",`Invalid faker method: "${j}"`,"Check faker.js documentation for valid methods");if(typeof K!=="function")throw new E("$.faker",`Invalid faker method: "${j}" is not a function`,"Check faker.js documentation for valid methods")}function m4(j){return j.type==="string"&&j.faker===void 0&&j.format===void 0&&j.pattern===void 0&&j.enum===void 0&&j.const===void 0&&j.$ref===void 0&&j.minLength===void 0&&j.maxLength===void 0}function g5(j){if(j.schmockNullable!==!0)return j;if(Array.isArray(j.anyOf)&&j.anyOf.length===2){let[q,b]=j.anyOf;if(_(q)&&q.type==="null"&&Object.keys(q).length===1&&_(b)){let{anyOf:K,...P}=j;return{...b,...P,schmockNullable:!0}}}if(Array.isArray(j.type)){let q=j.type.filter((b)=>b!=="null");if(q.length===1)j.type=q[0];else if(q.length>0)j.type=q}if(Array.isArray(j.enum)){let q=j.enum.filter((b)=>b!==null);if(q.length>0)j.enum=q}return j}var Q=Symbol("root-schema");function Z4(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function n4(j){if(!j||typeof j!=="object")return j;return X(j,{cache:new Map},Q)}function X(j,q,b){let K=q.cache.get(j);if(!K)K=new Map,q.cache.set(j,K);let P=K.get(b);if(P)return P;let B=g5({...j});if(K.set(b,B),b!==Q&&B.faker){if(typeof B.faker==="string")C0(B.faker);return B}if(B.properties){let G={...B.properties};for(let[I,F]of Object.entries(G))if(_(F))G[I]=X(F,q,I);B.properties=G}for(let G of["definitions","$defs","patternProperties"]){let I=Reflect.get(B,G);if(!Z4(I))continue;let F={...I};for(let[C,g]of Object.entries(F))if(_(g))F[C]=X(g,q,Q);Reflect.set(B,G,F)}if(B.dependencies){let G={...B.dependencies};for(let[I,F]of Object.entries(G))if(!Array.isArray(F)&&_(F))G[I]=X(F,q,Q);B.dependencies=G}let V=Reflect.get(B,"dependentSchemas");if(Z4(V)){let G={...V};for(let[I,F]of Object.entries(G))if(_(F))G[I]=X(F,q,Q);Reflect.set(B,"dependentSchemas",G)}if(Array.isArray(B.items))B.items=B.items.map((G)=>_(G)?X(G,q,Q):G);else if(_(B.items))B.items=X(B.items,q,Q);for(let G of["allOf","anyOf","oneOf"]){let I=B[G];if(I)B[G]=I.map((F)=>_(F)?X(F,q,Q):F)}for(let G of["prefixItems","containsAll"]){let I=Reflect.get(B,G);if(Array.isArray(I))Reflect.set(B,G,I.map((F)=>_(F)?X(F,q,Q):F))}for(let G of["additionalItems","contains","additionalProperties","propertyNames","not","if","then","else","contentSchema"]){let I=Reflect.get(B,G);if(_(I))Reflect.set(B,G,X(I,q,Q))}if(b===Q){if(m4(B))B.faker="lorem.word";return B}if(B.allOf||B.anyOf||B.oneOf||B.const!==void 0||B.enum)return B;let U=S4(b,B);if(U){let{fakerMethod:G,format:I,trueProbability:F,fakerArgs:C}=U.mapping;if(B.faker=C?{[G]:[C]}:G,I&&B.format===void 0)B.format=I;if(F!==void 0)B.schmockTrueProbability=F}else if(m4(B))B.faker="lorem.word";return B}function t4(j){return typeof j==="object"&&j!==null&&!Array.isArray(j)}function K9(j){let[q,b]=R4([j.schema,j.overrides]);if(!_(q))throw new p0("$","Schema must be a valid JSON Schema object");if(b!==void 0&&!t4(b))throw new p0("$.overrides","Overrides must be an object mapping paths to values");let K=q,P=b,B=j.count,V=j.seed;return H0(K,"$",B),{name:"faker",version:u0,async process(w,U){if(U!==void 0&&U!==null)return{context:w,response:U};try{let G=await M5({schema:K,count:B,overrides:P,params:w.params,state:w.routeState,query:w.query,seed:V});return{context:w,response:G}}catch(G){if(G instanceof p0||G instanceof c4)throw G;throw new R5(w.path,G instanceof Error?G:Error(String(G)),K)}}}}async function M5(j){let{schema:q,count:b,overrides:K,params:P,state:B,query:V,seed:w}=j;H0(q,"$",b);let U=M4(w),G=N4(U),I=n4(q);if(b0(q,"array")&&q.items){let C=_4(q,b,G);if(C>J)throw new c4("array_size",J,C);I={...I,minItems:C,maxItems:C}}let F=await A4(I,U,w!==void 0?O0:void 0);if(F=L0(F,I,G),Array.isArray(F)){let C=F.map((g)=>j0(g,K,P,B,V));return $(C),C}return F=j0(F,K,P,B,V),$(F),F}function L0(j,q,b){if(j===null||j===void 0||!q||typeof q!=="object")return j;if("schmockNullable"in q&&q.schmockNullable===!0){if(b()<d0)return null}if(q.type==="boolean"&&"schmockTrueProbability"in q&&typeof q.schmockTrueProbability==="number")return b()<q.schmockTrueProbability;if(t4(j)&&q.properties){for(let[K,P]of Object.entries(q.properties))if(K in j&&_(P))j[K]=L0(j[K],P,b)}if(Array.isArray(j)&&Array.isArray(q.items))for(let K=0;K<j.length;K++){let P=q.items[K];if(P&&_(P))j[K]=L0(j[K],P,b)}else if(Array.isArray(j)&&q.items&&_(q.items))for(let K=0;K<j.length;K++)j[K]=L0(j[K],q.items,b);return j}export{M5 as generateFromSchema,K9 as fakerPlugin,H as MAX_STRING_LENGTH,d as MAX_OBJECT_PROPERTIES};
|
|
1
|
+
import{ResourceLimitError as S4,SchemaGenerationError as c7,SchemaValidationError as s0}from"@schmock/core";var a0="2.5.0";var E=1e4,r=3,P0=15,e0=20,B0=50000,i=1e6,o=1e4,g=65536,c=16777216,T0="2024-01-01T00:00:00.000Z",q6=0.05;import{base as t9,en as a9,Faker as e9}from"@faker-js/faker";function v4(q){let j=q|0;return()=>{j=j+1831565813|0;let K=Math.imul(j^j>>>15,1|j);return K=K+Math.imul(K^K>>>7,61|K)^K,((K^K>>>14)>>>0)/4294967296}}function I6(q){let j=v4(q),K=0,z={next(){return K++,j()},int(b,P){return b+Math.floor(z.next()*(P-b+1))},bool(b=0.5){return z.next()<b},pick(b){return b[z.int(0,b.length-1)]},shuffle(b){let P=[...b];for(let B=P.length-1;B>0;B--){let F=z.int(0,B);[P[B],P[F]]=[P[F],P[B]]}return P},fork(){let b=Math.floor(z.next()*4294967296);return I6(b)}};return z}function f4(q){return null}function E4(q){return q.random.bool()}function C6(q,j,K=!1){let z=-1000,b=1000,P=!1,B=!1;if(q.minimum!==void 0)z=q.minimum;if(q.maximum!==void 0)b=q.maximum;if(q.exclusiveMinimum!==void 0)z=q.exclusiveMinimum,P=!0;if(q.exclusiveMaximum!==void 0)b=q.exclusiveMaximum,B=!0;if(q.multipleOf!==void 0)return x4(q.multipleOf,z,b,P,B,j);if(K){let W=P?Math.floor(z)+1:Math.ceil(z),V=B?Math.ceil(b)-1:Math.floor(b);return j.random.int(W,V)}let F=P?z+Number.EPSILON:z,G=B?b-Number.EPSILON:b;return F+j.random.next()*(G-F)}function x4(q,j,K,z,b,P){let B=Math.ceil(j/q),F=Math.floor(K/q);if(z&&B*q===j)B++;if(b&&F*q===K)F--;if(B>F)return B*q;return P.random.int(B,F)*q}function X4(q,j){if(q.autoIncrement){let K=q.initialOffset??1,z=u4(j.path),b=j.autoIncrementCounters??new Map,P=(b.get(z)??K-1)+1;if(b.set(z,P),j.autoIncrementCounters)j.autoIncrementCounters.set(z,P);return P}return C6(q,j,!0)}function u4(q){let j=new Set(["items","prefixItems","contains","additionalItems"]),K=q.split("/").filter((z)=>z!=="");return K.filter((z,b)=>{let P=K[b-1];return!(/^\d+$/.test(z)&&P!==void 0&&j.has(P))}).join("/")}function j6(q,j){let K=O6(q,0);return q0(K.node,j)}function q0(q,j){switch(q.type){case"literal":return q.value;case"dot":return j.pick([..."abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#%&*()-_=+[]{}|;:',.<>/? "]);case"anchor":return"";case"charClass":return p4(q,j);case"sequence":return q.nodes.map((K)=>q0(K,j)).join("");case"alternation":return q0(j.pick(q.branches),j);case"quantifier":{let K=j.int(q.min,Math.min(q.max,q.min+5));return Array.from({length:K},()=>q0(q.node,j)).join("")}case"group":return q0(q.node,j)}}function p4(q,j){if(!q.negated)return j.pick(q.chars);let K=new Set(q.chars),z=[..."abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#%&*()-_=+[]{}|;:',.<>/? "].filter((b)=>!K.has(b));return z.length>0?j.pick(z):"a"}function O6(q,j){let K=[],z=[];while(j<q.length){let b=q[j];if(b===")")break;if(b==="|"){K.push(K6(z)),z=[],j++;continue}if(b==="("){let F=j+1;if(q[F]==="?")if(q[F+1]===":")F+=2;else if(q[F+1]==="="||q[F+1]==="!"){let L=1,O=F;while(O<q.length&&L>0){if(O++,q[O]==="(")L++;if(q[O]===")")L--}j=O+1;continue}else{F+=2;while(F<q.length&&q[F]!==">")F++;F++}let G=O6(q,F),W={type:"group",node:G.node};j=G.pos+1;let V=e(q,j,W);z.push(V.node),j=V.pos;continue}if(b==="["){let F=d4(q,j),G=e(q,F.pos,F.node);z.push(G.node),j=G.pos;continue}if(b==="."){let F={type:"dot"};j++;let G=e(q,j,F);z.push(G.node),j=G.pos;continue}if(b==="^"||b==="$"){z.push({type:"anchor"}),j++;continue}if(b==="\\"){j++;let F=l4(q,j);j=F.pos;let G=e(q,j,F.node);z.push(G.node),j=G.pos;continue}let P={type:"literal",value:b};j++;let B=e(q,j,P);z.push(B.node),j=B.pos}return K.push(K6(z)),{node:K.length===1?K[0]:{type:"alternation",branches:K},pos:j}}function K6(q){if(q.length===0)return{type:"literal",value:""};if(q.length===1)return q[0];return{type:"sequence",nodes:q}}function l4(q,j){let K=q[j];switch(j++,K){case"d":return{node:{type:"charClass",chars:[..."0123456789"],negated:!1},pos:j};case"D":return{node:{type:"charClass",chars:[..."0123456789"],negated:!0},pos:j};case"w":return{node:{type:"charClass",chars:[..."abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"],negated:!1},pos:j};case"W":return{node:{type:"charClass",chars:[..."abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"],negated:!0},pos:j};case"s":return{node:{type:"charClass",chars:[...`
|
|
2
|
+
`],negated:!1},pos:j};case"S":return{node:{type:"charClass",chars:[...`
|
|
3
|
+
`],negated:!0},pos:j};case"b":case"B":return{node:{type:"anchor"},pos:j};default:return{node:{type:"literal",value:K},pos:j}}}function d4(q,j){j++;let K=!1;if(q[j]==="^")K=!0,j++;let z=[];while(j<q.length&&q[j]!=="]"){if(q[j]==="\\"&&j+1<q.length){j++;let b=q[j];switch(b){case"d":z.push(..."0123456789");break;case"w":z.push(..."abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_");break;case"s":z.push(...`
|
|
4
|
+
`);break;default:z.push(b)}j++;continue}if(j+2<q.length&&q[j+1]==="-"&&q[j+2]!=="]"){let b=q.charCodeAt(j),P=q.charCodeAt(j+2);for(let B=b;B<=P;B++)z.push(String.fromCharCode(B));j+=3;continue}z.push(q[j]),j++}return j++,{node:{type:"charClass",chars:z,negated:K},pos:j}}function e(q,j,K){if(j>=q.length)return{node:K,pos:j};let z=q[j],b,P;switch(z){case"*":b=0,P=5,j++;break;case"+":b=1,P=5,j++;break;case"?":b=0,P=1,j++;break;case"{":{let B=Z4(q,j);if(B)b=B.min,P=B.max,j=B.pos;else return{node:K,pos:j};break}default:return{node:K,pos:j}}if(j<q.length&&(q[j]==="?"||q[j]==="+"))j++;return{node:{type:"quantifier",node:K,min:b,max:P},pos:j}}function Z4(q,j){let K=q.slice(j).match(/^\{(\d+)(?:,(\d*))?\}/);if(!K)return null;let z=parseInt(K[1],10),b;if(K[2]===void 0)b=z;else if(K[2]==="")b=z+5;else b=parseInt(K[2],10);return{min:z,max:b,pos:j+K[0].length}}function l(q){return q<10?`0${q}`:`${q}`}function h4(q,j){return new Date(q,j,0).getDate()}var L6="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";function m4(q){if(q==="^"||q==="$"||q==="^$")return!1;return!0}function i4(q,j){if(q.format){if(q.format==="date-time"&&(j.minDateTime!==void 0||j.maxDateTime!==void 0))return o4(j);let B=j.formatRegistry.get(q.format);if(B){let F=B(j.random),G=j.minLength??q.minLength,W=j.maxLength??q.maxLength;if(G!==void 0&&F.length<G)return Y0(F,G,j);if(W!==void 0&&F.length>W)return F.slice(0,W);return F}}if(q.pattern){let B=j.minLength??q.minLength,F=j.maxLength??q.maxLength,G=50;for(let L=0;L<50;L++){let O=j6(q.pattern,j.random);if(B!==void 0&&O.length<B)continue;if(F!==void 0&&O.length>F)continue;return O}let W=j6(q.pattern,j.random),V=m4(q.pattern);if(B!==void 0&&W.length<B){if(V)return Y0(W,B,j)}if(F!==void 0&&W.length>F)return W.slice(0,F);return W}let K=q.minLength??0,z=q.maxLength??Math.max(K+10,10),b=j.random.int(K,z),P="";for(let B=0;B<b;B++)P+=j.random.pick([...L6]);if(j.maxLength!==void 0&&P.length>j.maxLength)P=P.slice(0,j.maxLength);if(j.minLength!==void 0&&P.length<j.minLength)P=Y0(P,j.minLength,j);return P}function Y0(q,j,K){while(q.length<j)q+=K.random.pick([...L6]);return q}function o4(q){let j=q.minDateTime?new Date(q.minDateTime):new Date("1970-01-01"),K=q.maxDateTime?new Date(q.maxDateTime):new Date,z=j.getTime(),b=K.getTime(),P=z+q.random.next()*(b-z),B=new Date(P),F=B.getFullYear(),G=l(B.getMonth()+1),W=l(B.getDate());return`${F}-${G}-${W}T01:01:01.0Z`}function z6(q,j){if(q.const!==void 0)return structuredClone(q.const);if(q.enum!==void 0&&q.enum.length>0){let K=q.enum;if(q.minimum!==void 0||q.maximum!==void 0||q.exclusiveMinimum!==void 0||q.exclusiveMaximum!==void 0||q.multipleOf!==void 0){let b=q.exclusiveMinimum??q.minimum??-1/0,P=q.exclusiveMaximum??q.maximum??1/0,B=q.exclusiveMinimum!==void 0,F=q.exclusiveMaximum!==void 0;K=K.filter((G)=>{if(typeof G!=="number")return!0;let W=B?G>b:G>=b,V=F?G<P:G<=P;if(!W||!V)return!1;if(q.multipleOf!==void 0){let L=q.multipleOf,O=L.toString().includes(".")?L.toString().split(".")[1].length:0,J=Math.pow(10,O),A=Math.round(G*J),w=Math.round(L*J);if(A%w!==0)return!1}return!0})}if(q.minLength!==void 0||q.maxLength!==void 0){let b=q.minLength??0,P=q.maxLength??1/0;K=K.filter((B)=>{if(typeof B!=="string")return!0;return B.length>=b&&B.length<=P})}if(q.minItems!==void 0||q.maxItems!==void 0){let b=q.minItems??0,P=q.maxItems??1/0;K=K.filter((B)=>{if(!Array.isArray(B))return!0;return B.length>=b&&B.length<=P})}if(q.minProperties!==void 0||q.maxProperties!==void 0){let b=q.minProperties??0,P=q.maxProperties??1/0;K=K.filter((B)=>{if(typeof B!=="object"||B===null||Array.isArray(B))return!0;return Object.keys(B).length>=b&&Object.keys(B).length<=P})}if(K.length===0){let b=[];if(q.minLength!==void 0)b.push(`minLength: ${q.minLength}`);if(q.maxLength!==void 0)b.push(`maxLength: ${q.maxLength}`);if(q.minItems!==void 0)b.push(`minItems: ${q.minItems}`);if(q.maxItems!==void 0)b.push(`maxItems: ${q.maxItems}`);if(q.minProperties!==void 0)b.push(`minProperties: ${q.minProperties}`);if(q.maxProperties!==void 0)b.push(`maxProperties: ${q.maxProperties}`);if(q.minimum!==void 0)b.push(`minimum: ${q.minimum}`);if(q.maximum!==void 0)b.push(`maximum: ${q.maximum}`);if(q.exclusiveMinimum!==void 0)b.push(`exclusiveMinimum: ${q.exclusiveMinimum}`);if(q.exclusiveMaximum!==void 0)b.push(`exclusiveMaximum: ${q.exclusiveMaximum}`);if(q.multipleOf!==void 0)b.push(`multipleOf: ${q.multipleOf}`);throw Error(`enum values conflict with constraints [${b.join(", ")}] at ${j.path}`)}let z=j.random.pick(K);return typeof z==="object"&&z!==null?structuredClone(z):z}throw Error(`generateEnumConst called without enum or const at ${j.path}`)}function w0(q){return typeof q==="object"&&q!==null&&"then"in q&&typeof q.then==="function"}var R6=Symbol("walkCall");function T(q,j){return{[R6]:!0,schema:q,ctx:j}}function k6(q){return typeof q==="object"&&q!==null&&R6 in q}function G0(q,j){q.push({gen:j,sent:void 0,hasThrown:!1,threw:void 0})}function J6(q){let j=q[q.length-1],K;try{K=j.hasThrown?j.gen.throw(j.threw):j.gen.next(j.sent)}catch(z){if(q.pop(),q.length===0)throw z;let b=q[q.length-1];b.hasThrown=!0,b.threw=z;return}return j.hasThrown=!1,K}async function $4(q,j){let K=[];G0(K,q);for(;;){let z=J6(K);if(z===void 0)continue;if(z.done){if(K.pop(),K.length===0)return z.value;K[K.length-1].sent=z.value;continue}if(k6(z.value)){G0(K,j(z.value.schema,z.value.ctx));continue}let b=K[K.length-1];try{b.sent=await z.value}catch(P){b.hasThrown=!0,b.threw=P}}}function n4(q,j){let K=[];G0(K,q);for(;;){let z=J6(K);if(z===void 0)continue;if(z.done){if(K.pop(),K.length===0)return z.value;K[K.length-1].sent=z.value;continue}if(k6(z.value)){G0(K,j(z.value.schema,z.value.ctx));continue}if(w0(z.value))throw Error("generateSync() encountered an unexpected asynchronous operation.");K[K.length-1].sent=z.value}}function p(q){let j={};for(let K of q){if(typeof K==="boolean"){if(!K)return{not:{}};continue}T6(j,K)}return j}function M6(q,j){if(typeof q==="boolean"||typeof j==="boolean")return{};if(typeof q!=="object"||q===null)return typeof j==="object"&&j!==null?j:{};if(typeof j!=="object"||j===null)return q;let K={...q};return T6(K,j),K}function T6(q,j){if(j.type!==void 0)if(q.type===void 0)q.type=j.type;else q.type=r4(q.type,j.type);if(j.minimum!==void 0)q.minimum=q.minimum!==void 0?Math.max(q.minimum,j.minimum):j.minimum;if(j.maximum!==void 0)q.maximum=q.maximum!==void 0?Math.min(q.maximum,j.maximum):j.maximum;if(j.exclusiveMinimum!==void 0)q.exclusiveMinimum=q.exclusiveMinimum!==void 0?Math.max(q.exclusiveMinimum,j.exclusiveMinimum):j.exclusiveMinimum;if(j.exclusiveMaximum!==void 0)q.exclusiveMaximum=q.exclusiveMaximum!==void 0?Math.min(q.exclusiveMaximum,j.exclusiveMaximum):j.exclusiveMaximum;if(j.multipleOf!==void 0)q.multipleOf=j.multipleOf;if(j.minLength!==void 0)q.minLength=q.minLength!==void 0?Math.max(q.minLength,j.minLength):j.minLength;if(j.maxLength!==void 0)q.maxLength=q.maxLength!==void 0?Math.min(q.maxLength,j.maxLength):j.maxLength;if(j.pattern!==void 0)q.pattern=j.pattern;if(j.format!==void 0)q.format=j.format;if(j.minItems!==void 0)q.minItems=q.minItems!==void 0?Math.max(q.minItems,j.minItems):j.minItems;if(j.maxItems!==void 0)q.maxItems=q.maxItems!==void 0?Math.min(q.maxItems,j.maxItems):j.maxItems;if(j.uniqueItems)q.uniqueItems=!0;if(j.items!==void 0)q.items=j.items;if(j.prefixItems!==void 0)if(q.prefixItems===void 0)q.prefixItems=j.prefixItems;else{let K=[],z=Math.max(q.prefixItems.length,j.prefixItems.length);for(let b=0;b<z;b++){let P=q.prefixItems[b],B=j.prefixItems[b];if(P!==void 0&&B!==void 0)K.push(M6(P,B));else if(P!==void 0)K.push(P);else if(B!==void 0)K.push(B)}q.prefixItems=K}if(j.contains!==void 0)if(q.containsAll!==void 0)q.containsAll=[...q.containsAll,j.contains];else if(q.contains!==void 0)q.containsAll=[q.contains,j.contains],delete q.contains;else q.contains=j.contains;if(j.properties)q.properties=c4(q.properties??{},j.properties);if(j.required)q.required=[...new Set([...q.required??[],...j.required])];if(j.additionalProperties!==void 0)q.additionalProperties=j.additionalProperties;if(j.patternProperties)q.patternProperties={...q.patternProperties??{},...j.patternProperties};if(j.minProperties!==void 0)q.minProperties=q.minProperties!==void 0?Math.max(q.minProperties,j.minProperties):j.minProperties;if(j.maxProperties!==void 0)q.maxProperties=q.maxProperties!==void 0?Math.min(q.maxProperties,j.maxProperties):j.maxProperties;if(j.const!==void 0)q.const=j.const;if(j.enum!==void 0)if(q.enum!==void 0){let K=new Set(j.enum.map((z)=>JSON.stringify(z)));q.enum=q.enum.filter((z)=>K.has(JSON.stringify(z)))}else q.enum=j.enum;if(j.$ref)q.$ref=j.$ref;if(j.$defs)q.$defs={...q.$defs??{},...j.$defs};if(j.allOf)q.allOf=[...q.allOf??[],...j.allOf];if(j.anyOf)q.anyOf=j.anyOf;if(j.oneOf)q.oneOf=j.oneOf}function r4(q,j){let K=Array.isArray(q)?q:[q],z=Array.isArray(j)?j:[j],b=K.filter((P)=>z.includes(P));if(b.length===0)return K[0];if(b.length===1)return b[0];return b}function c4(q,j){let K={...q};for(let[z,b]of Object.entries(j)){let P=q[z];if(P===void 0)K[z]=b;else if(typeof P==="object"&&typeof b==="object")K[z]=M6(P,b);else K[z]=b}return K}var D0=new Set(["$schema","$id","$ref","$defs","$anchor","$dynamicRef","$dynamicAnchor","$vocabulary","$comment","type","enum","const","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","format","contentEncoding","contentMediaType","contentSchema","items","prefixItems","contains","minItems","maxItems","uniqueItems","minContains","maxContains","properties","required","additionalProperties","patternProperties","minProperties","maxProperties","propertyNames","dependentRequired","dependentSchemas","allOf","anyOf","oneOf","not","if","then","else","faker","chance","jsonPath","template","default","examples","description","title","readOnly","writeOnly","deprecated"]);function Y6(q){if(typeof q!=="object"||q===null)return!1;return Object.keys(q).some((j)=>D0.has(j))}function N0(q){if(q.properties)return q.properties;if(q.type==="object"||q.type===void 0){let j={},K=!1;for(let[z,b]of Object.entries(q)){if(D0.has(z))continue;if(Y6(b))j[z]=b,K=!0;else j[z]={const:b},K=!0}if(K)return j}return{}}function y6(q,j){if(q.required)return q.required;if(q.properties===void 0&&Object.keys(j).length>0)return Object.keys(j);return[]}function A6(q,j){let K=q.alwaysFakeOptionals??!1,z=q.fixedProbabilities??!1,b=q.optionalsProbability??0.5,P;if(z&&!K&&j.length>0){let B=Math.round(j.length*b);P=new Set(j.slice(0,B))}return(B)=>{if(K)return!0;if(P)return P.has(B);return q.random.bool(b)}}function N6(q){return typeof q==="object"&&q!==null&&!Array.isArray(q)}function s4(q){return q.replace(/~/g,"~0").replace(/\//g,"~1")}function d(q,j){let K=s4(j),z=q.outputPath==="/"?`/${K}`:`${q.outputPath}/${K}`,b=q.path==="/"?`/${K}`:`${q.path}/${K}`;return{...q,path:b,outputPath:z}}function t4(q){let j=N0(q);if(Object.keys(j).length>0)return j;if(Array.isArray(q.allOf)){let K={};for(let z of q.allOf){if(typeof z!=="object"||z===null)continue;let b=N0(z);Object.assign(K,b)}return K}return{}}function a4(q,j){let K=y6(q,j);if(K.length>0)return K;if(Array.isArray(q.allOf)){let z=[];for(let b of q.allOf){if(typeof b!=="object"||b===null)continue;let P=b;if(Array.isArray(P.required))z.push(...P.required)}if(z.length>0)return[...new Set(z)]}return[]}function e4(q,j,K){if(!N6(q)||typeof j!=="object"||j===null)return q;return Q6(q,j,K)}function Q6(q,j,K){if(K.alwaysFakeOptionals===!0)return q;let z=t4(j);if(Object.keys(z).length===0)return q;let b=a4(j,z),P=new Set(b),B=new Set(Object.keys(z)),F=[...B].filter((J)=>!P.has(J)),G=A6(K,F),W=new Set([...B,...Object.keys(q)]),V=K.path==="/"?"/properties":`${K.path}/properties`,L={...K,depth:K.depth+1,path:V},O={};for(let J of W){if(!(J in q))continue;let A=d(L,J),w=z[J]??!0;if(!(B.has(J)&&!P.has(J))||G(J))O[J]=e4(q[J],w,A)}return O}function y0(q,j,K){if(!K.filterExampleDefaults||!N6(q))return q;return Q6(q,j,K)}function b6(q,j){if(typeof j!=="object"||j===null)return!1;let K=j;if(K.const!==void 0)return q===K.const;if(K.enum!==void 0)return K.enum.some((z)=>z===q);return!1}function S6(q){if(typeof q==="boolean")return!q;if(typeof q!=="object"||q===null)return!1;if(q.not===!0||typeof q.not==="object"&&q.not!==null&&Object.keys(q.not).length===0)return!0;return!1}function A0(q){let j=[];if(q.dependentRequired){for(let[K,z]of Object.entries(q.dependentRequired))if(Array.isArray(z))j.push([K,z.filter((b)=>typeof b==="string")])}if(q.dependencies){for(let[K,z]of Object.entries(q.dependencies))if(Array.isArray(z))j.push([K,z.filter((b)=>typeof b==="string")])}return j}function q9(q){let j=[];if(q.dependencies){for(let[K,z]of Object.entries(q.dependencies))if(!Array.isArray(z))j.push([K,z])}if(q.dependentSchemas)for(let[K,z]of Object.entries(q.dependentSchemas))j.push([K,z]);return j}function*j9(q,j,K,z,b,P,B={type:"string"}){if(K[P]!==void 0)return;let F=j[P];if(F===void 0&&q.patternProperties){let V=[];for(let[L,O]of Object.entries(q.patternProperties))try{if(new RegExp(L).test(P))V.push(O)}catch{}if(V.length>0)F=V.length===1?V[0]:p(V)}if(F===void 0){if(q.additionalProperties===!1)return;F=q.additionalProperties!==void 0&&q.additionalProperties!==!0?q.additionalProperties:B}if(S6(F))return;let G=d(b,P),W=yield T(F,G);if(W!==void 0)K[P]=W,z.add(P)}function*K9(q,j){let K=N0(q),z=y6(q,K);if(j.depth>=j.maxDepth){let w=new Set(z);for(let[D,R]of A0(q))if(w.has(D))for(let k of R)w.add(k);if(w.size===0)return{};let U={};for(let D of w){let R=K[D];if(R&&typeof R==="object"&&R!==null){let k=R;if(k.const!==void 0)U[D]=k.const;else if(k.default!==void 0)U[D]=k.default;else if(k.enum!==void 0&&k.enum.length>0)U[D]=k.enum[0];else U[D]=P9(k.type)}else U[D]=null}return U}if(q.additionalProperties===!1){let w=Object.keys(K).length>0,U=q.patternProperties&&Object.keys(q.patternProperties).length>0,D=new Set(Object.keys(K)),R=[...new Set(z)].filter((k)=>!D.has(k));if((q.minProperties??0)>0&&!w&&!U)throw Error(`missing properties for ${q.minProperties} in ${j.path}: additionalProperties is false but no properties or patternProperties defined`);if(R.length>0&&!U&&!w)throw Error(`missing properties for ${R.join(", ")} in ${j.path}: additionalProperties is false but required properties not defined in properties`)}let b=j.path==="/"?"/properties":`${j.path}/properties`,P={...j,depth:j.depth+1,path:b},B={},F=new Set,G=new Set(z);for(let[w,U]of A0(q))if(G.has(w))for(let D of U)G.add(D);let W=j.fillProperties??!0,V=Object.keys(K).filter((w)=>!G.has(w)),L=A6(j,V);if(Object.keys(K).length>0)for(let[w,U]of Object.entries(K)){if(S6(U))continue;F.add(w);let D=d(P,w),R=G.has(w),k=typeof U==="object"&&U!==null&&U.type==="object",I=U;if(q.patternProperties&&typeof U==="object"&&U!==null){let C=[];for(let[M,Y]of Object.entries(q.patternProperties))try{if(new RegExp(M).test(w))C.push(Y)}catch{}if(C.length>0)I=p([U,...C])}if(R){let C=yield T(I,D);if(C!==void 0)B[w]=C}else if(L(w)){let C=yield T(I,D);if(C!==void 0)B[w]=C}else if(k&&!W){let C=U.required??[];if(C.length>0){let M={};for(let Y of C){let f=(U.properties??{})[Y]??{},H=d(D,Y),m=yield T(f,H);if(m!==void 0)M[Y]=m}B[w]=M}}}for(let w of G){if(B[w]!==void 0||F.has(w))continue;if(q.patternProperties){let U=[];for(let[D,R]of Object.entries(q.patternProperties))if(new RegExp(D).test(w))U.push(R);if(U.length>0){let D=U.length===1?U[0]:p(U),R=d(P,w),k=yield T(D,R);if(k!==void 0)B[w]=k;F.add(w)}}if(!F.has(w)){let U=q.additionalProperties??!0;if(U!==!1){let D=d(P,w),R=yield T(U===!0?{}:U,D);if(R!==void 0)B[w]=R;F.add(w)}}}let O=!0;while(O){O=!1;for(let[w,U]of A0(q)){if(B[w]===void 0)continue;for(let D of U){let R=B[D];if(yield*j9(q,K,B,F,P,D),R===void 0&&B[D]!==void 0)O=!0;if(B[D]!==void 0)G.add(D)}}}for(let[w,U]of q9(q))if(B[w]!==void 0&&!F.has(w+"_dep")){if(F.add(w+"_dep"),typeof U==="boolean")continue;let D=U.oneOf??U.anyOf??U.allOf??[U],R=null;for(let I of D){if(typeof I!=="object"||I===null)continue;let{properties:C,not:M}=I;if(C&&C[w]){let Y=C[w],f=B[w];if(b6(f,Y)){R=I;break}}if(M?.properties){let Y=M.properties[w];if(Y){let f=B[w];if(!b6(f,Y)){R=I;break}}}}if(!R&&D.length>0&&typeof D[0]==="object")R=D[0];if(R?.not){let I=R.not;if(I.required&&Array.isArray(I.required))for(let C of I.required)delete B[C]}let k=new Set;if(R?.required)for(let I of R.required){if(I===w)continue;if(B[I]!==void 0)continue;k.add(I);let C=R.properties?.[I]??K[I]??{type:"object"},M=d(P,I),Y=yield T(C,M);if(Y!==void 0)B[I]=Y}if(R&&R.properties)for(let[I,C]of Object.entries(R.properties)){if(I===w)continue;if(k.has(I))continue;let M=d(P,I),Y=yield T(C,M);if(Y!==void 0)B[I]=Y}}let J=q.minProperties??0,A=q.maxProperties;if(Object.keys(B).length<J){if(q.patternProperties&&Object.keys(q.patternProperties).length>0){let w=Object.entries(q.patternProperties),U=0,D=1000;while(Object.keys(B).length<J&&U<D){U++;let[R,k]=j.random.pick(w),I=b9(R,j);if(I&&!B[I]){let C=d(P,I),M=yield T(k,C);if(M!==void 0)B[I]=M;F.add(I)}}}if(Object.keys(B).length<J){let w=q.additionalProperties,U=w===void 0||w===!0?{type:"string"}:w;if(U!==!1){let D=0,R=1000;while(Object.keys(B).length<J&&D<R){D++;let k=`prop${j.random.int(0,99999)}`;if(!B[k]){let I=d(P,k),C=yield T(U,I);if(C!==void 0)B[k]=C;F.add(k)}}}}if(Object.keys(B).length<J){let w=Object.keys(K).join(", ");throw Error(`properties '${w}' were not found while additionalProperties is false in ${j.path}`)}}if(A!==void 0&&Object.keys(B).length>A){let w=Object.keys(B).filter((U)=>!G.has(U));j.random.shuffle(w);while(Object.keys(B).length>A&&w.length>0){let U=w.pop();delete B[U]}}if(j.pruneProperties&&j.pruneProperties.length>0)Q0(B,j.pruneProperties);return z9(B,K),B}function z9(q,j){for(let[K,z]of Object.entries(j)){if(typeof z!=="object"||z===null)continue;let b=z;if(b.template===void 0)continue;let P=b.template;if(typeof P!=="string")continue;let B=P.replace(/#\{(\w+)\}/g,(F,G)=>{let W=q[G];return W!==void 0?String(W):""});q[K]=B}}function b9(q,j){let K=q.match(/^\^([a-zA-Z]+)(\.\*|\(\?\:.*\))?/);if(K){let G=K[1],W=K[2];if(W===".*"||W?.includes("?:")){let V=j.random.int(0,10),L="abcdefghijklmnopqrstuvwxyz",O="";for(let J=0;J<V;J++)O+=j.random.pick("abcdefghijklmnopqrstuvwxyz".split(""));return G+O}return G}let z=q.match(/(.*\*)?([a-zA-Z]+)\$$/);if(z){let G=z[2],W=j.random.int(1,10),V="abcdefghijklmnopqrstuvwxyz",L="";for(let O=0;O<W;O++)L+=j.random.pick("abcdefghijklmnopqrstuvwxyz".split(""));return L+G}let b=q.match(/^\^([a-zA-Z]+)\$$/);if(b)return b[1];let P=j.random.int(3,10),B="abcdefghijklmnopqrstuvwxyz",F="";for(let G=0;G<P;G++)F+=j.random.pick(B.split(""));try{if(new RegExp(q).test(F))return F}catch{}return null}function Q0(q,j){if(typeof q!=="object"||q===null)return;if(Array.isArray(q)){for(let z of q)Q0(z,j);return}let K=q;for(let z of Object.keys(K))if(j.includes(z))delete K[z];else Q0(K[z],j)}function P9(q){switch(Array.isArray(q)?q[0]:q){case"string":return"";case"number":case"integer":return 0;case"boolean":return!1;case"null":return null;case"array":return[];case"object":return{};default:return null}}function*B9(q,j){if(j.depth>=j.maxDepth){let D=q.minItems??0;return D>0?Array.from({length:D},()=>null):[]}if(j.refDepthReached){let D=q.minItems??0;return D>0?Array.from({length:D},()=>null):[]}if(q.items===!1&&(q.minItems??0)>0){let D=q.prefixItems?.length??0;if((q.minItems??0)>D)throw Error(`missing items for ${q.minItems} in ${j.path}: items is false but minItems (${q.minItems}) exceeds prefixItems count (${D})`)}let K=j.path==="/"?"/items":`${j.path}/items`,z={...j,depth:j.depth+1,path:K},b=[],P=j.refDepthMax,B=j.minItems??q.minItems??0,F=j.maxItems??q.maxItems??Math.max(B,j.maxDefaultItems);if(q.maxItems!==void 0&&F>q.maxItems)F=q.maxItems;if(q.minItems!==void 0&&B<q.minItems)B=q.minItems;if(F<B)if(q.maxItems!==void 0)B=F;else F=B;if(j.alwaysFakeOptionals)F=Math.max(B,F);let G=q.uniqueItems?new Set:null;function*W(D,R){let k=yield T(D,R);if(k===void 0)return"omitted";if(G){let I=JSON.stringify(k);if(G.has(I)){for(let C=0;C<50;C++){if(k=yield T(D,h(z,b.length)),k===void 0)continue;let M=JSON.stringify(k);if(!G.has(M))return G.add(M),b.push(k),"added"}return"failed"}G.add(I)}return b.push(k),"added"}if(q.prefixItems)for(let D=0;D<q.prefixItems.length&&b.length<F;D++){let R=h(z,D);if((yield*W(q.prefixItems[D],R))==="failed")break}let V;if(P!==void 0&&j.refDepth>=P-1){let D=q.minItems??0;return D>0?Array.from({length:D},()=>null):[]}let L=j.alwaysFakeOptionals??!1,O=j.fixedProbabilities??!1,J=j.optionalsProbability??0.5;if(L)V=F;else if(O){let D=F-Math.max(B,b.length),R=Math.round(D*J);V=Math.max(B,b.length)+R}else V=j.random.int(Math.max(B,b.length),F);let A=q.prefixItems!==void 0,w=q.additionalItems!==void 0,U;if(A){if(w)U=q.additionalItems;else if(q.items!==void 0)U=q.items}else U=q.items;if(U!==!1&&U!==void 0){let D=U??{},R=0,k=Math.max(V*20,50);while(b.length<V){let I=yield*W(D,h(z,b.length));if(I==="added"){R=0;continue}if(R++,I==="failed"||R>=k)break}}if(q.contains){let D=q.minContains??1,R=q.maxContains??Math.max(D,1),k=j.random.int(D,R);for(let I=0;I<k;I++){let C=yield T(q.contains,h(z,b.length));if(C===void 0)continue;if(G){let M=JSON.stringify(C);if(G.has(M)){let Y=!1;for(let f=0;f<50;f++){if(C=yield T(q.contains,h(z,b.length)),C===void 0)continue;let H=JSON.stringify(C);if(!G.has(H)){G.add(H),Y=!0;break}}if(!Y)continue}else G.add(M)}if(b.length<F){let M=j.random.int(0,b.length);b.splice(M,0,C)}else if(b.length>0){let M=j.random.int(0,b.length-1);b[M]=C}}while(b.length>F)b.pop()}if(q.containsAll){let D=new Set;for(let R of q.containsAll){let k=yield T(R,h(z,b.length));if(k===void 0)continue;if(G){let I=JSON.stringify(k);if(G.has(I)){let C=!1;for(let M=0;M<50;M++){if(k=yield T(R,h(z,b.length)),k===void 0)continue;let Y=JSON.stringify(k);if(!G.has(Y)){G.add(Y),C=!0;break}}if(!C)continue}else G.add(I)}if(b.length<F){let I=j.random.int(0,b.length);b.splice(I,0,k);let C=new Set;for(let M of D)C.add(M>=I?M+1:M);D.clear();for(let M of C)D.add(M);D.add(I)}else if(b.length>0){let I=Array.from({length:b.length},(C,M)=>M).filter((C)=>!D.has(C));if(I.length>0){let C=I[j.random.int(0,I.length-1)];b[C]=k,D.add(C)}else b.push(k),D.add(b.length-1)}}while(b.length>F)b.pop()}if(q.uniqueItems&&b.length>0)return yield*F9(b,q,z,B,F,G);return b}function*F9(q,j,K,z,b,P){let B=j.items??{},F=0,G=100;while(q.length<z&&F<G){F++;let W=yield T(B,h(K,q.length));if(W===void 0)continue;let V=JSON.stringify(W);if(!P.has(V))P.add(V),q.push(W)}while(q.length>b)q.pop();return q}function h(q,j){let K=q.outputPath==="/"?`/${j}`:`${q.outputPath}/${j}`;return{...q,path:`${q.path}/${j}`,outputPath:K}}function P6(q,j){if(!j||j==="")return q;if(typeof q!=="object"||q===null)throw Error(`Cannot resolve fragment "${j}" in non-object schema`);if(j.startsWith("/"))return G9(q,j);throw Error(`Unsupported fragment type: ${j}. Only JSON pointers (starting with /) are supported.`)}function G9(q,j){if(j===""||j==="/")return q;let K=j.slice(1).split("/"),z=q;for(let b of K){let P=b.replace(/~1/g,"/").replace(/~0/g,"~");if(typeof z!=="object"||z===null)throw Error(`Cannot resolve JSON pointer "${j}": not an object at "${P}"`);if(Array.isArray(z)){let B=parseInt(P,10);if(isNaN(B)||B<0||B>=z.length)throw Error(`Cannot resolve JSON pointer "${j}": invalid array index "${P}"`);z=z[B]}else{if(!(P in z))throw Error(`Cannot resolve JSON pointer "${j}": property "${P}" not found`);z=z[P]}}return z}function*B6(q,j){let K=j.refResolver(q);if(j.__sync&&w0(K))throw Promise.resolve(K).catch(()=>{}),Error(`Cannot use async refResolver in generateSync(): resolving '${q}' returned a Promise`);return yield K}function W9(q){let j=new Map;if(typeof q==="boolean")return j;if(q.$id&&typeof q==="object"){let K=q,z=K.$id,{$id:b,...P}=K;j.set(z,P)}if(q.$defs)for(let[K,z]of Object.entries(q.$defs))j.set(`#/$defs/${K}`,z);return j}function*W0(q,j){let K=q.$ref;if(!K)return{schema:q,ctx:j};let z=j.refDepth+1;if(j.refDepthMax!==void 0&&z>=j.refDepthMax)return{schema:{},ctx:{...j,refDepthReached:!0}};if(j.refStack.has(K)){if(j.refDepthMax!==void 0){if(j.refDepth>=j.refDepthMax)return{schema:{},ctx:{...j,refDepthReached:!0}}}else if(j.depth>=j.maxDepth)return{schema:{type:"null"},ctx:j}}let b,P;if(K.startsWith("#/")){if(b=j.refRegistry.get(K),b===void 0&&K.length>2){let L=j.refRegistry.get("#");if(L!==void 0&&typeof L==="object")try{b=P6(L,K.slice(1))}catch{}}if(b===void 0&&j.refResolver){if(b=yield*B6(K,j),b!==void 0)j.refRegistry.set(K,b)}}else if(K==="#")b=j.refRegistry.get("#")??{};else if(b=j.refRegistry.get(K),b===void 0&&j.refResolver){P=yield*B6(K,j);let L=K.indexOf("#");if(L!==-1){let O=K.slice(L+1);if(O)b=P6(P,O);else b=P}else b=P;if(P&&typeof P==="object"&&P!==null){let O=P;if(O.$defs)for(let[J,A]of Object.entries(O.$defs))j.refRegistry.set(`#/$defs/${J}`,A)}}else if(b===void 0&&j.__sync)throw Error(`Remote $ref '${K}' cannot be resolved in generateSync(); pre-resolve refs or use generate()`);if(b===void 0)throw Error(`Unresolved $ref: ${K}`);let B=new Set(["description","title","$comment","readOnly","writeOnly","deprecated"]),{$ref:F,...G}=q,W=Object.fromEntries(Object.entries(G).filter(([L])=>!B.has(L)));if(Object.keys(W).length>0&&typeof b==="object"&&b!==null)b={...b,...W};let V={...j,refStack:new Set([...j.refStack,K]),refDepth:j.refDepth+1};return{schema:b,ctx:V}}function V9(q,j){if(typeof q==="boolean")return;j.set("#",q),S0(q,"#",j)}function S0(q,j,K){if(q.$id){let{$id:z,...b}=q;K.set(z,b)}if(q.$defs)for(let[z,b]of Object.entries(q.$defs)){let P=`${j}/$defs/${z}`;if(K.set(P,b),typeof b==="object"&&b!==null)S0(b,P,K)}if(q.properties){for(let[z,b]of Object.entries(q.properties))if(typeof b==="object"&&b!==null)S0(b,`${j}/properties/${z}`,K)}}function*w9(q,j){if(!q.$ref)return q;return(yield*W0(q,j)).schema}function*D9(q,j){let K=[];for(let z of q)if(typeof z==="object"&&z!==null&&"$ref"in z){let b=yield*w9(z,j);K.push(b)}else if(typeof z==="object"&&z!==null)K.push(z);return K}function*U9(q,j){let{allOf:K,anyOf:z,oneOf:b,not:P,if:B,then:F,else:G,...W}=q;if(K){let V=yield*D9(K,j),L=p([W,...V]);return yield T(L,j)}if(b){let V=j.random.shuffle([...b]),L=W.required??[];for(let k of V){let I=typeof k==="object"&&k!==null?k:{};if(I.$ref)I=(yield*W0(I,j)).schema;let C=I.required??[],M=[...new Set([...L,...C])],Y={...W,required:M},f=p([Y,I]),H={...j,optionalsProbability:0,alwaysFakeOptionals:!1};try{return yield T(f,H)}catch{}}let O=b[0],J=typeof O==="object"&&O!==null?O:{};if(J.$ref)J=(yield*W0(J,j)).schema;let A=J.required??[],w=[...new Set([...L,...A])],U={...W,required:w},D=p([U,J]),R={...j,optionalsProbability:0,alwaysFakeOptionals:!1};return yield T(D,R)}if(z){let V=j.random.shuffle([...z]);for(let J of V){let A=p([W,J]);try{return yield T(A,j)}catch{}}let L=z[0],O=p([W,L]);return yield T(O,j)}if(B!==void 0)return yield*I9(W,B,F,G,j);if(P)return yield*C9(W,P,j);return yield T(W,j)}function*I9(q,j,K,z,b){if(K!==void 0){let P=p([q,j,K]);try{return yield T(P,b)}catch{}}if(z!==void 0){let P=p([q,z]);try{return yield T(P,b)}catch{}}return yield T(q,b)}function*C9(q,j,K){if(typeof j==="boolean"){if(j===!0)throw Error(`Cannot generate value for 'not: true' at ${K.path}`);return yield T(q,K)}if(j.type&&!j.enum&&!j.const){let z=Array.isArray(j.type)?j.type:[j.type],b=["string","number","integer","boolean","null","object","array"].filter((P)=>!z.includes(P));if(b.length>0){let P=K.random.pick(b),B=p([q,{type:P}]);return yield T(B,K)}}if(j.const!==void 0||j.enum!==void 0){let z=j.enum??[j.const],b=new Set(z.map((P)=>JSON.stringify(P)));for(let P=0;P<20;P++){let B=yield T(q,K);if(!b.has(JSON.stringify(B)))return B}}return yield T(q,K)}class _6{extensions=new Map;define(q,j){this.extensions.set(q,{callback:j,context:{}})}has(q){return this.extensions.has(q)}reset(q){if(q){let j=this.extensions.get(q);if(j)j.context={},this.extensions.delete(q)}else this.extensions.clear()}keys(){return this.extensions.keys()}*generateGen(q,j){let K=Object.keys(q);for(let z=K.length-1;z>=0;z--){let b=K[z],P=b.startsWith("x-")?b.slice(2):b,B=this.extensions.get(P);if(B){let F=q[b],G=B.callback.call(B.context,F,q,j);if(j.__sync&&w0(G))throw Promise.resolve(G).catch(()=>{}),Error(`Cannot use async extension '${P}' in generateSync()`);let W=yield G;if(W!==void 0)return W}}return}getContext(q){return this.extensions.get(q)?.context}}var O9=new _6;function*L9(q,j){return yield*O9.generateGen(q,j)}var R9=["string","number","integer","boolean","null","object","array"];function F6(q,j,K){if(q.faker!==void 0&&q.chance!==void 0)throw Error(`ambiguous generator: both faker and chance are defined in ${j.path}`);if(q.faker!==void 0)try{let z=k9(q.faker,j),b=W6(z,K??q.type,j.path);if(typeof b==="string"&&q.format)return G6(b,q.format,j);return b}catch{}if(q.chance!==void 0)try{let z=J9(q.chance,j),b=W6(z,K??q.type,j.path);if(typeof b==="string"&&q.format)return G6(b,q.format,j);return b}catch{}return}function G6(q,j,K){if(j==="date"){let z=typeof q==="string"?new Date(q):q;if(z instanceof Date&&!isNaN(z.getTime())){let b=z.getFullYear(),P=l(z.getMonth()+1),B=l(z.getDate());return`${b}-${P}-${B}`}if(typeof q==="string"){let b=Date.parse(q);if(!isNaN(b)){let P=new Date(b),B=P.getFullYear(),F=l(P.getMonth()+1),G=l(P.getDate());return`${B}-${F}-${G}`}}}if(j==="date-time"){let z=typeof q==="string"?new Date(q):q;if(z instanceof Date&&!isNaN(z.getTime()))return z.toISOString();if(typeof q==="string"&&Date.parse(q))return new Date(q).toISOString()}return q}function W6(q,j,K){if(j===void 0)return q;let z=Array.isArray(j)?j[0]:j;switch(z){case"string":return q===null?"null":q===void 0?"undefined":String(q);case"number":case"integer":let b=Number(q);return z==="integer"?Math.floor(b):b;case"boolean":return Boolean(q);case"null":return null;default:return q}}function k9(q,j){if(!j.extensions?.faker){let B=typeof q==="string"?q:JSON.stringify(q);throw Error(`cannot resolve faker-generator for ${B} in ${j.path}`)}let K,z;if(typeof q==="object"&&q!==null){let B=q,F=Object.keys(B);if(F.length>0)K=F[0],z=B[K];else throw Error(`cannot resolve faker-generator for ${JSON.stringify(q)} in ${j.path}`)}else K=q;let b=K.split("."),P=j.extensions.faker;for(let B of b)try{P=P[B]}catch{throw Error(`failed to resolve .${B} (${K})`)}if(typeof P==="function")return z?P(...z):P();else throw Error(`cannot resolve faker-generator for ${K} in ${j.path}`)}function J9(q,j){if(!j.extensions?.chance){let K=typeof q==="string"?q:Object.keys(q)[0];throw Error(`cannot resolve chance-generator for ${K} in ${j.path}`)}if(typeof q==="string"){let K=j.extensions.chance[q];if(typeof K==="function")return K.call(j.extensions.chance);throw Error(`cannot resolve chance-generator for ${q} in ${j.path}`)}if(typeof q==="object"&&q!==null){let K=q,z=Object.keys(K)[0],b=K[z],P=j.extensions.chance[z];if(typeof P==="function")return b?P.call(j.extensions.chance,b):P.call(j.extensions.chance)}throw Error(`cannot resolve chance-generator in ${j.path}`)}function M9(q,j){let K=q.path==="/"?`/${j}`:`${q.path}/${j}`;return{...q,depth:q.depth+1,path:K,refDepthReached:q.refDepthReached}}function*_(q,j,K){if(!K.outputTransform)return q;let z=K.outputTransform(q,j,K.outputPath);if(K.__sync&&w0(z))throw Promise.resolve(z).catch(()=>{}),Error("Cannot use async outputTransform in generateSync()");return yield z}function*j0(q,j){if(q===!0)return yield*j0({},j);if(q===!1)throw Error(`Cannot generate value for 'false' schema at ${j.path}`);let K=null;if(typeof q==="object"&&q!==null&&q.$defs){K=[];for(let[z,b]of Object.entries(q.$defs)){let P=`#/$defs/${z}`;K.push([P,j.refRegistry.has(P)?j.refRegistry.get(P):void 0]),j.refRegistry.set(P,b)}}try{return yield*T9(q,j)}finally{if(K)for(let[z,b]of K)if(b===void 0)j.refRegistry.delete(z);else j.refRegistry.set(z,b)}}function*T9(q,j){if(j.propAliases){let B=null;for(let[F,G]of Object.entries(j.propAliases))if(F in q&&!(G in q)){if(!B)B={...q};B[G]=B[F],delete B[F]}if(B)q=B}let K;if(Array.isArray(q.type)){let B=q.type;K=j.random.pick(B);let F={...j,resolvedType:K},G=F6(q,F,K);if(G!==void 0){if(typeof G==="string"&&F.maxLength!==void 0&&G.length>F.maxLength)return yield*_(G.slice(0,F.maxLength),q,F);return yield*_(G,q,F)}}else{let B=F6(q,j,K);if(B!==void 0){if(typeof B==="string"&&j.maxLength!==void 0&&B.length>j.maxLength)return yield*_(B.slice(0,j.maxLength),q,j);return yield*_(B,q,j)}}let z={...j,proceed:(B,F)=>(j.__sync?g6:H6)(B,{...j,...F})},b=yield*L9(q,z);if(b!==void 0)return yield*_(b,q,z);if(q.$ref){let B=yield*W0(q,j);return yield T(B.schema,M9(B.ctx,"$ref"))}if(q.allOf||q.anyOf||q.oneOf||q.not||q.if)return yield*U9(q,j);if(q.const!==void 0)return yield*_(z6(q,j),q,j);if(j.useDefaultValue&&q.default!==void 0)return yield*_(y0(q.default,q,j),q,j);if(q.enum!==void 0)return yield*_(z6(q,j),q,j);if(j.useExamplesValue){if(Array.isArray(q.examples)&&q.examples.length>0){let B=j.random.pick(q.examples);return yield*_(y0(B,q,j),q,j)}if(q.example!==void 0)return yield*_(y0(q.example,q,j),q,j)}let P=Y9(q,j);if(P===null){if(j.failOnInvalidTypes===!1){if(j.defaultInvalidTypeProduct!==void 0){let B=j.defaultInvalidTypeProduct;if(typeof B==="string")return A9(B);return B}return null}throw Error(`unknown primitive ${q.type} in ${j.path}/type`)}switch(P){case"null":return yield*_(f4(j),q,j);case"boolean":return yield*_(E4(j),q,j);case"number":return yield*_(C6(q,j),q,j);case"integer":return yield*_(X4(q,j),q,j);case"string":return yield*_(i4(q,j),q,j);case"object":return yield*_(yield*K9(q,j),q,j);case"array":return yield*_(yield*B9(q,j),q,j);default:throw Error(`Unknown type: ${P} at ${j.path}`)}}function Y9(q,j){if(j.resolvedType!==void 0)return j.resolvedType;if(typeof q.type==="string"){if(!["string","number","integer","boolean","null","object","array"].includes(q.type))return null;return q.type}if(Array.isArray(q.type))return j.random.pick(q.type);if(q.properties||q.required||q.additionalProperties!==void 0||q.patternProperties||q.minProperties!==void 0||q.maxProperties!==void 0)return"object";if(y9(q))return"object";if(q.items||q.prefixItems||q.contains||q.minItems!==void 0||q.maxItems!==void 0||q.uniqueItems)return"array";if(q.minimum!==void 0||q.maximum!==void 0||q.exclusiveMinimum!==void 0||q.exclusiveMaximum!==void 0||q.multipleOf!==void 0)return"number";if(q.minLength!==void 0||q.maxLength!==void 0||q.pattern||q.format||q.faker!==void 0||q.chance!==void 0)return"string";return j.random.pick(R9)}function y9(q){if(q.properties||q.type==="object"||q.type==="array")return!1;for(let j of Object.keys(q)){if(D0.has(j))continue;let K=q[j];if(typeof K==="object"&&K!==null&&!Array.isArray(K))return!0}return!1}function A9(q){switch(q){case"string":return"";case"number":case"integer":return 0;case"boolean":return!1;case"null":return null;case"object":return{};case"array":return[];default:return null}}function H6(q,j){return $4(j0(q,j),j0)}function g6(q,j){return n4(j0(q,j),j0)}function N9(q){let j=v6(q),K=f6(q);return`${j}T${K}`}function v6(q){let j=q.int(2000,2030),K=q.int(1,12),z=h4(j,K),b=q.int(1,z);return`${j}-${l(K)}-${l(b)}`}function f6(q){let j=q.int(0,23),K=q.int(0,59),z=q.int(0,59);return`${l(j)}:${l(K)}:${l(z)}Z`}var Q9=["alice","bob","charlie","dave","eve","frank","grace","heidi"],S9=["example.com","test.org","demo.net","sample.io"];function V6(q){let j=q.pick(Q9),K=q.int(1,999),z=q.pick(S9);return`${j}${K}@${z}`}var _9=["https"],H9=["example.com","test.org","demo.net"],g9=["api","v1","users","items","data","resource"];function F0(q){let j=q.pick(_9),K=q.pick(H9),z=q.int(1,3),b=[];for(let P=0;P<z;P++)b.push(q.pick(g9));return`${j}://${K}/${b.join("/")}`}var v9=["alpha","beta","gamma","delta","echo","fox","golf","hotel"],f9=["com","org","net","io","dev"];function w6(q){let j=q.int(1,3),K=[];for(let z=0;z<j;z++)K.push(q.pick(v9));return K.push(q.pick(f9)),K.join(".")}function E9(q){return`${q.int(1,254)}.${q.int(0,255)}.${q.int(0,255)}.${q.int(1,254)}`}function x9(q){let j=[];for(let K=0;K<8;K++)j.push(q.int(0,65535).toString(16));return j.join(":")}function X9(q){let j=(K)=>{let z="";for(let b=0;b<K;b++)z+=q.int(0,15).toString(16);return z};return`${j(8)}-${j(4)}-4${j(3)}-${["8","9","a","b"][q.int(0,3)]}${j(3)}-${j(12)}`}var u9=["foo","bar","baz","items","0","1","2","name","value"];function D6(q){let j=q.int(1,4),K=[];for(let z=0;z<j;z++)K.push(q.pick(u9));return"/"+K.join("/")}function p9(q){let j=["P"],K=q.bool(),z=q.bool();if(K){if(q.bool())j.push(`${q.int(0,100)}Y`);if(q.bool())j.push(`${q.int(0,12)}M`);if(q.bool())j.push(`${q.int(0,30)}D`)}if(z){if(j.push("T"),q.bool())j.push(`${q.int(0,23)}H`);if(q.bool())j.push(`${q.int(0,59)}M`);if(q.bool())j.push(`${q.int(0,59)}S`)}if(j.length===1||j.length===2&&j[1]==="T")j.push("0D");return j.join("")}var l9=new Map([["date-time",N9],["date",v6],["time",f6],["duration",p9],["email",V6],["idn-email",V6],["uri",F0],["uri-reference",F0],["iri",F0],["iri-reference",F0],["hostname",w6],["idn-hostname",w6],["ipv4",E9],["ipv6",x9],["uuid",X9],["json-pointer",D6],["relative-json-pointer",(q)=>`${q.int(0,5)}${D6(q)}`]]);function E6(q){let j=new Map(l9);if(q)for(let[K,z]of Object.entries(q))j.set(K,z);return j}function d9(q,j){if(!q.startsWith("$"))throw Error(`Invalid JSONPath: ${q} (must start with $)`);let K=Z9(q),z=[j];for(let b of K){let P=[];if(b===""){for(let B of z)_0(B,P);P.push(...z),z=P;continue}for(let B of z){if(B===null||B===void 0)continue;if(b.startsWith("q:")){let F=b.slice(2);if(typeof B==="object"&&B!==null&&F in B)P.push(B[F])}else if(b==="*"){if(Array.isArray(B))P.push(...B)}else if(/^\d+$/.test(b)){let F=parseInt(b,10);if(Array.isArray(B)&&F<B.length)P.push(B[F])}else if(typeof B==="object"&&B!==null&&b in B)P.push(B[b])}z=P}return z}function _0(q,j){if(q===null||q===void 0)return;if(Array.isArray(q))for(let K of q)j.push(K),_0(K,j);else if(typeof q==="object")for(let K of Object.values(q))j.push(K),_0(K,j)}function Z9(q){if(!q.startsWith("$"))throw Error(`Invalid JSONPath: ${q}`);let j=[],K=q.slice(1);while(K.length>0)if(K.startsWith(".")){if(K=K.slice(1),K.startsWith("."))K=K.slice(1),j.push("");let z=K.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(z)j.push(z[1]),K=K.slice(z[1].length);else break}else if(K.startsWith("[")){let z=K.indexOf("]");if(z===-1)break;let b=K.slice(1,z),P=h9(b),B=b[0]==='"'||b[0]==="'";j.push(B?`q:${P}`:P),K=K.slice(z+1)}else break;return j}function h9(q){let j=q[0];if((j==='"'||j==="'")&&q[q.length-1]===j)return q.slice(1,-1).replace(/\\(["'\\])/g,"$1");return q}function m9(q){if(q.properties)return q.properties;if(q.type==="object"||q.type===void 0){let j={},K=!1;for(let[z,b]of Object.entries(q)){if(D0.has(z))continue;if(Y6(b))j[z]=b,K=!0;else j[z]={const:b},K=!0}if(K)return j}return{}}function V0(q,j,K,z){if(!K.resolveJsonPath)return q;let b=z??q;if(j===!0||j===!1)return q;if(j.$ref)return q;let P=j;if(P.allOf||P.anyOf||P.oneOf)return q;if(typeof q==="object"&&q!==null&&!Array.isArray(q)){let B={...q},F=m9(P);for(let[G,W]of Object.entries(F))if(G in B){let V=B[G];if(typeof W==="object"&&W!==null&&"jsonPath"in W&&typeof W.jsonPath==="string"){let L=d9(W.jsonPath,b);if(L.length>0)B[G]=K.random.pick(L)}else B[G]=V0(V,W,K,b)}return B}if(Array.isArray(q)&&P.items)return q.map((B)=>V0(B,P.items,K,b));return q}var i9=E6(),U6=new Set(["https://json-schema.org/draft/2020-12/schema","https://json-schema.org/draft/2019-09/schema"]);function x6(q,j){if(j?.validateSchemaVersion===!0&&!j?.propAliases){if(typeof q==="object"&&q!==null&&"$schema"in q){let V=q.$schema;if(typeof V==="string"&&!U6.has(V))throw Error(`Unsupported JSON Schema version: ${V}. Supported versions: ${[...U6].join(", ")}`)}}let K=$9(j),z=I6(j?.seed??1),b=K.propAliases?o9(q,K.propAliases):q,P=W9(b);V9(b,P);let B=K.formats?E6(K.formats):new Map(i9),F=K.refDepthMin??K.refDepth,G=K.refDepthMax??K.refDepth;if(F!==void 0&&G!==void 0&&F>G)throw Error(`refDepthMin (${F}) cannot be greater than refDepthMax (${G})`);let W={random:z,maxDepth:K.maxDepth??(G?G+20:5),maxDefaultItems:K.maxDefaultItems??3,optionalsProbability:K.optionalsProbability??0.5,depth:0,refRegistry:P,refStack:new Set,formatRegistry:B,minItems:K.minItems,maxItems:K.maxItems,minLength:K.minLength,maxLength:K.maxLength,useDefaultValue:K.useDefaultValue,path:"/",outputPath:"/",alwaysFakeOptionals:K.alwaysFakeOptionals,fixedProbabilities:K.fixedProbabilities,fillProperties:K.fillProperties,extensions:K.extensions,resolveJsonPath:K.resolveJsonPath,autoIncrementCounters:new Map,refDepth:0,refDepthMin:F,refDepthMax:G,useExamplesValue:K.useExamplesValue,filterExampleDefaults:K.filterExampleDefaults??!1,pruneProperties:K.pruneProperties,failOnInvalidTypes:K.failOnInvalidTypes,defaultInvalidTypeProduct:K.defaultInvalidTypeProduct,minDateTime:K.minDateTime,maxDateTime:K.maxDateTime,propAliases:K.propAliases,outputTransform:K.outputTransform};return{schema_:b,normalizedOptions:K,ctx:W}}async function X6(q,j){let{schema_:K,normalizedOptions:z,ctx:b}=x6(q,j);b.refResolver=z.refResolver;let P=await H6(K,b);if(z.resolveJsonPath)return V0(P,q,b,P);return P}function u6(q,j){let{schema_:K,normalizedOptions:z,ctx:b}=x6(q,j);b.__sync=!0,b.refResolver=z.refResolver;let P=g6(K,b);if(z.resolveJsonPath)return V0(P,q,b,P);return P}function o9(q,j){if(typeof q!=="object"||q===null)return q;let K=q,z=null;for(let[b,P]of Object.entries(j))if(b in K&&!(P in K)){if(!z)z={...K};z[P]=z[b],delete z[b]}return z??q}function $9(q){if(!q)return{};let j=q,K={...q};if(j.requiredOnly===!0&&K.optionalsProbability===void 0)K={...K,optionalsProbability:0,alwaysFakeOptionals:!1};if(j.ignoreProperties&&j.ignoreProperties.length>0)K={...K,outputTransform:n9(K.outputTransform,r9(j.ignoreProperties))};return K}function n9(q,j){if(!q)return j;if(!j)return q;return(K,z,b)=>{let P=q(K,z,b);if(P&&typeof P==="object"&&"then"in P&&typeof P.then==="function")return P.then((B)=>j(B,z,b));return j(P,z,b)}}function r9(q){return(j,K,z)=>{if(z==="/")return j;let b=c9(z.slice(z.lastIndexOf("/")+1));return q.some((P)=>{if(typeof P==="string")return P===b;if(P instanceof RegExp)return P.test(b);return P(K)})?void 0:j}}function c9(q){return q.replace(/~1/g,"/").replace(/~0/g,"~")}import{ResourceLimitError as K0}from"@schmock/core";function z0(q){let j=[{value:q,exiting:!1}],K=new Set,z=0,b=0,P=(B)=>{if(b+=B,b>c)throw new K0("generated_chars",c,b)};while(j.length>0){let B=j.pop();if(!B)break;let F=B.value;if(B.exiting){if(typeof F==="object"&&F!==null)K.delete(F);continue}if(z+=1,z>i)throw new K0("generated_nodes",i,z);if(typeof F==="string"){if(F.length>g)throw new K0("string_length",g,F.length);P(F.length);continue}if(typeof F!=="object"||F===null||K.has(F))continue;if(K.add(F),j.push({value:F,exiting:!0}),Array.isArray(F)){if(F.length>E)throw new K0("array_size",E,F.length);for(let W=0;W<F.length;W+=1)j.push({value:F[W],exiting:!1});continue}let G=Object.entries(F);if(G.length>o)throw new K0("object_properties",o,G.length);for(let[W,V]of G)P(W.length),j.push({value:V,exiting:!1})}}function Q(q){return typeof q==="object"&&q!==null&&!Array.isArray(q)}function y(q){return Q(q)}function s(q){for(let j of["u",""])try{return new RegExp(q,j)}catch{}return}var Z={depthCost:1,frameCost:0},x={depthCost:0,frameCost:1},p6=[{keyword:"properties",shape:"map",generates:!0,costs:Z,typedAs:"object"},{keyword:"definitions",shape:"map",generates:!1,costs:x},{keyword:"$defs",shape:"map",generates:!1,costs:x},{keyword:"patternProperties",shape:"map",generates:!0,costs:Z},{keyword:"items",shape:"single",generates:!0,costs:Z,typedAs:"array",tupleForm:!0},{keyword:"additionalItems",shape:"single",generates:!0,costs:Z},{keyword:"prefixItems",shape:"array",generates:!0,costs:Z,typedAs:"array"},{keyword:"allOf",shape:"array",generates:!0,costs:x},{keyword:"anyOf",shape:"array",generates:!0,costs:x},{keyword:"oneOf",shape:"array",generates:!0,costs:x},{keyword:"additionalProperties",shape:"single",generates:!0,costs:Z},{keyword:"contains",shape:"single",generates:!0,costs:Z},{keyword:"not",shape:"single",generates:!1,costs:x},{keyword:"if",shape:"single",generates:!1,generatesWith:"then",costs:x},{keyword:"then",shape:"single",generates:!0,costs:x},{keyword:"else",shape:"single",generates:!0,costs:x},{keyword:"propertyNames",shape:"single",generates:!0,costs:Z},{keyword:"dependencies",shape:"map",generates:!0,costs:x},{keyword:"contentSchema",shape:"single",generates:!0,costs:x},{keyword:"dependentSchemas",shape:"map",generates:!0,costs:x},{keyword:"containsAll",shape:"array",generates:!0,costs:Z}];function l6(q,j){let K=Reflect.get(q,j.keyword);if(K===void 0)return;if(j.shape==="array"||j.tupleForm===!0&&Array.isArray(K)){if(!Array.isArray(K))return;return{descriptor:j,form:"array",entries:K.map((b,P)=>({value:b,location:{form:"array",index:P}}))}}if(j.shape==="map"){if(typeof K!=="object"||K===null)return;return{descriptor:j,form:"map",entries:Object.entries(K).map(([b,P])=>({value:P,location:{form:"map",name:b}}))}}return{descriptor:j,form:"single",entries:[{value:K,location:{form:"single"}}]}}function d6(q){for(let j of p6)if(Reflect.get(q,j.keyword)!==void 0&&l6(q,j)===void 0)return j.keyword;return}function*Z6(q){for(let j of p6){let K=l6(q,j);if(K)yield K}}function s9(q){switch(q.form){case"single":return"";case"array":return`[${q.index}]`;case"map":return`.${q.name}`}}function h6(q,j){let K=(b)=>q.type===b||Array.isArray(q.type)&&q.type.includes(b),z=[];for(let{descriptor:b,entries:P}of Z6(q)){let B=b.typedAs!==void 0&&K(b.typedAs),F=b.generates||b.generatesWith!==void 0&&Reflect.get(q,b.generatesWith)!==void 0;for(let{value:G,location:W}of P){if(!y(G))continue;z.push({schema:G,keyword:b.keyword,path:`${j}.${b.keyword}${s9(W)}`,depthCost:b.costs.depthCost,frameCost:b.costs.frameCost,typedContinuation:B,generates:F})}}return z}function*U0(q,j){for(let{descriptor:K,form:z,entries:b}of Z6(q)){let{keyword:P}=K;if(z==="single"){let[{value:B,location:F}]=b,G=j(B,{keyword:P,location:F});if(G!==void 0)yield{keyword:P,form:z,value:G}}else if(z==="array"){let B=[];for(let{value:F,location:G}of b){let W=j(F,{keyword:P,location:G});if(W!==void 0)B.push(W)}yield{keyword:P,form:z,value:B}}else{let B={};for(let{value:F,location:G}of b){let W=j(F,{keyword:P,location:G});if(W===void 0||G.form!=="map")continue;Object.defineProperty(B,G.name,{value:W,writable:!0,enumerable:!0,configurable:!0})}yield{keyword:P,form:z,value:B}}}}var i6=2147483647,I0=1000,C0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function q5(q){let j=Array.from({length:q.int(1,48)},()=>q.int(0,255)),K="";for(let z=0;z<j.length;z+=3){let b=j.length-z,P=j[z]<<16|(b>1?j[z+1]:0)<<8|(b>2?j[z+2]:0);K+=C0[P>>18&63],K+=C0[P>>12&63],K+=b>1?C0[P>>6&63]:"=",K+=b>2?C0[P&63]:"="}return K}var j5={byte:q5},K5=new Set(["$schema","$id","$ref","$defs","$anchor","$dynamicRef","$dynamicAnchor","$vocabulary","$comment","definitions","type","enum","const","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","autoIncrement","initialOffset","minLength","maxLength","pattern","format","contentEncoding","contentMediaType","contentSchema","items","prefixItems","additionalItems","contains","containsAll","minItems","maxItems","uniqueItems","minContains","maxContains","properties","required","additionalProperties","patternProperties","minProperties","maxProperties","propertyNames","dependencies","dependentRequired","dependentSchemas","allOf","anyOf","oneOf","not","if","then","else","default","examples","description","title","readOnly","writeOnly","deprecated","faker","chance","jsonPath","template","example"]);function g0(q,j){let K=new e9({locale:[a9,t9]});if(q!==void 0)K.seed(q);if(j!==void 0)K.setDefaultRefDate(j);return K}function H0(q,j){if(q===null||typeof q!=="object")return q;if(j.has(q))return q;if(q instanceof Date)return new Date(q.getTime());let K=Object.getPrototypeOf(q),z=K===Object.prototype||K===null;if(!Array.isArray(q)&&!z)try{return structuredClone(q)}catch{return q}j.add(q);try{if(Array.isArray(q))return q.map((P)=>H0(P,j));let b={};for(let[P,B]of Object.entries(q))Object.defineProperty(b,P,{value:H0(B,j),writable:!0,enumerable:!0,configurable:!0});return b}finally{j.delete(q)}}function O0(q){return H0(q,new Set)}function t(q,j){if(q===null||typeof q!=="object")return q;let K=j.get(q);if(K!==void 0)return K;if(q instanceof Date){let P=new Date(q.getTime());return j.set(q,P),P}if(q instanceof RegExp){let P=new RegExp(q.source,q.flags);return P.lastIndex=q.lastIndex,j.set(q,P),P}if(q instanceof Map){let P=new Map;j.set(q,P);for(let[B,F]of q)P.set(t(B,j),t(F,j));return P}if(q instanceof Set){let P=new Set;j.set(q,P);for(let B of q)P.add(t(B,j));return P}if(q instanceof ArrayBuffer){let P=q.slice(0);return j.set(q,P),P}if(ArrayBuffer.isView(q)){let P=structuredClone(q);return j.set(q,P),P}if(q instanceof URL){let P=new URL(q.href);return j.set(q,P),P}if(Array.isArray(q)){let P=Array(q.length);j.set(q,P);for(let B=0;B<q.length;B+=1)if(Object.hasOwn(q,B))P[B]=t(q[B],j);return P}let z=Object.getPrototypeOf(q);if(z!==Object.prototype&&z!==null)return q;let b=Object.create(z);j.set(q,b);for(let[P,B]of Object.entries(q))Object.defineProperty(b,P,{value:t(B,j),writable:!0,enumerable:!0,configurable:!0});return b}function o6(q){let j=new Map;return q.map((K)=>t(K,j))}function $6(q){return q??Math.floor(Math.random()*i6)}function n6(q){let j=q;return()=>{j+=1831565813;let K=j;return K=Math.imul(K^K>>>15,K|1),K^=K+Math.imul(K^K>>>7,K|61),((K^K>>>14)>>>0)/4294967296}}var z5=new Set(["items","prefixItems"]);function b5(q,j,K){if(typeof q==="boolean")return q;if(y(q))return r6(q,K);if(j.keyword==="dependencies"&&Array.isArray(q))return[...q];if(j.location.form==="array"&&z5.has(j.keyword))return!0;return}function P5(q){if(Array.isArray(q.items)){if(Reflect.get(q,"prefixItems")===void 0)return q;let j={...q};return Reflect.deleteProperty(j,"prefixItems"),j}if(q.items===void 0&&q.additionalItems!==void 0){let j={...q};return Reflect.deleteProperty(j,"additionalItems"),j}return q}var B5={items:"prefixItems",additionalItems:"items"};function F5(q,j={}){return r6(q,{normalizedSchemas:new Map,patternKeySeed:j.patternKeySeed,patternKeyCount:0})}function r6(q,j){let K=j.normalizedSchemas.get(q);if(K)return K;let z={};j.normalizedSchemas.set(q,z);for(let[B,F]of Object.entries(q))if(K5.has(B))z[B]=F;G5(q,z);let b=Array.isArray(q.items);if(b)z.items=!0,delete z.additionalItems;let P=U0(P5(q),(B,F)=>b5(B,F,j));for(let{keyword:B,value:F}of P)if(z[b?B5[B]??B:B]=F,B==="patternProperties"&&z.patternProperties)w5({schema:q,normalized:z,patternProperties:z.patternProperties,context:j});return z}function m6(q,j,K){let z=[q,j].filter((b)=>typeof b==="number");if(z.length===0)return;return z.reduce(K)}function G5(q,j){if(q.multipleOf!==void 0)return;let K=m6(q.minimum,q.exclusiveMinimum,Math.max),z=m6(q.maximum,q.exclusiveMaximum,Math.min);if(K!==void 0&&z===void 0&&K>=I0)j.maximum=K+I0;else if(z!==void 0&&K===void 0&&z<=-I0)j.minimum=z-I0}var W5=8;function V5(q,j){try{let K=u6({type:"string",pattern:q},{seed:j});return typeof K==="string"?K:void 0}catch{return}}function w5(q){let{schema:j,normalized:K,patternProperties:z,context:b}=q,P=b.patternKeySeed;if(P===void 0)return;let B=Object.keys(z).flatMap((J)=>{let A=s(J);return A?[{source:J,regex:A}]:[]});if(B.length===0)return;let F={...y(K.properties)?K.properties:{}},G=Object.keys(F).length,W=Math.max(1,(j.minProperties??0)-G),V=j.maxProperties===void 0?W:Math.max(0,j.maxProperties-G),L=Math.min(W,V),O=[];for(let J=0;J<L;J+=1){let{source:A}=B[J%B.length];for(let w=0;w<W5;w+=1){b.patternKeyCount+=1;let U=V5(A,(P+b.patternKeyCount*7919)%i6);if(U===void 0)break;let D=w===0?U:`${U}${w}`,R=B.filter((k)=>k.regex.test(D));if(Object.hasOwn(F,D)||R.length!==1||R[0].source!==A)continue;Object.defineProperty(F,D,{value:z[A],writable:!0,enumerable:!0,configurable:!0}),O.push(D);break}}if(O.length===0)return;K.properties=F,K.required=[...Array.isArray(K.required)?K.required:[],...O]}async function c6(q,j,K){let z={seed:j,maxDepth:e0,optionalsProbability:1,alwaysFakeOptionals:!0,useDefaultValue:!0,failOnInvalidTypes:!1,formats:{...j5},extensions:{faker:g0(j,K)}},b=await X6(F5(q,{patternKeySeed:j}),z);return z0(b),O0(b)}var t6=new Set(["__proto__","constructor","prototype"]);function a6(q,j,K=Math.random){if(j!==void 0&&!Number.isNaN(j)){if(j<0)return 0;return Math.floor(j)}if(q.minItems!==void 0&&q.maxItems!==void 0){let z=q.minItems,b=Math.max(z,q.maxItems);return Math.floor(K()*(b-z+1))+z}if(q.minItems!==void 0)return Math.max(q.minItems,r);if(q.maxItems!==void 0)return Math.min(q.maxItems,r);if(Array.isArray(q.items))return q.items.length;return r}function E0(q,j,K,z,b){if(!j)return q;if(!Q(q))return q;let P=structuredClone(q);return v0(P,j,{params:K,state:z,query:b}),P}function v0(q,j,K){for(let[z,b]of Object.entries(j)){if(t6.has(z))continue;if(z.includes("."))I5(q,z,b,K);else U5(q,z,b,K)}}function D5(q,j){if(!/^(0|[1-9]\d*)$/.test(j))return;let K=Number(j);return K<q.length?K:void 0}function f0(q,j){if(t6.has(j))return;if(Array.isArray(q)){let K=D5(q,j);if(K===void 0)return;return{read:()=>q[K],write:(z)=>{q[K]=z}}}return{read:()=>q[j],write:(K)=>{q[j]=K}}}function e6(q,j){if(typeof q==="string"&&q.includes("{{"))return C5(q,j);return O0(q)}function U5(q,j,K,z){let b=f0(q,j);if(!b)return;if(!Q(K)){b.write(e6(K,z));return}let P=b.read();if(Q(P)||Array.isArray(P))v0(P,K,z);else if(P===void 0||P===null){let B={};v0(B,K,z),b.write(B)}}function I5(q,j,K,z){let b=j.split("."),P=q;for(let F=0;F<b.length-1;F++){let G=f0(P,b[F]);if(!G)return;let W=G.read();if(Q(W)||Array.isArray(W))P=W;else if(W===void 0||W===null){let V={};G.write(V),P=V}else return}let B=f0(P,b[b.length-1]);if(B)B.write(e6(K,z))}function s6(q,j){let K=j.trim().split("."),z=q;for(let b of K)if(Q(z))z=z[b];else return;return z}function C5(q,j){let K=q.match(/^\{\{\s*([^}]+)\s*\}\}$/);if(K){let z=s6(j,K[1]);return z!==void 0?O0(z):q}return q.replace(/\{\{\s*([^}]+)\s*\}\}/g,(z,b)=>{let P=s6(j,b);return P!==void 0?String(P):z})}function j4(q,j,K){return x0(q,[j],{root:j,random:K,patterns:new Map})}var O5=4;function x0(q,j,K){if(q===null||q===void 0)return q;let z=[],b=new Set;for(let B of j)K4({schema:B,data:q,context:K,seen:b,found:z},!1);if(z.length===0)return q;if(R5(z)){if(K.random()<q6)return null}let P=z.map((B)=>B.schema);if(Q(q))for(let B of Object.keys(q)){let F=P.flatMap((G)=>b4(G,B,K).schemas);if(F.length>0)q[B]=x0(q[B],F,K)}else if(Array.isArray(q))for(let B=0;B<q.length;B++){let F=P.flatMap((G)=>J5(G,B));if(F.length>0)q[B]=x0(q[B],F,K)}return q}function X0(q){return Reflect.get(q,"schmockNullable")===!0}function L5(q){if(X0(q))return!0;if(q.const!==void 0&&q.const!==null)return!1;if(Array.isArray(q.enum)&&!q.enum.includes(null))return!1;if(q.type===void 0)return!0;return Array.isArray(q.type)?q.type.includes("null"):q.type==="null"}function R5(q){if(!q.some((j)=>X0(j.schema)))return!1;return q.every((j)=>!j.vetoes||L5(j.schema))}function K4(q,j){let{schema:K,data:z,context:b,seen:P,found:B}=q;if(P.has(K))return;P.add(K),B.push({schema:K,vetoes:!j});let F=j||X0(K),G=(V)=>K4({...q,schema:V},F),W=z4(K,b.root);if(W)G(W);for(let V of K.allOf??[])if(y(V))G(V);for(let V of["anyOf","oneOf"]){let O=(K[V]??[]).filter(y).filter((J)=>L0(z,J,b,O5));if(O.length===1)G(O[0])}}function z4(q,j){let K=q.$ref;if(typeof K!=="string"||!K.startsWith("#"))return;if(K==="#")return j;if(!K.startsWith("#/"))return;let z=j;for(let b of K.slice(2).split("/")){let P;try{P=decodeURIComponent(b)}catch{return}if(P=P.replace(/~1/g,"/").replace(/~0/g,"~"),Array.isArray(z))z=/^(0|[1-9]\d*)$/.test(P)?z[Number(P)]:void 0;else if(Q(z)&&Object.hasOwn(z,P))z=z[P];else return}return y(z)?z:void 0}function k5(q,j){if(!j.patterns.has(q))j.patterns.set(q,s(q));return j.patterns.get(q)}function b4(q,j,K){let z=[],b=q.properties!==void 0&&Object.hasOwn(q.properties,j);if(b){let F=q.properties?.[j];if(y(F))z.push(F)}let P=!1;for(let[F,G]of Object.entries(q.patternProperties??{}))if(k5(F,K)?.test(j)){if(P=!0,y(G))z.push(G)}let B=b||P;if(!B&&y(q.additionalProperties))z.push(q.additionalProperties);return{schemas:z,covered:B}}function J5(q,j){let K=Reflect.get(q,"prefixItems"),z=Array.isArray(q.items)?q.items:Array.isArray(K)?K:void 0;if(z){let b=j<z.length?z[j]:Array.isArray(q.items)?q.additionalItems:q.items;return y(b)?[b]:[]}return y(q.items)?[q.items]:[]}function M5(q,j){switch(j){case"null":return q===null;case"boolean":return typeof q==="boolean";case"string":return typeof q==="string";case"integer":return Number.isInteger(q);case"number":return typeof q==="number";case"array":return Array.isArray(q);case"object":return Q(q);default:return!0}}function q4(q,j){if(q===j)return!0;if(typeof q!=="object"||typeof j!=="object")return!1;return JSON.stringify(q)===JSON.stringify(j)}function L0(q,j,K,z){if(z<=0)return!0;let b=z4(j,K.root);if(b&&!L0(q,b,K,z-1))return!1;if(j.type!==void 0){if(!(Array.isArray(j.type)?j.type:[j.type]).some((B)=>M5(q,B)))return!1}if(j.const!==void 0&&!q4(j.const,q))return!1;if(Array.isArray(j.enum)&&!j.enum.some((P)=>q4(P,q)))return!1;if(Q(q)){for(let P of j.required??[])if(!Object.hasOwn(q,P))return!1;for(let[P,B]of Object.entries(q)){let{schemas:F,covered:G}=b4(j,P,K);if(!G&&j.additionalProperties===!1)return!1;for(let W of F)if(B!==null&&!L0(B,W,K,z-1))return!1}}for(let P of j.allOf??[])if(y(P)&&!L0(q,P,K,z-1))return!1;return!0}var T5=[{keywords:["email"],fakerMethod:"internet.email",schemaType:"string",minScore:0.6,format:"email"},{keywords:["username","user_name","login","handle","nickname"],fakerMethod:"internet.username",schemaType:"string",minScore:0.6},{keywords:["password","passwd","secret"],fakerMethod:"internet.password",schemaType:"string",minScore:0.6},{keywords:["token","api_key","apikey","access_token","refresh_token"],fakerMethod:"string.alphanumeric",schemaType:"string",minScore:0.8}],Y5=[{keywords:["first_name","firstname","given_name","forename"],fakerMethod:"person.firstName",schemaType:"string",minScore:0.6},{keywords:["last_name","lastname","surname","family_name"],fakerMethod:"person.lastName",schemaType:"string",minScore:0.6},{keywords:["full_name","fullname","display_name","displayname","full_name"],fakerMethod:"person.fullName",schemaType:"string",minScore:0.6},{keywords:["name"],fakerMethod:"person.fullName",schemaType:"string",minScore:0.6},{keywords:["middle_name","middlename"],fakerMethod:"person.middleName",schemaType:"string",minScore:0.8},{keywords:["prefix","honorific","salutation"],fakerMethod:"person.prefix",schemaType:"string",minScore:0.8},{keywords:["suffix"],fakerMethod:"person.suffix",schemaType:"string",minScore:0.9},{keywords:["gender","sex"],fakerMethod:"person.sex",schemaType:"string",minScore:0.8},{keywords:["bio","biography"],fakerMethod:"lorem.paragraph",schemaType:"string",minScore:0.8},{keywords:["job_title","jobtitle","position","occupation","job","role"],fakerMethod:"person.jobTitle",schemaType:"string",minScore:0.6},{keywords:["job_area","department","division","team"],fakerMethod:"person.jobArea",schemaType:"string",minScore:0.8},{keywords:["zodiac","zodiac_sign"],fakerMethod:"person.zodiacSign",schemaType:"string",minScore:0.9}],y5=[{keywords:["phone","mobile","cell","tel","telephone","cellphone","fax"],fakerMethod:"phone.number",schemaType:"string",minScore:0.6},{keywords:["imei"],fakerMethod:"phone.imei",schemaType:"string",minScore:0.9}],A5=[{keywords:["street","street_address"],fakerMethod:"location.streetAddress",schemaType:"string",minScore:0.6},{keywords:["address","mailing_address","postal_address"],fakerMethod:"location.streetAddress",schemaType:"string",minScore:0.6},{keywords:["city","town"],fakerMethod:"location.city",schemaType:"string",minScore:0.6},{keywords:["state","province","region"],fakerMethod:"location.state",schemaType:"string",minScore:0.8},{keywords:["country"],fakerMethod:"location.country",schemaType:"string",minScore:0.8},{keywords:["country_code","countrycode"],fakerMethod:"location.countryCode",schemaType:"string",minScore:0.8},{keywords:["county"],fakerMethod:"location.county",schemaType:"string",minScore:0.9},{keywords:["continent"],fakerMethod:"location.continent",schemaType:"string",minScore:0.9},{keywords:["zip","zipcode","zip_code","postal","postal_code"],fakerMethod:"location.zipCode",schemaType:"string",minScore:0.6},{keywords:["latitude","lat"],fakerMethod:"location.latitude",schemaType:"number",minScore:0.6},{keywords:["longitude","lng","lon","long"],fakerMethod:"location.longitude",schemaType:"number",minScore:0.6},{keywords:["timezone","time_zone","tz"],fakerMethod:"location.timeZone",schemaType:"string",minScore:0.8},{keywords:["building_number"],fakerMethod:"location.buildingNumber",schemaType:"string",minScore:0.9}],N5=[{keywords:["url","website","link","href","homepage","webpage"],fakerMethod:"internet.url",schemaType:"string",minScore:0.6},{keywords:["avatar","photo_url","profile_image","image_url","picture","thumbnail","icon"],fakerMethod:"image.avatar",schemaType:"string",minScore:0.6},{keywords:["domain","hostname","domain_name"],fakerMethod:"internet.domainName",schemaType:"string",minScore:0.8},{keywords:["ip","ip_address","ipaddress","ipv4"],fakerMethod:"internet.ipv4",schemaType:"string",minScore:0.8},{keywords:["ipv6"],fakerMethod:"internet.ipv6",schemaType:"string",minScore:0.9},{keywords:["mac","mac_address"],fakerMethod:"internet.mac",schemaType:"string",minScore:0.9},{keywords:["user_agent","useragent"],fakerMethod:"internet.userAgent",schemaType:"string",minScore:0.9},{keywords:["port"],fakerMethod:"internet.port",schemaType:"number",minScore:0.9},{keywords:["protocol"],fakerMethod:"internet.protocol",schemaType:"string",minScore:0.9}],Q5=[{keywords:["uuid","guid"],fakerMethod:"string.uuid",schemaType:"string",minScore:0.6},{keywords:["sku"],fakerMethod:"string.alphanumeric",schemaType:"string",minScore:0.9},{keywords:["slug"],fakerMethod:"lorem.slug",schemaType:"string",minScore:0.8},{keywords:["isbn"],fakerMethod:"commerce.isbn",schemaType:"string",minScore:0.9},{keywords:["vin"],fakerMethod:"vehicle.vin",schemaType:"string",minScore:0.9},{keywords:["iban"],fakerMethod:"finance.iban",schemaType:"string",minScore:0.9},{keywords:["bic","swift"],fakerMethod:"finance.bic",schemaType:"string",minScore:0.9},{keywords:["ssn","social_security"],fakerMethod:"string.numeric",schemaType:"string",minScore:0.9}],S5=[{keywords:["description","desc","summary","overview","about","excerpt"],fakerMethod:"lorem.paragraph",schemaType:"string",minScore:0.6},{keywords:["content","body","text","message"],fakerMethod:"lorem.paragraphs",schemaType:"string",minScore:0.6},{keywords:["title","heading","subject","headline"],fakerMethod:"lorem.sentence",schemaType:"string",minScore:0.6},{keywords:["tag","label","category","keyword"],fakerMethod:"lorem.word",schemaType:"string",minScore:0.8},{keywords:["comment","note","remark","feedback","review"],fakerMethod:"lorem.sentence",schemaType:"string",minScore:0.8},{keywords:["sentence"],fakerMethod:"lorem.sentence",schemaType:"string",minScore:0.9},{keywords:["paragraph"],fakerMethod:"lorem.paragraph",schemaType:"string",minScore:0.9},{keywords:["word"],fakerMethod:"lorem.word",schemaType:"string",minScore:0.9}],_5=[{keywords:["company","organization","org","employer","brand","operator"],fakerMethod:"company.name",schemaType:"string",minScore:0.6},{keywords:["product","product_name","item_name"],fakerMethod:"commerce.productName",schemaType:"string",minScore:0.8},{keywords:["price","amount","cost","fee","salary","wage","total","subtotal","balance","revenue","income"],fakerMethod:"commerce.price",minScore:0.6},{keywords:["currency","currency_code"],fakerMethod:"finance.currencyCode",schemaType:"string",minScore:0.8},{keywords:["currency_name"],fakerMethod:"finance.currencyName",schemaType:"string",minScore:0.8},{keywords:["currency_symbol"],fakerMethod:"finance.currencySymbol",schemaType:"string",minScore:0.8},{keywords:["account_number","account_no"],fakerMethod:"finance.accountNumber",schemaType:"string",minScore:0.8},{keywords:["credit_card","card_number"],fakerMethod:"finance.creditCardNumber",schemaType:"string",minScore:0.8},{keywords:["cvv"],fakerMethod:"finance.creditCardCVV",schemaType:"string",minScore:0.9},{keywords:["transaction_type"],fakerMethod:"finance.transactionType",schemaType:"string",minScore:0.9}],H5=[{keywords:["created_at","createdat","creation_date","date_created","createddate"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["updated_at","updatedat","modified_at","modifiedat","date_updated","last_modified","date_modified"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["deleted_at","deletedat"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["published_at","publishedat","publish_date"],fakerMethod:"date.recent",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["expires_at","expiresat","expiration","expiry"],fakerMethod:"date.future",schemaType:"string",minScore:0.6,format:"date-time"},{keywords:["birthday","date_of_birth","dob","birthdate","born"],fakerMethod:"date.birthdate",schemaType:"string",minScore:0.8,format:"date-time"},{keywords:["start_date","begin_date"],fakerMethod:"date.past",schemaType:"string",minScore:0.8,format:"date-time"},{keywords:["end_date","due_date","deadline"],fakerMethod:"date.future",schemaType:"string",minScore:0.8,format:"date-time"},{keywords:["timestamp","ts"],fakerMethod:"date.recent",schemaType:"string",minScore:0.8,format:"date-time"}],g5=[{keywords:["color","colour"],fakerMethod:"color.human",schemaType:"string",minScore:0.8},{keywords:["hex_color","hexcolor"],fakerMethod:"color.rgb",schemaType:"string",minScore:0.9}],v5=[{keywords:["age"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:18,max:80}},{keywords:["rating","score","stars"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:5}},{keywords:["count","quantity","qty"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:100}},{keywords:["percentage","percent"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:0,max:100}},{keywords:["weight"],fakerMethod:"number.float",schemaType:"number",minScore:0.8,fakerArgs:{min:0.1,max:200}},{keywords:["height"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:100,max:220}},{keywords:["width","length","depth"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:1000}},{keywords:["priority","order","rank","level"],fakerMethod:"number.int",schemaType:"number",minScore:0.8,fakerArgs:{min:1,max:10}},{keywords:["version"],fakerMethod:"system.semver",schemaType:"string",minScore:0.8}],f5=[{keywords:["is_active","isactive","active","enabled","is_enabled"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.9},{keywords:["is_deleted","isdeleted","deleted"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.05},{keywords:["is_archived","isarchived","archived"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.1},{keywords:["is_verified","isverified","verified","confirmed","is_confirmed"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.8},{keywords:["is_admin","isadmin","admin"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.1},{keywords:["is_public","ispublic","public","visible","is_visible"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.7},{keywords:["is_read","isread","read","seen","is_seen"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.6},{keywords:["is_default","isdefault"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.8,trueProbability:0.1},{keywords:["is_required","isrequired","required","mandatory"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.6,trueProbability:0.5},{keywords:["is_featured","isfeatured","featured","promoted"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.8,trueProbability:0.15},{keywords:["available","in_stock"],fakerMethod:"datatype.boolean",schemaType:"boolean",minScore:0.8,trueProbability:0.85}],E5=[{keywords:["filename","file_name"],fakerMethod:"system.fileName",schemaType:"string",minScore:0.8},{keywords:["file_type","filetype","mime_type","mimetype","content_type"],fakerMethod:"system.mimeType",schemaType:"string",minScore:0.8},{keywords:["file_ext","extension"],fakerMethod:"system.fileExt",schemaType:"string",minScore:0.9},{keywords:["file_path","filepath","path"],fakerMethod:"system.filePath",schemaType:"string",minScore:0.9},{keywords:["cron","cron_expression"],fakerMethod:"system.cron",schemaType:"string",minScore:0.9},{keywords:["semver"],fakerMethod:"system.semver",schemaType:"string",minScore:0.9}],x5=[{keywords:["aircraft_type","airplane","aircraft"],fakerMethod:"airline.aircraftType",schemaType:"string",minScore:0.9},{keywords:["flight_number","flight"],fakerMethod:"airline.flightNumber",schemaType:"string",minScore:0.9},{keywords:["record_locator","booking_ref","pnr"],fakerMethod:"airline.recordLocator",schemaType:"string",minScore:0.9},{keywords:["seat","seat_number"],fakerMethod:"airline.seat",schemaType:"string",minScore:0.9}],X5=[{keywords:["animal","animal_type","species"],fakerMethod:"animal.type",schemaType:"string",minScore:0.9},{keywords:["pet_name"],fakerMethod:"animal.petName",schemaType:"string",minScore:0.9},{keywords:["breed"],fakerMethod:"animal.dog",schemaType:"string",minScore:0.9},{keywords:["bird"],fakerMethod:"animal.bird",schemaType:"string",minScore:0.9},{keywords:["fish"],fakerMethod:"animal.fish",schemaType:"string",minScore:0.9},{keywords:["horse"],fakerMethod:"animal.horse",schemaType:"string",minScore:0.9},{keywords:["insect"],fakerMethod:"animal.insect",schemaType:"string",minScore:0.9}],u5=[{keywords:["book_title"],fakerMethod:"book.title",schemaType:"string",minScore:0.9},{keywords:["author","book_author","writer"],fakerMethod:"book.author",schemaType:"string",minScore:0.9},{keywords:["genre","book_genre"],fakerMethod:"book.genre",schemaType:"string",minScore:0.9},{keywords:["publisher","publishing_house"],fakerMethod:"book.publisher",schemaType:"string",minScore:0.9},{keywords:["book_series","series_name"],fakerMethod:"book.series",schemaType:"string",minScore:0.9}],p5=[{keywords:["dish","meal","recipe_name"],fakerMethod:"food.dish",schemaType:"string",minScore:0.9},{keywords:["ingredient"],fakerMethod:"food.ingredient",schemaType:"string",minScore:0.9},{keywords:["spice"],fakerMethod:"food.spice",schemaType:"string",minScore:0.9},{keywords:["fruit"],fakerMethod:"food.fruit",schemaType:"string",minScore:0.9},{keywords:["vegetable"],fakerMethod:"food.vegetable",schemaType:"string",minScore:0.9},{keywords:["meat"],fakerMethod:"food.meat",schemaType:"string",minScore:0.9},{keywords:["food_description"],fakerMethod:"food.description",schemaType:"string",minScore:0.9},{keywords:["ethnic_category","cuisine"],fakerMethod:"food.ethnicCategory",schemaType:"string",minScore:0.9}],l5=[{keywords:["song","song_name","track","track_name"],fakerMethod:"music.songName",schemaType:"string",minScore:0.9},{keywords:["album","album_name"],fakerMethod:"music.album",schemaType:"string",minScore:0.9},{keywords:["artist","musician","band"],fakerMethod:"music.artist",schemaType:"string",minScore:0.9},{keywords:["music_genre"],fakerMethod:"music.genre",schemaType:"string",minScore:0.9}],d5=[],Z5=[{keywords:["vehicle","vehicle_name"],fakerMethod:"vehicle.vehicle",schemaType:"string",minScore:0.9},{keywords:["vehicle_type"],fakerMethod:"vehicle.type",schemaType:"string",minScore:0.9},{keywords:["vehicle_manufacturer","car_make"],fakerMethod:"vehicle.manufacturer",schemaType:"string",minScore:0.9},{keywords:["vehicle_model","car_model"],fakerMethod:"vehicle.model",schemaType:"string",minScore:0.9},{keywords:["fuel","fuel_type"],fakerMethod:"vehicle.fuel",schemaType:"string",minScore:0.9},{keywords:["bicycle"],fakerMethod:"vehicle.bicycle",schemaType:"string",minScore:0.9},{keywords:["vehicle_color","car_color"],fakerMethod:"vehicle.color",schemaType:"string",minScore:0.9}],h5=[{keywords:["branch","branch_name","git_branch"],fakerMethod:"git.branch",schemaType:"string",minScore:0.9},{keywords:["commit_sha","commit_hash","sha"],fakerMethod:"git.commitSha",schemaType:"string",minScore:0.9},{keywords:["commit_message"],fakerMethod:"git.commitMessage",schemaType:"string",minScore:0.9}],m5=[{keywords:["db_column","column_name"],fakerMethod:"database.column",schemaType:"string",minScore:0.9},{keywords:["db_type","column_type"],fakerMethod:"database.type",schemaType:"string",minScore:0.9},{keywords:["db_engine","database_engine"],fakerMethod:"database.engine",schemaType:"string",minScore:0.9},{keywords:["collation"],fakerMethod:"database.collation",schemaType:"string",minScore:0.9},{keywords:["mongodb_id","object_id"],fakerMethod:"database.mongodbObjectId",schemaType:"string",minScore:0.9}],i5=[{keywords:["abbreviation","tech_abbreviation"],fakerMethod:"hacker.abbreviation",schemaType:"string",minScore:0.9},{keywords:["hacker_phrase","tech_phrase"],fakerMethod:"hacker.phrase",schemaType:"string",minScore:0.9}],o5=[{keywords:["adjective"],fakerMethod:"word.adjective",schemaType:"string",minScore:0.8},{keywords:["adverb"],fakerMethod:"word.adverb",schemaType:"string",minScore:0.8},{keywords:["noun"],fakerMethod:"word.noun",schemaType:"string",minScore:0.8},{keywords:["verb"],fakerMethod:"word.verb",schemaType:"string",minScore:0.8}],P4=[...T5,...Y5,...y5,...A5,...N5,...Q5,...S5,..._5,...H5,...g5,...v5,...f5,...E5,...x5,...X5,...u5,...p5,...l5,...d5,...Z5,...h5,...m5,...i5,...o5];var u0=new Set(["date-time","date","time","duration","email","idn-email","hostname","idn-hostname","ipv4","ipv6","uri","uri-reference","iri","iri-reference","json-pointer","relative-json-pointer","uuid","byte"]);function $5(q){return typeof q==="string"&&u0.has(q)}function B4(q){return q>=65&&q<=90}function F4(q){return q>=97&&q<=122}function n5(q){return q>=48&&q<=57}function r5(q,j){let K=0;for(let z=1;z<q.length;z++){let b=q.charCodeAt(z);if(!B4(b))continue;let P=q.charCodeAt(z-1);if(F4(P)||n5(P)||B4(P)&&z+1<q.length&&F4(q.charCodeAt(z+1)))j.push(q.slice(K,z).toLowerCase()),K=z}j.push(q.slice(K).toLowerCase())}function W4(q){let j=[];for(let K of q.split(/[_-]/))if(K)r5(K,j);return j}function c5(q){let j=W4(q);return{tokens:j,joined:j.join("")}}var G4=new WeakMap;function s5(q){let j=G4.get(q);if(!j)j=q.keywords.map(c5),G4.set(q,j);return j}var t5=new Set(["type","status","format","code","kind"]),a5=5;function e5(q){let j=new Set,K=new Set,z=0;for(let P of q)j.add(z),z+=P.length,K.add(z);let b=q[q.length-1];return{tokens:q,joined:q.join(""),starts:j,ends:K,qualifier:q.length>1&&b!==void 0&&t5.has(b)?b:void 0}}function q7(q,j,K){if(!q.starts.has(j))return!1;if(q.ends.has(K))return!0;let z=q.joined.slice(K,K+2);return q.ends.has(K+1)&&z.startsWith("s")||q.ends.has(K+2)&&z==="es"}function j7(q,j){if(j.length<3)return!1;let K=q.joined.indexOf(j);while(K!==-1){if(j.length>=a5||q7(q,K,K+j.length))return!0;K=q.joined.indexOf(j,K+1)}return!1}function K7(q,j){let{tokens:K,joined:z}=q,b=0;for(let{tokens:P,joined:B}of j){if(z===B)return 1;if(P.length>0&&P.length<=K.length){if(K.slice(-P.length).every((G,W)=>G===P[W]))b=Math.max(b,0.8)}if(q.qualifier!==void 0&&P[P.length-1]!==q.qualifier)continue;if(P.length>0&&P.every((F)=>K.includes(F))){let G=P.length/K.length>0.5?0.9:0.65;b=Math.max(b,G)}if(j7(q,B))b=Math.max(b,0.7)}return b}function R0(q){return q.default!==void 0||q.const!==void 0||q.enum!==void 0||q.pattern!==void 0||q.$ref!==void 0||"faker"in q&&Boolean(q.faker)}function z7(q){if(!Array.isArray(q.type))return{mappable:!0,type:q.type};let j=q.type.filter((K)=>K!=="null");if(j.length===1)return{mappable:!0,type:j[0]};return{mappable:!1}}function p0(q,j,K=P4){if(R0(j))return;let z=z7(j);if(!z.mappable)return;let b=z.type;if(b==="string"&&j.format==="uuid")return{mapping:{keywords:["uuid"],fakerMethod:"string.uuid",schemaType:"string",minScore:0.5},score:1};if($5(j.format)||b==="string"&&(j.minLength!==void 0||j.maxLength!==void 0))return;let P=j.minimum!==void 0||j.maximum!==void 0||j.exclusiveMinimum!==void 0||j.exclusiveMaximum!==void 0||j.multipleOf!==void 0,B=b==="number"||b==="integer",F=W4(q),G=e5(F),W;for(let V of K){if(P&&(B||V.schemaType==="number"||V.schemaType==="integer"))continue;if(b==="object"||b==="array")continue;if(V.schemaType&&b&&V.schemaType!==b){if(!(V.schemaType==="number"&&b==="integer"||V.schemaType==="integer"&&b==="number"))continue}let L=K7(G,s5(V));if(L>=V.minScore&&(!W||L>W.score))W={mapping:V,score:L}}if(b==="string"){if(F[F.length-1]==="id"&&F.length>1){if(!W||W.score<0.8)W={mapping:{keywords:["id"],fakerMethod:"string.uuid",schemaType:"string",minScore:0.5},score:0.8}}}return W}import{ResourceLimitError as u,SchemaValidationError as S}from"@schmock/core";var l0,V4=200;function $(q,j){return q.type===j||Array.isArray(q.type)&&q.type.includes(j)}var a={height:0,nodes:1,chars:0};function n0(q,j="$",K){if(!q||typeof q!=="object")throw new S(j,"Schema must be a valid JSON Schema object");let z={visited:0,circular:!1,edges:new Map,postOrder:[],resolveRef:G7(q)};if(b7(q,j,z),z.circular)throw new S(j,"Schema contains circular references which are not supported");B7(q,j,z);let b=v7(K),B=D7(q,z,b).get(q)??a,{maxDepth:F,maxFrames:G}=R7(q,z);if(F>P0)throw new u("schema_nesting_depth",P0,F);if(G>V4)z.composition??={resource:"schema_composition_depth",limit:V4,actual:G,path:j};for(let W of[z.composition,z.arraySize,z.objectSize,z.stringLength])if(W)throw new u(W.resource,W.limit,W.actual,W.path);if(b!==void 0&&T4(q)&&b>E)throw new u("array_size",E,b);if(B.nodes>i)throw new u("generated_nodes",i,B.nodes);if(B.chars>c)throw new u("generated_chars",c,B.chars)}function b7(q,j,K){let z=new Set,b=new Set,P=[{schema:q,path:j,typedChain:!0,exiting:!1}];while(P.length>0){let B=P.pop();if(!B)break;if(B.exiting){z.delete(B.schema),b.add(B.schema),K.postOrder.push(B.schema);continue}if(b.has(B.schema)){if(B.typedChain)U4(B.schema,B.path,!0);continue}if(z.has(B.schema)){K.circular=!0;continue}if(K.visited+=1,K.visited>B0)throw new u("schema_nodes",B0,K.visited);U4(B.schema,B.path,B.typedChain);let F=F7(B.schema,B.path,K.resolveRef);K.edges.set(B.schema,F),z.add(B.schema),P.push({...B,exiting:!0});for(let G=F.length-1;G>=0;G-=1){let W=F[G];if(z.has(W.schema))K.circular=!0;else if(!b.has(W.schema))P.push({schema:W.schema,path:W.path,typedChain:B.typedChain&&W.typedContinuation,exiting:!1})}}}var d0={};function P7(...q){let j={};for(let K of q){if(!y(K))continue;for(let z of["maxItems","maxLength","maxProperties"]){let b=K[z];if(typeof b!=="number")continue;j[z]=Math.min(j[z]??b,b)}}return j}function r0(q,j){return j===void 0?q:Math.min(q,j)}function B7(q,j,K){let z=new Set,b=[{schema:q,path:j,caps:d0}];while(b.length>0){let P=b.pop();if(!P||z.has(P.schema))continue;if(P.caps===d0)z.add(P.schema);f7(P.schema,P.path,K,P.caps),E7(P.schema,P.path,K,P.caps),x7(P.schema,P.path,K,P.caps);let B=K.edges.get(P.schema)??[];for(let F=B.length-1;F>=0;F-=1){let G=B[F];if(G.generates&&!z.has(G.schema))b.push({schema:G.schema,path:G.path,caps:G.keyword==="if"?P7(P.schema,P.schema.then):d0})}}}function F7(q,j,K){let z=L4(q,j);for(let b of["$ref","$dynamicRef"]){let P=Reflect.get(q,b);if(typeof P!=="string")continue;let B=K(q,P);if(y(B))z.unshift({schema:B,keyword:b,path:`${j}.${b}`,depthCost:0,frameCost:1,typedContinuation:!1,generates:!0})}return z}function L4(q,j){return h6(q,j)}var w4="schmock://local/root.json";function G7(q){let j=W7(q),K=new Map;return(z,b)=>{let P=K.get(z);if(!P)P=new Map,K.set(z,P);let B=P.get(b);if(B!==void 0)return B===null?void 0:B;let F=j.scopes.get(z)??j.rootScope,G=w7(b,F,j.resources);return P.set(b,G??null),G}}function W7(q){let j=new Map,K=new Map,z={baseUri:w4,resourceRoot:q};j.set(w4,q);let b=[{schema:q,inheritedScope:z,path:"$"}];while(b.length>0){let P=b.pop();if(!P||K.has(P.schema))continue;let B=V7(P.schema,P.inheritedScope,j,P.path);K.set(P.schema,B);for(let F of L4(P.schema,P.path))b.push({schema:F.schema,inheritedScope:B,path:F.path})}return{resources:j,scopes:K,rootScope:K.get(q)??z}}function V7(q,j,K,z){let b=j;if(typeof q.$id==="string"){let P=R4(q.$id,j.baseUri);if(P)if(Z0(K,P,q,z),k4(P)===""){let B=$0(P);Z0(K,B,q,z),b={baseUri:B,resourceRoot:q}}else b={...j,baseUri:P}}for(let P of["$anchor","$dynamicAnchor"]){let B=Reflect.get(q,P);if(typeof B==="string"&&B.length>0)Z0(K,`${$0(b.baseUri)}#${B}`,q,`${z}.${P}`)}return b}function Z0(q,j,K,z){let b=q.get(j);if(b!==void 0&&b!==K)throw new S(z,`Duplicate canonical schema identifier: "${j}"`,"Give each embedded resource and anchor a unique canonical identifier");q.set(j,K)}function w7(q,j,K){if(q==="#")return j.resourceRoot;if(q.startsWith("#/"))return D4(j.resourceRoot,q.slice(1));let z=R4(q,j.baseUri);if(!z)return;let b=K.get(z);if(b!==void 0)return b;let P=K.get($0(z));if(P===void 0)return;let B=k4(z);if(B==="")return P;return B.startsWith("/")?D4(P,B):void 0}function R4(q,j){try{return new URL(q,j).href}catch{return}}function $0(q){let j=new URL(q);return j.hash="",j.href}function k4(q){return new URL(q).hash.slice(1)}function D4(q,j){let K;try{K=decodeURIComponent(j)}catch{return}if(K==="")return q;if(!K.startsWith("/"))return;let z=q;for(let b of K.slice(1).split("/")){let P=b.replace(/~1/g,"/").replace(/~0/g,"~");if(typeof z!=="object"||z===null||!Object.hasOwn(z,P))return;z=Reflect.get(z,P)}return typeof z==="boolean"||y(z)?z:void 0}function D7(q,j,K){let z=new Map;for(let b of j.postOrder)z.set(b,L7(b,z,j,b===q?{explicitCount:K}:void 0));return z}var U7=["contentSchema","propertyNames"],I7=["items","additionalItems","prefixItems","contains","containsAll"],C7=["properties","patternProperties","additionalProperties"],O7=["allOf","anyOf","oneOf","if","then","else"];function L7(q,j,K,z){let b=typeof q.$ref==="string"?q.$ref:Reflect.get(q,"$dynamicRef");if(typeof b==="string")return h0(K.resolveRef(q,b),j);let P=0,B=1,F=q.type==="string"&&typeof q.minLength==="number"?Math.max(0,q.minLength):0,G=new Set([...U7,...O7]),W=(w)=>{let U=h0(w,j);return P=Math.max(P,U.height+1),U},V=(w)=>{let U=h0(w,j);return P=Math.max(P,U.height),U};if(T4(q)){for(let H of I7)G.add(H);let w=z?.explicitCount??g7(q),U=z?z.explicitCount??q.minItems??0:w,D=Reflect.get(q,"prefixItems"),R=Array.isArray(q.items),k=Array.isArray(q.items)?q.items:Array.isArray(D)?D:[],I=0,C=0;k.forEach((H,m)=>{let t0=W(H);if(m<w)I=N(I+t0.nodes);if(m<U)C=N(C+t0.chars)});let M=R?q.additionalItems:q.items,Y=M===void 0?a:W(M);if(I=N(I+Math.max(0,w-k.length)*Y.nodes),C=N(C+Math.max(0,U-k.length)*Y.chars),q.contains!==void 0){let H=Reflect.get(q,"minContains"),m=Math.max(1,Math.min(typeof H==="number"?H:1,w));I=N(I+m*W(q.contains).nodes)}let f=Reflect.get(q,"containsAll");if(Array.isArray(f))for(let H of f)I=N(I+W(H).nodes);B=N(B+I),F=N(F+C)}if(Y4(q)){for(let I of C7)G.add(I);let w=new Set(Object.keys(q.properties??{}));for(let I of Object.values(q.properties??{})){let C=W(I);B=N(B+C.nodes),F=N(F+C.chars)}let U=a;for(let I of Object.values(q.patternProperties??{})){let C=W(I);if(B=N(B+C.nodes),C.nodes>U.nodes)U=C}if(q.additionalProperties!==void 0){let I=W(q.additionalProperties);if(I.nodes>U.nodes)U=I}if(q.propertyNames!==void 0)W(q.propertyNames);let D=new Set((q.required??[]).filter((I)=>!w.has(I))).size,R=Math.max(0,(q.minProperties??0)-w.size),k=Math.max(D,R);B=N(B+k*U.nodes)}for(let w of q.allOf??[]){let U=V(w);B=N(B+Math.max(0,U.nodes-1)),F=Math.max(F,U.chars)}let L=0;for(let w of["anyOf","oneOf"])for(let U of q[w]??[])L=Math.max(L,V(U).nodes-1);B=N(B+Math.max(0,L));let O=q.if===void 0?a:V(q.if),J=0;if(q.then!==void 0)J=V(q.then).nodes-1+(O.nodes-1);if(q.else!==void 0)J=Math.max(J,V(q.else).nodes-1);if(B=N(B+Math.max(0,J)),q.not!==void 0)V(q.not);for(let w of K.edges.get(q)??[]){if(!w.generates||G.has(w.keyword))continue;let U=w.depthCost===1,D=U?W(w.schema):V(w.schema);B=N(B+D.nodes-(U?0:1))}let A=$(q,"null")||Reflect.get(q,"schmockNullable")===!0;return{height:P,nodes:B,chars:A?0:F}}function h0(q,j){return y(q)?j.get(q)??a:a}function R7(q,j){let K=new Map([[q,0]]),z=new Map([[q,0]]),b=0,P=0;for(let B=j.postOrder.length-1;B>=0;B-=1){let F=j.postOrder[B],G=K.get(F),W=z.get(F);if(G===void 0||W===void 0)continue;b=Math.max(b,G),P=Math.max(P,W);for(let V of j.edges.get(F)??[]){let L=G+V.depthCost,O=W+V.frameCost;if(L>(K.get(V.schema)??-1))K.set(V.schema,L);if(O>(z.get(V.schema)??-1))z.set(V.schema,O)}}return{maxDepth:b,maxFrames:P}}function U4(q,j,K){if(K&&Object.keys(q).length===0)throw new S(j,"Schema cannot be empty");let z=["object","array","string","number","integer","boolean","null"],b=Array.isArray(q.type)?q.type:q.type?[q.type]:[];for(let B of b)if(!z.includes(B))throw new S(j,`Invalid schema type: ${JSON.stringify(B)}`,"Supported types are: object, array, string, number, integer, boolean, null");if(Reflect.get(q,"chance")!==void 0)throw new S(`${j}.chance`,"chance generators are not supported",'Use the faker keyword instead, for example "faker": "lorem.paragraph"');if(q.properties!==void 0&&(typeof q.properties!=="object"||Array.isArray(q.properties)))throw new S(`${j}.properties`,"Properties must be an object mapping property names to schemas",'Use { "propertyName": { "type": "string" } } format');let P=d6(q);if(P!==void 0)throw new S(`${j}.${P}`,`"${P}" has the wrong shape`,"Composition and positional keywords take a list of schemas; property maps take an object");for(let B of["items","prefixItems"]){let F=Reflect.get(q,B);if(!Array.isArray(F))continue;F.forEach((G,W)=>{if(typeof G!=="boolean"&&!y(G))throw new S(`${j}.${B}[${W}]`,"Positional item schemas must be schema objects or booleans",'Use a schema such as { "type": "string" }, or true to allow anything')})}if($(q,"array")){if(q.items===null||q.items===void 0)throw new S(`${j}.items`,"Array schema must have valid items definition","Define items as a schema object or array of schemas");if(Array.isArray(q.items)&&q.items.length===0)throw new S(`${j}.items`,"Array items cannot be empty array","Provide at least one item schema")}if("faker"in q&&q.faker!==void 0)try{k7(q.faker)}catch(B){if(B instanceof S){let F=B.context,G="Invalid faker method",W;if(F&&typeof F==="object"){if("issue"in F&&typeof F.issue==="string")G=F.issue;if("suggestion"in F&&typeof F.suggestion==="string")W=F.suggestion}throw new S(`${j}.faker`,G,W)}if(B instanceof u)throw H7(B,`${j}.faker`);if(B instanceof Error)throw B;throw Error(String(B))}}function k7(q){if(typeof q==="string"){M0(q);return}if(typeof q!=="object"||q===null||Array.isArray(q))throw new S("$.faker","Faker must be a method string or an object with exactly one own method key",'Use "person.fullName" or { "number.int": [{ "min": 1, "max": 2 }] }');let j=Reflect.ownKeys(q),K=Object.keys(q);if(j.length!==1||K.length!==1||typeof j[0]!=="string"||j[0]!==K[0])throw new S("$.faker","Object-form faker must contain exactly one own method key",'Use { "number.int": [{ "min": 1, "max": 2 }] }');let z=K[0],b=Object.getOwnPropertyDescriptor(q,z);if(!b||!("value"in b)||!Array.isArray(b.value))throw new S("$.faker",`Arguments for faker method "${z}" must be an array`,'Wrap options in an array, for example [{ "min": 1, "max": 2 }]');M0(z),J4(z,b.value)}var v={resource:"string_length",limit:g},k0={resource:"array_size",limit:E};function c0(q){return{resource:"string_length",limit:Math.floor(g/q)}}var J0=c0(2),m0=c0(7),J7=c0(21),M7={"string.fromCharacters":[{argumentIndex:1,direct:!0,...v}],"string.alpha":[{argumentIndex:0,direct:!0,property:"length",...v}],"string.alphanumeric":[{argumentIndex:0,direct:!0,property:"length",...v}],"string.binary":[{argumentIndex:0,direct:!1,property:"length",...v}],"string.octal":[{argumentIndex:0,direct:!1,property:"length",...v}],"string.hexadecimal":[{argumentIndex:0,direct:!1,property:"length",...v}],"string.numeric":[{argumentIndex:0,direct:!0,property:"length",...v}],"string.sample":[{argumentIndex:0,direct:!0,...v}],"string.nanoid":[{argumentIndex:0,direct:!0,...v}],"string.symbol":[{argumentIndex:0,direct:!0,...v}],"word.sample":[{argumentIndex:0,direct:!0,property:"length",...v}],"word.words":[{argumentIndex:0,direct:!0,property:"count",...J0}],"lorem.word":[{argumentIndex:0,direct:!0,property:"length",...v}],"lorem.words":[{argumentIndex:0,direct:!0,...J0}],"lorem.sentence":[{argumentIndex:0,direct:!0,...J0}],"lorem.sentences":[{argumentIndex:0,direct:!0,...m0}],"lorem.slug":[{argumentIndex:0,direct:!0,...J0}],"lorem.lines":[{argumentIndex:0,direct:!0,...m0}],"lorem.paragraph":[{argumentIndex:0,direct:!0,...m0}],"lorem.paragraphs":[{argumentIndex:0,direct:!0,...J7}],"lorem.text":[{argumentIndex:0,direct:!0,...v}],"internet.password":[{argumentIndex:0,direct:!1,property:"length",...v}],"helpers.uniqueArray":[{argumentIndex:1,direct:!0,...k0}],"helpers.arrayElements":[{argumentIndex:1,direct:!0,...k0}],"helpers.multiple":[{argumentIndex:1,direct:!1,property:"count",...k0}],"date.betweens":[{argumentIndex:0,direct:!1,property:"count",...k0}]};function J4(q,j){for(let b of M7[q]??[]){let P=j[b.argumentIndex],B=b.direct?I4(P):0;if(b.property&&Q(P))B=Math.max(B,I4(Reflect.get(P,b.property)));if(B>b.limit)throw new u(b.resource,b.limit,B)}T7(q,j);let K=[...j],z=new Set;while(K.length>0){let b=K.pop();if(typeof b==="string"&&b.length>g)throw new u("string_length",g,b.length);if(typeof b!=="object"||b===null||z.has(b))continue;if(z.add(b),Array.isArray(b)){for(let P of b)K.push(P);continue}for(let P of Object.values(b))K.push(P)}}function I4(q){if(typeof q==="number")return q;if(!Q(q))return 0;let j=0;for(let K of["min","max"]){let z=Reflect.get(q,K);if(typeof z==="number")j=Math.max(j,z)}return j}function T7(q,j){switch(q){case"helpers.fake":Y7(j[0]);return;case"helpers.mustache":A7(j[0],j[1]);return;case"helpers.fromRegExp":if(typeof j[0]==="string"){let{max:K}=M4(j[0]);if(K>g)throw new u("string_length",g,K)}return;default:return}}function Y7(q){let j=Array.isArray(q)?q:[q];for(let K of j){if(typeof K!=="string")continue;for(let z of K.matchAll(/\{\{(.+?)\}\}/g)){let b=z[1],P=b.indexOf("("),B=b.lastIndexOf(")");if(P===-1||B<P)continue;J4(b.slice(0,P).trim(),y7(b.slice(P+1,B)))}}}function y7(q){try{let j=JSON.parse(`[${q}]`);if(Array.isArray(j))return j}catch{}return[q]}function A7(q,j){if(typeof q!=="string"||!Q(j))return;let K=q.length;for(let[z,b]of Object.entries(j)){let P=`{{${z}}}`,B=q.split(P).length-1;if(B===0)continue;let F=typeof b==="string"?b.length:String(b).length;K=N(K+B*(F-P.length))}if(K>g)throw new u("string_length",g,K)}var b0={min:0,max:0},X={min:1,max:1};function M4(q){let j=[C4(!1)],K=0;while(K<q.length){let z=q[K],b=j[j.length-1];if(z==="|"){b.alternatives.push({min:b.min,max:b.max}),b.min=0,b.max=0,K+=1;continue}if(z==="("){let G=N7(q,K);j.push(C4(G.zeroWidth)),K+=G.length;continue}let P;if(z===")"){let G=j.length>1?j.pop():void 0;P=G?i0(G):X,K+=1}else if(z==="[")K=Q7(q,K),P=X;else if(z==="\\"){let G=S7(q,K);K=G.next,P=G.width}else if(z==="^"||z==="$")K+=1,P=b0;else K+=1,P=X;let B=_7(q,K);if(B)K=B.next,P={min:O4(P.min,B.min),max:O4(P.max,B.max)};let F=j[j.length-1];F.min=N(F.min+P.min),F.max=N(F.max+P.max)}while(j.length>1){let z=j.pop();if(!z)break;let b=i0(z),P=j[j.length-1];P.min=N(P.min+b.min),P.max=N(P.max+b.max)}return i0(j[0])}function C4(q){return{min:0,max:0,alternatives:[],zeroWidth:q}}function i0(q){if(q.zeroWidth)return b0;let{min:j,max:K}=q;for(let z of q.alternatives)j=Math.min(j,z.min),K=Math.max(K,z.max);return{min:j,max:K}}function N7(q,j){for(let K of["(?<=","(?<!","(?=","(?!"])if(q.startsWith(K,j))return{length:K.length,zeroWidth:!0};if(q.startsWith("(?<",j)){let K=q.indexOf(">",j);return{length:K===-1?3:K-j+1,zeroWidth:!1}}if(q.startsWith("(?:",j))return{length:3,zeroWidth:!1};return{length:1,zeroWidth:!1}}function Q7(q,j){let K=j+1;while(K<q.length)if(q[K]==="\\")K+=2;else if(q[K]==="]")return K+1;else K+=1;return q.length}function S7(q,j){let K=q[j+1],z=(b,P)=>{let B=q.indexOf(b,j+2);return B===-1?P:B+1};switch(K){case void 0:return{next:j+1,width:X};case"b":case"B":return{next:j+2,width:b0};case"k":return q[j+2]==="<"?{next:z(">",j+2),width:b0}:{next:j+2,width:X};case"u":return q[j+2]==="{"?{next:z("}",j+2),width:X}:{next:j+6,width:X};case"x":return{next:j+4,width:X};case"c":return{next:j+3,width:X};case"p":case"P":return q[j+2]==="{"?{next:z("}",j+2),width:X}:{next:j+2,width:X};default:if(K>="1"&&K<="9"){let b=j+2;while(b<q.length&&/\d/.test(q[b]))b+=1;return{next:b,width:b0}}return{next:j+2,width:X}}}function _7(q,j){let K=q[j],z;if(K==="*")z={min:0,max:0,next:j+1};else if(K==="+")z={min:1,max:1,next:j+1};else if(K==="?")z={min:0,max:1,next:j+1};else if(K==="{"){let b=/\{(\d+)(,(\d*))?\}/y;b.lastIndex=j;let P=b.exec(q);if(P){let B=Number(P[1]),F=P[2]===void 0||P[3]===""?B:Number(P[3]);z={min:B,max:Math.max(B,F),next:j+P[0].length}}}if(z&&q[z.next]==="?")z.next+=1;return z}function O4(q,j){return q===0||j===0?0:N(q*j)}function H7(q,j){let K=q.context;if(!Q(K))return q;let{resource:z,limit:b,actual:P}=K;if(typeof z!=="string"||typeof b!=="number")return q;return new u(z,b,typeof P==="number"?P:void 0,j)}function T4(q){return $(q,"array")||q.items!==void 0||q.minItems!==void 0||q.maxItems!==void 0}function g7(q){let{minItems:j,maxItems:K}=q;if(j!==void 0&&K!==void 0)return Math.max(j,K);if(K!==void 0)return K;if(j!==void 0)return j;return r}function v7(q){if(q===void 0||Number.isNaN(q))return;return Math.floor(Math.max(0,q))}function f7(q,j,K,z){let b=r0(Math.max(q.minItems??0,q.maxItems??0),z.maxItems);if(b>E)K.arraySize??={resource:"array_max_items",limit:E,actual:b,path:j}}function E7(q,j,K,z){if(!Y4(q))return;let b=new Set(Object.keys(q.properties??{})),P=new Set((q.required??[]).filter((F)=>!b.has(F))).size,B=Math.max(r0(q.minProperties??0,z.maxProperties),b.size+P);if(B>o)K.objectSize??={resource:"object_properties",limit:o,actual:B,path:j}}function x7(q,j,K,z){if(X7(q)){for(let b of[q.minLength,q.maxLength])if(b!==void 0)o0(r0(b,z.maxLength),j,K);if(typeof q.pattern==="string"&&s(q.pattern)!==void 0)o0(M4(q.pattern).min,j,K)}for(let b of[q.const,q.default,q.enum,Reflect.get(q,"template")])o0(u7(b),j,K)}function X7(q){if(q.type!==void 0)return $(q,"string");if(q.const!==void 0)return typeof q.const==="string";if(q.enum!==void 0)return q.enum.some((j)=>typeof j==="string");if(q.default!==void 0)return typeof q.default==="string";return!0}function o0(q,j,K){if(q>g&&(!K.stringLength||q>K.stringLength.actual))K.stringLength={resource:"string_length",limit:g,actual:q,path:j}}function u7(q){let j=[q],K=new Set,z=0;while(j.length>0){let b=j.pop();if(typeof b==="string"){z=Math.max(z,b.length);continue}if(typeof b!=="object"||b===null||K.has(b))continue;K.add(b),j.push(...Object.values(b))}return z}function Y4(q){if(q.type!==void 0)return $(q,"object");return q.properties!==void 0||q.required!==void 0||q.additionalProperties!==void 0||q.patternProperties!==void 0||q.minProperties!==void 0||q.maxProperties!==void 0}function N(q){return Math.min(q,Number.MAX_SAFE_INTEGER)}function M0(q){let j=q.split(".");if(j.length<2)throw new S("$.faker",`Invalid faker method format: "${q}"`,"Use format like 'person.firstName' or 'internet.email'");if(!l0)l0=g0();let z=l0;for(let b of j){let P=Object.hasOwn(Object.prototype,b)||b.startsWith("_");if(z&&typeof z==="object"&&!P&&b in z)z=Reflect.get(z,b);else throw new S("$.faker",`Invalid faker method: "${q}"`,"Check faker.js documentation for valid methods")}if(typeof z!=="function")throw new S("$.faker",`Invalid faker method: "${q}" is not a function`,"Check faker.js documentation for valid methods")}function y4(q){return q.type==="string"&&q.faker===void 0&&q.format===void 0&&q.minLength===void 0&&q.maxLength===void 0&&!R0(q)}function A4(q){return y(q)&&q.type==="null"&&Object.keys(q).length===1}function p7(q,j){for(let K of["anyOf","oneOf"]){let z=q[K];if(!Array.isArray(z)||z.length!==2)continue;let[b,P]=z,B=A4(b)?P:A4(P)?b:void 0;if(!y(B))continue;let{[K]:F,...G}=q;if(j&&Object.keys(G).some((W)=>Object.hasOwn(B,W)))return;return{...B,...G,schmockNullable:!0}}return}function l7(q){if(q.schmockNullable===!1)return q;let j=q.schmockNullable===!0,K=p7(q,!j);if(K)return K;if(!j&&!d7(q))return q;if(q.schmockNullable=!0,Array.isArray(q.type)){let z=q.type.filter((b)=>b!=="null");if(z.length===1)q.type=z[0];else if(z.length>0)q.type=z}if(Array.isArray(q.enum)){let z=q.enum.filter((b)=>b!==null);if(z.length>0)q.enum=z}return q}function d7(q){if(!Array.isArray(q.type)||!q.type.includes("null"))return!1;if(!q.type.some((j)=>j!=="null"))return!1;if(q.const===null)return!1;if(Array.isArray(q.enum)&&q.enum.every((j)=>j===null))return!1;return!0}var n=Symbol("root-schema"),Z7=new Set(["string","number","integer","boolean"]);function h7(q){let j=Array.isArray(q.type)?q.type.filter((K)=>K!=="null"):[q.type];return j.length===1&&Z7.has(String(j[0]))}function m7(q){let j=[];if(/ies$/i.test(q))j.push(`${q.slice(0,-3)}y`);if(/[^s]s$/i.test(q))j.push(q.slice(0,-1));if(/(ses|xes|zes|ches|shes)$/i.test(q))j.push(q.slice(0,-2));return j}function i7(q,j){if(q===n||!h7(j))return n;for(let K of m7(q))if(p0(K,j))return K;return n}function N4(q){if(!q||typeof q!=="object")return q;return Q4(q,{cache:new Map},n)}function Q4(q,j,K){let z=j.cache.get(q);if(!z)z=new Map,j.cache.set(q,z);let b=z.get(K);if(b)return b;let P=l7({...q});if(z.set(K,P),K!==n&&P.faker){if(typeof P.faker==="string")M0(P.faker)}else o7(P,j,K),n7(P,K);return r7(P),P}function o7(q,j,K){let z=U0(q,(b,P)=>y(b)?Q4(b,j,$7({context:K,child:b,slot:P})):b);for(let{keyword:b,value:P}of z)Reflect.set(q,b,P)}function $7(q){let{context:j,child:K,slot:z}=q;if(z.keyword==="properties"&&z.location.form==="map")return z.location.name;if(z.keyword==="items"&&z.location.form==="single")return i7(j,K);return n}function n7(q,j){if(j===n){if(y4(q))q.faker="lorem.word";return}if(q.allOf||q.anyOf||q.oneOf||R0(q))return;let z=p0(j,q);if(z){let{fakerMethod:b,format:P,trueProbability:B,fakerArgs:F}=z.mapping;if(q.faker=F?{[b]:[F]}:b,P&&(typeof q.format!=="string"||!u0.has(q.format)))q.format=P;if(B!==void 0&&q.schmockTrueProbability===void 0)q.schmockTrueProbability=B}else if(y4(q))q.faker="lorem.word"}function r7(q){let j=q.schmockTrueProbability;if(q.type!=="boolean"||typeof j!=="number"||!Number.isFinite(j)||q.const!==void 0||q.enum!==void 0)return;q.faker={"datatype.boolean":[{probability:j}]}}function _4(q){return{schema:q,enhanced:N4(q)}}function s7(q,j){return n0(q,"$",j),_4(q)}function i3(q){let[j,K]=o6([q.schema,q.overrides]);if(!y(j))throw new s0("$","Schema must be a valid JSON Schema object");if(K!==void 0&&!Q(K))throw new s0("$.overrides","Overrides must be an object mapping paths to values");let z=j,b=K,P=q.count,B=q.seed;n0(z,"$",P);let F;return{name:"faker",version:a0,async process(G,W){if(W!==void 0&&W!==null)return{context:G,response:W};try{F??=_4(z);let V=await H4(F,{schema:z,count:P,overrides:b,params:G.params,state:G.routeState,query:G.query,seed:B});return{context:G,response:V}}catch(V){if(V instanceof s0||V instanceof S4)throw V;throw new c7(G.path,V instanceof Error?V:Error(String(V)),z)}}}}async function o3(q){return H4(s7(q.schema,q.count),q)}async function H4(q,j){let{count:K,overrides:z,params:b,state:P,query:B,seed:F}=j,{schema:G}=q,W=$6(F),V=n6(W),L=q.enhanced;if($(G,"array")&&G.items){let J=a6(G,K,V);if(J>E)throw new S4("array_size",E,J);L={...L,minItems:J,maxItems:J}}let O=await c6(L,W,F!==void 0?T0:void 0);if(O=j4(O,L,V),Array.isArray(O)){let J=O.map((A)=>E0(A,z,b,P,B));return z0(J),J}return O=E0(O,z,b,P,B),z0(O),O}export{o3 as generateFromSchema,i3 as fakerPlugin,g as MAX_STRING_LENGTH,B0 as MAX_SCHEMA_NODES,o as MAX_OBJECT_PROPERTIES,P0 as MAX_NESTING_DEPTH,i as MAX_GENERATED_NODES,E as MAX_ARRAY_SIZE};
|
package/dist/jsf-config.d.ts
CHANGED
|
@@ -4,6 +4,10 @@ import { type JsonSchema } from "json-schema-faker-private";
|
|
|
4
4
|
import { DETERMINISTIC_REF_DATE } from "./constants.js";
|
|
5
5
|
export { DETERMINISTIC_REF_DATE };
|
|
6
6
|
type JsfObjectSchema = Exclude<JsonSchema, boolean>;
|
|
7
|
+
export interface NormalizeSchemaOptions {
|
|
8
|
+
/** Seed for the keys generated to satisfy `patternProperties`. */
|
|
9
|
+
patternKeySeed?: number;
|
|
10
|
+
}
|
|
7
11
|
/**
|
|
8
12
|
* Create isolated faker instance to avoid race conditions.
|
|
9
13
|
* Each generation gets its own faker instance to ensure thread-safety.
|
|
@@ -29,10 +33,9 @@ export declare function createSeededRandom(seed: number): () => number;
|
|
|
29
33
|
* json-schema-faker consumes tuple schemas through the 2020-12 `prefixItems`
|
|
30
34
|
* keyword. Convert Draft 7 tuple `items` recursively at the library boundary.
|
|
31
35
|
*/
|
|
32
|
-
export declare function normalizeSchemaForJsf(schema: JSONSchema7): JsfObjectSchema;
|
|
36
|
+
export declare function normalizeSchemaForJsf(schema: JSONSchema7, options?: NormalizeSchemaOptions): JsfObjectSchema;
|
|
33
37
|
/**
|
|
34
38
|
* Generate data from a JSON schema using json-schema-faker 0.6.0 async API.
|
|
35
39
|
* Stateless — each call is self-contained with its own faker instance and options.
|
|
36
40
|
*/
|
|
37
41
|
export declare function generateWithJsf(schema: JSONSchema7, seed: number, refDate?: string): Promise<unknown>;
|
|
38
|
-
//# sourceMappingURL=jsf-config.d.ts.map
|
package/dist/output-limits.d.ts
CHANGED
package/dist/overrides.d.ts
CHANGED
|
@@ -19,4 +19,3 @@ export declare function determineArrayCount(schema: JSONSchema7, explicitCount?:
|
|
|
19
19
|
* @returns Data with overrides applied
|
|
20
20
|
*/
|
|
21
21
|
export declare function applyOverrides(data: unknown, overrides?: Record<string, unknown>, params?: Record<string, string>, state?: Record<string, unknown>, query?: Record<string, string>): unknown;
|
|
22
|
-
//# sourceMappingURL=overrides.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { JSONSchema7 } from "json-schema";
|
|
2
|
+
/**
|
|
3
|
+
* Reintroduce null at ~5% on nodes the enhancer marked `schmockNullable`.
|
|
4
|
+
*
|
|
5
|
+
* json-schema-faker generates the non-null shape (the enhancer collapsed the
|
|
6
|
+
* union), so this walks the generated value alongside the ENHANCED schema.
|
|
7
|
+
* Every schema that describes a value applies to it: `$ref` targets, every
|
|
8
|
+
* `allOf` branch, the one `anyOf`/`oneOf` branch the value structurally
|
|
9
|
+
* matches, and `properties`, `patternProperties` or `additionalProperties`
|
|
10
|
+
* for each key of an object. The walk is driven by the value, so it is finite
|
|
11
|
+
* even over a recursive schema.
|
|
12
|
+
*
|
|
13
|
+
* A node is rolled at most once, and only when null satisfies every schema
|
|
14
|
+
* that constrains it — an `allOf` sibling that declares a non-null type keeps
|
|
15
|
+
* the value.
|
|
16
|
+
*
|
|
17
|
+
* Boolean weighting (`schmockTrueProbability`) is not applied here: the
|
|
18
|
+
* enhancer compiles it into the faker call, so it reaches every node JSF
|
|
19
|
+
* generates.
|
|
20
|
+
*/
|
|
21
|
+
export declare function applyNullableRolls(data: unknown, root: JSONSchema7, random: () => number): unknown;
|
|
@@ -1,14 +1,120 @@
|
|
|
1
1
|
import type { JSONSchema7 } from "json-schema";
|
|
2
2
|
export interface SchemaChild {
|
|
3
3
|
schema: JSONSchema7;
|
|
4
|
+
/** The `SCHEMA_KEYWORDS` keyword the child sits under. */
|
|
5
|
+
keyword: string;
|
|
4
6
|
path: string;
|
|
5
7
|
depthCost: 0 | 1;
|
|
6
8
|
frameCost: 0 | 1;
|
|
7
9
|
typedContinuation: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* False for keywords whose subschema never produces a value of its own:
|
|
12
|
+
* `not` only tests the value, `if` tests it unless a sibling `then` is
|
|
13
|
+
* present (json-schema-faker then merges `if` into what it generates), and
|
|
14
|
+
* `definitions`/`$defs` are reached for generation only through a `$ref`.
|
|
15
|
+
* Resource limits are charged along generating edges only.
|
|
16
|
+
*/
|
|
17
|
+
generates: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface ChildCost {
|
|
20
|
+
depthCost: 0 | 1;
|
|
21
|
+
frameCost: 0 | 1;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* How a keyword holds its subschemas: one schema (`not`), a list of schemas
|
|
25
|
+
* (`allOf`), or a name-to-schema map (`properties`).
|
|
26
|
+
*/
|
|
27
|
+
type SchemaKeywordShape = "single" | "array" | "map";
|
|
28
|
+
interface SchemaKeyword {
|
|
29
|
+
keyword: string;
|
|
30
|
+
shape: SchemaKeywordShape;
|
|
31
|
+
/** False when the subschema only tests or defines, never generating itself. */
|
|
32
|
+
generates: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* A sibling keyword that makes a non-generating subschema generate: when the
|
|
35
|
+
* parent also holds it, json-schema-faker merges this subschema into what it
|
|
36
|
+
* generates (`if` is merged with `then`).
|
|
37
|
+
*/
|
|
38
|
+
generatesWith?: string;
|
|
39
|
+
costs: ChildCost;
|
|
40
|
+
/** The declared type under which a child continues the typed chain. */
|
|
41
|
+
typedAs?: "array" | "object";
|
|
42
|
+
/** Draft-7 `items`: a single schema, or a list in the tuple form. */
|
|
43
|
+
tupleForm?: true;
|
|
8
44
|
}
|
|
9
45
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
46
|
+
* Every schema-bearing keyword Schmock forwards to json-schema-faker. The
|
|
47
|
+
* validating walker (`collectSchemaChildren`) and the two rewriting walkers
|
|
48
|
+
* (smart mapping in `schema-enhancement.ts`, JSF normalization in
|
|
49
|
+
* `jsf-config.ts`) all read this one table, so a keyword added here is
|
|
50
|
+
* validated, enhanced and normalized alike.
|
|
51
|
+
*
|
|
52
|
+
* Order is load-bearing: children are visited in table order, and JSF
|
|
53
|
+
* normalization draws a seed for every `patternProperties` key it invents in
|
|
54
|
+
* visiting order. Reordering entries changes seeded output.
|
|
55
|
+
*
|
|
56
|
+
* Known gap: `unevaluatedProperties` and `unevaluatedItems` are not listed.
|
|
57
|
+
* No walker descends into them, and JSF normalization strips them (they are
|
|
58
|
+
* not in `JSF_SCHEMA_KEYWORDS`), so they are neither validated nor generated.
|
|
59
|
+
* Adding them here would also require forwarding them to json-schema-faker.
|
|
60
|
+
*/
|
|
61
|
+
export declare const SCHEMA_KEYWORDS: readonly SchemaKeyword[];
|
|
62
|
+
/** Where an entry sits inside its keyword. */
|
|
63
|
+
type ChildLocation = {
|
|
64
|
+
form: "single";
|
|
65
|
+
} | {
|
|
66
|
+
form: "array";
|
|
67
|
+
index: number;
|
|
68
|
+
} | {
|
|
69
|
+
form: "map";
|
|
70
|
+
name: string;
|
|
71
|
+
};
|
|
72
|
+
/** The keyword and position a mapped entry comes from. */
|
|
73
|
+
export interface SchemaChildSlot {
|
|
74
|
+
keyword: string;
|
|
75
|
+
location: ChildLocation;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The first list or map keyword whose value has the wrong shape (an `allOf`
|
|
79
|
+
* object, a `patternProperties` string). Every walker skips such a keyword,
|
|
80
|
+
* so validation rejects it rather than let it pass unchecked.
|
|
81
|
+
*/
|
|
82
|
+
export declare function misshapenKeyword(schema: JSONSchema7): string | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Enumerate every schema-bearing keyword forwarded to json-schema-faker, in
|
|
85
|
+
* `SCHEMA_KEYWORDS` order. Validation consumes this list; the rewriting
|
|
86
|
+
* walkers use `mapSchemaChildren` over the same table.
|
|
12
87
|
*/
|
|
13
88
|
export declare function collectSchemaChildren(schema: JSONSchema7, path: string): SchemaChild[];
|
|
14
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Maps one entry of a schema-bearing keyword. It sees every entry (schema
|
|
91
|
+
* objects, boolean schemas and malformed values alike) and returns the
|
|
92
|
+
* replacement, or `undefined` to drop the entry. For a single-schema keyword,
|
|
93
|
+
* `undefined` yields nothing for that keyword, so the caller keeps whatever it
|
|
94
|
+
* already holds there.
|
|
95
|
+
*/
|
|
96
|
+
type SchemaChildMapper<T> = (child: unknown, slot: SchemaChildSlot) => T | undefined;
|
|
97
|
+
type MappedKeyword<T> = {
|
|
98
|
+
keyword: string;
|
|
99
|
+
form: "single";
|
|
100
|
+
value: T;
|
|
101
|
+
} | {
|
|
102
|
+
keyword: string;
|
|
103
|
+
form: "array";
|
|
104
|
+
value: T[];
|
|
105
|
+
} | {
|
|
106
|
+
keyword: string;
|
|
107
|
+
form: "map";
|
|
108
|
+
value: Record<string, T>;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Rewrite the children of every schema-bearing keyword of `schema`, keyword by
|
|
112
|
+
* keyword in `SCHEMA_KEYWORDS` order. The result is a new container per
|
|
113
|
+
* keyword (a fresh array or map, entry order kept); `schema` is not modified.
|
|
114
|
+
*
|
|
115
|
+
* Lazy on purpose: a keyword's children are mapped only when iteration reaches
|
|
116
|
+
* it, so a caller can act between keywords (JSF normalization invents
|
|
117
|
+
* `patternProperties` keys before it descends into `items`).
|
|
118
|
+
*/
|
|
119
|
+
export declare function mapSchemaChildren<T>(schema: JSONSchema7, fn: SchemaChildMapper<T>): Generator<MappedKeyword<T>>;
|
|
120
|
+
export {};
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { JSONSchema7 } from "json-schema";
|
|
2
|
+
/** A plain key/value object: not null and not an array. */
|
|
3
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
4
|
+
/**
|
|
5
|
+
* A schema object, as opposed to a boolean schema or a malformed entry. The
|
|
6
|
+
* test is structural only; `validateSchema` checks what the object holds.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isJSONSchema7(value: unknown): value is JSONSchema7;
|
|
9
|
+
/**
|
|
10
|
+
* Compile a JSON Schema `pattern` the one way every faker step reads it: with
|
|
11
|
+
* the `u` flag first, then without it for patterns only the legacy grammar
|
|
12
|
+
* accepts (`^x\-[a-z]+$` has an identity escape that `u` forbids). Key
|
|
13
|
+
* invention, key matching and pattern validation all go through here, so they
|
|
14
|
+
* agree on which patterns exist. Undefined when neither form compiles.
|
|
15
|
+
*/
|
|
16
|
+
export declare function compilePattern(source: string): RegExp | undefined;
|
package/dist/validation.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { JSONSchema7 } from "json-schema";
|
|
2
|
-
export declare function isJSONSchema7(value: unknown): value is JSONSchema7;
|
|
3
2
|
/**
|
|
4
3
|
* Type-aware check that tolerates the union form the OpenAPI normalizer emits
|
|
5
4
|
* for nullable schemas (`type: ["array", "null"]`).
|
|
@@ -10,11 +9,9 @@ export declare function hasType(schema: {
|
|
|
10
9
|
/**
|
|
11
10
|
* Validate JSON Schema structure and enforce resource limits.
|
|
12
11
|
*
|
|
13
|
-
* Walks every distinct schema node and edge exactly once
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* `not`, `if`/`then`/`else`, `definitions`, `$defs` and the schema form of
|
|
17
|
-
* `dependencies` — checking structure, faker methods, cycles, nesting depth,
|
|
12
|
+
* Walks every distinct schema node and edge exactly once, through every
|
|
13
|
+
* keyword in `SCHEMA_KEYWORDS` (schema-children.ts, in that table's order),
|
|
14
|
+
* checking structure, faker methods, cycles, nesting depth,
|
|
18
15
|
* array sizes and generation budgets. Local JSON Pointer and embedded `$id`
|
|
19
16
|
* references become graph edges: active-path re-entry is a cycle, while a
|
|
20
17
|
* completed target is a shared DAG node whose memoized estimate is charged at
|
|
@@ -36,4 +33,3 @@ export declare function validateSchema(schema: JSONSchema7, path?: string, expli
|
|
|
36
33
|
* @throws {SchemaValidationError} When faker method format or namespace is invalid
|
|
37
34
|
*/
|
|
38
35
|
export declare function validateFakerMethod(fakerMethod: string): void;
|
|
39
|
-
//# sourceMappingURL=validation.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schmock/faker",
|
|
3
3
|
"description": "Faker-powered automatic data generation for Schmock",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.5.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -37,23 +37,23 @@
|
|
|
37
37
|
"test": "vitest run",
|
|
38
38
|
"test:watch": "vitest --watch",
|
|
39
39
|
"test:bdd": "vitest run --config vitest.config.bdd.ts",
|
|
40
|
-
"lint": "biome check src
|
|
41
|
-
"lint:fix": "biome check --write --unsafe src
|
|
40
|
+
"lint": "biome check src/",
|
|
41
|
+
"lint:fix": "biome check --write --unsafe src/",
|
|
42
42
|
"check:publish": "publint && attw --pack --ignore-rules cjs-resolves-to-esm"
|
|
43
43
|
},
|
|
44
44
|
"license": "MIT",
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@types/json-schema": "^7.0.15",
|
|
47
|
-
"@faker-js/faker": "^10.5.0"
|
|
48
|
-
"json-schema-faker": "^0.6.2",
|
|
49
|
-
"json-schema-faker-private": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.6.3.tgz"
|
|
47
|
+
"@faker-js/faker": "^10.5.0"
|
|
50
48
|
},
|
|
51
49
|
"peerDependencies": {
|
|
52
|
-
"@schmock/core": "^2.
|
|
50
|
+
"@schmock/core": "^2.5.0"
|
|
53
51
|
},
|
|
54
52
|
"devDependencies": {
|
|
55
53
|
"@amiceli/vitest-cucumber": "^7.0.0",
|
|
56
54
|
"@types/node": "^26.1.0",
|
|
55
|
+
"json-schema-faker": "0.6.2",
|
|
56
|
+
"json-schema-faker-private": "npm:json-schema-faker@0.6.3",
|
|
57
57
|
"vitest": "^4.1.9"
|
|
58
58
|
}
|
|
59
59
|
}
|
package/dist/constants.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,aAAa,QAAwB,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAE7C,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAGjE,eAAO,MAAM,yBAAyB,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-mappings.d.ts","sourceRoot":"","sources":["../src/field-mappings.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AA0lCD,eAAO,MAAM,kBAAkB,EAAE,YAAY,EAyB5C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-name-matcher.d.ts","sourceRoot":"","sources":["../src/field-name-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,aAkB9B,CAAC;AAOH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBxD;AA0ED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAM5E;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,QAAQ,GAAE,YAAY,EAAuB,GAC5C,WAAW,GAAG,SAAS,CAsHzB"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAQ9C,OAAO,EAEL,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,gBAAgB,CAAC;AAaxB,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,CAAC;AAMpD,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAoEvE;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,CA+ClB"}
|
package/dist/jsf-config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsf-config.d.ts","sourceRoot":"","sources":["../src/jsf-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAC;AACtE,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAiB,MAAM,gBAAgB,CAAC;AAKvE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAGlC,KAAK,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AA8EpD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,SASlE;AAwDD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAsFD,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,CAGpE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,MAAM,CAS7D;AAqCD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAE1E;AA8JD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CA4BlB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"output-limits.d.ts","sourceRoot":"","sources":["../src/output-limits.ts"],"names":[],"mappings":"AAQA,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAyE7D"}
|
package/dist/overrides.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../src/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,GAAE,MAAM,MAAoB,GACjC,MAAM,CA6BR;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAoCT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-children.d.ts","sourceRoot":"","sources":["../src/schema-children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAUD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACX,WAAW,EAAE,CAmGf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-enhancement.d.ts","sourceRoot":"","sources":["../src/schema-enhancement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA4F/C,gFAAgF;AAChF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,GAClB,WAAW,CAGb"}
|
package/dist/validation.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAC;AA2BtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKzE;AAyCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,IAAI,SAAM,EACV,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CA2FN;AAs9BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAmC7D"}
|