@powerlines/schema 0.11.76 → 0.11.78
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/dist/index.cjs +276 -23
- package/dist/index.d.cts +43 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +43 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +275 -24
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1197,10 +1197,51 @@ declare function stringifyType(schema?: JsonSchema): string;
|
|
|
1197
1197
|
* @returns A string representation of the value's type, which may be influenced by the provided JSON Schema primitive type hint. The function handles various JavaScript types and formats them accordingly, including special handling for `undefined`, `null`, booleans, numbers (with formatting), strings, objects, and arrays. If a specific type hint is provided, it will take precedence in determining the string representation of the value.
|
|
1198
1198
|
*/
|
|
1199
1199
|
declare function getJsonSchemaType(value?: unknown): JsonSchemaType | undefined;
|
|
1200
|
+
/**
|
|
1201
|
+
* Generates standalone parser code for a JSON Schema.
|
|
1202
|
+
*
|
|
1203
|
+
* @remarks
|
|
1204
|
+
* The generated `parse` function reads an arbitrary input value and converts it
|
|
1205
|
+
* into the shape described by the schema. It walks the schema recursively to:
|
|
1206
|
+
*
|
|
1207
|
+
* - resolve local `$ref` pointers (`#/$defs/*` and `#/definitions/*`) into
|
|
1208
|
+
* dedicated parser functions so recursive schemas are supported,
|
|
1209
|
+
* - apply `default` values for object properties (and root/array values) that
|
|
1210
|
+
* are missing from the input,
|
|
1211
|
+
* - coerce primitive values to the declared type (for example `"42"` to `42`
|
|
1212
|
+
* for an `integer` schema, or `1` to `true` for a `boolean` schema),
|
|
1213
|
+
* - validate `const`, `enum`, `oneOf`/`anyOf` and `allOf` constraints, and
|
|
1214
|
+
* - collect detailed, path-aware errors and throw a `ParserError` when the
|
|
1215
|
+
* input cannot be converted into a valid value.
|
|
1216
|
+
*
|
|
1217
|
+
* @param schema - The JSON Schema to generate parser code for.
|
|
1218
|
+
* @returns The generated standalone parser code as a string.
|
|
1219
|
+
*/
|
|
1220
|
+
declare function generateParserCode(schema: JsonSchema): string;
|
|
1200
1221
|
/**
|
|
1201
1222
|
* Generates standalone JSON Schema validation code using Ajv.
|
|
1223
|
+
*
|
|
1224
|
+
* @remarks
|
|
1225
|
+
* The generated code includes a validation function that can be used to validate data against the provided JSON Schema at runtime. The validation function will throw an error if the data does not conform to the schema, providing detailed information about the validation errors.
|
|
1226
|
+
*
|
|
1227
|
+
* @param schema - The JSON Schema to generate validation code for.
|
|
1228
|
+
* @param refsOrFuncts - Optional additional references or functions for Ajv's standalone code generation.
|
|
1229
|
+
* @returns The generated standalone validation code as a string.
|
|
1230
|
+
*/
|
|
1231
|
+
declare function generateValidationCode(schema: JsonSchema, refsOrFuncts?: Parameters<typeof standaloneCode>[1]): string;
|
|
1232
|
+
/**
|
|
1233
|
+
* Generates standalone JavaScript code for validating and parsing data according to a JSON Schema.
|
|
1234
|
+
*
|
|
1235
|
+
* @remarks
|
|
1236
|
+
* The generated code includes:
|
|
1237
|
+
* - Validation code generated by Ajv for the provided JSON Schema, which can be used to validate data against the schema at runtime. The validation function will throw an error if the data does not conform to the schema, providing detailed information about the validation errors.
|
|
1238
|
+
* - Parsing code generated for the provided JSON Schema, which can be used to parse and validate data against the schema at runtime. The parsing function will apply default values specified in the schema if they are not present in the input data, throw an error if the input data does not conform to the schema (providing detailed information about the validation errors), and return the parsed data if it is valid according to the schema.
|
|
1239
|
+
*
|
|
1240
|
+
* @param schema - The JSON Schema to generate code for.
|
|
1241
|
+
* @param refsOrFuncts - Optional additional references or functions for Ajv's standalone code generation.
|
|
1242
|
+
* @returns The generated standalone validation and parsing code as a string.
|
|
1202
1243
|
*/
|
|
1203
|
-
declare function generateCode(
|
|
1244
|
+
declare function generateCode(schema: JsonSchema, refsOrFuncts?: Parameters<typeof standaloneCode>[1]): string;
|
|
1204
1245
|
//#endregion
|
|
1205
1246
|
//#region src/extract.d.ts
|
|
1206
1247
|
/**
|
|
@@ -1874,5 +1915,5 @@ declare module "zod" {
|
|
|
1874
1915
|
}
|
|
1875
1916
|
}
|
|
1876
1917
|
//#endregion
|
|
1877
|
-
export { BaseSchemaSource, BundleOptions, ExtractedSchema, GetPropertiesResult, JSON_SCHEMA_METADATA_KEYS, JSON_SCHEMA_PRIMITIVE_TYPES, JSON_SCHEMA_TYPES, JsonSchema, JsonSchemaAllOf, JsonSchemaAny, JsonSchemaAnyOf, JsonSchemaArray, JsonSchemaBigint, JsonSchemaBoolean, JsonSchemaConditionalKeywords, JsonSchemaDate, JsonSchemaDecimal, JsonSchemaDecimalFormat, JsonSchemaEnum, JsonSchemaInteger, JsonSchemaIntegerFormat, JsonSchemaKeywords, JsonSchemaLike, JsonSchemaLiteral, JsonSchemaLogicKeywords, JsonSchemaMap, JsonSchemaMetadataKeywords, JsonSchemaNativeEnum, JsonSchemaNever, JsonSchemaNull, JsonSchemaNullable, JsonSchemaNumber, JsonSchemaNumberFormat, JsonSchemaObject, JsonSchemaPrimitiveType, JsonSchemaPrimitiveUnion, JsonSchemaRecord, JsonSchemaRecordPropertyNames, JsonSchemaRef, JsonSchemaSchemaSource, JsonSchemaSet, JsonSchemaString, JsonSchemaStringFormat, JsonSchemaTuple, JsonSchemaType, JsonSchemaTypeNames, JsonSchemaUndefined, JsonSchemaUnion, JsonSchemaUnknown, ReflectionSchemaSource, Schema, SchemaInput, SchemaInputVariant, SchemaSource, SchemaSourceInput, SchemaSourceVariant, StandardSchemaSchemaSource, UntypedInputObject, UntypedSchema, UntypedSchemaSource, VALID_SOURCE_FILE_EXTENSIONS, ValibotSchema, ValibotSchemaSource, Zod3SchemaSource, addProperty, applyJsonSchemaMetadata, bundle, bundleReferences, extract, extractHash, extractJsonSchema, extractReflection, extractResolvedVariant, extractSchema, extractSchemaWithSource, extractSource, extractVariant, generateCode, getCacheDirectory, getCacheFilePath, getJsonSchema, getJsonSchemaObject, getJsonSchemaType, getPrimarySchemaType, getProperties, getPropertiesList, isJsonSchema, isJsonSchemaAllOf, isJsonSchemaAny, isJsonSchemaAnyOf, isJsonSchemaArray, isJsonSchemaBigint, isJsonSchemaBoolean, isJsonSchemaDate, isJsonSchemaDecimal, isJsonSchemaEnum, isJsonSchemaInteger, isJsonSchemaKeywords, isJsonSchemaLiteral, isJsonSchemaMap, isJsonSchemaNativeEnum, isJsonSchemaNever, isJsonSchemaNull, isJsonSchemaNullable, isJsonSchemaNumber, isJsonSchemaObject, isJsonSchemaPrimitiveType, isJsonSchemaPrimitiveUnion, isJsonSchemaRecord, isJsonSchemaRef, isJsonSchemaSet, isJsonSchemaString, isJsonSchemaTuple, isJsonSchemaType, isJsonSchemaUndefined, isJsonSchemaUnion, isJsonSchemaUnknown, isNullOnlyJsonSchema, isPropertyOptional, isSchema, isSchemaNullable, isSchemaObject, isSchemaWithSource, isStandardSchema, isUntypedInput, isUntypedInputStrict, isUntypedSchema, isUntypedSchemaStrict, isValibotSchema, isValidSchemaInputFile, merge, readSchema, readSchemaSafe, readSchemaTypes, reflectionToJsonSchema, resolve, resolveModule, resolveReflection, stringifyType, stringifyValue, writeSchema };
|
|
1918
|
+
export { BaseSchemaSource, BundleOptions, ExtractedSchema, GetPropertiesResult, JSON_SCHEMA_METADATA_KEYS, JSON_SCHEMA_PRIMITIVE_TYPES, JSON_SCHEMA_TYPES, JsonSchema, JsonSchemaAllOf, JsonSchemaAny, JsonSchemaAnyOf, JsonSchemaArray, JsonSchemaBigint, JsonSchemaBoolean, JsonSchemaConditionalKeywords, JsonSchemaDate, JsonSchemaDecimal, JsonSchemaDecimalFormat, JsonSchemaEnum, JsonSchemaInteger, JsonSchemaIntegerFormat, JsonSchemaKeywords, JsonSchemaLike, JsonSchemaLiteral, JsonSchemaLogicKeywords, JsonSchemaMap, JsonSchemaMetadataKeywords, JsonSchemaNativeEnum, JsonSchemaNever, JsonSchemaNull, JsonSchemaNullable, JsonSchemaNumber, JsonSchemaNumberFormat, JsonSchemaObject, JsonSchemaPrimitiveType, JsonSchemaPrimitiveUnion, JsonSchemaRecord, JsonSchemaRecordPropertyNames, JsonSchemaRef, JsonSchemaSchemaSource, JsonSchemaSet, JsonSchemaString, JsonSchemaStringFormat, JsonSchemaTuple, JsonSchemaType, JsonSchemaTypeNames, JsonSchemaUndefined, JsonSchemaUnion, JsonSchemaUnknown, ReflectionSchemaSource, Schema, SchemaInput, SchemaInputVariant, SchemaSource, SchemaSourceInput, SchemaSourceVariant, StandardSchemaSchemaSource, UntypedInputObject, UntypedSchema, UntypedSchemaSource, VALID_SOURCE_FILE_EXTENSIONS, ValibotSchema, ValibotSchemaSource, Zod3SchemaSource, addProperty, applyJsonSchemaMetadata, bundle, bundleReferences, extract, extractHash, extractJsonSchema, extractReflection, extractResolvedVariant, extractSchema, extractSchemaWithSource, extractSource, extractVariant, generateCode, generateParserCode, generateValidationCode, getCacheDirectory, getCacheFilePath, getJsonSchema, getJsonSchemaObject, getJsonSchemaType, getPrimarySchemaType, getProperties, getPropertiesList, isJsonSchema, isJsonSchemaAllOf, isJsonSchemaAny, isJsonSchemaAnyOf, isJsonSchemaArray, isJsonSchemaBigint, isJsonSchemaBoolean, isJsonSchemaDate, isJsonSchemaDecimal, isJsonSchemaEnum, isJsonSchemaInteger, isJsonSchemaKeywords, isJsonSchemaLiteral, isJsonSchemaMap, isJsonSchemaNativeEnum, isJsonSchemaNever, isJsonSchemaNull, isJsonSchemaNullable, isJsonSchemaNumber, isJsonSchemaObject, isJsonSchemaPrimitiveType, isJsonSchemaPrimitiveUnion, isJsonSchemaRecord, isJsonSchemaRef, isJsonSchemaSet, isJsonSchemaString, isJsonSchemaTuple, isJsonSchemaType, isJsonSchemaUndefined, isJsonSchemaUnion, isJsonSchemaUnknown, isNullOnlyJsonSchema, isPropertyOptional, isSchema, isSchemaNullable, isSchemaObject, isSchemaWithSource, isStandardSchema, isUntypedInput, isUntypedInputStrict, isUntypedSchema, isUntypedSchemaStrict, isValibotSchema, isValidSchemaInputFile, merge, readSchema, readSchemaSafe, readSchemaTypes, reflectionToJsonSchema, resolve, resolveModule, resolveReflection, stringifyType, stringifyValue, writeSchema };
|
|
1878
1919
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/bundle.ts","../src/constants.ts","../src/types.ts","../src/codegen.ts","../src/extract.ts","../src/helpers.ts","../src/metadata.ts","../src/persistence.ts","../src/reflection.ts","../src/resolve.ts","../src/type-checks.ts","../src/index.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/bundle.ts","../src/constants.ts","../src/types.ts","../src/codegen.ts","../src/extract.ts","../src/helpers.ts","../src/metadata.ts","../src/persistence.ts","../src/reflection.ts","../src/resolve.ts","../src/type-checks.ts","../src/index.ts"],"mappings":";;;;;;;;;;;;KA6BY,aAAA,GAAgB,WAAA,CAAY,YAAA;EACtC,IAAA;EACA,OAAA,GAAU,WAAA,CAAY,cAAA;AAAA;;;;;AAFxB;;;;iBAasB,MAAA,kBAAwB,iBAAA,EAC5C,OAAA,EAAS,QAAA,EACT,IAAA,UACA,OAAA,GAAS,aAAA,GACR,OAAA,CAAQ,UAAA;;;cC1BE,4BAAA;AAAA,cAiBA,mBAAA;EAAA;;;;;;;;cAUA,2BAAA;AAAA,cAQA,iBAAA;AAAA,cAMA,yBAAA;;;;;;KChCD,kBAAA,GAAqB,WAAW;;AFA5C;;KEKY,aAAA,GAAgB,QAAO;;;;;;;;KASvB,aAAA,qDAGK,SAAA,YAAqB,SAAA,aAClC,UAAA,CAAW,MAAA,EAAQ,OAAA,EAAS,MAAA;;;;;;KAOpB,uBAAA,WACF,2BAA2B;AFbrC;;;;;AAAA,KEoBY,cAAA,WAAyB,iBAAiB;;;;KAK1C,uBAAA;;;;KAaA,uBAAA;;;;KAKA,sBAAA,GACR,uBAAA,GACA,uBAAuB;;;AFzCN;KE8CT,sBAAA;;;ADxEZ;;;UCqGiB,0BAAA;EDtFK;AAEtB;;;;;EC2FE,GAAA;;;;;;;EAQA,OAAA;EDzFW;;;;AAMH;AAEV;ECyFE,WAAA,GAAc,MAAA;;;ADrFN;AAEV;;;EC2FE,QAAA;ED7EyD;;;;AC9C3D;EAkIE,OAAA;;;AAlI0C;AAK5C;;;;AAAmC;EAuIjC,KAAA,GAAQ,MAAA,SAAe,UAAA;EA9HA;;;;;;;EAuIvB,WAAA;EAnIY;;;;;;EA2IZ,cAAA;EA3IE;;;EAgJF,IAAA;EAhJoC;AAAA;AAOtC;EA8IE,KAAA;;;AA7ImC;EAkJnC,WAAA;EA3IwB;;;EAgJxB,IAAA;EA3IU;;;EAgJV,QAAA;EAhJiC;AAanC;;EAwIE,KAAA;EAxIiC;AAAA;AAKnC;EAwIE,IAAA;;;AAtIyB;EA2IzB,UAAA;IAGM,OAAA;IAAkB,KAAA;IAAgB,WAAA;EAAA;EA5GzB;;;EAiHf,MAAA;EAjEuB;;;EAsEvB,MAAA;EA/GA;;;;;EAsHA,QAAA;EA7EA;;;EAkFA,OAAA;EAjEA;;;EAsEA,QAAA;EAlDA;;;EAuDA,SAAA;AAAA;;;;;;;UASe,uBAAA;EAdf;;;AAKS;AASX;;;;EASE,KAAA,GAAQ,UAAA;EAoBA;;;;;;;;EAVR,KAAA,GAAQ,UAAA;EAUA;;;;AAUQ;AASlB;;;EAnBE,KAAA,GAAQ,UAAA;EAsCD;;;;;;;;EA5BP,GAAA,GAAM,UAAA;AAAA;;AAsCW;AAMnB;;;;UAnCiB,6BAAA;EAqCf;;;;;;;AAA6B;EA5B7B,EAAA,GAAK,UAAA;EAiCwB;;;AAMzB;AAQN;;;;EArCE,IAAA,GAAO,UAAA;EA8DI;;;;;;;;EApDX,IAAA,GAAO,UAAA;AAAA;;;;KAMG,kBAAA,GAAqB,0BAAA,GAC/B,uBAAA,GACA,6BAAA;;;;UAKe,aAAA,SAAsB,kBAAkB;EAuEvD;;;AAAuC;AAMzC;EAvEE,IAAI;AAAA;;;;;;UAQW,eAAA,SAAwB,kBAAA;EAuFvC;;;EAnFA,IAAA;EAyGA;;AAAI;AAMN;;EAxGE,WAAA,GAAc,UAAA;EAwG6C;;;;;EAjG3D,KAAA,GAAQ,UAAA;EAuHE;;;;;EAhHV,QAAA,GAAW,UAAA;EA2HL;;;EAtHN,QAAA;EAmJM;;;EA9IN,QAAA;EAuJe;;;EAlJf,WAAA;EAkKM;;;EA7JN,WAAA;EAoJ0B;;;EA/I1B,WAAA;EAmJM;;;;;EA5IN,gBAAA,aAA6B,UAAA;AAAA;AA2J/B;;;AAAA,UArJiB,gBAAA,SAAyB,kBAAkB;EA8JxB;;;EA1JlC,IAAA;EAiJuC;;;EA5IvC,MAAA;EAqJkC;;AAAU;EAhJ5C,OAAA;EAsJiC;;;EAjJjC,gBAAA;EAiJyC;;;EA5IzC,OAAA;EAgJA;;;EA3IA,gBAAA;EAgJsC;AAAA;AAMxC;EAjJE,UAAA;;;;;;EAOA,OAAA;EA0IqC;;;EArIrC,IAAA;AAAA;;;;UAMe,iBAAA,SAA0B,kBAAkB;EAgKzD;;;EA5JF,IAAA;EAwKe;;;;;EAjKf,OAAA;AAAA;;AA0KI;AAMN;;;;;;KArKY,cAAA,GAAiB,kBAAA;EAyKT;AAAA;AAMpB;EAzKQ,IAAA;;;;EAKA,MAAA;EA6KN;;;EAlKM,OAAA;EA8KC;AAMT;;EA/KQ,OAAA;EA+KyB;;;;;EAxKzB,OAAA;AAAA;EAsLoB;;;EAhLpB,KAAA,EAAO,cAAc;AAAA;;;;;;UASZ,cAAA,0GAOP,kBAAA;EAgKiC;AAAA;AAS3C;EArKE,IAAA,EAAM,uBAAA;;;;EAKN,IAAA,EAAM,CAAA;EAyKN;;;;;EAlKA,OAAA,GAAU,CAAA;AAAA;AAAA,UAGK,eAAA,SAAwB,kBAAA;EAoMvC;;AAAI;EAhMJ,KAAA,EAAO,UAAA;EAsM0B;;;EAjMjC,qBAAA,aAAkC,UAAA;AAAA;;;;UAMnB,iBAAA,SAA0B,kBAAA;EA0M1B;;;EAtMf,KAAA;EAsMyC;;;EAjMzC,IAAA,GAAO,cAAA,GAAiB,cAAA;AAAA;AA0MQ;AAQlC;;AARkC,UApMjB,aAAA,SAAsB,kBAAA;EAuNT;;;EAnN5B,IAAA;EAoOiC;;;EA/NjC,QAAA;EAqPe;;;EAhPf,KAAA;IA8LwC;;;IA1LtC,IAAA;IA8LF;;;IAzLE,WAAA,GAAc,UAAA,EAAY,UAAA;IA0M5B;;;IArME,KAAA;IA4M+B;;;IAvM/B,QAAA;IAwNF;;;IAnNE,QAAA;EAAA;AAAA;;;;UAOa,oBAAA,SAA6B,kBAAkB;EAqO9D;;;EAjOA,IAAA;EAgPc;AAAA;AAGhB;EA9OE,IAAA;AAAA;;;;UAMe,eAAA,SAAwB,kBAAkB;EAsPzD;;;EAlPA,GAAA,EAAK,aAAA;AAAA;;;;UAMU,cAAA,SAAuB,kBAAkB;EA4R3C;AAAA;AAMf;EA9RE,IAAA;;;;EAKA,KAAA;EA0U6B;;;EArU7B,IAAA;EAoRqC;;;;;EA7QrC,OAAA;AAAA;;;;KAMU,kBAAA,GAAqB,kBAAA;EA8S/B;;;EAxSM,KAAA,GAAQ,UAAA,EAAY,cAAA;AAAA;EAkTa;AAMzC;;EAlTQ,IAAA,GACK,OAAA,CAAQ,cAAA,8BACA,OAAA,CAAQ,cAAA;AAAA;AAgTyB;AAKtD;;;;AALsD,UAvSrC,gBAAA,SAAyB,kBAAkB;EAiUzB;;;EA7TjC,IAAA;EAwS0D;;;EAnS1D,MAAA,GAAS,sBAAA;EAiTT;;;EA5SA,OAAA;EAmTiC;;;EA9SjC,gBAAA;EA0TU;;AAAM;EArThB,OAAA;EA2TyB;;;EAtTzB,gBAAA;EAqVQ;;;EAhVR,UAAA;EAyWuC;;;;;EAlWvC,OAAA;EA6Ta;;;EAxTb,IAAA;AAAA;;;;UAMe,iBAAA,SAA0B,gBAAgB;EAuV5B;;AAAU;EAnVvC,IAAA;EAyVmC;;;EApVnC,MAAA,GAAS,uBAAA;AAAA;;;;UAMM,iBAAA,SAA0B,gBAAgB;EA+V/C;;;EA3VV,IAAA;EA4VC;;;EAvVD,MAAA,GAAS,uBAAA;AAAA;;;;AAuVkC;AAK7C;UApViB,gBAAA,SAAyB,kBAAA;;;;EAIxC,IAAA;EAsV6D;;;;;EA/U7D,UAAA,GAAa,MAAA,SAAe,UAAA;EAqVtB;;AAAI;AAOZ;;;;AAAkE;EAlVhE,iBAAA,GAAoB,MAAA,SAAe,UAAA;EAuVJ;;;;;EAhV/B,oBAAA,aAAiC,UAAA;EAoVhB;AAAA;AAMnB;EArVE,QAAA;;;AAyVI;AASN;;EA3VE,OAAA,GAAU,MAAA;EA4VR;;;EAvVF,qBAAA,aAAkC,UAAA;EA2VhC;;;EAtVF,YAAA,GAAe,MAAA,oBAA0B,UAAA;EA0VvC;;;EArVF,iBAAA,GAAoB,MAAA;EAyVlB;;;;;;;;EA/UF,gBAAA,GAAmB,MAAA,SAAe,UAAA;EAwVhC;;;EAnVF,aAAA;EAqVe;;;EAhVf,aAAA;EA4TE;;;EAvTF,UAAA;EA2TE;;;EAtTF,cAAA;AAAA;AAAA,UAGe,gBAAA,SAAyB,kBAAkB;EAyTxD;;;EArTF,IAAA;EAyTE;;;EApTF,SAAA;EAwTE;;;EAnTF,SAAA;EAqTe;AAKjB;;EArTE,OAAA;EAwTc;;;;;;;;EA9Sd,MAAA,GAAS,sBAAA;EA8UY;;;;;EAvUrB,OAAA;EA+UQ;;;EA1UR,IAAA;EA8UO;;;;;EAvUP,gBAAA;EA6UgB;;;;;EAtUhB,eAAA;EA8UkC;;;;;EAvUlC,aAAA;AAAA;;;;UAMe,aAAA,SAAsB,kBAAA;EAsQrC;;;EAlQA,IAAA;EAqQA;;;EAhQA,WAAA;EAkQA;;;EA7PA,WAAA,GAAc,UAAA;EAkQd;;;EA7PA,KAAA,GAAQ,UAAA;EAiQR;;;EA5PA,QAAA,GAAW,UAAA;EAiQa;;;EA5PxB,QAAA;EA+PA;;;EA1PA,QAAA;EA+PA;;;EA1PA,WAAA;EA8PI;;;EAzPJ,WAAA;EA2PqB;;;EAtPrB,gBAAA,aAA6B,UAAA;AAAA;;;;KAMnB,6BAAA,GAAgC,UAAU;;;;UAKrC,gBAAA,SAAyB,kBAAA;EAoPxC;;;EAhPA,IAAA;EAkPA;;;;;;;;EAxOA,iBAAA,GAAoB,MAAA,SAAe,UAAA;EA4OA;;;;;EArOnC,oBAAA,aAAiC,UAAA;EAyOjC;;;EApOA,aAAA,GAAgB,6BAAA;EAqOI;;;;;EA9NpB,OAAA,GAAU,MAAA;AAAA;;;;KAMA,eAAA,GAAkB,kBAAA;EAgOd;;;EA5Nd,IAAA;EA8NA;;;EAzNA,QAAA;EA4NA;;;EAvNA,QAAA;EA0N6B;;;EArN7B,WAAA,EAAa,UAAA;EAyNb;;;;;;;;;AAOU;EApNV,KAAA,GAAQ,UAAA;EA0NqB;;;EArN7B,QAAA,GAAW,UAAA;EAgOD;;;EA3NV,WAAA;EA2NkD;AAKpD;;EA3NE,WAAA;EA4NE;;;EAvNF,WAAA;EA2NE;;;EAtNF,gBAAA,aAA6B,UAAA;AAAA;;;;UAMd,mBAAA,SAA4B,kBAAkB;EA+M3D;;;EA3MF,GAAA,EAAK,aAAA;EA8MC;AAAA;AAKR;;;EA5ME,OAAA;AAAA;;;;KAMU,eAAA,GAAkB,kBAAA,IAC3B,wBAAA,GAA2B,eAAA;;;;KAKlB,wBAAA,GAA2B,kBAAA;EAqMtB;;;EA/LT,IAAA,EAAM,uBAAA,GAA0B,uBAAA;AAAA;EAoM7B;;;EA9LH,IAAA;AAAA;;;;KAOI,iBAAA,GAAoB,kBAAA,GAAqB,aAAa;;;;UAKjD,eAAA,SAAwB,kBAAkB;EAqLtC;AAMrB;;EAvLE,KAAA,EAAO,UAAA;AAAA;;;;UAMQ,aAAA,SAAsB,kBAAkB;EAyL/C;;AAAiB;EArLzB,IAAI;AAAA;;;;;;;KASM,UAAA,GACR,gBAAA,GACA,iBAAA,GACA,iBAAA,GACA,gBAAA,GACA,iBAAA,GACA,cAAA,GACA,cAAA,GACA,iBAAA,GACA,oBAAA,GACA,cAAA,GACA,eAAA,GACA,gBAAA,GACA,gBAAA,GACA,eAAA,GACA,eAAA,GACA,mBAAA,GACA,aAAA,GACA,eAAA,GACA,aAAA,GACA,aAAA,GACA,kBAAA,GACA,eAAA,GACA,iBAAA,GACA,aAAA;AA+JgB;AAMpB;;AANoB,UA1JH,cAAA,SAAuB,kBAAA;EACtC,GAAA;EACA,OAAA;EACA,WAAA,GAAc,MAAA;EACd,QAAA;EACA,OAAA;EACA,KAAA,GAAQ,MAAA,SAAe,UAAA;EACvB,WAAA;EACA,cAAA;EACA,IAAA;EAEA,IAAA;EACA,KAAA;EACA,WAAA;EACA,IAAA;EACA,QAAA;EACA,KAAA;EACA,IAAA;EACA,UAAA;IAGM,OAAA;IAAkB,KAAA;IAAgB,WAAA;EAAA;EACxC,MAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EAEA,IAAA,GACI,cAAA,GACA,cAAA,KACA,uBAAA,GACA,uBAAA,MACC,OAAA,CAAQ,cAAA,8BACA,OAAA,CAAQ,cAAA;EACrB,KAAA;EACA,IAAA;EACA,MAAA;EACA,OAAA;EAEA,KAAA,GAAQ,UAAA;EACR,KAAA,GAAQ,UAAA,MAAgB,UAAA,EAAY,cAAA;EACpC,KAAA,GAAQ,UAAA;EACR,GAAA,GAAM,UAAA;EACN,EAAA,GAAK,UAAA;EACL,IAAA,GAAO,UAAA;EACP,IAAA,GAAO,UAAA;EAEP,UAAA,GAAa,MAAA,SAAe,UAAA;EAC5B,iBAAA,GAAoB,MAAA,SAAe,UAAA;EACnC,oBAAA,aAAiC,UAAA;EACjC,QAAA;EACA,aAAA,GAAgB,6BAAA;EAChB,YAAA,GAAe,MAAA,oBAA0B,UAAA;EACzC,iBAAA,GAAoB,MAAA;EACpB,gBAAA,GAAmB,MAAA,SAAe,UAAA;EAClC,aAAA;EACA,aAAA;EACA,UAAA;EACA,cAAA;EACA,qBAAA,aAAkC,UAAA;EAElC,WAAA,GAAc,UAAA;EACd,KAAA,GAAQ,UAAA,GAAa,aAAA;EACrB,QAAA,GAAW,UAAA;EACX,QAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;EACA,gBAAA,aAA6B,UAAA;EAC7B,SAAA;EACA,SAAA;EACA,OAAA;EACA,gBAAA;EACA,eAAA;EACA,aAAA;EACA,OAAA;EACA,gBAAA;EACA,OAAA;EACA,gBAAA;EACA,UAAA;AAAA;;;;KAMU,mBAAA;;;;KAWA,kBAAA,GAAqB,mBAAmB;;;;KAKxC,iBAAA,GACR,oBAAA,GACA,UAAA,GACA,EAAA,CAAG,UAAA,GACH,kBAAA,GACA,aAAA,GACA,aAAA,GACA,IAAA;;;;KAKQ,WAAA,GAAc,iBAAA,GAAoB,MAAA,GAAS,kBAAA;;;;UAKtC,MAAA,qBAA2B,UAAA,GAAa,UAAA;EChwCzC;EDkwCd,IAAA;;EAGA,OAAA,EAAS,kBAAA;ECrwCsC;EDwwC/C,MAAA,EAAQ,WAAA;AAAA;;;AC9qCwD;UDorCjD,gBAAA;EC1mCiB;ED4mChC,IAAA;EC5mCyC;ED+mCzC,OAAA,EAAS,mBAAA;EC1xBK;ED6xBd,MAAA,EAAQ,iBAAiB;AAAA;;;;UAMV,sBAAA,SAA+B,gBAAgB;ECjyBrC;EDmyBzB,OAAA;ECpyBA;EDuyBA,MAAA,EAAQ,UAAA;AAAA;;;ACtyB2C;UD4yBpC,0BAAA,SAAmC,gBAAgB;EC3xBxC;ED6xB1B,OAAA;EC5xBQ;ED+xBR,MAAA,EAAQ,oBAAA;AAAA;;;;UAMO,gBAAA,SAAyB,gBAAgB;ECpyBzC;EDsyBf,OAAA;ECtyBA;EDyyBA,MAAA,EAAQ,EAAA,CAAG,UAAA;AAAA;;;;UAMI,sBAAA,SAA+B,gBAAgB;EExpChC;EF0pC9B,OAAA;EE1pC8D;EF6pC9D,MAAA,EAAQ,IAAA;AAAA;;;AE7pCsD;UFmqC/C,mBAAA,SAA4B,gBAAA;EEn+BlB;EFq+BzB,OAAA;EEn+BkB;EFs+BlB,MAAA,EAAQ,kBAAA,GAAqB,aAAA;AAAA;;;;UAMd,mBAAA,SAA4B,gBAAgB;EEn8B7C;EFq8Bd,OAAA;;EAGA,MAAA,EAAQ,aAAA;AAAA;;;;KAME,YAAA,GACR,sBAAA,GACA,0BAAA,GACA,gBAAA,GACA,mBAAA,GACA,mBAAA,GACA,sBAAA;AEt8BJ;;;AAAA,UF28BiB,eAAA,SAAwB,MAAM;EE38Be;AAoC9D;;EF26BE,MAAA,EAAQ,YAAA;AAAA;;;;;;iBCr4CM,cAAA,CACd,KAAA,YACA,IAAA,GAAO,cAAc;;;;iBAsBP,aAAA,CAAc,MAAmB,GAAV,UAAU;;;AHhDjD;;;;iBG0IgB,iBAAA,CAAkB,KAAA,aAAkB,cAAc;;;;;;;;;;;;AHxI5B;AAWtC;;;;;;;;iBGuMgB,kBAAA,CAAmB,MAAkB,EAAV,UAAU;;;;;;;;;;;iBAqVrC,sBAAA,CACd,MAAA,EAAQ,UAAA,EACR,YAAA,GAAe,UAAA,QAAkB,cAAA;AH1hBd;;;;AC1BrB;;;;AAesB;AAEtB;;;ADSqB,iBG2iBL,YAAA,CACd,MAAA,EAAQ,UAAA,EACR,YAAA,GAAe,UAAA,QAAkB,cAAA;;;;;;;;;iBCzWnB,gBAAA,CAAiB,MAAA,EAAQ,UAAA,GAAa,UAAU;;AJrNhE;;iBIqZgB,WAAA,CACd,OAAA,EAAS,kBAAA,EACT,KAAA,EAAO,WAAW;;;;iBAyCJ,iBAAA,CAAkB,UAAA,EAAY,IAAA,GAAO,UAAU;;;;;;;iBAc/C,iBAAA,CAAkB,MAAA,YAAkB,UAAU;;;AJ5cxB;AAWtC;;;;iBIqegB,sBAAA,CACd,KAAA,EAAO,iBAAA,GACN,mBAAmB;;;;;;;iBA4BN,cAAA,CAAe,KAAA,EAAO,WAAA,GAAc,kBAAkB;;;;;;;;;iBAgBhD,aAAA,CACpB,KAAA,EAAO,iBAAA,EACP,OAAA,GAAU,kBAAA,GACT,OAAA,CAAQ,UAAA;;;;AH5iBX;;;;AAesB;iBGkkBN,aAAA,CACd,OAAA,EAAS,mBAAA,EACT,KAAA,EAAO,iBAAA,GACN,YAAA;;;;;;;;;;;;;AHzjBH;;;;AAMU;AAEV;;;;AAIU;AAEV;;;;AAc2D;iBGomBrC,uBAAA,CACpB,OAAA,EAAS,OAAA,EACT,KAAA,EAAO,WAAA,EACP,OAAA,GAAS,aAAA,GACR,OAAA,CAAQ,eAAA;;;AFtpBX;;;;AAA4C;AAK5C;;;;AAAmC;AASnC;;;;;;;;;;;;;;;;;;;;iBEuwBsB,OAAA,CACpB,OAAA,EAAS,OAAA,EACT,KAAA,EAAO,WAAA,EACP,OAAA,GAAS,aAAA,GACR,OAAA,CAAQ,MAAA;;;KC5xBC,mBAAA,GAAsB,UAAU;EAC1C,IAAA;EACA,QAAA;EACA,OAAA;AAAA;;;;;;;ALAF;;;;iBKagB,aAAA,CAAc,KAAA,EAAO,MAAA,GAAS,UAAA,GAAa,UAAA;;;;;;;;;;;iBAmB3C,mBAAA,CACd,KAAA,EAAO,MAAA,GAAS,UAAA,GACf,gBAAA;ALhCmC;AAWtC;;;;;;;;AAXsC,iBKkDtB,aAAA,CACd,GAAA,EAAK,MAAA,GAAS,gBAAA,GACb,MAAA,SAED,UAAA;EAAe,IAAA;EAAc,QAAA;EAAmB,OAAA;AAAA;;;;;;;;ALvC7B;;iBK8EL,iBAAA,CAAkB,GAAA,EAAK,MAAA,GAAS,gBAAA,IAAgB,UAAA;;;;;;AJzF1C;AAEtB;;;;;;;;;iBIsGgB,WAAA,CACd,GAAA,EAAK,MAAA,GAAS,gBAAA,EACd,IAAA,UACA,QAAA,EAAU,UAAA;;;;AJ/FZ;;;;AAMU;AAEV;;;;AAIU;AAEV;;;;AAc2D;;iBI8M3C,KAAA,IAAS,OAAA,GAAU,UAAA,GAAa,MAAA,MAAY,UAAA;;AH5P5D;;;;AAA4C;AAK5C;;;iBGmRgB,gBAAA,CAAiB,MAAmB,GAAV,UAAU;AHnRjB;AASnC;;;;;;;;;AATmC,iBGySnB,kBAAA,CACd,MAAA,EAAQ,gBAAgB,EACxB,YAAA;;;;;;;iBAiBc,sBAAA,CAAuB,QAAgB;;;;;;;;;;iBCvTvC,uBAAA,CACd,MAAA,EAAQ,UAAA,EACR,QAAA,EAAU,0BAAA,eACT,UAAA;;;;ANbH;;;;;;iBMuCgB,eAAA,CACd,MAAA,GAAS,UAAA,GACR,uBAAuB;;;;;;;iBA6BV,oBAAA,CACd,MAAA,GAAS,UAAA,GACR,uBAAuB;;;;;;;;;iBCvEV,iBAAA,CAAkB,OAAgB,EAAP,OAAO;;;;APDlD;;;;iBOYgB,gBAAA,CAAiB,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,WAAW;;;;;;;;iBAc/C,WAAA,CAAY,OAAA,EAAS,OAAA,EAAS,MAAA,EAAQ,MAAA,GAAM,OAAA;;;;APxB5B;AAWtC;;;iBOiCsB,cAAA,CACpB,OAAA,EAAS,OAAA,EACT,KAAA,EAAO,WAAA,GACN,OAAA,CAAQ,MAAA;;;;;;;;;iBAsBW,UAAA,CACpB,OAAA,EAAS,OAAA,EACT,KAAA,EAAO,WAAA,GACN,OAAA,CAAQ,MAAA;;;;;;iBCyDK,sBAAA,CACd,UAAA,EAAY,IAAA,GACX,UAAU;;;;;;;;;;;iBC5HS,aAAA,2BAEH,iBAAA,GAAoB,iBAAA,EAErC,OAAA,EAAS,QAAA,EACT,KAAA,EAAO,kBAAA,EACP,SAAA,GAAY,aAAA,GACX,OAAA,CAAQ,OAAA;;;;;;;;;iBAuEW,OAAA,2BAEH,iBAAA,GAAoB,iBAAA,EAErC,OAAA,EAAS,QAAA,EACT,KAAA,EAAO,kBAAA,EACP,OAAA,GAAU,aAAA,GACT,OAAA,CAAQ,OAAA;;;;;;;AT5F2B;AAWtC;iBSkLsB,iBAAA,kBACH,aAAA,GAAgB,aAAA,EAEjC,OAAA,EAAS,QAAA,EACT,KAAA,EAAO,aAAA,EACP,OAAA,GAAU,aAAA,GACT,OAAA,CAAQ,IAAA;;;;;;;;;iBC1HK,yBAAA,CACd,KAAA,YACC,KAAA,IAAS,uBAAuB;;AV7EnC;;;;;iBU0FgB,gBAAA,CAAiB,KAAA,YAAiB,KAAA,IAAS,cAAc;;;;;;;iBAiRzD,oBAAA,CACd,KAAA,YACC,KAAA,IAAS,kBAAkB;;;;AV3WQ;AAWtC;;iBU8WgB,eAAA,CAAgB,KAAA,YAAiB,KAAA,IAAS,aAAa;;;;;;;iBAgBvD,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,eAAe;;;;;;;iBA+B3D,kBAAA,CAAmB,KAAA,YAAiB,KAAA,IAAS,gBAAgB;;;;AVzZxD;;;iBUwbL,mBAAA,CACd,KAAA,YACC,KAAA,IAAS,iBAAiB;ATpd7B;;;;AAesB;AAEtB;AAjBA,iBSwegB,gBAAA,CAAiB,KAAA,YAAiB,KAAA,IAAS,cAAc;;;;;;;iBAqCzD,gBAAA,CAAiB,KAAA,YAAiB,KAAA,IAAS,cAAc;;;;;ATlfzE;;iBSyiBgB,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,eAAe;;ATniBjE;AAEV;;;;iBS2jBgB,mBAAA,CACd,KAAA,YACC,KAAA,IAAS,iBAAiB;ATvjB7B;;;;AAc2D;;AAd3D,iBS8kBgB,eAAA,CAAgB,KAAA,YAAiB,KAAA,IAAS,aAAa;;AR9mBvE;;;;AAA4C;iBQ8oB5B,sBAAA,CACd,KAAA,YACC,KAAA,IAAS,oBAAoB;;;;AR3oBG;AASnC;;iBQ8pBgB,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,eAAe;;;;;;;iBAgB3D,gBAAA,CAAiB,KAAA,YAAiB,KAAA,IAAS,cAAc;;;;;;;iBAuBzD,oBAAA,CACd,KAAA,YACC,KAAA,IAAS,kBAAkB;;;;;ARnsBQ;AAOtC;iBQkuBgB,kBAAA,CAAmB,KAAA,YAAiB,KAAA,IAAS,gBAAgB;;;ARjuBxC;AAOrC;;;iBQyvBgB,mBAAA,CACd,KAAA,YACC,KAAA,IAAS,iBAAiB;AR3vByB;AAKtD;;;;AAAmC;AALmB,iBQqwBtC,mBAAA,CACd,KAAA,YACC,KAAA,IAAS,iBAAiB;;;;ARrvBM;AAKnC;;iBQ0vBgB,kBAAA,CAAmB,KAAA,YAAiB,KAAA,IAAS,gBAAgB;;ARxvBlD;AAK3B;;;;iBQ8xBgB,kBAAA,CAAmB,KAAA,YAAiB,KAAA,IAAS,gBAAgB;ARjwB7E;;;;;;AAAA,iBQ6xBgB,eAAA,CAAgB,KAAA,YAAiB,KAAA,IAAS,aAAa;;;;;;;iBA8BvD,kBAAA,CAAmB,KAAA,YAAiB,KAAA,IAAS,gBAAgB;;;;;;;iBAyB7D,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,eAAe;;;;;;;iBA8B3D,qBAAA,CACd,KAAA,YACC,KAAA,IAAS,mBAAmB;;;;;;;iBAoBf,0BAAA,CACd,KAAA,YACC,KAAA,IAAS,wBAAwB;;;AR9vBzB;AASX;;;iBQ2zBgB,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,eAAe;;;;;;;iBAmB3D,mBAAA,CACd,KAAA,YACC,KAAA,IAAS,iBAAiB;;;;;;;iBAUb,iBAAA,CAAkB,KAAA,YAAiB,KAAA,IAAS,eAAe;ARnzBzD;AASlB;;;;;AATkB,iBQq0BF,eAAA,CAAgB,KAAA,YAAiB,KAAA,IAAS,aAAa;;;;;;;iBAgBvD,gBAAA,CAAiB,KAAA,YAAiB,KAAA,IAAS,gBAAgB;;;AR/yBxD;AAMnB;;;iBQ8zBgB,eAAA,CACd,KAAA,YACC,KAAA,IAAS,UAAU;;;;;;;;;AR9zBS;iBQw1Bf,YAAA,CAAa,KAAA,YAAiB,KAAA,IAAS,UAAU;;;;AR70B3D;AAQN;;;;;iBQ22BgB,oBAAA,CAAqB,KAAA,YAAiB,KAAA,IAAS,cAAc;;;;;;;;;;iBAa7D,eAAA,CAAgB,KAAA,YAAiB,KAAA,IAAS,QAAa;;;;;;;;;;;iBAyDvD,qBAAA,CAAsB,KAAA,YAAiB,KAAA,IAAS,QAAa;ARl3B7E;;;;;;;;;AAAA,iBQ+3BgB,cAAA,CAAe,KAAA,YAAiB,KAAA,IAAS,WAAkB;;;;;;ARj1BrE;AAMN;;;;iBQq2BgB,oBAAA,CACd,KAAA,YACC,KAAA,IAAS,WAAkB;;;;AR51BrB;AAWT;;iBQw2BgB,QAAA,CAAS,KAAA,YAAiB,KAAA,IAAS,MAAM;;;;;;;iBAkBzC,kBAAA,CAAmB,KAAA,YAAiB,KAAA,IAAS,eAAgB;;;;ARl1BhD;AAS7B;;iBQ01BgB,cAAA,CACd,KAAA,YACC,KAAA,IAAS,MAAM,CAAC,gBAAA;;;;YCz3CP,UAAA;IACR,EAAA;IACA,KAAA;IACA,WAAA;IACA,IAAA;IACA,KAAA;IACA,IAAA;IACA,UAAA;IACA,MAAA;IACA,MAAA;IACA,QAAA;IACA,OAAA;IACA,QAAA;IACA,QAAA;IACA,SAAA;IACA,eAAA;IACA,gBAAA;IACA,aAAA;IAAA,CACC,OAAA;EAAA;AAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -173,10 +173,9 @@ function getPrimarySchemaType(schema) {
|
|
|
173
173
|
//#endregion
|
|
174
174
|
//#region src/type-checks.ts
|
|
175
175
|
const isSetNumber = (value) => typeof value === "number" && Number.isFinite(value);
|
|
176
|
-
const
|
|
177
|
-
const isSchemaLikeValue = (value) => isSetObject(value) || isSetBoolean(value);
|
|
176
|
+
const isSchemaLikeValue = (value) => isSetObject(value) || isBoolean(value);
|
|
178
177
|
const isRecordOfSchemaLike = (value) => isSetObject(value) && Object.values(value).every((item) => isSchemaLikeValue(item));
|
|
179
|
-
const isVocabularyMap = (value) => isSetObject(value) && Object.values(value).every((item) =>
|
|
178
|
+
const isVocabularyMap = (value) => isSetObject(value) && Object.values(value).every((item) => isBoolean(item));
|
|
180
179
|
const isStringArray = (value) => Array.isArray(value) && value.every((item) => isSetString(item));
|
|
181
180
|
const isRecordOfStringArrays = (value) => isSetObject(value) && Object.values(value).every((item) => isStringArray(item));
|
|
182
181
|
const JSON_SCHEMA_PRIMITIVE_TYPE_SET = new Set(JSON_SCHEMA_PRIMITIVE_TYPES);
|
|
@@ -238,8 +237,8 @@ const isUntypedFunctionArg = (value) => {
|
|
|
238
237
|
const isRecordOfUntypedSchema = (value) => isSetObject(value) && Object.values(value).every((item) => isUntypedSchema(item));
|
|
239
238
|
const isArrayOf = (value, predicate) => Array.isArray(value) && value.every((item) => predicate(item));
|
|
240
239
|
const isTupleOfTwo = (value, aPredicate, bPredicate) => Array.isArray(value) && value.length === 2 && aPredicate(value[0]) && bPredicate(value[1]);
|
|
241
|
-
const isOptionalString = (value) => value === void 0 ||
|
|
242
|
-
const isOptionalBoolean = (value) => value === void 0 ||
|
|
240
|
+
const isOptionalString = (value, allowEmpty = false) => value === void 0 || isString(value) && (allowEmpty || value.length > 0);
|
|
241
|
+
const isOptionalBoolean = (value) => value === void 0 || isBoolean(value);
|
|
243
242
|
const isOptionalNumber = (value) => value === void 0 || isSetNumber(value);
|
|
244
243
|
const isOptionalBigint = (value) => value === void 0 || isSetBigint(value);
|
|
245
244
|
const isOptionalJsonSchema = (value) => value === void 0 || isJsonSchema(value);
|
|
@@ -250,15 +249,15 @@ const hasValidJsonSchemaKeywords = (schema) => {
|
|
|
250
249
|
if (!isOptionalString(schema.$id)) return false;
|
|
251
250
|
if (!isOptionalString(schema.$schema)) return false;
|
|
252
251
|
if (schema.$vocabulary !== void 0 && !isVocabularyMap(schema.$vocabulary)) return false;
|
|
253
|
-
if (!isOptionalString(schema.$comment)) return false;
|
|
252
|
+
if (!isOptionalString(schema.$comment, true)) return false;
|
|
254
253
|
if (!isOptionalString(schema.$anchor)) return false;
|
|
255
254
|
if (schema.$defs !== void 0 && !isRecordOfSchemaLike(schema.$defs)) return false;
|
|
256
255
|
if (!isOptionalString(schema.$dynamicRef)) return false;
|
|
257
256
|
if (!isOptionalString(schema.$dynamicAnchor)) return false;
|
|
258
257
|
if (!isOptionalString(schema.name)) return false;
|
|
259
|
-
if (!isOptionalString(schema.title)) return false;
|
|
260
|
-
if (!isOptionalString(schema.description)) return false;
|
|
261
|
-
if (!isOptionalString(schema.docs)) return false;
|
|
258
|
+
if (!isOptionalString(schema.title, true)) return false;
|
|
259
|
+
if (!isOptionalString(schema.description, true)) return false;
|
|
260
|
+
if (!isOptionalString(schema.docs, true)) return false;
|
|
262
261
|
if (schema.examples !== void 0 && !Array.isArray(schema.examples)) return false;
|
|
263
262
|
if (schema.alias !== void 0 && !isStringArray(schema.alias)) return false;
|
|
264
263
|
if (schema.tags !== void 0 && !isStringArray(schema.tags)) return false;
|
|
@@ -309,7 +308,7 @@ function isJsonSchemaArray(input) {
|
|
|
309
308
|
if (!isSetObject(input)) return false;
|
|
310
309
|
const schema = input;
|
|
311
310
|
if (!hasValidJsonSchemaKeywords(schema) || schema.type !== "array") return false;
|
|
312
|
-
return isOptionalJsonSchemaArray(schema.prefixItems) && isOptionalJsonSchema(schema.items) && isOptionalJsonSchema(schema.contains) && isOptionalNumber(schema.minItems) && isOptionalNumber(schema.maxItems) && isOptionalBoolean(schema.uniqueItems) && isOptionalNumber(schema.minContains) && isOptionalNumber(schema.maxContains) && (schema.unevaluatedItems === void 0 ||
|
|
311
|
+
return isOptionalJsonSchemaArray(schema.prefixItems) && isOptionalJsonSchema(schema.items) && isOptionalJsonSchema(schema.contains) && isOptionalNumber(schema.minItems) && isOptionalNumber(schema.maxItems) && isOptionalBoolean(schema.uniqueItems) && isOptionalNumber(schema.minContains) && isOptionalNumber(schema.maxContains) && (schema.unevaluatedItems === void 0 || isBoolean(schema.unevaluatedItems) || isJsonSchema(schema.unevaluatedItems));
|
|
313
312
|
}
|
|
314
313
|
/**
|
|
315
314
|
* Type guard for bigint-backed integer schemas.
|
|
@@ -364,7 +363,7 @@ function isJsonSchemaEnum(input) {
|
|
|
364
363
|
const defaultValue = schema.default;
|
|
365
364
|
if (typeName === "string") return enumValues.every((value) => isSetString(value)) && (defaultValue === void 0 || isSetString(defaultValue));
|
|
366
365
|
if (typeName === "number" || typeName === "integer") return enumValues.every((value) => isSetNumber(value)) && (defaultValue === void 0 || isSetNumber(defaultValue));
|
|
367
|
-
if (typeName === "boolean") return enumValues.every((value) =>
|
|
366
|
+
if (typeName === "boolean") return enumValues.every((value) => isBoolean(value)) && (defaultValue === void 0 || isBoolean(defaultValue));
|
|
368
367
|
return typeName === "null" && enumValues.every((value) => value === null) && (defaultValue === void 0 || defaultValue === null);
|
|
369
368
|
}
|
|
370
369
|
/**
|
|
@@ -377,7 +376,7 @@ function isJsonSchemaAllOf(input) {
|
|
|
377
376
|
if (!isSetObject(input)) return false;
|
|
378
377
|
const schema = input;
|
|
379
378
|
if (!hasValidJsonSchemaKeywords(schema) || !isArrayOf(schema.allOf, isJsonSchema)) return false;
|
|
380
|
-
return schema.unevaluatedProperties === void 0 ||
|
|
379
|
+
return schema.unevaluatedProperties === void 0 || isBoolean(schema.unevaluatedProperties) || isJsonSchema(schema.unevaluatedProperties);
|
|
381
380
|
}
|
|
382
381
|
/**
|
|
383
382
|
* Type guard for literal-value schemas.
|
|
@@ -491,7 +490,7 @@ function isJsonSchemaDecimal(input) {
|
|
|
491
490
|
function isJsonSchemaObject(input) {
|
|
492
491
|
if (!isSetObject(input)) return false;
|
|
493
492
|
const schema = input;
|
|
494
|
-
return hasValidJsonSchemaKeywords(schema) && schema.type === "object" && (schema.properties === void 0 || isRecordOfSchemaLike(schema.properties)) && (schema.patternProperties === void 0 || isRecordOfSchemaLike(schema.patternProperties)) && (schema.additionalProperties === void 0 ||
|
|
493
|
+
return hasValidJsonSchemaKeywords(schema) && schema.type === "object" && (schema.properties === void 0 || isRecordOfSchemaLike(schema.properties)) && (schema.patternProperties === void 0 || isRecordOfSchemaLike(schema.patternProperties)) && (schema.additionalProperties === void 0 || isBoolean(schema.additionalProperties) || isJsonSchema(schema.additionalProperties)) && (schema.required === void 0 || isStringArray(schema.required)) && (schema.unevaluatedProperties === void 0 || isBoolean(schema.unevaluatedProperties) || isJsonSchema(schema.unevaluatedProperties)) && (schema.dependencies === void 0 || isSetObject(schema.dependencies) && Object.values(schema.dependencies).every((item) => isStringArray(item) || isJsonSchema(item))) && (schema.dependentRequired === void 0 || isRecordOfStringArrays(schema.dependentRequired)) && (schema.dependentSchemas === void 0 || isRecordOfSchemaLike(schema.dependentSchemas)) && isOptionalNumber(schema.minProperties) && isOptionalNumber(schema.maxProperties) && (schema.primaryKey === void 0 || isStringArray(schema.primaryKey)) && isOptionalString(schema.databaseSchema);
|
|
495
494
|
}
|
|
496
495
|
/**
|
|
497
496
|
* Type guard for string schemas.
|
|
@@ -513,7 +512,7 @@ function isJsonSchemaString(input) {
|
|
|
513
512
|
function isJsonSchemaSet(input) {
|
|
514
513
|
if (!isSetObject(input)) return false;
|
|
515
514
|
const schema = input;
|
|
516
|
-
return hasValidJsonSchemaKeywords(schema) && schema.type === "array" && schema.uniqueItems === true && isOptionalJsonSchemaArray(schema.prefixItems) && isOptionalJsonSchema(schema.items) && isOptionalJsonSchema(schema.contains) && isOptionalNumber(schema.minItems) && isOptionalNumber(schema.maxItems) && isOptionalNumber(schema.minContains) && isOptionalNumber(schema.maxContains) && (schema.unevaluatedItems === void 0 ||
|
|
515
|
+
return hasValidJsonSchemaKeywords(schema) && schema.type === "array" && schema.uniqueItems === true && isOptionalJsonSchemaArray(schema.prefixItems) && isOptionalJsonSchema(schema.items) && isOptionalJsonSchema(schema.contains) && isOptionalNumber(schema.minItems) && isOptionalNumber(schema.maxItems) && isOptionalNumber(schema.minContains) && isOptionalNumber(schema.maxContains) && (schema.unevaluatedItems === void 0 || isBoolean(schema.unevaluatedItems) || isJsonSchema(schema.unevaluatedItems));
|
|
517
516
|
}
|
|
518
517
|
/**
|
|
519
518
|
* Type guard for record schemas.
|
|
@@ -524,7 +523,7 @@ function isJsonSchemaSet(input) {
|
|
|
524
523
|
function isJsonSchemaRecord(input) {
|
|
525
524
|
if (!isSetObject(input)) return false;
|
|
526
525
|
const schema = input;
|
|
527
|
-
return hasValidJsonSchemaKeywords(schema) && schema.type === "object" && (schema.patternProperties === void 0 || isRecordOfSchemaLike(schema.patternProperties)) && (schema.additionalProperties === void 0 ||
|
|
526
|
+
return hasValidJsonSchemaKeywords(schema) && schema.type === "object" && (schema.patternProperties === void 0 || isRecordOfSchemaLike(schema.patternProperties)) && (schema.additionalProperties === void 0 || isBoolean(schema.additionalProperties) || isJsonSchema(schema.additionalProperties)) && isOptionalJsonSchema(schema.propertyNames);
|
|
528
527
|
}
|
|
529
528
|
/**
|
|
530
529
|
* Type guard for tuple schemas.
|
|
@@ -535,7 +534,7 @@ function isJsonSchemaRecord(input) {
|
|
|
535
534
|
function isJsonSchemaTuple(input) {
|
|
536
535
|
if (!isSetObject(input)) return false;
|
|
537
536
|
const schema = input;
|
|
538
|
-
return hasValidJsonSchemaKeywords(schema) && schema.type === "array" && isArrayOf(schema.prefixItems, isJsonSchema) && isOptionalNumber(schema.minItems) && isOptionalNumber(schema.maxItems) && isOptionalJsonSchema(schema.items) && isOptionalJsonSchema(schema.contains) && isOptionalBoolean(schema.uniqueItems) && isOptionalNumber(schema.minContains) && isOptionalNumber(schema.maxContains) && (schema.unevaluatedItems === void 0 ||
|
|
537
|
+
return hasValidJsonSchemaKeywords(schema) && schema.type === "array" && isArrayOf(schema.prefixItems, isJsonSchema) && isOptionalNumber(schema.minItems) && isOptionalNumber(schema.maxItems) && isOptionalJsonSchema(schema.items) && isOptionalJsonSchema(schema.contains) && isOptionalBoolean(schema.uniqueItems) && isOptionalNumber(schema.minContains) && isOptionalNumber(schema.maxContains) && (schema.unevaluatedItems === void 0 || isBoolean(schema.unevaluatedItems) || isJsonSchema(schema.unevaluatedItems));
|
|
539
538
|
}
|
|
540
539
|
/**
|
|
541
540
|
* Type guard for undefined-representing schemas.
|
|
@@ -563,7 +562,7 @@ function isJsonSchemaPrimitiveUnion(input) {
|
|
|
563
562
|
if (!Array.isArray(schema.enum)) return false;
|
|
564
563
|
if (schema.type === "string") return schema.enum.every((value) => isSetString(value)) && (schema.default === void 0 || isSetString(schema.default));
|
|
565
564
|
if (schema.type === "number") return schema.enum.every((value) => isSetNumber(value)) && (schema.default === void 0 || isSetNumber(schema.default));
|
|
566
|
-
if (schema.type === "boolean") return schema.enum.every((value) =>
|
|
565
|
+
if (schema.type === "boolean") return schema.enum.every((value) => isBoolean(value)) && (schema.default === void 0 || isBoolean(schema.default));
|
|
567
566
|
if (schema.type === "integer") {
|
|
568
567
|
if (schema.format !== "int64") return false;
|
|
569
568
|
return schema.enum.every((value) => isSetBigint(value)) && (schema.default === void 0 || isSetBigint(schema.default));
|
|
@@ -636,7 +635,7 @@ function isStandardSchema(input) {
|
|
|
636
635
|
function isValibotSchema(input) {
|
|
637
636
|
if (!isSetObject(input) || !isStandardSchema(input)) return false;
|
|
638
637
|
const schema = input;
|
|
639
|
-
return schema.kind === "schema" && isSetString(schema.type) &&
|
|
638
|
+
return schema.kind === "schema" && isSetString(schema.type) && isBoolean(schema.async) && isFunction(schema.reference) && isSetString(schema.expects) && isFunction(schema["~run"]);
|
|
640
639
|
}
|
|
641
640
|
/**
|
|
642
641
|
* Type guard for JSON Schema types.
|
|
@@ -774,7 +773,7 @@ function isSchemaObject(input) {
|
|
|
774
773
|
*/
|
|
775
774
|
function getJsonSchema(input) {
|
|
776
775
|
const schema = isSchema(input) ? input.schema : input;
|
|
777
|
-
if (!isJsonSchema(schema)) throw new TypeError(`The provided input is not a valid JSON Schema
|
|
776
|
+
if (!isJsonSchema(schema)) throw new TypeError(`The provided input is not a valid JSON Schema`);
|
|
778
777
|
return schema;
|
|
779
778
|
}
|
|
780
779
|
/**
|
|
@@ -789,7 +788,7 @@ function getJsonSchema(input) {
|
|
|
789
788
|
*/
|
|
790
789
|
function getJsonSchemaObject(input) {
|
|
791
790
|
const schema = getJsonSchema(input);
|
|
792
|
-
if (!isJsonSchemaObject(schema)) throw new TypeError(`The provided input is not a valid JSON Schema object
|
|
791
|
+
if (!isJsonSchemaObject(schema)) throw new TypeError(`The provided input is not a valid JSON Schema object`);
|
|
793
792
|
return schema;
|
|
794
793
|
}
|
|
795
794
|
/**
|
|
@@ -1028,7 +1027,7 @@ function stringifyType(schema) {
|
|
|
1028
1027
|
}
|
|
1029
1028
|
if (objectSchema.type === "array" && Array.isArray(objectSchema.enum)) return objectSchema.enum.map((value) => JSON.stringify(value)).join(" | ");
|
|
1030
1029
|
if (objectSchema.const !== void 0) return JSON.stringify(objectSchema.const);
|
|
1031
|
-
if (objectSchema.type === "array" || objectSchema.items) return `${stringifyType(objectSchema.items)}[]`;
|
|
1030
|
+
if (objectSchema.type === "array" || objectSchema.items) return `${stringifyType(Array.isArray(objectSchema.items) ? objectSchema.items[0] : objectSchema.items)}[]`;
|
|
1032
1031
|
if (objectSchema.type === "object" || objectSchema.properties || objectSchema.additionalProperties) {
|
|
1033
1032
|
if (isJsonSchema(objectSchema.additionalProperties)) return `{ [key: string]: ${stringifyType(objectSchema.additionalProperties)} }`;
|
|
1034
1033
|
if (isJsonSchemaObject(objectSchema)) {
|
|
@@ -1053,10 +1052,262 @@ function getJsonSchemaType(value) {
|
|
|
1053
1052
|
return isNull$1(value) ? "null" : isBoolean$1(value) ? "boolean" : isInteger(value) ? "integer" : isNumber$1(value) ? "number" : isString(value) ? "string" : isObject(value) ? "object" : Array.isArray(value) ? "array" : void 0;
|
|
1054
1053
|
}
|
|
1055
1054
|
/**
|
|
1055
|
+
* Resolves a local JSON Schema `$ref` (e.g. `#/$defs/Name`) to the referenced definition name.
|
|
1056
|
+
*/
|
|
1057
|
+
function resolveLocalRefName(ref) {
|
|
1058
|
+
return /^#\/(?:definitions|\$defs)\/(.+)$/.exec(ref)?.[1];
|
|
1059
|
+
}
|
|
1060
|
+
/**
|
|
1061
|
+
* Converts an arbitrary definition name into a safe JavaScript identifier suffix.
|
|
1062
|
+
*/
|
|
1063
|
+
function toParserIdentifier(name) {
|
|
1064
|
+
const cleaned = name.replace(/[^\w$]/gu, "_");
|
|
1065
|
+
return `parse_${/^\d/u.test(cleaned) ? `_${cleaned}` : cleaned}`;
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* Returns the list of JSON Schema `type` keyword values declared on a fragment,
|
|
1069
|
+
* preserving `object` and `array` (which {@link readSchemaTypes} intentionally drops).
|
|
1070
|
+
*/
|
|
1071
|
+
function readDeclaredTypes(schema) {
|
|
1072
|
+
const type = schema.type;
|
|
1073
|
+
if (Array.isArray(type)) return [...type];
|
|
1074
|
+
return type ? [type] : [];
|
|
1075
|
+
}
|
|
1076
|
+
/**
|
|
1077
|
+
* Generates a JavaScript expression that builds a path string for a child element.
|
|
1078
|
+
*/
|
|
1079
|
+
function childPath(pathExpr, segment) {
|
|
1080
|
+
return `${pathExpr} + ${JSON.stringify(segment)}`;
|
|
1081
|
+
}
|
|
1082
|
+
/**
|
|
1083
|
+
* Generates standalone parser code for a JSON Schema.
|
|
1084
|
+
*
|
|
1085
|
+
* @remarks
|
|
1086
|
+
* The generated `parse` function reads an arbitrary input value and converts it
|
|
1087
|
+
* into the shape described by the schema. It walks the schema recursively to:
|
|
1088
|
+
*
|
|
1089
|
+
* - resolve local `$ref` pointers (`#/$defs/*` and `#/definitions/*`) into
|
|
1090
|
+
* dedicated parser functions so recursive schemas are supported,
|
|
1091
|
+
* - apply `default` values for object properties (and root/array values) that
|
|
1092
|
+
* are missing from the input,
|
|
1093
|
+
* - coerce primitive values to the declared type (for example `"42"` to `42`
|
|
1094
|
+
* for an `integer` schema, or `1` to `true` for a `boolean` schema),
|
|
1095
|
+
* - validate `const`, `enum`, `oneOf`/`anyOf` and `allOf` constraints, and
|
|
1096
|
+
* - collect detailed, path-aware errors and throw a `ParserError` when the
|
|
1097
|
+
* input cannot be converted into a valid value.
|
|
1098
|
+
*
|
|
1099
|
+
* @param schema - The JSON Schema to generate parser code for.
|
|
1100
|
+
* @returns The generated standalone parser code as a string.
|
|
1101
|
+
*/
|
|
1102
|
+
function generateParserCode(schema) {
|
|
1103
|
+
const rootSchema = typeof schema === "boolean" ? schema : schema;
|
|
1104
|
+
const definitions = typeof rootSchema === "boolean" ? {} : {
|
|
1105
|
+
...rootSchema.definitions,
|
|
1106
|
+
...rootSchema.$defs
|
|
1107
|
+
};
|
|
1108
|
+
/**
|
|
1109
|
+
* Generates a JavaScript expression that parses `valueExpr` against `fragment`.
|
|
1110
|
+
* The expression has access to an in-scope mutable `errors` array.
|
|
1111
|
+
*/
|
|
1112
|
+
function generateExpression(fragment, valueExpr, pathExpr) {
|
|
1113
|
+
if (typeof fragment === "boolean") return fragment ? valueExpr : `((value, path) => { errors.push({ path, message: "No value is allowed at this location" }); return value; })(${valueExpr}, ${pathExpr})`;
|
|
1114
|
+
const view = fragment;
|
|
1115
|
+
if (isSetString$1(view.$ref)) {
|
|
1116
|
+
const refName = resolveLocalRefName(view.$ref);
|
|
1117
|
+
if (refName && refName in definitions) return `${toParserIdentifier(refName)}(${valueExpr}, ${pathExpr}, errors)`;
|
|
1118
|
+
return valueExpr;
|
|
1119
|
+
}
|
|
1120
|
+
return `((value, path) => {\n${generateBody(view)}\n})(${valueExpr}, ${pathExpr})`;
|
|
1121
|
+
}
|
|
1122
|
+
/**
|
|
1123
|
+
* Generates the body statements (including a terminating `return`) for the
|
|
1124
|
+
* arrow function produced by {@link generateExpression}.
|
|
1125
|
+
*/
|
|
1126
|
+
function generateBody(view) {
|
|
1127
|
+
const lines = [];
|
|
1128
|
+
const nullable = isSchemaNullable(view);
|
|
1129
|
+
if (view.default !== void 0) lines.push(`if (value === undefined) { return ${JSON.stringify(view.default)}; }`);
|
|
1130
|
+
else lines.push(`if (value === undefined) { errors.push({ path, message: "A value is required" }); return value; }`);
|
|
1131
|
+
if (nullable) lines.push(`if (value === null) { return null; }`);
|
|
1132
|
+
if (view.const !== void 0) {
|
|
1133
|
+
const constValue = JSON.stringify(view.const);
|
|
1134
|
+
lines.push(`if (JSON.stringify(value) !== ${JSON.stringify(constValue)}) { errors.push({ path, message: "Expected the constant value " + ${JSON.stringify(constValue)} }); }`, `return ${constValue};`);
|
|
1135
|
+
return lines.join("\n");
|
|
1136
|
+
}
|
|
1137
|
+
if (Array.isArray(view.enum)) {
|
|
1138
|
+
const enumValues = JSON.stringify(view.enum);
|
|
1139
|
+
lines.push(`if (!${enumValues}.some(allowed => JSON.stringify(allowed) === JSON.stringify(value))) { errors.push({ path, message: "Expected one of " + ${JSON.stringify(enumValues)} }); }`, `return value;`);
|
|
1140
|
+
return lines.join("\n");
|
|
1141
|
+
}
|
|
1142
|
+
if (Array.isArray(view.oneOf) || Array.isArray(view.anyOf)) {
|
|
1143
|
+
const branchFns = (view.oneOf ?? view.anyOf ?? []).map((branch) => `(value, path, errors) => (${generateExpression(branch, "value", "path")})`).join(",\n");
|
|
1144
|
+
lines.push(`const branches = [\n${branchFns}\n];`, `for (const branch of branches) {`, ` const branchErrors = [];`, ` const branchResult = branch(value, path, branchErrors);`, ` if (branchErrors.length === 0) { return branchResult; }`, `}`, `errors.push({ path, message: "Value does not match any of the allowed schemas" });`, `return value;`);
|
|
1145
|
+
return lines.join("\n");
|
|
1146
|
+
}
|
|
1147
|
+
if (Array.isArray(view.allOf)) {
|
|
1148
|
+
const { allOf, ...rest } = view;
|
|
1149
|
+
const merged = merge(rest, ...allOf);
|
|
1150
|
+
lines.push(`return ${generateExpression(merged, "value", "path")};`);
|
|
1151
|
+
return lines.join("\n");
|
|
1152
|
+
}
|
|
1153
|
+
const declaredTypes = readDeclaredTypes(view);
|
|
1154
|
+
switch (getPrimarySchemaType(view) ?? declaredTypes.find((type) => type !== "null") ?? (view.properties ? "object" : view.items ? "array" : void 0)) {
|
|
1155
|
+
case "object":
|
|
1156
|
+
lines.push(generateObjectBody(view));
|
|
1157
|
+
break;
|
|
1158
|
+
case "array":
|
|
1159
|
+
lines.push(generateArrayBody(view));
|
|
1160
|
+
break;
|
|
1161
|
+
case "string":
|
|
1162
|
+
lines.push(`if (typeof value === "string") { return value; }`, `if (typeof value === "number" || typeof value === "boolean") { return String(value); }`, `errors.push({ path, message: "Expected a string value" });`, `return value;`);
|
|
1163
|
+
break;
|
|
1164
|
+
case "integer":
|
|
1165
|
+
lines.push(`if (typeof value === "number" && Number.isInteger(value)) { return value; }`, `if (typeof value === "string" && value.trim() !== "" && Number.isInteger(Number(value))) { return Number(value); }`, `if (typeof value === "boolean") { return value ? 1 : 0; }`, `errors.push({ path, message: "Expected an integer value" });`, `return value;`);
|
|
1166
|
+
break;
|
|
1167
|
+
case "number":
|
|
1168
|
+
lines.push(`if (typeof value === "number") { return value; }`, `if (typeof value === "string" && value.trim() !== "" && !Number.isNaN(Number(value))) { return Number(value); }`, `if (typeof value === "boolean") { return value ? 1 : 0; }`, `errors.push({ path, message: "Expected a number value" });`, `return value;`);
|
|
1169
|
+
break;
|
|
1170
|
+
case "boolean":
|
|
1171
|
+
lines.push(`if (typeof value === "boolean") { return value; }`, `if (value === "true" || value === 1) { return true; }`, `if (value === "false" || value === 0) { return false; }`, `errors.push({ path, message: "Expected a boolean value" });`, `return value;`);
|
|
1172
|
+
break;
|
|
1173
|
+
case "null":
|
|
1174
|
+
lines.push(`if (value === null) { return null; }`, `errors.push({ path, message: "Expected a null value" });`, `return value;`);
|
|
1175
|
+
break;
|
|
1176
|
+
case void 0:
|
|
1177
|
+
default:
|
|
1178
|
+
lines.push(`return value;`);
|
|
1179
|
+
break;
|
|
1180
|
+
}
|
|
1181
|
+
return lines.join("\n");
|
|
1182
|
+
}
|
|
1183
|
+
/**
|
|
1184
|
+
* Generates the parsing statements for an `object` schema, applying property
|
|
1185
|
+
* defaults and recursing into each declared property.
|
|
1186
|
+
*/
|
|
1187
|
+
function generateObjectBody(view) {
|
|
1188
|
+
const lines = [`if (typeof value !== "object" || value === null || Array.isArray(value)) { errors.push({ path, message: "Expected an object value" }); return value; }`, `const result = {};`];
|
|
1189
|
+
const properties = isJsonSchemaObject(view) ? getPropertiesList(view) : [];
|
|
1190
|
+
const propertyNames = /* @__PURE__ */ new Set();
|
|
1191
|
+
for (const property of properties) {
|
|
1192
|
+
const name = property.name;
|
|
1193
|
+
propertyNames.add(name);
|
|
1194
|
+
const accessor = `value[${JSON.stringify(name)}]`;
|
|
1195
|
+
const propertyPath = childPath("path", `.${name}`);
|
|
1196
|
+
const propertyExpression = generateExpression(property, accessor, propertyPath);
|
|
1197
|
+
const missingBranch = property.default !== void 0 ? `result[${JSON.stringify(name)}] = ${JSON.stringify(property.default)};` : property.required ? `errors.push({ path: ${propertyPath}, message: "Required property is missing" });` : ``;
|
|
1198
|
+
lines.push(`if (${accessor} !== undefined) {`, ` result[${JSON.stringify(name)}] = ${propertyExpression};`, `}${missingBranch ? ` else { ${missingBranch} }` : ``}`);
|
|
1199
|
+
}
|
|
1200
|
+
const additional = view.additionalProperties;
|
|
1201
|
+
if (isJsonSchema(additional)) {
|
|
1202
|
+
const additionalExpression = generateExpression(additional, `value[key]`, `path + "." + key`);
|
|
1203
|
+
lines.push(`for (const key of Object.keys(value)) {`, ` if (${JSON.stringify([...propertyNames])}.includes(key)) { continue; }`, ` result[key] = ${additionalExpression};`, `}`);
|
|
1204
|
+
} else if (additional !== false) lines.push(`for (const key of Object.keys(value)) {`, ` if (${JSON.stringify([...propertyNames])}.includes(key)) { continue; }`, ` result[key] = value[key];`, `}`);
|
|
1205
|
+
lines.push(`return result;`);
|
|
1206
|
+
return lines.join("\n");
|
|
1207
|
+
}
|
|
1208
|
+
/**
|
|
1209
|
+
* Generates the parsing statements for an `array` schema, recursing into each
|
|
1210
|
+
* item (supporting both list and tuple `items`/`prefixItems` forms).
|
|
1211
|
+
*/
|
|
1212
|
+
function generateArrayBody(view) {
|
|
1213
|
+
const lines = [`if (!Array.isArray(value)) { errors.push({ path, message: "Expected an array value" }); return value; }`];
|
|
1214
|
+
const tupleItems = view.prefixItems ?? (Array.isArray(view.items) ? view.items : void 0);
|
|
1215
|
+
if (tupleItems) {
|
|
1216
|
+
const listItems = !Array.isArray(view.items) ? view.items : void 0;
|
|
1217
|
+
const itemExpressions = tupleItems.map((item, index) => `index === ${index} ? (${generateExpression(item, "item", childPath("path", `[${index}]`))})`);
|
|
1218
|
+
const fallbackExpression = listItems ? generateExpression(listItems, "item", `path + "[" + index + "]"`) : "item";
|
|
1219
|
+
lines.push(`return value.map((item, index) => ${itemExpressions.join(" : ")}${itemExpressions.length > 0 ? " : " : ""}${fallbackExpression});`);
|
|
1220
|
+
return lines.join("\n");
|
|
1221
|
+
}
|
|
1222
|
+
const itemExpression = generateExpression(view.items ?? true, "item", `path + "[" + index + "]"`);
|
|
1223
|
+
lines.push(`return value.map((item, index) => ${itemExpression});`);
|
|
1224
|
+
return lines.join("\n");
|
|
1225
|
+
}
|
|
1226
|
+
const parserFunctions = Object.entries(definitions).map(([name, definition]) => `function ${toParserIdentifier(name)}(value, path, errors) {\n return ${generateExpression(definition, "value", "path")};\n}`);
|
|
1227
|
+
const rootExpression = generateExpression(schema, "value", "\"$\"");
|
|
1228
|
+
return `/**
|
|
1229
|
+
* Error thrown when an input value cannot be parsed into the type described by the JSON Schema.
|
|
1230
|
+
*/
|
|
1231
|
+
export class ParserError extends Error {
|
|
1232
|
+
constructor(errors) {
|
|
1233
|
+
super(
|
|
1234
|
+
"Failed to parse the provided value against the JSON Schema:\\n" +
|
|
1235
|
+
errors.map(error => " - " + error.path + ": " + error.message).join("\\n")
|
|
1236
|
+
);
|
|
1237
|
+
|
|
1238
|
+
this.name = "ParserError";
|
|
1239
|
+
this.errors = errors;
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
${parserFunctions.join("\n\n")}
|
|
1244
|
+
|
|
1245
|
+
/**
|
|
1246
|
+
* Parses an input value into the type described by the JSON Schema.
|
|
1247
|
+
*
|
|
1248
|
+
* @remarks
|
|
1249
|
+
* The parser applies default values for missing properties, coerces primitive
|
|
1250
|
+
* values to the declared type, and throws a {@link ParserError} (containing
|
|
1251
|
+
* a detailed list of validation errors) when the value cannot be converted into
|
|
1252
|
+
* a valid result.
|
|
1253
|
+
*
|
|
1254
|
+
* @param value - The input value to parse.
|
|
1255
|
+
* @returns The parsed value conforming to the schema.
|
|
1256
|
+
*/
|
|
1257
|
+
export function parse(value) {
|
|
1258
|
+
const errors = [];
|
|
1259
|
+
const result = ${rootExpression};
|
|
1260
|
+
if (errors.length > 0) {
|
|
1261
|
+
throw new ParserError(errors);
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
return result;
|
|
1265
|
+
}`;
|
|
1266
|
+
}
|
|
1267
|
+
/**
|
|
1056
1268
|
* Generates standalone JSON Schema validation code using Ajv.
|
|
1269
|
+
*
|
|
1270
|
+
* @remarks
|
|
1271
|
+
* The generated code includes a validation function that can be used to validate data against the provided JSON Schema at runtime. The validation function will throw an error if the data does not conform to the schema, providing detailed information about the validation errors.
|
|
1272
|
+
*
|
|
1273
|
+
* @param schema - The JSON Schema to generate validation code for.
|
|
1274
|
+
* @param refsOrFuncts - Optional additional references or functions for Ajv's standalone code generation.
|
|
1275
|
+
* @returns The generated standalone validation code as a string.
|
|
1276
|
+
*/
|
|
1277
|
+
function generateValidationCode(schema, refsOrFuncts) {
|
|
1278
|
+
return standaloneCode(getValidator(schema), refsOrFuncts);
|
|
1279
|
+
}
|
|
1280
|
+
/**
|
|
1281
|
+
* Generates standalone JavaScript code for validating and parsing data according to a JSON Schema.
|
|
1282
|
+
*
|
|
1283
|
+
* @remarks
|
|
1284
|
+
* The generated code includes:
|
|
1285
|
+
* - Validation code generated by Ajv for the provided JSON Schema, which can be used to validate data against the schema at runtime. The validation function will throw an error if the data does not conform to the schema, providing detailed information about the validation errors.
|
|
1286
|
+
* - Parsing code generated for the provided JSON Schema, which can be used to parse and validate data against the schema at runtime. The parsing function will apply default values specified in the schema if they are not present in the input data, throw an error if the input data does not conform to the schema (providing detailed information about the validation errors), and return the parsed data if it is valid according to the schema.
|
|
1287
|
+
*
|
|
1288
|
+
* @param schema - The JSON Schema to generate code for.
|
|
1289
|
+
* @param refsOrFuncts - Optional additional references or functions for Ajv's standalone code generation.
|
|
1290
|
+
* @returns The generated standalone validation and parsing code as a string.
|
|
1057
1291
|
*/
|
|
1058
|
-
|
|
1059
|
-
return
|
|
1292
|
+
function generateCode(schema, refsOrFuncts) {
|
|
1293
|
+
return `
|
|
1294
|
+
/**
|
|
1295
|
+
* Validation code generated by Ajv for the provided JSON Schema. This code can be used to validate data against the schema at runtime. The validation function will throw an error if the data does not conform to the schema, providing detailed information about the validation errors.
|
|
1296
|
+
*
|
|
1297
|
+
* @see https://ajv.js.org/standalone.html
|
|
1298
|
+
*/
|
|
1299
|
+
|
|
1300
|
+
${generateValidationCode(schema, refsOrFuncts)}
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* Parsing code generated for the provided JSON Schema. This code can be used to parse and validate data against the schema at runtime. The parsing function will do the following:
|
|
1304
|
+
* - Apply default values specified in the schema if they are not present in the input data
|
|
1305
|
+
* - Throw an error if the input data does not conform to the schema, providing detailed information about the validation errors
|
|
1306
|
+
* - Return the parsed data if it is valid according to the schema
|
|
1307
|
+
*/
|
|
1308
|
+
|
|
1309
|
+
${generateParserCode(schema)}
|
|
1310
|
+
`;
|
|
1060
1311
|
}
|
|
1061
1312
|
|
|
1062
1313
|
//#endregion
|
|
@@ -2081,5 +2332,5 @@ async function extract(context, input, options = {}) {
|
|
|
2081
2332
|
}
|
|
2082
2333
|
|
|
2083
2334
|
//#endregion
|
|
2084
|
-
export { JSON_SCHEMA_METADATA_KEYS, JSON_SCHEMA_PRIMITIVE_TYPES, JSON_SCHEMA_TYPES, JsonSchemaTypeNames, VALID_SOURCE_FILE_EXTENSIONS, addProperty, applyJsonSchemaMetadata, bundle, bundleReferences, extract, extractHash, extractJsonSchema, extractReflection, extractResolvedVariant, extractSchema, extractSchemaWithSource, extractSource, extractVariant, generateCode, getCacheDirectory, getCacheFilePath, getJsonSchema, getJsonSchemaObject, getJsonSchemaType, getPrimarySchemaType, getProperties, getPropertiesList, isJsonSchema, isJsonSchemaAllOf, isJsonSchemaAny, isJsonSchemaAnyOf, isJsonSchemaArray, isJsonSchemaBigint, isJsonSchemaBoolean, isJsonSchemaDate, isJsonSchemaDecimal, isJsonSchemaEnum, isJsonSchemaInteger, isJsonSchemaKeywords, isJsonSchemaLiteral, isJsonSchemaMap, isJsonSchemaNativeEnum, isJsonSchemaNever, isJsonSchemaNull, isJsonSchemaNullable, isJsonSchemaNumber, isJsonSchemaObject, isJsonSchemaPrimitiveType, isJsonSchemaPrimitiveUnion, isJsonSchemaRecord, isJsonSchemaRef, isJsonSchemaSet, isJsonSchemaString, isJsonSchemaTuple, isJsonSchemaType, isJsonSchemaUndefined, isJsonSchemaUnion, isJsonSchemaUnknown, isNullOnlyJsonSchema, isPropertyOptional, isSchema, isSchemaNullable, isSchemaObject, isSchemaWithSource, isStandardSchema, isUntypedInput, isUntypedInputStrict, isUntypedSchema, isUntypedSchemaStrict, isValibotSchema, isValidSchemaInputFile, merge, readSchema, readSchemaSafe, readSchemaTypes, reflectionToJsonSchema, resolve, resolveModule, resolveReflection, stringifyType, stringifyValue, writeSchema };
|
|
2335
|
+
export { JSON_SCHEMA_METADATA_KEYS, JSON_SCHEMA_PRIMITIVE_TYPES, JSON_SCHEMA_TYPES, JsonSchemaTypeNames, VALID_SOURCE_FILE_EXTENSIONS, addProperty, applyJsonSchemaMetadata, bundle, bundleReferences, extract, extractHash, extractJsonSchema, extractReflection, extractResolvedVariant, extractSchema, extractSchemaWithSource, extractSource, extractVariant, generateCode, generateParserCode, generateValidationCode, getCacheDirectory, getCacheFilePath, getJsonSchema, getJsonSchemaObject, getJsonSchemaType, getPrimarySchemaType, getProperties, getPropertiesList, isJsonSchema, isJsonSchemaAllOf, isJsonSchemaAny, isJsonSchemaAnyOf, isJsonSchemaArray, isJsonSchemaBigint, isJsonSchemaBoolean, isJsonSchemaDate, isJsonSchemaDecimal, isJsonSchemaEnum, isJsonSchemaInteger, isJsonSchemaKeywords, isJsonSchemaLiteral, isJsonSchemaMap, isJsonSchemaNativeEnum, isJsonSchemaNever, isJsonSchemaNull, isJsonSchemaNullable, isJsonSchemaNumber, isJsonSchemaObject, isJsonSchemaPrimitiveType, isJsonSchemaPrimitiveUnion, isJsonSchemaRecord, isJsonSchemaRef, isJsonSchemaSet, isJsonSchemaString, isJsonSchemaTuple, isJsonSchemaType, isJsonSchemaUndefined, isJsonSchemaUnion, isJsonSchemaUnknown, isNullOnlyJsonSchema, isPropertyOptional, isSchema, isSchemaNullable, isSchemaObject, isSchemaWithSource, isStandardSchema, isUntypedInput, isUntypedInputStrict, isUntypedSchema, isUntypedSchemaStrict, isValibotSchema, isValidSchemaInputFile, merge, readSchema, readSchemaSafe, readSchemaTypes, reflectionToJsonSchema, resolve, resolveModule, resolveReflection, stringifyType, stringifyValue, writeSchema };
|
|
2085
2336
|
//# sourceMappingURL=index.mjs.map
|