typia 9.7.1 → 9.7.2
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/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 +1 -3
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/factories/ProtobufFactory.mjs +1 -3
- 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/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/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 +2 -1
- package/src/AssertionGuard.ts +27 -25
- package/src/CamelCase.ts +1 -1
- package/src/IRandomGenerator.ts +44 -42
- package/src/IReadableURLSearchParams.ts +2 -2
- package/src/PascalCase.ts +1 -1
- package/src/Primitive.ts +20 -22
- package/src/Resolved.ts +16 -18
- package/src/SnakeCase.ts +3 -2
- package/src/TypeGuardError.ts +101 -64
- package/src/factories/MetadataCollection.ts +4 -12
- package/src/factories/MetadataCommentTagFactory.ts +8 -24
- package/src/factories/MetadataFactory.ts +1 -3
- package/src/factories/ProtobufFactory.ts +1 -3
- package/src/functional.ts +214 -249
- package/src/http.ts +329 -397
- package/src/internal/_ProtobufReader.ts +3 -9
- package/src/internal/_ProtobufSizer.ts +4 -12
- package/src/internal/_ProtobufWriter.ts +5 -15
- package/src/internal/_jsonStringifyString.ts +4 -4
- package/src/json.ts +190 -243
- package/src/llm.ts +279 -204
- package/src/misc.ts +166 -223
- package/src/module.ts +281 -329
- package/src/notations.ts +177 -246
- package/src/programmers/FeatureProgrammer.ts +19 -41
- package/src/programmers/ImportProgrammer.ts +3 -9
- package/src/programmers/RandomProgrammer.ts +6 -1
- package/src/programmers/helpers/ProtobufWire.ts +13 -13
- package/src/programmers/internal/check_array_length.ts +2 -6
- package/src/programmers/internal/check_bigint.ts +2 -6
- package/src/programmers/internal/check_dynamic_key.ts +2 -6
- package/src/programmers/internal/check_dynamic_properties.ts +3 -9
- package/src/programmers/internal/check_everything.ts +1 -3
- package/src/programmers/internal/check_native.ts +2 -6
- package/src/programmers/internal/check_number.ts +2 -6
- package/src/programmers/internal/check_object.ts +3 -9
- package/src/programmers/internal/check_string.ts +2 -6
- package/src/programmers/internal/check_template.ts +1 -3
- package/src/programmers/internal/check_union_array_like.ts +2 -6
- package/src/programmers/internal/decode_union_object.ts +3 -9
- package/src/programmers/internal/feature_object_entries.ts +1 -3
- package/src/programmers/internal/json_schema_escaped.ts +2 -6
- package/src/programmers/internal/json_schema_object.ts +4 -12
- package/src/programmers/internal/metadata_to_pattern.ts +1 -3
- package/src/programmers/internal/postfix_of_tuple.ts +1 -3
- package/src/programmers/internal/prune_object_properties.ts +1 -3
- package/src/programmers/internal/stringify_dynamic_properties.ts +2 -6
- package/src/programmers/internal/stringify_native.ts +1 -3
- package/src/programmers/internal/stringify_regular_properties.ts +2 -6
- package/src/programmers/internal/template_to_pattern.ts +1 -3
- package/src/programmers/internal/wrap_metadata_rest_tuple.ts +1 -3
- package/src/programmers/json/JsonStringifyProgrammer.ts +2 -2
- package/src/protobuf.ts +307 -348
- package/src/reflect.ts +3 -7
- package/src/schemas/json/IJsonApplication.ts +4 -4
- package/src/schemas/json/IJsonSchemaCollection.ts +73 -56
- package/src/schemas/json/IJsonSchemaUnit.ts +83 -70
- package/src/schemas/metadata/IMetadataTypeTag.ts +1 -3
- package/src/schemas/metadata/Metadata.ts +9 -27
- package/src/schemas/metadata/MetadataAliasType.ts +3 -9
- package/src/schemas/metadata/MetadataApplication.ts +2 -6
- package/src/schemas/metadata/MetadataArray.ts +1 -3
- package/src/schemas/metadata/MetadataArrayType.ts +3 -9
- package/src/schemas/metadata/MetadataAtomic.ts +1 -3
- package/src/schemas/metadata/MetadataEscaped.ts +3 -9
- package/src/schemas/metadata/MetadataFunction.ts +2 -6
- package/src/schemas/metadata/MetadataObject.ts +1 -3
- package/src/schemas/metadata/MetadataObjectType.ts +6 -18
- package/src/schemas/metadata/MetadataParameter.ts +1 -3
- package/src/schemas/metadata/MetadataProperty.ts +3 -9
- package/src/schemas/metadata/MetadataTemplate.ts +1 -3
- package/src/schemas/metadata/MetadataTuple.ts +2 -6
- package/src/schemas/metadata/MetadataTupleType.ts +3 -9
- package/src/tags/Constant.ts +16 -16
- package/src/tags/ContentMediaType.ts +7 -7
- package/src/tags/Default.ts +19 -19
- package/src/tags/Example.ts +18 -18
- package/src/tags/Examples.ts +23 -23
- package/src/tags/ExclusiveMaximum.ts +8 -5
- package/src/tags/ExclusiveMinimum.ts +8 -5
- package/src/tags/Format.ts +12 -8
- package/src/tags/JsonSchemaPlugin.ts +20 -18
- package/src/tags/MaxItems.ts +9 -9
- package/src/tags/MaxLength.ts +6 -5
- package/src/tags/Maximum.ts +9 -7
- package/src/tags/MinItems.ts +9 -9
- package/src/tags/MinLength.ts +6 -5
- package/src/tags/Minimum.ts +9 -7
- package/src/tags/MultipleOf.ts +10 -7
- package/src/tags/Pattern.ts +7 -4
- package/src/tags/Sequence.ts +19 -17
- package/src/tags/TagBase.ts +21 -28
- package/src/tags/Type.ts +12 -11
- package/src/tags/UniqueItems.ts +10 -9
- package/src/tags/internal/FormatCheatSheet.ts +1 -3
- package/src/transformers/ITransformOptions.ts +27 -19
- package/src/transformers/ImportTransformer.ts +5 -10
- package/src/transformers/NoTransformConfigurationError.ts +1 -3
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +1 -3
- package/src/typings/Equal.ts +6 -6
|
@@ -51,9 +51,7 @@ export class Metadata {
|
|
|
51
51
|
/* -----------------------------------------------------------
|
|
52
52
|
CONSTRUCTORS
|
|
53
53
|
----------------------------------------------------------- */
|
|
54
|
-
/**
|
|
55
|
-
* @hidden
|
|
56
|
-
*/
|
|
54
|
+
/** @ignore */
|
|
57
55
|
private constructor(props: ClassProperties<Metadata>) {
|
|
58
56
|
this.any = props.any;
|
|
59
57
|
this.required = props.required;
|
|
@@ -77,16 +75,12 @@ export class Metadata {
|
|
|
77
75
|
this.maps = props.maps;
|
|
78
76
|
}
|
|
79
77
|
|
|
80
|
-
/**
|
|
81
|
-
* @internal
|
|
82
|
-
*/
|
|
78
|
+
/** @internal */
|
|
83
79
|
public static create(props: ClassProperties<Metadata>): Metadata {
|
|
84
80
|
return new Metadata(props);
|
|
85
81
|
}
|
|
86
82
|
|
|
87
|
-
/**
|
|
88
|
-
* @internal
|
|
89
|
-
*/
|
|
83
|
+
/** @internal */
|
|
90
84
|
public static initialize(parentResolved: boolean = false): Metadata {
|
|
91
85
|
const meta: Metadata = Metadata.create({
|
|
92
86
|
any: false,
|
|
@@ -262,9 +256,7 @@ export class Metadata {
|
|
|
262
256
|
);
|
|
263
257
|
}
|
|
264
258
|
|
|
265
|
-
/**
|
|
266
|
-
* @internal
|
|
267
|
-
*/
|
|
259
|
+
/** @internal */
|
|
268
260
|
public isSequence(): boolean {
|
|
269
261
|
return (this.is_sequence_ ??= (() => {
|
|
270
262
|
const exists = (tags: IMetadataTypeTag[][]): boolean =>
|
|
@@ -303,9 +295,7 @@ export class Metadata {
|
|
|
303
295
|
return this.required === true && this.optional === false;
|
|
304
296
|
}
|
|
305
297
|
|
|
306
|
-
/**
|
|
307
|
-
* @internal
|
|
308
|
-
*/
|
|
298
|
+
/** @internal */
|
|
309
299
|
public isUnionBucket(): boolean {
|
|
310
300
|
const size: number = this.bucket();
|
|
311
301
|
const emended: number =
|
|
@@ -313,9 +303,7 @@ export class Metadata {
|
|
|
313
303
|
return emended > 1;
|
|
314
304
|
}
|
|
315
305
|
|
|
316
|
-
/**
|
|
317
|
-
* @internal
|
|
318
|
-
*/
|
|
306
|
+
/** @internal */
|
|
319
307
|
public getSoleLiteral(): string | null {
|
|
320
308
|
if (
|
|
321
309
|
this.size() === 1 &&
|
|
@@ -331,9 +319,7 @@ export class Metadata {
|
|
|
331
319
|
return this.getSoleLiteral() !== null;
|
|
332
320
|
}
|
|
333
321
|
|
|
334
|
-
/**
|
|
335
|
-
* @internal
|
|
336
|
-
*/
|
|
322
|
+
/** @internal */
|
|
337
323
|
public isParentResolved(): boolean {
|
|
338
324
|
return this.parent_resolved_;
|
|
339
325
|
}
|
|
@@ -513,9 +499,7 @@ export namespace Metadata {
|
|
|
513
499
|
return true;
|
|
514
500
|
};
|
|
515
501
|
|
|
516
|
-
/**
|
|
517
|
-
* @internal
|
|
518
|
-
*/
|
|
502
|
+
/** @internal */
|
|
519
503
|
export const merge = (x: Metadata, y: Metadata): Metadata => {
|
|
520
504
|
const output: Metadata = Metadata.create({
|
|
521
505
|
any: x.any || y.any,
|
|
@@ -595,9 +579,7 @@ export namespace Metadata {
|
|
|
595
579
|
return output;
|
|
596
580
|
};
|
|
597
581
|
|
|
598
|
-
/**
|
|
599
|
-
* @internal
|
|
600
|
-
*/
|
|
582
|
+
/** @internal */
|
|
601
583
|
export const unalias = (w: Metadata) => {
|
|
602
584
|
const visited: Set<Metadata> = new Set();
|
|
603
585
|
while (
|
|
@@ -15,9 +15,7 @@ export class MetadataAliasType {
|
|
|
15
15
|
/* -----------------------------------------------------------
|
|
16
16
|
CONSTRUCTORS
|
|
17
17
|
----------------------------------------------------------- */
|
|
18
|
-
/**
|
|
19
|
-
* @hidden
|
|
20
|
-
*/
|
|
18
|
+
/** @ignore */
|
|
21
19
|
private constructor(props: ClassProperties<MetadataAliasType>) {
|
|
22
20
|
this.name = props.name;
|
|
23
21
|
this.value = props.value;
|
|
@@ -27,18 +25,14 @@ export class MetadataAliasType {
|
|
|
27
25
|
this.nullables = props.nullables;
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
/**
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
28
|
+
/** @internal */
|
|
33
29
|
public static create(
|
|
34
30
|
props: ClassProperties<MetadataAliasType>,
|
|
35
31
|
): MetadataAliasType {
|
|
36
32
|
return new MetadataAliasType(props);
|
|
37
33
|
}
|
|
38
34
|
|
|
39
|
-
/**
|
|
40
|
-
* @internal
|
|
41
|
-
*/
|
|
35
|
+
/** @internal */
|
|
42
36
|
public static _From_without_value(props: Omit<IMetadataAliasType, "value">) {
|
|
43
37
|
return MetadataAliasType.create({
|
|
44
38
|
name: props.name,
|
|
@@ -8,17 +8,13 @@ export class MetadataApplication {
|
|
|
8
8
|
public readonly metadatas: Metadata[];
|
|
9
9
|
public readonly components: MetadataComponents;
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* @hidden
|
|
13
|
-
*/
|
|
11
|
+
/** @ignore */
|
|
14
12
|
private constructor(props: ClassProperties<MetadataApplication>) {
|
|
15
13
|
this.metadatas = props.metadatas;
|
|
16
14
|
this.components = props.components;
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
17
|
+
/** @internal */
|
|
22
18
|
public static create(
|
|
23
19
|
props: ClassProperties<MetadataApplication>,
|
|
24
20
|
): MetadataApplication {
|
|
@@ -10,9 +10,7 @@ export class MetadataArrayType {
|
|
|
10
10
|
public readonly recursive: boolean;
|
|
11
11
|
public readonly index: number | null;
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* @hidden
|
|
15
|
-
*/
|
|
13
|
+
/** @ignore */
|
|
16
14
|
private constructor(props: ClassProperties<MetadataArrayType>) {
|
|
17
15
|
this.name = props.name;
|
|
18
16
|
this.value = props.value;
|
|
@@ -21,9 +19,7 @@ export class MetadataArrayType {
|
|
|
21
19
|
this.nullables = props.nullables;
|
|
22
20
|
}
|
|
23
21
|
|
|
24
|
-
/**
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
22
|
+
/** @internal */
|
|
27
23
|
public static _From_without_value(
|
|
28
24
|
props: Omit<IMetadataArrayType, "value">,
|
|
29
25
|
): MetadataArrayType {
|
|
@@ -36,9 +32,7 @@ export class MetadataArrayType {
|
|
|
36
32
|
});
|
|
37
33
|
}
|
|
38
34
|
|
|
39
|
-
/**
|
|
40
|
-
* @internal
|
|
41
|
-
*/
|
|
35
|
+
/** @internal */
|
|
42
36
|
public static create(
|
|
43
37
|
props: ClassProperties<MetadataArrayType>,
|
|
44
38
|
): MetadataArrayType {
|
|
@@ -8,17 +8,13 @@ export class MetadataEscaped {
|
|
|
8
8
|
public readonly original: Metadata;
|
|
9
9
|
public readonly returns: Metadata;
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* @hidden
|
|
13
|
-
*/
|
|
11
|
+
/** @ignore */
|
|
14
12
|
private constructor(props: ClassProperties<MetadataEscaped>) {
|
|
15
13
|
this.original = props.original;
|
|
16
14
|
this.returns = props.returns;
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
17
|
+
/** @internal */
|
|
22
18
|
public static from(
|
|
23
19
|
props: IMetadataEscaped,
|
|
24
20
|
dict: IMetadataDictionary,
|
|
@@ -29,9 +25,7 @@ export class MetadataEscaped {
|
|
|
29
25
|
});
|
|
30
26
|
}
|
|
31
27
|
|
|
32
|
-
/**
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
28
|
+
/** @internal */
|
|
35
29
|
public static create(
|
|
36
30
|
props: ClassProperties<MetadataEscaped>,
|
|
37
31
|
): MetadataEscaped {
|
|
@@ -10,18 +10,14 @@ export class MetadataFunction {
|
|
|
10
10
|
public output: Metadata;
|
|
11
11
|
public async: boolean;
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* @hidden
|
|
15
|
-
*/
|
|
13
|
+
/** @ignore */
|
|
16
14
|
private constructor(props: ClassProperties<MetadataFunction>) {
|
|
17
15
|
this.parameters = props.parameters;
|
|
18
16
|
this.output = props.output;
|
|
19
17
|
this.async = props.async;
|
|
20
18
|
}
|
|
21
19
|
|
|
22
|
-
/**
|
|
23
|
-
* @internal
|
|
24
|
-
*/
|
|
20
|
+
/** @internal */
|
|
25
21
|
public static create(
|
|
26
22
|
props: ClassProperties<MetadataFunction>,
|
|
27
23
|
): MetadataFunction {
|
|
@@ -9,9 +9,7 @@ export class MetadataObject {
|
|
|
9
9
|
public readonly tags: IMetadataTypeTag[][];
|
|
10
10
|
private name_?: string;
|
|
11
11
|
|
|
12
|
-
/**
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
12
|
+
/** @ignore */
|
|
15
13
|
private constructor(props: ClassProperties<MetadataObject>) {
|
|
16
14
|
this.type = props.type;
|
|
17
15
|
this.tags = props.tags;
|
|
@@ -15,22 +15,16 @@ export class MetadataObjectType {
|
|
|
15
15
|
public recursive: boolean;
|
|
16
16
|
public nullables: boolean[] = [];
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
18
|
+
/** @internal */
|
|
21
19
|
public tagged_: boolean = false;
|
|
22
20
|
|
|
23
|
-
/**
|
|
24
|
-
* @internal
|
|
25
|
-
*/
|
|
21
|
+
/** @internal */
|
|
26
22
|
private literal_?: boolean;
|
|
27
23
|
|
|
28
24
|
/* -----------------------------------------------------------
|
|
29
25
|
CONSTRUCTORS
|
|
30
26
|
----------------------------------------------------------- */
|
|
31
|
-
/**
|
|
32
|
-
* @hidden
|
|
33
|
-
*/
|
|
27
|
+
/** @ignore */
|
|
34
28
|
private constructor(
|
|
35
29
|
props: Omit<ClassProperties<MetadataObjectType>, "tagged_">,
|
|
36
30
|
) {
|
|
@@ -47,18 +41,14 @@ export class MetadataObjectType {
|
|
|
47
41
|
this.tagged_ = false;
|
|
48
42
|
}
|
|
49
43
|
|
|
50
|
-
/**
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
44
|
+
/** @internal */
|
|
53
45
|
public static create(
|
|
54
46
|
props: Omit<ClassProperties<MetadataObjectType>, "tagged_">,
|
|
55
47
|
) {
|
|
56
48
|
return new MetadataObjectType(props);
|
|
57
49
|
}
|
|
58
50
|
|
|
59
|
-
/**
|
|
60
|
-
* @internal
|
|
61
|
-
*/
|
|
51
|
+
/** @internal */
|
|
62
52
|
public static _From_without_properties(
|
|
63
53
|
obj: IMetadataObjectType,
|
|
64
54
|
): MetadataObjectType {
|
|
@@ -120,9 +110,7 @@ export class MetadataObjectType {
|
|
|
120
110
|
}
|
|
121
111
|
}
|
|
122
112
|
|
|
123
|
-
/**
|
|
124
|
-
* @internal
|
|
125
|
-
*/
|
|
113
|
+
/** @internal */
|
|
126
114
|
export namespace MetadataObjectType {
|
|
127
115
|
export const intersects = (
|
|
128
116
|
x: MetadataObjectType,
|
|
@@ -17,9 +17,7 @@ export class MetadataProperty {
|
|
|
17
17
|
/* -----------------------------------------------------------
|
|
18
18
|
CONSTRUCTORS
|
|
19
19
|
----------------------------------------------------------- */
|
|
20
|
-
/**
|
|
21
|
-
* @hidden
|
|
22
|
-
*/
|
|
20
|
+
/** @ignore */
|
|
23
21
|
private constructor(props: ClassProperties<MetadataProperty>) {
|
|
24
22
|
this.key = props.key;
|
|
25
23
|
this.value = props.value;
|
|
@@ -27,18 +25,14 @@ export class MetadataProperty {
|
|
|
27
25
|
this.jsDocTags = props.jsDocTags;
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
/**
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
28
|
+
/** @internal */
|
|
33
29
|
public static create(
|
|
34
30
|
props: ClassProperties<MetadataProperty>,
|
|
35
31
|
): MetadataProperty {
|
|
36
32
|
return new MetadataProperty(props);
|
|
37
33
|
}
|
|
38
34
|
|
|
39
|
-
/**
|
|
40
|
-
* @internal
|
|
41
|
-
*/
|
|
35
|
+
/** @internal */
|
|
42
36
|
public static from(property: IMetadataProperty, dict: IMetadataDictionary) {
|
|
43
37
|
return MetadataProperty.create({
|
|
44
38
|
key: Metadata.from(property.key, dict),
|
|
@@ -8,17 +8,13 @@ export class MetadataTuple {
|
|
|
8
8
|
public readonly type: MetadataTupleType;
|
|
9
9
|
public readonly tags: IMetadataTypeTag[][];
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* @hidden
|
|
13
|
-
*/
|
|
11
|
+
/** @ignore */
|
|
14
12
|
private constructor(props: ClassProperties<MetadataTuple>) {
|
|
15
13
|
this.type = props.type;
|
|
16
14
|
this.tags = props.tags;
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
17
|
+
/** @internal */
|
|
22
18
|
public static create(props: ClassProperties<MetadataTuple>): MetadataTuple {
|
|
23
19
|
return new MetadataTuple(props);
|
|
24
20
|
}
|
|
@@ -11,14 +11,10 @@ export class MetadataTupleType {
|
|
|
11
11
|
public readonly recursive: boolean;
|
|
12
12
|
public readonly nullables: boolean[];
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
14
|
+
/** @internal */
|
|
17
15
|
public of_map?: boolean;
|
|
18
16
|
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
17
|
+
/** @internal */
|
|
22
18
|
private constructor(props: ClassProperties<MetadataTupleType>) {
|
|
23
19
|
this.name = props.name;
|
|
24
20
|
this.elements = props.elements;
|
|
@@ -27,9 +23,7 @@ export class MetadataTupleType {
|
|
|
27
23
|
this.nullables = props.nullables;
|
|
28
24
|
}
|
|
29
25
|
|
|
30
|
-
/**
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
26
|
+
/** @internal */
|
|
33
27
|
public static _From_without_elements(
|
|
34
28
|
props: Omit<IMetadataTupleType, "elements">,
|
|
35
29
|
): MetadataTupleType {
|
package/src/tags/Constant.ts
CHANGED
|
@@ -7,30 +7,30 @@ import { TagBase } from "./TagBase";
|
|
|
7
7
|
* changing their runtime type. It's particularly useful for enum-like values
|
|
8
8
|
* where you want to provide context about what each value represents.
|
|
9
9
|
*
|
|
10
|
-
* The metadata appears in generated JSON Schema, making API documentation
|
|
11
|
-
*
|
|
10
|
+
* The metadata appears in generated JSON Schema, making API documentation more
|
|
11
|
+
* descriptive and helping developers understand the meaning of specific
|
|
12
12
|
* constant values.
|
|
13
13
|
*
|
|
14
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
14
15
|
* @example
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* type Status =
|
|
18
|
+
* | Constant<"active", { title: "Active", description: "User is currently active" }>
|
|
19
|
+
* | Constant<"inactive", { title: "Inactive", description: "User account is disabled" }>
|
|
20
|
+
* | Constant<"pending", { title: "Pending", description: "Awaiting verification" }>;
|
|
21
|
+
* ```;
|
|
21
22
|
*
|
|
22
23
|
* @example
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
24
|
+
* ```typescript
|
|
25
|
+
* interface Config {
|
|
26
|
+
* debugLevel: Constant<0, { title: "Off", description: "No debug output" }>
|
|
27
|
+
* | Constant<1, { title: "Basic", description: "Basic logging" }>
|
|
28
|
+
* | Constant<2, { title: "Verbose", description: "Detailed debug info" }>;
|
|
29
|
+
* }
|
|
30
|
+
* ```;
|
|
30
31
|
*
|
|
31
32
|
* @template Value The literal value (boolean, number, string, or bigint)
|
|
32
33
|
* @template Content Metadata with optional title and description
|
|
33
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
34
34
|
*/
|
|
35
35
|
export type Constant<
|
|
36
36
|
Value extends boolean | number | string | bigint,
|
|
@@ -3,14 +3,14 @@ import { TagBase } from "./TagBase";
|
|
|
3
3
|
/**
|
|
4
4
|
* String content media type constraint tag.
|
|
5
5
|
*
|
|
6
|
-
* Specifies the MIME type of string content for proper interpretation.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Specifies the MIME type of string content for proper interpretation. This tag
|
|
7
|
+
* serves as metadata to indicate how the string content should be interpreted,
|
|
8
|
+
* but does not perform validation on the content itself.
|
|
9
9
|
*
|
|
10
|
-
* Examples:
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Examples: type JsonData = string & ContentMediaType<"application/json">; //
|
|
11
|
+
* JSON string type Base64Image = string & ContentMediaType<"image/png">; //
|
|
12
|
+
* Base64 PNG type XmlContent = string & ContentMediaType<"application/xml">; //
|
|
13
|
+
* XML data
|
|
14
14
|
*
|
|
15
15
|
* Common MIME types: application/json, text/html, image/jpeg, image/png,
|
|
16
16
|
* application/pdf, text/plain, application/xml, and many more.
|
package/src/tags/Default.ts
CHANGED
|
@@ -3,32 +3,32 @@ import { TagBase } from "./TagBase";
|
|
|
3
3
|
/**
|
|
4
4
|
* Default value tag that specifies a default value for properties.
|
|
5
5
|
*
|
|
6
|
-
* When a property is not provided during validation, this tag instructs
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* When a property is not provided during validation, this tag instructs typia
|
|
7
|
+
* to use the specified default value. This is useful for optional properties
|
|
8
|
+
* that should have a specific fallback value.
|
|
9
9
|
*
|
|
10
|
-
* Supported types: boolean, bigint, number, and string primitives.
|
|
11
|
-
*
|
|
10
|
+
* Supported types: boolean, bigint, number, and string primitives. Note:
|
|
11
|
+
* Default values are applied during validation, not at compile time.
|
|
12
12
|
*
|
|
13
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
13
14
|
* @example
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* interface User {
|
|
17
|
+
* name: string;
|
|
18
|
+
* active: boolean & Default<true>; // defaults to true if not provided
|
|
19
|
+
* retries: number & Default<3>; // defaults to 3 if not provided
|
|
20
|
+
* }
|
|
21
|
+
* ```;
|
|
21
22
|
*
|
|
22
23
|
* @example
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
24
|
+
* ```typescript
|
|
25
|
+
* interface Config {
|
|
26
|
+
* timeout: bigint & Default<5000n>; // defaults to 5000n
|
|
27
|
+
* prefix: string & Default<"user_">; // defaults to "user_"
|
|
28
|
+
* }
|
|
29
|
+
* ```;
|
|
29
30
|
*
|
|
30
31
|
* @template Value The default value (boolean, bigint, number, or string)
|
|
31
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
32
32
|
*/
|
|
33
33
|
export type Default<Value extends boolean | bigint | number | string> =
|
|
34
34
|
TagBase<{
|
package/src/tags/Example.ts
CHANGED
|
@@ -3,34 +3,34 @@ import { TagBase } from "./TagBase";
|
|
|
3
3
|
/**
|
|
4
4
|
* Example value tag that provides a single example value for documentation.
|
|
5
5
|
*
|
|
6
|
-
* This tag adds an example value to your JSON Schema, which is useful for
|
|
7
|
-
*
|
|
6
|
+
* This tag adds an example value to your JSON Schema, which is useful for API
|
|
7
|
+
* documentation, client code generation, and helping developers understand
|
|
8
8
|
* expected data formats. The example doesn't affect runtime validation.
|
|
9
9
|
*
|
|
10
10
|
* Use Example for a single representative value. For multiple named examples,
|
|
11
11
|
* use the Examples tag instead.
|
|
12
12
|
*
|
|
13
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
13
14
|
* @example
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* interface Product {
|
|
17
|
+
* name: string & Example<"iPhone 15 Pro">;
|
|
18
|
+
* price: number & Example<999.99>;
|
|
19
|
+
* inStock: boolean & Example<true>;
|
|
20
|
+
* }
|
|
21
|
+
* ```;
|
|
21
22
|
*
|
|
22
23
|
* @example
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
24
|
+
* ```typescript
|
|
25
|
+
* interface User {
|
|
26
|
+
* profile: {
|
|
27
|
+
* bio: string;
|
|
28
|
+
* tags: string[];
|
|
29
|
+
* } & Example<{ bio: "Software engineer", tags: ["typescript", "react"] }>;
|
|
30
|
+
* }
|
|
31
|
+
* ```;
|
|
31
32
|
*
|
|
32
33
|
* @template Value The example value (primitives, objects, arrays, or null)
|
|
33
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
34
34
|
*/
|
|
35
35
|
export type Example<
|
|
36
36
|
Value extends
|
package/src/tags/Examples.ts
CHANGED
|
@@ -11,34 +11,34 @@ import { TagBase } from "./TagBase";
|
|
|
11
11
|
* names and values are the example data. This helps in API documentation and
|
|
12
12
|
* test case generation.
|
|
13
13
|
*
|
|
14
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
14
15
|
* @example
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* interface PaymentRequest {
|
|
18
|
+
* amount: number & Examples<{
|
|
19
|
+
* small: 10.50,
|
|
20
|
+
* medium: 99.99,
|
|
21
|
+
* large: 1000.00
|
|
22
|
+
* }>;
|
|
23
|
+
* }
|
|
24
|
+
* ```;
|
|
24
25
|
*
|
|
25
26
|
* @example
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
27
|
+
* ```typescript
|
|
28
|
+
* interface UserStatus {
|
|
29
|
+
* state: string & Examples<{
|
|
30
|
+
* active: "active",
|
|
31
|
+
* inactive: "inactive",
|
|
32
|
+
* suspended: "suspended"
|
|
33
|
+
* }>;
|
|
34
|
+
* profile: object & Examples<{
|
|
35
|
+
* basic: { name: "John", age: 25 },
|
|
36
|
+
* detailed: { name: "Jane", age: 30, bio: "Developer", verified: true }
|
|
37
|
+
* }>;
|
|
38
|
+
* }
|
|
39
|
+
* ```;
|
|
39
40
|
*
|
|
40
41
|
* @template Value A record object mapping example names to example values
|
|
41
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
42
42
|
*/
|
|
43
43
|
export type Examples<
|
|
44
44
|
Value extends Record<
|