typia 9.7.1 → 10.0.0-dev.20251107
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/LICENSE +21 -21
- package/README.md +153 -153
- package/lib/AssertionGuard.d.mts +27 -25
- package/lib/AssertionGuard.d.ts +27 -25
- package/lib/CamelCase.d.mts +1 -1
- package/lib/CamelCase.d.ts +1 -1
- package/lib/IRandomGenerator.d.mts +44 -42
- package/lib/IRandomGenerator.d.ts +44 -42
- package/lib/IReadableURLSearchParams.d.mts +2 -2
- package/lib/IReadableURLSearchParams.d.ts +2 -2
- package/lib/PascalCase.d.mts +1 -1
- package/lib/PascalCase.d.ts +1 -1
- package/lib/Primitive.d.mts +20 -22
- package/lib/Primitive.d.ts +20 -22
- package/lib/Resolved.d.mts +16 -18
- package/lib/Resolved.d.ts +16 -18
- package/lib/SnakeCase.d.mts +3 -2
- package/lib/SnakeCase.d.ts +3 -2
- package/lib/TypeGuardError.d.mts +88 -61
- package/lib/TypeGuardError.d.ts +88 -61
- package/lib/TypeGuardError.js +40 -29
- package/lib/TypeGuardError.js.map +1 -1
- package/lib/TypeGuardError.mjs +70 -48
- package/lib/factories/MetadataCollection.js +4 -12
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataCollection.mjs +4 -12
- package/lib/factories/MetadataCommentTagFactory.js +5 -15
- package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
- package/lib/factories/MetadataCommentTagFactory.mjs +5 -15
- package/lib/factories/MetadataFactory.js +1 -3
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/MetadataFactory.mjs +1 -3
- package/lib/factories/ProtobufFactory.js +2 -4
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/factories/ProtobufFactory.mjs +2 -4
- package/lib/functional.d.mts +196 -195
- package/lib/functional.d.ts +196 -195
- package/lib/functional.js +18 -54
- package/lib/functional.js.map +1 -1
- package/lib/functional.mjs +18 -54
- package/lib/http.d.mts +303 -319
- package/lib/http.d.ts +303 -319
- package/lib/http.js +26 -78
- package/lib/http.js.map +1 -1
- package/lib/http.mjs +26 -78
- package/lib/internal/_ProtobufReader.d.mts +3 -9
- package/lib/internal/_ProtobufReader.d.ts +3 -9
- package/lib/internal/_ProtobufReader.js.map +1 -1
- package/lib/internal/_ProtobufReader.mjs +3 -9
- package/lib/internal/_ProtobufSizer.d.mts +4 -12
- package/lib/internal/_ProtobufSizer.d.ts +4 -12
- package/lib/internal/_ProtobufSizer.js.map +1 -1
- package/lib/internal/_ProtobufSizer.mjs +4 -12
- package/lib/internal/_ProtobufWriter.d.mts +5 -15
- package/lib/internal/_ProtobufWriter.d.ts +5 -15
- package/lib/internal/_ProtobufWriter.js.map +1 -1
- package/lib/internal/_ProtobufWriter.mjs +5 -15
- package/lib/internal/_jsonStringifyString.d.mts +4 -4
- package/lib/internal/_jsonStringifyString.d.ts +4 -4
- package/lib/internal/_jsonStringifyString.js +4 -4
- package/lib/internal/_jsonStringifyString.mjs +4 -4
- package/lib/json.d.mts +174 -195
- package/lib/json.d.ts +174 -195
- package/lib/json.js +16 -48
- package/lib/json.js.map +1 -1
- package/lib/json.mjs +16 -48
- package/lib/llm.d.mts +275 -192
- package/lib/llm.d.ts +275 -192
- package/lib/llm.js +4 -12
- package/lib/llm.js.map +1 -1
- package/lib/llm.mjs +4 -12
- package/lib/misc.d.mts +149 -172
- package/lib/misc.d.ts +149 -172
- package/lib/misc.js +17 -51
- package/lib/misc.js.map +1 -1
- package/lib/misc.mjs +17 -51
- package/lib/module.d.mts +263 -275
- package/lib/module.d.ts +263 -275
- package/lib/module.js +18 -54
- package/lib/module.js.map +1 -1
- package/lib/module.mjs +18 -54
- package/lib/notations.d.mts +153 -174
- package/lib/notations.d.ts +153 -174
- package/lib/notations.js +24 -72
- package/lib/notations.js.map +1 -1
- package/lib/notations.mjs +24 -72
- package/lib/programmers/FeatureProgrammer.d.mts +19 -41
- package/lib/programmers/FeatureProgrammer.d.ts +19 -41
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/ImportProgrammer.js +3 -9
- package/lib/programmers/ImportProgrammer.js.map +1 -1
- package/lib/programmers/ImportProgrammer.mjs +3 -9
- package/lib/programmers/RandomProgrammer.js +6 -0
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.mjs +6 -0
- package/lib/programmers/helpers/ProtobufWire.d.mts +13 -13
- package/lib/programmers/helpers/ProtobufWire.d.ts +13 -13
- package/lib/programmers/internal/check_array_length.js +2 -6
- package/lib/programmers/internal/check_array_length.js.map +1 -1
- package/lib/programmers/internal/check_array_length.mjs +2 -6
- package/lib/programmers/internal/check_bigint.js +2 -6
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_bigint.mjs +2 -6
- package/lib/programmers/internal/check_dynamic_key.js +2 -6
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.mjs +2 -6
- package/lib/programmers/internal/check_dynamic_properties.js +3 -9
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.mjs +3 -9
- package/lib/programmers/internal/check_everything.js +1 -3
- package/lib/programmers/internal/check_everything.js.map +1 -1
- package/lib/programmers/internal/check_everything.mjs +1 -3
- package/lib/programmers/internal/check_native.js +2 -6
- package/lib/programmers/internal/check_native.js.map +1 -1
- package/lib/programmers/internal/check_native.mjs +2 -6
- package/lib/programmers/internal/check_number.js +2 -6
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/internal/check_number.mjs +2 -6
- package/lib/programmers/internal/check_object.js +2 -6
- package/lib/programmers/internal/check_object.js.map +1 -1
- package/lib/programmers/internal/check_object.mjs +2 -6
- package/lib/programmers/internal/check_string.js +2 -6
- package/lib/programmers/internal/check_string.js.map +1 -1
- package/lib/programmers/internal/check_string.mjs +2 -6
- package/lib/programmers/internal/check_template.js +1 -3
- package/lib/programmers/internal/check_template.js.map +1 -1
- package/lib/programmers/internal/check_template.mjs +1 -3
- package/lib/programmers/internal/check_union_array_like.js +1 -3
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.mjs +1 -3
- package/lib/programmers/internal/decode_union_object.js +2 -6
- package/lib/programmers/internal/decode_union_object.js.map +1 -1
- package/lib/programmers/internal/decode_union_object.mjs +2 -6
- package/lib/programmers/internal/feature_object_entries.js +1 -3
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.mjs +1 -3
- package/lib/programmers/internal/json_schema_escaped.js +2 -6
- package/lib/programmers/internal/json_schema_escaped.js.map +1 -1
- package/lib/programmers/internal/json_schema_escaped.mjs +2 -6
- package/lib/programmers/internal/json_schema_object.js +3 -9
- package/lib/programmers/internal/json_schema_object.js.map +1 -1
- package/lib/programmers/internal/json_schema_object.mjs +3 -9
- package/lib/programmers/internal/json_schema_station.d.mts +2 -2
- package/lib/programmers/internal/json_schema_station.d.ts +2 -2
- package/lib/programmers/internal/metadata_to_pattern.js +1 -3
- package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
- package/lib/programmers/internal/metadata_to_pattern.mjs +1 -3
- package/lib/programmers/internal/postfix_of_tuple.js +1 -3
- package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
- package/lib/programmers/internal/postfix_of_tuple.mjs +1 -3
- package/lib/programmers/internal/prune_object_properties.js +1 -3
- package/lib/programmers/internal/prune_object_properties.js.map +1 -1
- package/lib/programmers/internal/prune_object_properties.mjs +1 -3
- package/lib/programmers/internal/stringify_dynamic_properties.js +2 -6
- package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/stringify_dynamic_properties.mjs +2 -6
- package/lib/programmers/internal/stringify_native.js +1 -3
- package/lib/programmers/internal/stringify_native.js.map +1 -1
- package/lib/programmers/internal/stringify_native.mjs +1 -3
- package/lib/programmers/internal/stringify_regular_properties.js +2 -6
- package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
- package/lib/programmers/internal/stringify_regular_properties.mjs +2 -6
- package/lib/programmers/internal/template_to_pattern.js +1 -3
- package/lib/programmers/internal/template_to_pattern.js.map +1 -1
- package/lib/programmers/internal/template_to_pattern.mjs +1 -3
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js +1 -3
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
- package/lib/programmers/internal/wrap_metadata_rest_tuple.mjs +1 -3
- package/lib/programmers/json/JsonStringifyProgrammer.js +2 -2
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.mjs +2 -2
- package/lib/programmers/llm/LlmApplicationProgrammer.js +5 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.mjs +5 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js +1 -4
- package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.mjs +1 -35
- package/lib/protobuf.d.mts +290 -297
- package/lib/protobuf.d.ts +290 -297
- package/lib/protobuf.js +17 -51
- package/lib/protobuf.js.map +1 -1
- package/lib/protobuf.mjs +17 -51
- package/lib/reflect.d.mts +2 -4
- package/lib/reflect.d.ts +2 -4
- package/lib/reflect.js +1 -3
- package/lib/reflect.js.map +1 -1
- package/lib/reflect.mjs +1 -3
- package/lib/schemas/json/IJsonApplication.d.mts +4 -4
- package/lib/schemas/json/IJsonApplication.d.ts +4 -4
- package/lib/schemas/json/IJsonSchemaCollection.d.mts +73 -56
- package/lib/schemas/json/IJsonSchemaCollection.d.ts +73 -56
- package/lib/schemas/json/IJsonSchemaUnit.d.mts +83 -70
- package/lib/schemas/json/IJsonSchemaUnit.d.ts +83 -70
- package/lib/schemas/metadata/Metadata.d.mts +1 -3
- package/lib/schemas/metadata/Metadata.d.ts +1 -3
- package/lib/schemas/metadata/Metadata.js +9 -27
- package/lib/schemas/metadata/Metadata.js.map +1 -1
- package/lib/schemas/metadata/Metadata.mjs +9 -27
- package/lib/schemas/metadata/MetadataAliasType.d.mts +1 -3
- package/lib/schemas/metadata/MetadataAliasType.d.ts +1 -3
- package/lib/schemas/metadata/MetadataAliasType.js +3 -9
- package/lib/schemas/metadata/MetadataAliasType.js.map +1 -1
- package/lib/schemas/metadata/MetadataAliasType.mjs +3 -9
- package/lib/schemas/metadata/MetadataApplication.d.mts +1 -3
- package/lib/schemas/metadata/MetadataApplication.d.ts +1 -3
- package/lib/schemas/metadata/MetadataApplication.js +2 -6
- package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
- package/lib/schemas/metadata/MetadataApplication.mjs +2 -6
- package/lib/schemas/metadata/MetadataArray.d.mts +1 -3
- package/lib/schemas/metadata/MetadataArray.d.ts +1 -3
- package/lib/schemas/metadata/MetadataArray.js +1 -3
- package/lib/schemas/metadata/MetadataArray.js.map +1 -1
- package/lib/schemas/metadata/MetadataArray.mjs +1 -3
- package/lib/schemas/metadata/MetadataArrayType.d.mts +1 -3
- package/lib/schemas/metadata/MetadataArrayType.d.ts +1 -3
- package/lib/schemas/metadata/MetadataArrayType.js +3 -9
- package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
- package/lib/schemas/metadata/MetadataArrayType.mjs +3 -9
- package/lib/schemas/metadata/MetadataAtomic.js +1 -3
- package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
- package/lib/schemas/metadata/MetadataAtomic.mjs +1 -3
- package/lib/schemas/metadata/MetadataEscaped.d.mts +1 -3
- package/lib/schemas/metadata/MetadataEscaped.d.ts +1 -3
- package/lib/schemas/metadata/MetadataEscaped.js +3 -9
- package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
- package/lib/schemas/metadata/MetadataEscaped.mjs +3 -9
- package/lib/schemas/metadata/MetadataFunction.d.mts +1 -3
- package/lib/schemas/metadata/MetadataFunction.d.ts +1 -3
- package/lib/schemas/metadata/MetadataFunction.js +2 -6
- package/lib/schemas/metadata/MetadataFunction.js.map +1 -1
- package/lib/schemas/metadata/MetadataFunction.mjs +2 -6
- package/lib/schemas/metadata/MetadataObject.d.mts +1 -3
- package/lib/schemas/metadata/MetadataObject.d.ts +1 -3
- package/lib/schemas/metadata/MetadataObject.js +1 -3
- package/lib/schemas/metadata/MetadataObject.js.map +1 -1
- package/lib/schemas/metadata/MetadataObject.mjs +1 -3
- package/lib/schemas/metadata/MetadataObjectType.d.mts +1 -3
- package/lib/schemas/metadata/MetadataObjectType.d.ts +1 -3
- package/lib/schemas/metadata/MetadataObjectType.js +5 -15
- package/lib/schemas/metadata/MetadataObjectType.js.map +1 -1
- package/lib/schemas/metadata/MetadataObjectType.mjs +6 -18
- package/lib/schemas/metadata/MetadataParameter.js +1 -3
- package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
- package/lib/schemas/metadata/MetadataParameter.mjs +1 -3
- package/lib/schemas/metadata/MetadataProperty.d.mts +1 -3
- package/lib/schemas/metadata/MetadataProperty.d.ts +1 -3
- package/lib/schemas/metadata/MetadataProperty.js +3 -9
- package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
- package/lib/schemas/metadata/MetadataProperty.mjs +3 -9
- package/lib/schemas/metadata/MetadataTemplate.js +1 -3
- package/lib/schemas/metadata/MetadataTemplate.js.map +1 -1
- package/lib/schemas/metadata/MetadataTemplate.mjs +1 -3
- package/lib/schemas/metadata/MetadataTuple.d.mts +1 -3
- package/lib/schemas/metadata/MetadataTuple.d.ts +1 -3
- package/lib/schemas/metadata/MetadataTuple.js +2 -6
- package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
- package/lib/schemas/metadata/MetadataTuple.mjs +2 -6
- package/lib/schemas/metadata/MetadataTupleType.js +2 -6
- package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
- package/lib/schemas/metadata/MetadataTupleType.mjs +3 -9
- package/lib/tags/Constant.d.mts +16 -16
- package/lib/tags/Constant.d.ts +16 -16
- package/lib/tags/ContentMediaType.d.mts +7 -7
- package/lib/tags/ContentMediaType.d.ts +7 -7
- package/lib/tags/Default.d.mts +19 -19
- package/lib/tags/Default.d.ts +19 -19
- package/lib/tags/Example.d.mts +18 -18
- package/lib/tags/Example.d.ts +18 -18
- package/lib/tags/Examples.d.mts +23 -23
- package/lib/tags/Examples.d.ts +23 -23
- package/lib/tags/ExclusiveMaximum.d.mts +8 -5
- package/lib/tags/ExclusiveMaximum.d.ts +8 -5
- package/lib/tags/ExclusiveMinimum.d.mts +8 -5
- package/lib/tags/ExclusiveMinimum.d.ts +8 -5
- package/lib/tags/Format.d.mts +12 -8
- package/lib/tags/Format.d.ts +12 -8
- package/lib/tags/JsonSchemaPlugin.d.mts +20 -18
- package/lib/tags/JsonSchemaPlugin.d.ts +20 -18
- package/lib/tags/MaxItems.d.mts +9 -9
- package/lib/tags/MaxItems.d.ts +9 -9
- package/lib/tags/MaxLength.d.mts +6 -5
- package/lib/tags/MaxLength.d.ts +6 -5
- package/lib/tags/Maximum.d.mts +9 -7
- package/lib/tags/Maximum.d.ts +9 -7
- package/lib/tags/MinItems.d.mts +9 -9
- package/lib/tags/MinItems.d.ts +9 -9
- package/lib/tags/MinLength.d.mts +6 -5
- package/lib/tags/MinLength.d.ts +6 -5
- package/lib/tags/Minimum.d.mts +9 -7
- package/lib/tags/Minimum.d.ts +9 -7
- package/lib/tags/MultipleOf.d.mts +10 -7
- package/lib/tags/MultipleOf.d.ts +10 -7
- package/lib/tags/Pattern.d.mts +7 -4
- package/lib/tags/Pattern.d.ts +7 -4
- package/lib/tags/Sequence.d.mts +19 -17
- package/lib/tags/Sequence.d.ts +19 -17
- package/lib/tags/TagBase.d.mts +21 -28
- package/lib/tags/TagBase.d.ts +21 -28
- package/lib/tags/Type.d.mts +12 -11
- package/lib/tags/Type.d.ts +12 -11
- package/lib/tags/UniqueItems.d.mts +10 -9
- package/lib/tags/UniqueItems.d.ts +10 -9
- package/lib/tags/internal/FormatCheatSheet.d.mts +1 -3
- package/lib/tags/internal/FormatCheatSheet.d.ts +1 -3
- package/lib/tags/internal/FormatCheatSheet.js +1 -3
- package/lib/tags/internal/FormatCheatSheet.js.map +1 -1
- package/lib/tags/internal/FormatCheatSheet.mjs +1 -3
- package/lib/transformers/ITransformOptions.d.mts +27 -19
- package/lib/transformers/ITransformOptions.d.ts +27 -19
- package/lib/transformers/ImportTransformer.js +5 -10
- package/lib/transformers/ImportTransformer.js.map +1 -1
- package/lib/transformers/ImportTransformer.mjs +5 -10
- package/lib/transformers/NoTransformConfigurationError.js +1 -3
- package/lib/transformers/NoTransformConfigurationError.js.map +1 -1
- package/lib/transformers/NoTransformConfigurationError.mjs +1 -3
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +1 -3
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +1 -3
- package/lib/typings/Equal.d.mts +6 -6
- package/lib/typings/Equal.d.ts +6 -6
- package/package.json +121 -120
- package/src/AssertionGuard.ts +41 -39
- package/src/CamelCase.ts +75 -75
- package/src/IRandomGenerator.ts +337 -335
- package/src/IReadableURLSearchParams.ts +9 -9
- package/src/PascalCase.ts +71 -71
- package/src/Primitive.ts +90 -92
- package/src/Resolved.ts +72 -74
- package/src/SnakeCase.ts +127 -126
- package/src/TypeGuardError.ts +216 -179
- package/src/factories/MetadataCollection.ts +270 -278
- package/src/factories/MetadataCommentTagFactory.ts +632 -648
- package/src/factories/MetadataFactory.ts +402 -404
- package/src/factories/ProtobufFactory.ts +873 -875
- package/src/functional.ts +705 -740
- package/src/http.ts +972 -1040
- package/src/internal/_ProtobufReader.ts +188 -194
- package/src/internal/_ProtobufSizer.ts +137 -145
- package/src/internal/_ProtobufWriter.ts +135 -145
- package/src/internal/_jsonStringifyString.ts +42 -42
- package/src/json.ts +643 -696
- package/src/llm.ts +615 -540
- package/src/misc.ts +594 -651
- package/src/module.ts +889 -937
- package/src/notations.ts +751 -820
- package/src/programmers/FeatureProgrammer.ts +605 -627
- package/src/programmers/ImportProgrammer.ts +179 -185
- package/src/programmers/RandomProgrammer.ts +1195 -1190
- package/src/programmers/helpers/ProtobufWire.ts +34 -34
- package/src/programmers/internal/check_array_length.ts +43 -47
- package/src/programmers/internal/check_bigint.ts +46 -50
- package/src/programmers/internal/check_dynamic_key.ts +197 -201
- package/src/programmers/internal/check_dynamic_properties.ts +231 -237
- package/src/programmers/internal/check_everything.ts +21 -23
- package/src/programmers/internal/check_native.ts +23 -27
- package/src/programmers/internal/check_number.ts +108 -112
- package/src/programmers/internal/check_object.ts +72 -78
- package/src/programmers/internal/check_string.ts +46 -50
- package/src/programmers/internal/check_template.ts +46 -48
- package/src/programmers/internal/check_union_array_like.ts +331 -335
- package/src/programmers/internal/decode_union_object.ts +110 -116
- package/src/programmers/internal/feature_object_entries.ts +59 -61
- package/src/programmers/internal/json_schema_escaped.ts +78 -82
- package/src/programmers/internal/json_schema_object.ts +150 -158
- package/src/programmers/internal/json_schema_station.ts +2 -2
- package/src/programmers/internal/metadata_to_pattern.ts +40 -42
- package/src/programmers/internal/postfix_of_tuple.ts +3 -5
- package/src/programmers/internal/prune_object_properties.ts +69 -71
- package/src/programmers/internal/stringify_dynamic_properties.ts +158 -162
- package/src/programmers/internal/stringify_native.ts +5 -7
- package/src/programmers/internal/stringify_regular_properties.ts +77 -81
- package/src/programmers/internal/template_to_pattern.ts +21 -23
- package/src/programmers/internal/wrap_metadata_rest_tuple.ts +21 -23
- package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
- package/src/programmers/llm/LlmApplicationProgrammer.ts +10 -1
- package/src/programmers/llm/LlmSchemaProgrammer.ts +2 -7
- package/src/protobuf.ts +820 -861
- package/src/reflect.ts +46 -50
- package/src/schemas/json/IJsonApplication.ts +77 -77
- package/src/schemas/json/IJsonSchemaCollection.ts +212 -195
- package/src/schemas/json/IJsonSchemaUnit.ts +263 -250
- package/src/schemas/metadata/IMetadataTypeTag.ts +14 -16
- package/src/schemas/metadata/Metadata.ts +669 -687
- package/src/schemas/metadata/MetadataAliasType.ts +57 -63
- package/src/schemas/metadata/MetadataApplication.ts +40 -44
- package/src/schemas/metadata/MetadataArray.ts +47 -49
- package/src/schemas/metadata/MetadataArrayType.ts +51 -57
- package/src/schemas/metadata/MetadataAtomic.ts +85 -87
- package/src/schemas/metadata/MetadataEscaped.ts +45 -51
- package/src/schemas/metadata/MetadataFunction.ts +45 -49
- package/src/schemas/metadata/MetadataObject.ts +46 -48
- package/src/schemas/metadata/MetadataObjectType.ts +137 -149
- package/src/schemas/metadata/MetadataParameter.ts +52 -54
- package/src/schemas/metadata/MetadataProperty.ts +53 -59
- package/src/schemas/metadata/MetadataTemplate.ts +78 -80
- package/src/schemas/metadata/MetadataTuple.ts +28 -32
- package/src/schemas/metadata/MetadataTupleType.ts +61 -67
- package/src/tags/Constant.ts +47 -47
- package/src/tags/ContentMediaType.ts +27 -27
- package/src/tags/Default.ts +52 -52
- package/src/tags/Example.ts +56 -56
- package/src/tags/Examples.ts +56 -56
- package/src/tags/ExclusiveMaximum.ts +44 -41
- package/src/tags/ExclusiveMinimum.ts +44 -41
- package/src/tags/Format.ts +78 -74
- package/src/tags/JsonSchemaPlugin.ts +36 -34
- package/src/tags/MaxItems.ts +31 -31
- package/src/tags/MaxLength.ts +25 -24
- package/src/tags/Maximum.ts +39 -37
- package/src/tags/MinItems.ts +31 -31
- package/src/tags/MinLength.ts +25 -24
- package/src/tags/Minimum.ts +39 -37
- package/src/tags/MultipleOf.ts +42 -39
- package/src/tags/Pattern.ts +49 -46
- package/src/tags/Sequence.ts +37 -35
- package/src/tags/TagBase.ts +102 -109
- package/src/tags/Type.ts +64 -63
- package/src/tags/UniqueItems.ts +34 -33
- package/src/tags/internal/FormatCheatSheet.ts +71 -73
- package/src/transformers/ITransformOptions.ts +70 -62
- package/src/transformers/ImportTransformer.ts +253 -258
- package/src/transformers/NoTransformConfigurationError.ts +16 -18
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +224 -226
- package/src/typings/Equal.ts +18 -18
package/src/tags/Minimum.ts
CHANGED
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
import { TagBase } from "./TagBase";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Minimum value constraint tag.
|
|
5
|
-
*
|
|
6
|
-
* Enforces that a numeric value must be greater than or equal to the specified
|
|
7
|
-
* This constraint validates that the input value satisfies: input >=
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
1
|
+
import { TagBase } from "./TagBase";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Minimum value constraint tag.
|
|
5
|
+
*
|
|
6
|
+
* Enforces that a numeric value must be greater than or equal to the specified
|
|
7
|
+
* minimum. This constraint validates that the input value satisfies: input >=
|
|
8
|
+
* minimum.
|
|
9
|
+
*
|
|
10
|
+
* Example usage:
|
|
11
|
+
*
|
|
12
|
+
* ```typescript
|
|
13
|
+
* type Age = number & tags.Minimum<0>; // Age must be 0 or greater
|
|
14
|
+
* type Balance = bigint & tags.Minimum<0n>; // BigInt balance must be non-negative
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Note: This tag is mutually exclusive with ExclusiveMinimum. You cannot apply
|
|
18
|
+
* both Minimum and ExclusiveMinimum constraints to the same property.
|
|
19
|
+
*
|
|
20
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
21
|
+
* @template Value - The minimum value constraint (number or bigint literal)
|
|
22
|
+
*/
|
|
23
|
+
export type Minimum<Value extends number | bigint> = TagBase<{
|
|
24
|
+
target: Value extends bigint ? "bigint" : "number";
|
|
25
|
+
kind: "minimum";
|
|
26
|
+
value: Value;
|
|
27
|
+
validate: `${Cast<Value>} <= $input`;
|
|
28
|
+
exclusive: ["minimum", "exclusiveMinimum"];
|
|
29
|
+
schema: Value extends bigint
|
|
30
|
+
? { minimum: Numeric<Value> }
|
|
31
|
+
: { minimum: Value };
|
|
32
|
+
}>;
|
|
33
|
+
|
|
34
|
+
type Cast<Value extends number | bigint> = Value extends number
|
|
35
|
+
? Value
|
|
36
|
+
: `BigInt(${Value})`;
|
|
37
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}`
|
|
38
|
+
? N
|
|
39
|
+
: never;
|
package/src/tags/MultipleOf.ts
CHANGED
|
@@ -1,39 +1,42 @@
|
|
|
1
|
-
import { TagBase } from "./TagBase";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Multiple of constraint tag.
|
|
5
|
-
*
|
|
6
|
-
* Enforces that a numeric value must be an exact multiple of the specified
|
|
7
|
-
* This constraint validates that the input value satisfies: input %
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
type
|
|
38
|
-
?
|
|
39
|
-
:
|
|
1
|
+
import { TagBase } from "./TagBase";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Multiple of constraint tag.
|
|
5
|
+
*
|
|
6
|
+
* Enforces that a numeric value must be an exact multiple of the specified
|
|
7
|
+
* divisor. This constraint validates that the input value satisfies: input %
|
|
8
|
+
* divisor === 0.
|
|
9
|
+
*
|
|
10
|
+
* Example usage:
|
|
11
|
+
*
|
|
12
|
+
* ```typescript
|
|
13
|
+
* type EvenNumber = number & tags.MultipleOf<2>; // Must be even (2, 4, 6, ...)
|
|
14
|
+
* type DollarAmount = number & tags.MultipleOf<0.01>; // Must be in cents
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Common use cases include validating even/odd numbers, currency amounts, time
|
|
18
|
+
* intervals, or any value that must align to specific increments.
|
|
19
|
+
*
|
|
20
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
21
|
+
* @template Value - The divisor value that input must be a multiple of (number
|
|
22
|
+
* or bigint literal)
|
|
23
|
+
*/
|
|
24
|
+
export type MultipleOf<Value extends number | bigint> = TagBase<{
|
|
25
|
+
target: Value extends bigint ? "bigint" : "number";
|
|
26
|
+
kind: "multipleOf";
|
|
27
|
+
value: Value;
|
|
28
|
+
validate: `$input % ${Cast<Value>} === ${Value extends bigint
|
|
29
|
+
? Cast<0n>
|
|
30
|
+
: 0}`;
|
|
31
|
+
exclusive: true;
|
|
32
|
+
schema: Value extends bigint
|
|
33
|
+
? { multipleOf: Numeric<Value> }
|
|
34
|
+
: { multipleOf: Value };
|
|
35
|
+
}>;
|
|
36
|
+
|
|
37
|
+
type Cast<Value extends number | bigint> = Value extends number
|
|
38
|
+
? Value
|
|
39
|
+
: `BigInt(${Value})`;
|
|
40
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}`
|
|
41
|
+
? N
|
|
42
|
+
: never;
|
package/src/tags/Pattern.ts
CHANGED
|
@@ -1,46 +1,49 @@
|
|
|
1
|
-
import { TagBase } from "./TagBase";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* String pattern (regular expression) constraint tag.
|
|
5
|
-
*
|
|
6
|
-
* Validates that a string matches a specified regular expression pattern.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* Examples:
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"\
|
|
45
|
-
"\
|
|
46
|
-
|
|
1
|
+
import { TagBase } from "./TagBase";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* String pattern (regular expression) constraint tag.
|
|
5
|
+
*
|
|
6
|
+
* Validates that a string matches a specified regular expression pattern. Use
|
|
7
|
+
* this tag to enforce custom string formats through regex validation.
|
|
8
|
+
*
|
|
9
|
+
* Examples:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* type PhoneNumber = string & Pattern<"^\d{3}-\d{3}-\d{4}$">; // 123-456-7890
|
|
13
|
+
* type HexColor = string & Pattern<"^#[0-9A-Fa-f]{6}$">; // #FF5733
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* Note: This tag is mutually exclusive with the Format tag. You cannot use both
|
|
17
|
+
* Pattern and Format on the same type.
|
|
18
|
+
*
|
|
19
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
20
|
+
*/
|
|
21
|
+
export type Pattern<Value extends string> = TagBase<{
|
|
22
|
+
target: "string";
|
|
23
|
+
kind: "pattern";
|
|
24
|
+
value: Value;
|
|
25
|
+
validate: `RegExp("${Serialize<Value>}").test($input)`;
|
|
26
|
+
exclusive: ["format", "pattern"];
|
|
27
|
+
schema: {
|
|
28
|
+
pattern: Value;
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
|
|
32
|
+
/// reference: https://github.com/type-challenges/type-challenges/issues/22394#issuecomment-1397158205
|
|
33
|
+
type Serialize<T extends string, Output extends string = ""> = string extends T
|
|
34
|
+
? never
|
|
35
|
+
: T extends ""
|
|
36
|
+
? Output
|
|
37
|
+
: T extends `${infer P}${infer R}`
|
|
38
|
+
? Serialize<R, `${Output}${P extends keyof Escaper ? Escaper[P] : P}`>
|
|
39
|
+
: never;
|
|
40
|
+
|
|
41
|
+
type Escaper = {
|
|
42
|
+
'"': '\\"';
|
|
43
|
+
"\\": "\\\\";
|
|
44
|
+
"\b": "\\b";
|
|
45
|
+
"\f": "\\f";
|
|
46
|
+
"\n": "\\n";
|
|
47
|
+
"\r": "\\r";
|
|
48
|
+
"\t": "\\t";
|
|
49
|
+
};
|
package/src/tags/Sequence.ts
CHANGED
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import { TagBase } from "./TagBase";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Assigns unique field numbers for Protocol Buffer serialization.
|
|
5
|
-
*
|
|
6
|
-
* In Protocol Buffer encoding, each field in a message must have a unique
|
|
7
|
-
* The Sequence tag assigns these field numbers to
|
|
8
|
-
* Protocol Buffer serialization and
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
1
|
+
import { TagBase } from "./TagBase";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Assigns unique field numbers for Protocol Buffer serialization.
|
|
5
|
+
*
|
|
6
|
+
* In Protocol Buffer encoding, each field in a message must have a unique
|
|
7
|
+
* numeric identifier. The Sequence tag assigns these field numbers to
|
|
8
|
+
* TypeScript properties, enabling proper Protocol Buffer serialization and
|
|
9
|
+
* deserialization. Field numbers 1-15 require only one byte to encode, making
|
|
10
|
+
* them ideal for frequently used fields. Numbers 19000-19999 are reserved by
|
|
11
|
+
* the Protocol Buffer specification and should not be used.
|
|
12
|
+
*
|
|
13
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* interface User {
|
|
17
|
+
* id: string & Sequence<1>; // Most frequent field uses 1
|
|
18
|
+
* email: string & Sequence<2>; // Common fields use low numbers
|
|
19
|
+
* createdAt: number & Sequence<3>;
|
|
20
|
+
* metadata?: object & Sequence<10>; // Optional fields work too
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* // Generate Protocol Buffer message
|
|
24
|
+
* const message = typia.protobuf.message<User>();
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @template N - Field number (positive integer from 1 to 536,870,911, excluding
|
|
28
|
+
* 19000-19999)
|
|
29
|
+
*/
|
|
30
|
+
export type Sequence<N extends number> = TagBase<{
|
|
31
|
+
target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
|
|
32
|
+
kind: "sequence";
|
|
33
|
+
value: N;
|
|
34
|
+
schema: {
|
|
35
|
+
"x-protobuf-sequence": N;
|
|
36
|
+
};
|
|
37
|
+
}>;
|
package/src/tags/TagBase.ts
CHANGED
|
@@ -1,109 +1,102 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base type for all validation tags in typia.
|
|
3
|
-
*
|
|
4
|
-
* TagBase provides the foundation for all typia's validation tags. It attaches
|
|
5
|
-
* metadata to TypeScript types that typia's transformer processes at
|
|
6
|
-
* to generate optimized runtime validation code.
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
| "
|
|
42
|
-
| "
|
|
43
|
-
| "
|
|
44
|
-
| "
|
|
45
|
-
| "
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
*
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
*
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Additional schema info assigned to the {@link IJsonSchema} object.
|
|
106
|
-
*/
|
|
107
|
-
schema?: Schema;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Base type for all validation tags in typia.
|
|
3
|
+
*
|
|
4
|
+
* TagBase provides the foundation for all typia's validation tags. It attaches
|
|
5
|
+
* metadata to TypeScript types that typia's transformer processes at
|
|
6
|
+
* compile-time to generate optimized runtime validation code.
|
|
7
|
+
*
|
|
8
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Custom tag example
|
|
12
|
+
* type MyCustomTag<Value extends number> = TagBase<{
|
|
13
|
+
* target: "number";
|
|
14
|
+
* kind: "MyCustom";
|
|
15
|
+
* value: Value;
|
|
16
|
+
* validate: `$input === ${Value}`;
|
|
17
|
+
* }>;
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @template Props - Tag properties that define validation behavior
|
|
21
|
+
*/
|
|
22
|
+
export type TagBase<
|
|
23
|
+
Props extends TagBase.IProps<any, any, any, any, any, any>,
|
|
24
|
+
> = {
|
|
25
|
+
/**
|
|
26
|
+
* This is a dummy property for compilation.
|
|
27
|
+
*
|
|
28
|
+
* It does not mean anything in runtime.
|
|
29
|
+
*/
|
|
30
|
+
"typia.tag"?: Props;
|
|
31
|
+
};
|
|
32
|
+
export namespace TagBase {
|
|
33
|
+
/**
|
|
34
|
+
* Properties interface for validation tags.
|
|
35
|
+
*
|
|
36
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
37
|
+
*/
|
|
38
|
+
export interface IProps<
|
|
39
|
+
Target extends
|
|
40
|
+
| "boolean"
|
|
41
|
+
| "bigint"
|
|
42
|
+
| "number"
|
|
43
|
+
| "string"
|
|
44
|
+
| "array"
|
|
45
|
+
| "object",
|
|
46
|
+
Kind extends string,
|
|
47
|
+
Value extends boolean | bigint | number | string | undefined,
|
|
48
|
+
Validate extends
|
|
49
|
+
| string
|
|
50
|
+
| {
|
|
51
|
+
[key in Target]?: string;
|
|
52
|
+
},
|
|
53
|
+
Exclusive extends boolean | string[],
|
|
54
|
+
Schema extends object | undefined,
|
|
55
|
+
> {
|
|
56
|
+
/**
|
|
57
|
+
* Target type.
|
|
58
|
+
*
|
|
59
|
+
* If user tries to adapt this tag to a different type, it would be a
|
|
60
|
+
* compile error.
|
|
61
|
+
*
|
|
62
|
+
* For example, you've configured target type as `string`, but user adapted
|
|
63
|
+
* it onto a `number` type (`number & YourCustomTag<Value>`), then it would
|
|
64
|
+
* be blocked by TypeScript compiler.
|
|
65
|
+
*/
|
|
66
|
+
target: Target;
|
|
67
|
+
|
|
68
|
+
/** What kind of tag is this? */
|
|
69
|
+
kind: Kind;
|
|
70
|
+
|
|
71
|
+
/** Value to be configured by user. */
|
|
72
|
+
value: Value;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Validation script.
|
|
76
|
+
*
|
|
77
|
+
* This script would be inserted into the generated validation function. In
|
|
78
|
+
* here script, target variable name must be `$input`. The variable name
|
|
79
|
+
* `$input` would be transformed to the suitable when compilation.
|
|
80
|
+
*
|
|
81
|
+
* Also, If you've take a mistake on this script, compile error would be
|
|
82
|
+
* occurred. So, define it with confidence. Compiler will block all your
|
|
83
|
+
* mistakes.
|
|
84
|
+
*/
|
|
85
|
+
validate?: Validate;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Exclusive option.
|
|
89
|
+
*
|
|
90
|
+
* If this property configured as `true`, same {@link kind} tag cannot be
|
|
91
|
+
* duplicated in the target type. Otherwise, if you've configured this
|
|
92
|
+
* property as string array, all of the {@link kind} value assigned tags
|
|
93
|
+
* cannot be compatible in the target type.
|
|
94
|
+
*
|
|
95
|
+
* @default false
|
|
96
|
+
*/
|
|
97
|
+
exclusive?: Exclusive | string[];
|
|
98
|
+
|
|
99
|
+
/** Additional schema info assigned to the {@link IJsonSchema} object. */
|
|
100
|
+
schema?: Schema;
|
|
101
|
+
}
|
|
102
|
+
}
|