typia 7.2.1 → 7.3.0-dev.20241213
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 +148 -148
- package/lib/executable/typia.js +0 -0
- package/lib/programmers/llm/LlmApplicationProgrammer.js +0 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
- package/package.json +3 -3
- package/src/IRandomGenerator.ts +49 -49
- package/src/IReadableURLSearchParams.ts +9 -9
- package/src/IValidation.ts +21 -21
- package/src/executable/TypiaGenerateWizard.ts +83 -83
- package/src/executable/TypiaPatchWizard.ts +45 -45
- package/src/executable/TypiaSetupWizard.ts +179 -179
- package/src/executable/setup/ArgumentParser.ts +42 -42
- package/src/executable/setup/FileRetriever.ts +19 -19
- package/src/executable/setup/PackageManager.ts +87 -87
- package/src/factories/ExpressionFactory.ts +216 -216
- package/src/factories/IdentifierFactory.ts +89 -89
- package/src/factories/JsonMetadataFactory.ts +76 -76
- package/src/factories/LiteralFactory.ts +52 -52
- package/src/factories/MetadataCollection.ts +278 -278
- package/src/factories/MetadataCommentTagFactory.ts +650 -650
- package/src/factories/MetadataFactory.ts +404 -404
- package/src/factories/MetadataTypeTagFactory.ts +411 -411
- package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
- package/src/factories/NumericRangeFactory.ts +72 -72
- package/src/factories/ProtobufFactory.ts +875 -875
- package/src/factories/StatementFactory.ts +90 -90
- package/src/factories/TemplateFactory.ts +64 -64
- package/src/factories/TypeFactory.ts +140 -140
- package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
- package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
- package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
- package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
- package/src/factories/internal/metadata/emplace_metadata_object.ts +208 -208
- package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
- package/src/factories/internal/metadata/explore_metadata.ts +31 -31
- package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
- package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
- package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
- package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
- package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
- package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
- package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
- package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
- package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +213 -213
- package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
- package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
- package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
- package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
- package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
- package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
- package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
- package/src/functional.ts +750 -750
- package/src/http.ts +1047 -1047
- package/src/internal/_IProtobufWriter.ts +18 -18
- package/src/internal/_ProtobufReader.ts +194 -194
- package/src/internal/_ProtobufSizer.ts +145 -145
- package/src/internal/_ProtobufWriter.ts +145 -145
- package/src/internal/_accessExpressionAsString.ts +46 -46
- package/src/internal/_assertGuard.ts +13 -13
- package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
- package/src/internal/_httpFormDataReadArray.ts +4 -4
- package/src/internal/_httpFormDataReadBigint.ts +18 -18
- package/src/internal/_httpFormDataReadBlob.ts +10 -10
- package/src/internal/_httpFormDataReadBoolean.ts +16 -16
- package/src/internal/_httpFormDataReadFile.ts +10 -10
- package/src/internal/_httpFormDataReadNumber.ts +15 -15
- package/src/internal/_httpFormDataReadString.ts +10 -10
- package/src/internal/_httpHeaderReadBigint.ts +10 -10
- package/src/internal/_httpHeaderReadBoolean.ts +8 -8
- package/src/internal/_httpHeaderReadNumber.ts +7 -7
- package/src/internal/_httpParameterReadBigint.ts +10 -10
- package/src/internal/_httpParameterReadBoolean.ts +8 -8
- package/src/internal/_httpParameterReadNumber.ts +7 -7
- package/src/internal/_httpParameterReadString.ts +2 -2
- package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
- package/src/internal/_httpQueryReadArray.ts +4 -4
- package/src/internal/_httpQueryReadBigint.ts +12 -12
- package/src/internal/_httpQueryReadBoolean.ts +14 -14
- package/src/internal/_httpQueryReadNumber.ts +9 -9
- package/src/internal/_httpQueryReadString.ts +4 -4
- package/src/internal/_isBetween.ts +2 -2
- package/src/internal/_isBigintString.ts +8 -8
- package/src/internal/_isFormatByte.ts +7 -7
- package/src/internal/_isFormatDate.ts +3 -3
- package/src/internal/_isFormatDateTime.ts +4 -4
- package/src/internal/_isFormatDuration.ts +4 -4
- package/src/internal/_isFormatEmail.ts +4 -4
- package/src/internal/_isFormatHostname.ts +4 -4
- package/src/internal/_isFormatIdnEmail.ts +4 -4
- package/src/internal/_isFormatIdnHostname.ts +4 -4
- package/src/internal/_isFormatIpv4.ts +4 -4
- package/src/internal/_isFormatIpv6.ts +4 -4
- package/src/internal/_isFormatIri.ts +3 -3
- package/src/internal/_isFormatIriReference.ts +4 -4
- package/src/internal/_isFormatJsonPointer.ts +3 -3
- package/src/internal/_isFormatPassword.ts +1 -1
- package/src/internal/_isFormatRegex.ts +8 -8
- package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
- package/src/internal/_isFormatTime.ts +4 -4
- package/src/internal/_isFormatUri.ts +6 -6
- package/src/internal/_isFormatUriReference.ts +5 -5
- package/src/internal/_isFormatUriTemplate.ts +4 -4
- package/src/internal/_isFormatUrl.ts +4 -4
- package/src/internal/_isFormatUuid.ts +3 -3
- package/src/internal/_isTypeFloat.ts +5 -5
- package/src/internal/_isTypeInt32.ts +5 -5
- package/src/internal/_isTypeInt64.ts +5 -5
- package/src/internal/_isTypeUint32.ts +5 -5
- package/src/internal/_isTypeUint64.ts +5 -5
- package/src/internal/_isUniqueItems.ts +159 -159
- package/src/internal/_jsonStringifyNumber.ts +12 -12
- package/src/internal/_jsonStringifyRest.ts +3 -3
- package/src/internal/_jsonStringifyString.ts +42 -42
- package/src/internal/_jsonStringifyTail.ts +2 -2
- package/src/internal/_llmApplicationFinalize.ts +20 -20
- package/src/internal/_miscCloneAny.ts +46 -46
- package/src/internal/_notationAny.ts +37 -37
- package/src/internal/_notationCamel.ts +13 -13
- package/src/internal/_notationPascal.ts +8 -8
- package/src/internal/_notationSnake.ts +43 -43
- package/src/internal/_randomArray.ts +21 -21
- package/src/internal/_randomBigint.ts +6 -6
- package/src/internal/_randomBoolean.ts +1 -1
- package/src/internal/_randomFormatByte.ts +3 -3
- package/src/internal/_randomFormatDate.ts +18 -18
- package/src/internal/_randomFormatDatetime.ts +16 -16
- package/src/internal/_randomFormatDuration.ts +27 -27
- package/src/internal/_randomFormatEmail.ts +11 -11
- package/src/internal/_randomFormatHostname.ts +6 -6
- package/src/internal/_randomFormatIdnEmail.ts +3 -3
- package/src/internal/_randomFormatIdnHostname.ts +3 -3
- package/src/internal/_randomFormatIpv4.ts +11 -11
- package/src/internal/_randomFormatIpv6.ts +11 -11
- package/src/internal/_randomFormatIri.ts +3 -3
- package/src/internal/_randomFormatIriReference.ts +3 -3
- package/src/internal/_randomFormatJsonPointer.ts +7 -7
- package/src/internal/_randomFormatPassword.ts +8 -8
- package/src/internal/_randomFormatRegex.ts +4 -4
- package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
- package/src/internal/_randomFormatTime.ts +14 -14
- package/src/internal/_randomFormatUri.ts +3 -3
- package/src/internal/_randomFormatUriReference.ts +3 -3
- package/src/internal/_randomFormatUriTemplate.ts +3 -3
- package/src/internal/_randomFormatUrl.ts +11 -11
- package/src/internal/_randomFormatUuid.ts +6 -6
- package/src/internal/_randomInteger.ts +47 -47
- package/src/internal/_randomNumber.ts +74 -74
- package/src/internal/_randomPattern.ts +10 -10
- package/src/internal/_randomPick.ts +9 -9
- package/src/internal/_randomString.ts +24 -24
- package/src/internal/_throwTypeGuardError.ts +5 -5
- package/src/internal/_validateReport.ts +13 -13
- package/src/internal/private/__notationCapitalize.ts +2 -2
- package/src/internal/private/__notationUnsnake.ts +24 -24
- package/src/json.ts +752 -752
- package/src/llm.ts +481 -481
- package/src/misc.ts +658 -658
- package/src/module.ts +937 -937
- package/src/notations.ts +827 -827
- package/src/programmers/AssertProgrammer.ts +454 -454
- package/src/programmers/CheckerProgrammer.ts +1617 -1617
- package/src/programmers/FeatureProgrammer.ts +622 -622
- package/src/programmers/ImportProgrammer.ts +185 -185
- package/src/programmers/IsProgrammer.ts +273 -273
- package/src/programmers/RandomProgrammer.ts +1190 -1190
- package/src/programmers/TypiaProgrammer.ts +174 -174
- package/src/programmers/ValidateProgrammer.ts +439 -439
- package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
- package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
- package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
- package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
- package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
- package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
- package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
- package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
- package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
- package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
- package/src/programmers/helpers/AtomicPredicator.ts +35 -35
- package/src/programmers/helpers/CloneJoiner.ts +143 -143
- package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
- package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
- package/src/programmers/helpers/NotationJoiner.ts +144 -144
- package/src/programmers/helpers/OptionPredicator.ts +15 -15
- package/src/programmers/helpers/ProtobufUtil.ts +228 -228
- package/src/programmers/helpers/PruneJoiner.ts +148 -148
- package/src/programmers/helpers/RandomJoiner.ts +168 -168
- package/src/programmers/helpers/StringifyJoinder.ts +115 -115
- package/src/programmers/helpers/StringifyPredicator.ts +13 -13
- package/src/programmers/helpers/UnionExplorer.ts +372 -372
- package/src/programmers/helpers/UnionPredicator.ts +79 -79
- package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
- package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
- package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
- package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
- package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
- package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
- package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
- package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
- package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
- package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
- package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
- package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
- package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
- package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
- package/src/programmers/internal/check_array_length.ts +47 -47
- package/src/programmers/internal/check_bigint.ts +50 -50
- package/src/programmers/internal/check_dynamic_key.ts +201 -201
- package/src/programmers/internal/check_dynamic_properties.ts +208 -208
- package/src/programmers/internal/check_everything.ts +23 -23
- package/src/programmers/internal/check_native.ts +27 -27
- package/src/programmers/internal/check_number.ts +112 -112
- package/src/programmers/internal/check_object.ts +75 -75
- package/src/programmers/internal/check_string.ts +50 -50
- package/src/programmers/internal/check_template.ts +48 -48
- package/src/programmers/internal/check_union_array_like.ts +335 -335
- package/src/programmers/internal/decode_union_object.ts +116 -116
- package/src/programmers/internal/feature_object_entries.ts +61 -61
- package/src/programmers/internal/json_schema_alias.ts +47 -47
- package/src/programmers/internal/json_schema_array.ts +45 -45
- package/src/programmers/internal/json_schema_bigint.ts +15 -15
- package/src/programmers/internal/json_schema_boolean.ts +15 -15
- package/src/programmers/internal/json_schema_constant.ts +26 -26
- package/src/programmers/internal/json_schema_description.ts +12 -12
- package/src/programmers/internal/json_schema_discriminator.ts +35 -35
- package/src/programmers/internal/json_schema_escaped.ts +82 -82
- package/src/programmers/internal/json_schema_native.ts +33 -33
- package/src/programmers/internal/json_schema_number.ts +15 -15
- package/src/programmers/internal/json_schema_object.ts +158 -158
- package/src/programmers/internal/json_schema_plugin.ts +18 -18
- package/src/programmers/internal/json_schema_station.ts +182 -182
- package/src/programmers/internal/json_schema_string.ts +15 -15
- package/src/programmers/internal/json_schema_template.ts +55 -55
- package/src/programmers/internal/json_schema_title.ts +20 -20
- package/src/programmers/internal/json_schema_tuple.ts +35 -35
- package/src/programmers/internal/metadata_to_pattern.ts +42 -42
- package/src/programmers/internal/postfix_of_tuple.ts +5 -5
- package/src/programmers/internal/prune_object_properties.ts +71 -71
- package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
- package/src/programmers/internal/stringify_regular_properties.ts +81 -81
- package/src/programmers/internal/template_to_pattern.ts +23 -23
- package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
- package/src/programmers/json/JsonApplicationProgrammer.ts +279 -279
- package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
- package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
- package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
- package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
- package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
- package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
- package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
- package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
- package/src/programmers/llm/LlmApplicationOfValidateProgrammer.ts +81 -81
- package/src/programmers/llm/LlmApplicationProgrammer.ts +277 -278
- package/src/programmers/llm/LlmModelPredicator.ts +127 -127
- package/src/programmers/llm/LlmParametersProgrammer.ts +90 -90
- package/src/programmers/llm/LlmSchemaProgrammer.ts +143 -143
- package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
- package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
- package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
- package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
- package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
- package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
- package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
- package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
- package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
- package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
- package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
- package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
- package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
- package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
- package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
- package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
- package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
- package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
- package/src/protobuf.ts +868 -868
- package/src/reflect.ts +57 -57
- package/src/schemas/json/IJsonApplication.ts +73 -73
- package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
- package/src/schemas/json/__IJsonApplication.ts +63 -63
- package/src/schemas/llm/ILlmApplicationOfValidate.ts +55 -55
- package/src/schemas/llm/ILlmFunctionOfValidate.ts +39 -39
- package/src/schemas/metadata/IMetadata.ts +35 -35
- package/src/schemas/metadata/IMetadataAlias.ts +6 -6
- package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
- package/src/schemas/metadata/IMetadataApplication.ts +7 -7
- package/src/schemas/metadata/IMetadataArray.ts +6 -6
- package/src/schemas/metadata/IMetadataComponents.ts +11 -11
- package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
- package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
- package/src/schemas/metadata/IMetadataMap.ts +8 -8
- package/src/schemas/metadata/IMetadataNative.ts +6 -6
- package/src/schemas/metadata/IMetadataObject.ts +6 -6
- package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
- package/src/schemas/metadata/IMetadataSet.ts +7 -7
- package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
- package/src/schemas/metadata/IMetadataTuple.ts +6 -6
- package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
- package/src/schemas/metadata/Metadata.ts +669 -669
- package/src/schemas/metadata/MetadataAlias.ts +46 -46
- package/src/schemas/metadata/MetadataAliasType.ts +63 -63
- package/src/schemas/metadata/MetadataApplication.ts +44 -44
- package/src/schemas/metadata/MetadataArray.ts +49 -49
- package/src/schemas/metadata/MetadataAtomic.ts +87 -87
- package/src/schemas/metadata/MetadataComponents.ts +98 -98
- package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
- package/src/schemas/metadata/MetadataMap.ts +48 -48
- package/src/schemas/metadata/MetadataNative.ts +44 -44
- package/src/schemas/metadata/MetadataObject.ts +48 -48
- package/src/schemas/metadata/MetadataObjectType.ts +149 -149
- package/src/schemas/metadata/MetadataParameter.ts +54 -54
- package/src/schemas/metadata/MetadataProperty.ts +59 -59
- package/src/schemas/metadata/MetadataSet.ts +45 -45
- package/src/schemas/metadata/MetadataTemplate.ts +80 -80
- package/src/schemas/metadata/MetadataTuple.ts +32 -32
- package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
- package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
- package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
- package/src/tags/Example.ts +24 -24
- package/src/tags/Examples.ts +16 -16
- package/src/tags/Format.ts +50 -50
- package/src/tags/JsonSchemaPlugin.ts +8 -8
- package/src/tags/Sequence.ts +10 -10
- package/src/tags/TagBase.ts +82 -82
- package/src/tags/Type.ts +32 -32
- package/src/tags/UniqueItems.ts +14 -14
- package/src/tags/index.ts +21 -21
- package/src/transform.ts +35 -35
- package/src/transformers/CallExpressionTransformer.ts +547 -547
- package/src/transformers/FileTransformer.ts +136 -136
- package/src/transformers/IProgrammerProps.ts +11 -11
- package/src/transformers/ITransformOptions.ts +62 -62
- package/src/transformers/ITransformProps.ts +9 -9
- package/src/transformers/ITypiaContext.ts +18 -18
- package/src/transformers/ImportTransformer.ts +81 -81
- package/src/transformers/NodeTransformer.ts +17 -17
- package/src/transformers/TransformerError.ts +60 -60
- package/src/transformers/features/AssertTransformer.ts +24 -24
- package/src/transformers/features/CreateAssertTransformer.ts +24 -24
- package/src/transformers/features/CreateIsTransformer.ts +18 -18
- package/src/transformers/features/CreateRandomTransformer.ts +43 -43
- package/src/transformers/features/CreateValidateTransformer.ts +18 -18
- package/src/transformers/features/IsTransformer.ts +18 -18
- package/src/transformers/features/RandomTransformer.ts +41 -41
- package/src/transformers/features/ValidateTransformer.ts +18 -18
- package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
- package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
- package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
- package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
- package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
- package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
- package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
- package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
- package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
- package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
- package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
- package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
- package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
- package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
- package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
- package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
- package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
- package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
- package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
- package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
- package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
- package/src/transformers/features/json/JsonSchemasTransformer.ts +143 -143
- package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
- package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
- package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
- package/src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts +115 -115
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +113 -113
- package/src/transformers/features/llm/LlmParametersTransformer.ts +89 -89
- package/src/transformers/features/llm/LlmSchemaTransformer.ts +130 -130
- package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
- package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
- package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
- package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
- package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
- package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
- package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
- package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
- package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
- package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
- package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
- package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
- package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
- package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
- package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
- package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
- package/src/transformers/internal/GenericTransformer.ts +101 -101
- package/src/utils/MapUtil.ts +14 -14
- package/src/utils/NamingConvention.ts +94 -94
- package/src/utils/ProtobufNameEncoder.ts +32 -32
- package/src/utils/StringUtil.ts +16 -16
package/src/reflect.ts
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import { IMetadataApplication } from "./schemas/metadata/IMetadataApplication";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* > You must configure the generic argument `Types`.
|
|
5
|
-
*
|
|
6
|
-
* Metadata Application.
|
|
7
|
-
*
|
|
8
|
-
* Creates a Metadata application which contains the metadata and components.
|
|
9
|
-
*
|
|
10
|
-
* Note that, all of the collection types like Array, Tuple and Objects are
|
|
11
|
-
* stored in the {@link IMetadataApplication.components} property. Also, alias
|
|
12
|
-
* types are stored in the {@link IMetadataApplication.aliases} property, too.
|
|
13
|
-
*
|
|
14
|
-
* @template Types Tuple of target types
|
|
15
|
-
* @returns Metadata application
|
|
16
|
-
*
|
|
17
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
18
|
-
*/
|
|
19
|
-
export function metadata(): never;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Metadata Application.
|
|
23
|
-
*
|
|
24
|
-
* Creates a Metadata application which contains the metadata and components.
|
|
25
|
-
*
|
|
26
|
-
* Note that, all of the collection types like Array, Tuple and Objects are
|
|
27
|
-
* stored in the {@link IMetadataApplication.components} property. Also, alias
|
|
28
|
-
* types are stored in the {@link IMetadataApplication.aliases} property, too.
|
|
29
|
-
*
|
|
30
|
-
* @template Types Tuple of target types
|
|
31
|
-
* @returns Metadata application
|
|
32
|
-
*
|
|
33
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
34
|
-
*/
|
|
35
|
-
export function metadata<Types extends unknown[]>(): IMetadataApplication;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
export function metadata(): never {
|
|
41
|
-
halt("metadata");
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export function name<T, Regular extends boolean = false>(): string;
|
|
45
|
-
export function name(): never;
|
|
46
|
-
export function name(): never {
|
|
47
|
-
halt("name");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
53
|
-
function halt(name: string): never {
|
|
54
|
-
throw new Error(
|
|
55
|
-
`Error on typia.reflect.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`,
|
|
56
|
-
);
|
|
57
|
-
}
|
|
1
|
+
import { IMetadataApplication } from "./schemas/metadata/IMetadataApplication";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* > You must configure the generic argument `Types`.
|
|
5
|
+
*
|
|
6
|
+
* Metadata Application.
|
|
7
|
+
*
|
|
8
|
+
* Creates a Metadata application which contains the metadata and components.
|
|
9
|
+
*
|
|
10
|
+
* Note that, all of the collection types like Array, Tuple and Objects are
|
|
11
|
+
* stored in the {@link IMetadataApplication.components} property. Also, alias
|
|
12
|
+
* types are stored in the {@link IMetadataApplication.aliases} property, too.
|
|
13
|
+
*
|
|
14
|
+
* @template Types Tuple of target types
|
|
15
|
+
* @returns Metadata application
|
|
16
|
+
*
|
|
17
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
18
|
+
*/
|
|
19
|
+
export function metadata(): never;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Metadata Application.
|
|
23
|
+
*
|
|
24
|
+
* Creates a Metadata application which contains the metadata and components.
|
|
25
|
+
*
|
|
26
|
+
* Note that, all of the collection types like Array, Tuple and Objects are
|
|
27
|
+
* stored in the {@link IMetadataApplication.components} property. Also, alias
|
|
28
|
+
* types are stored in the {@link IMetadataApplication.aliases} property, too.
|
|
29
|
+
*
|
|
30
|
+
* @template Types Tuple of target types
|
|
31
|
+
* @returns Metadata application
|
|
32
|
+
*
|
|
33
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
34
|
+
*/
|
|
35
|
+
export function metadata<Types extends unknown[]>(): IMetadataApplication;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export function metadata(): never {
|
|
41
|
+
halt("metadata");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function name<T, Regular extends boolean = false>(): string;
|
|
45
|
+
export function name(): never;
|
|
46
|
+
export function name(): never {
|
|
47
|
+
halt("name");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
function halt(name: string): never {
|
|
54
|
+
throw new Error(
|
|
55
|
+
`Error on typia.reflect.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`,
|
|
56
|
+
);
|
|
57
|
+
}
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
import { IJsonSchemaCollection } from "./IJsonSchemaCollection";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Collection of JSON schemas.
|
|
5
|
-
*
|
|
6
|
-
* @deprecated Use {@link IJsonSchemaCollection} instead please.
|
|
7
|
-
* This interface type would be changed to {@link ILlmApplication} like
|
|
8
|
-
* structure in the future version (maybe next v8 major update).
|
|
9
|
-
* @template Version Version of the OpenAPI specification.
|
|
10
|
-
* @template Types Original TypeScript types used in the JSON schemas.
|
|
11
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
12
|
-
*/
|
|
13
|
-
export import IJsonApplication = IJsonSchemaCollection;
|
|
14
|
-
|
|
15
|
-
// export interface IJsonApplication<
|
|
16
|
-
// Version extends "3.0" | "3.1" = "3.1",
|
|
17
|
-
// App extends any = object,
|
|
18
|
-
// > {
|
|
19
|
-
// version: Version;
|
|
20
|
-
// components: IJsonApplication.IComponents<IJsonApplication.Schema<Version>>;
|
|
21
|
-
// functions: IJsonApplication.IFunction<IJsonApplication.Schema<Version>>[];
|
|
22
|
-
// __application?: App | undefined;
|
|
23
|
-
// }
|
|
24
|
-
// export namespace IJsonApplication {
|
|
25
|
-
// export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
|
|
26
|
-
// ? OpenApi.IJsonSchema
|
|
27
|
-
// : OpenApiV3.IJsonSchema;
|
|
28
|
-
|
|
29
|
-
// export interface IComponents<
|
|
30
|
-
// Schema extends
|
|
31
|
-
// | OpenApi.IJsonSchema
|
|
32
|
-
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
33
|
-
// > {
|
|
34
|
-
// schemas?: Record<string, Schema>;
|
|
35
|
-
// }
|
|
36
|
-
|
|
37
|
-
// export interface IFunction<
|
|
38
|
-
// Schema extends
|
|
39
|
-
// | OpenApi.IJsonSchema
|
|
40
|
-
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
41
|
-
// > {
|
|
42
|
-
// async: boolean;
|
|
43
|
-
// name: string;
|
|
44
|
-
// parameters: IParameter<Schema>[];
|
|
45
|
-
// output: IOutput<Schema> | undefined;
|
|
46
|
-
// summary?: string | undefined;
|
|
47
|
-
// description?: string | undefined;
|
|
48
|
-
// deprecated?: boolean;
|
|
49
|
-
// tags?: string[];
|
|
50
|
-
// }
|
|
51
|
-
|
|
52
|
-
// export interface IParameter<
|
|
53
|
-
// Schema extends
|
|
54
|
-
// | OpenApi.IJsonSchema
|
|
55
|
-
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
56
|
-
// > {
|
|
57
|
-
// name: string;
|
|
58
|
-
// required: boolean;
|
|
59
|
-
// schema: Schema;
|
|
60
|
-
// title?: string | undefined;
|
|
61
|
-
// description?: string | undefined;
|
|
62
|
-
// }
|
|
63
|
-
|
|
64
|
-
// export interface IOutput<
|
|
65
|
-
// Schema extends
|
|
66
|
-
// | OpenApi.IJsonSchema
|
|
67
|
-
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
68
|
-
// > {
|
|
69
|
-
// schema: Schema;
|
|
70
|
-
// required: boolean;
|
|
71
|
-
// description?: string | undefined;
|
|
72
|
-
// }
|
|
73
|
-
// }
|
|
1
|
+
import { IJsonSchemaCollection } from "./IJsonSchemaCollection";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Collection of JSON schemas.
|
|
5
|
+
*
|
|
6
|
+
* @deprecated Use {@link IJsonSchemaCollection} instead please.
|
|
7
|
+
* This interface type would be changed to {@link ILlmApplication} like
|
|
8
|
+
* structure in the future version (maybe next v8 major update).
|
|
9
|
+
* @template Version Version of the OpenAPI specification.
|
|
10
|
+
* @template Types Original TypeScript types used in the JSON schemas.
|
|
11
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
12
|
+
*/
|
|
13
|
+
export import IJsonApplication = IJsonSchemaCollection;
|
|
14
|
+
|
|
15
|
+
// export interface IJsonApplication<
|
|
16
|
+
// Version extends "3.0" | "3.1" = "3.1",
|
|
17
|
+
// App extends any = object,
|
|
18
|
+
// > {
|
|
19
|
+
// version: Version;
|
|
20
|
+
// components: IJsonApplication.IComponents<IJsonApplication.Schema<Version>>;
|
|
21
|
+
// functions: IJsonApplication.IFunction<IJsonApplication.Schema<Version>>[];
|
|
22
|
+
// __application?: App | undefined;
|
|
23
|
+
// }
|
|
24
|
+
// export namespace IJsonApplication {
|
|
25
|
+
// export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
|
|
26
|
+
// ? OpenApi.IJsonSchema
|
|
27
|
+
// : OpenApiV3.IJsonSchema;
|
|
28
|
+
|
|
29
|
+
// export interface IComponents<
|
|
30
|
+
// Schema extends
|
|
31
|
+
// | OpenApi.IJsonSchema
|
|
32
|
+
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
33
|
+
// > {
|
|
34
|
+
// schemas?: Record<string, Schema>;
|
|
35
|
+
// }
|
|
36
|
+
|
|
37
|
+
// export interface IFunction<
|
|
38
|
+
// Schema extends
|
|
39
|
+
// | OpenApi.IJsonSchema
|
|
40
|
+
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
41
|
+
// > {
|
|
42
|
+
// async: boolean;
|
|
43
|
+
// name: string;
|
|
44
|
+
// parameters: IParameter<Schema>[];
|
|
45
|
+
// output: IOutput<Schema> | undefined;
|
|
46
|
+
// summary?: string | undefined;
|
|
47
|
+
// description?: string | undefined;
|
|
48
|
+
// deprecated?: boolean;
|
|
49
|
+
// tags?: string[];
|
|
50
|
+
// }
|
|
51
|
+
|
|
52
|
+
// export interface IParameter<
|
|
53
|
+
// Schema extends
|
|
54
|
+
// | OpenApi.IJsonSchema
|
|
55
|
+
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
56
|
+
// > {
|
|
57
|
+
// name: string;
|
|
58
|
+
// required: boolean;
|
|
59
|
+
// schema: Schema;
|
|
60
|
+
// title?: string | undefined;
|
|
61
|
+
// description?: string | undefined;
|
|
62
|
+
// }
|
|
63
|
+
|
|
64
|
+
// export interface IOutput<
|
|
65
|
+
// Schema extends
|
|
66
|
+
// | OpenApi.IJsonSchema
|
|
67
|
+
// | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
68
|
+
// > {
|
|
69
|
+
// schema: Schema;
|
|
70
|
+
// required: boolean;
|
|
71
|
+
// description?: string | undefined;
|
|
72
|
+
// }
|
|
73
|
+
// }
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import type { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Collection of JSON schemas.
|
|
5
|
-
*
|
|
6
|
-
* @template Version Version of the OpenAPI specification.
|
|
7
|
-
* @template Types Original TypeScript types used in the JSON schemas.
|
|
8
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
9
|
-
*/
|
|
10
|
-
export type IJsonSchemaCollection<
|
|
11
|
-
Version extends "3.0" | "3.1" = "3.1",
|
|
12
|
-
Types = unknown[],
|
|
13
|
-
> = Version extends "3.0"
|
|
14
|
-
? IJsonSchemaCollection.IV3_0<Types>
|
|
15
|
-
: IJsonSchemaCollection.IV3_1<Types>;
|
|
16
|
-
export namespace IJsonSchemaCollection {
|
|
17
|
-
export interface IV3_0<Types = unknown[]> {
|
|
18
|
-
version: "3.0";
|
|
19
|
-
schemas: OpenApiV3.IJsonSchema[];
|
|
20
|
-
components: OpenApiV3.IComponents;
|
|
21
|
-
__types?: Types | undefined;
|
|
22
|
-
}
|
|
23
|
-
export interface IV3_1<Types = unknown[]> {
|
|
24
|
-
version: "3.1";
|
|
25
|
-
components: OpenApi.IComponents;
|
|
26
|
-
schemas: OpenApi.IJsonSchema[];
|
|
27
|
-
__types?: Types | undefined;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
1
|
+
import type { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Collection of JSON schemas.
|
|
5
|
+
*
|
|
6
|
+
* @template Version Version of the OpenAPI specification.
|
|
7
|
+
* @template Types Original TypeScript types used in the JSON schemas.
|
|
8
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
9
|
+
*/
|
|
10
|
+
export type IJsonSchemaCollection<
|
|
11
|
+
Version extends "3.0" | "3.1" = "3.1",
|
|
12
|
+
Types = unknown[],
|
|
13
|
+
> = Version extends "3.0"
|
|
14
|
+
? IJsonSchemaCollection.IV3_0<Types>
|
|
15
|
+
: IJsonSchemaCollection.IV3_1<Types>;
|
|
16
|
+
export namespace IJsonSchemaCollection {
|
|
17
|
+
export interface IV3_0<Types = unknown[]> {
|
|
18
|
+
version: "3.0";
|
|
19
|
+
schemas: OpenApiV3.IJsonSchema[];
|
|
20
|
+
components: OpenApiV3.IComponents;
|
|
21
|
+
__types?: Types | undefined;
|
|
22
|
+
}
|
|
23
|
+
export interface IV3_1<Types = unknown[]> {
|
|
24
|
+
version: "3.1";
|
|
25
|
+
components: OpenApi.IComponents;
|
|
26
|
+
schemas: OpenApi.IJsonSchema[];
|
|
27
|
+
__types?: Types | undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
export interface __IJsonApplication<
|
|
4
|
-
Version extends "3.0" | "3.1" = "3.1",
|
|
5
|
-
App extends any = object,
|
|
6
|
-
> {
|
|
7
|
-
version: Version;
|
|
8
|
-
components: __IJsonApplication.IComponents<
|
|
9
|
-
__IJsonApplication.Schema<Version>
|
|
10
|
-
>;
|
|
11
|
-
functions: __IJsonApplication.IFunction<__IJsonApplication.Schema<Version>>[];
|
|
12
|
-
__application?: App | undefined;
|
|
13
|
-
}
|
|
14
|
-
export namespace __IJsonApplication {
|
|
15
|
-
export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
|
|
16
|
-
? OpenApi.IJsonSchema
|
|
17
|
-
: OpenApiV3.IJsonSchema;
|
|
18
|
-
|
|
19
|
-
export interface IComponents<
|
|
20
|
-
Schema extends
|
|
21
|
-
| OpenApi.IJsonSchema
|
|
22
|
-
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
23
|
-
> {
|
|
24
|
-
schemas?: Record<string, Schema>;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface IFunction<
|
|
28
|
-
Schema extends
|
|
29
|
-
| OpenApi.IJsonSchema
|
|
30
|
-
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
31
|
-
> {
|
|
32
|
-
async: boolean;
|
|
33
|
-
name: string;
|
|
34
|
-
parameters: IParameter<Schema>[];
|
|
35
|
-
output: IOutput<Schema> | undefined;
|
|
36
|
-
summary?: string | undefined;
|
|
37
|
-
description?: string | undefined;
|
|
38
|
-
deprecated?: boolean;
|
|
39
|
-
tags?: string[];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface IParameter<
|
|
43
|
-
Schema extends
|
|
44
|
-
| OpenApi.IJsonSchema
|
|
45
|
-
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
46
|
-
> {
|
|
47
|
-
name: string;
|
|
48
|
-
required: boolean;
|
|
49
|
-
schema: Schema;
|
|
50
|
-
title?: string | undefined;
|
|
51
|
-
description?: string | undefined;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface IOutput<
|
|
55
|
-
Schema extends
|
|
56
|
-
| OpenApi.IJsonSchema
|
|
57
|
-
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
58
|
-
> {
|
|
59
|
-
schema: Schema;
|
|
60
|
-
required: boolean;
|
|
61
|
-
description?: string | undefined;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
1
|
+
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
export interface __IJsonApplication<
|
|
4
|
+
Version extends "3.0" | "3.1" = "3.1",
|
|
5
|
+
App extends any = object,
|
|
6
|
+
> {
|
|
7
|
+
version: Version;
|
|
8
|
+
components: __IJsonApplication.IComponents<
|
|
9
|
+
__IJsonApplication.Schema<Version>
|
|
10
|
+
>;
|
|
11
|
+
functions: __IJsonApplication.IFunction<__IJsonApplication.Schema<Version>>[];
|
|
12
|
+
__application?: App | undefined;
|
|
13
|
+
}
|
|
14
|
+
export namespace __IJsonApplication {
|
|
15
|
+
export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
|
|
16
|
+
? OpenApi.IJsonSchema
|
|
17
|
+
: OpenApiV3.IJsonSchema;
|
|
18
|
+
|
|
19
|
+
export interface IComponents<
|
|
20
|
+
Schema extends
|
|
21
|
+
| OpenApi.IJsonSchema
|
|
22
|
+
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
23
|
+
> {
|
|
24
|
+
schemas?: Record<string, Schema>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface IFunction<
|
|
28
|
+
Schema extends
|
|
29
|
+
| OpenApi.IJsonSchema
|
|
30
|
+
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
31
|
+
> {
|
|
32
|
+
async: boolean;
|
|
33
|
+
name: string;
|
|
34
|
+
parameters: IParameter<Schema>[];
|
|
35
|
+
output: IOutput<Schema> | undefined;
|
|
36
|
+
summary?: string | undefined;
|
|
37
|
+
description?: string | undefined;
|
|
38
|
+
deprecated?: boolean;
|
|
39
|
+
tags?: string[];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface IParameter<
|
|
43
|
+
Schema extends
|
|
44
|
+
| OpenApi.IJsonSchema
|
|
45
|
+
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
46
|
+
> {
|
|
47
|
+
name: string;
|
|
48
|
+
required: boolean;
|
|
49
|
+
schema: Schema;
|
|
50
|
+
title?: string | undefined;
|
|
51
|
+
description?: string | undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface IOutput<
|
|
55
|
+
Schema extends
|
|
56
|
+
| OpenApi.IJsonSchema
|
|
57
|
+
| OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
|
|
58
|
+
> {
|
|
59
|
+
schema: Schema;
|
|
60
|
+
required: boolean;
|
|
61
|
+
description?: string | undefined;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { ILlmFunctionOfValidate } from "./ILlmFunctionOfValidate";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Application of LLM function calling with validators.
|
|
7
|
-
*
|
|
8
|
-
* `ILlmApplication` is a data structure representing a collection of
|
|
9
|
-
* {@link ILlmFunctionOfValidate LLM function calling schemas}, composed from a native
|
|
10
|
-
* TypeScript class (or interface) type by the `typia.llm.applicationOfValidate<App, Model>()`
|
|
11
|
-
* function.
|
|
12
|
-
*
|
|
13
|
-
* If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
|
|
14
|
-
* LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
|
|
15
|
-
* select the proper function and fill its arguments from the conversation
|
|
16
|
-
* (maybe chatting text) with user (human). This is the concept of the LLM function calling.
|
|
17
|
-
*
|
|
18
|
-
* Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
|
|
19
|
-
* {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
|
|
20
|
-
* {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
|
|
21
|
-
* parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
|
|
22
|
-
* is a validator function reporting the detailed information about the wrong typed parameters.
|
|
23
|
-
*
|
|
24
|
-
* By the way, there can be some parameters (or their nested properties) which must be
|
|
25
|
-
* composed by Human, not by LLM. File uploading feature or some sensitive information
|
|
26
|
-
* like secrety key (password) are the examples. In that case, you can separate the
|
|
27
|
-
* function parameters to both LLM and human sides by configuring the
|
|
28
|
-
* {@link ILlmApplication.IOptions.separate} property. The separated parameters are
|
|
29
|
-
* assigned to the {@link ILlmFunction.separated} property.
|
|
30
|
-
*
|
|
31
|
-
* For reference, when both LLM and Human filled parameter values to call, you can
|
|
32
|
-
* merge them by calling the {@link HttpLlm.mergeParameters} function. In other words,
|
|
33
|
-
* if you've configured the {@link ILlmApplication.IOptions.separate} property, you
|
|
34
|
-
* have to merge the separated parameters before the funtion call execution.
|
|
35
|
-
*
|
|
36
|
-
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
37
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
38
|
-
*/
|
|
39
|
-
export interface ILlmApplicationOfValidate<Model extends ILlmSchema.Model>
|
|
40
|
-
extends ILlmApplication<Model> {
|
|
41
|
-
/**
|
|
42
|
-
* List of function metadata.
|
|
43
|
-
*
|
|
44
|
-
* List of function metadata that can be used for the LLM function call.
|
|
45
|
-
*
|
|
46
|
-
* Also, every functions have their own parameters validator
|
|
47
|
-
* {@link ILlmFunctionOfValidate.validate}. If the LLM function calling composes wrong
|
|
48
|
-
* typed parameters, then deliver return value of it, then LLM will correct parameters
|
|
49
|
-
* at the next conversation.
|
|
50
|
-
*/
|
|
51
|
-
functions: ILlmFunctionOfValidate<Model>[];
|
|
52
|
-
}
|
|
53
|
-
export namespace ILlmApplicationOfValidate {
|
|
54
|
-
export import IOptions = ILlmApplication.IOptions;
|
|
55
|
-
}
|
|
1
|
+
import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { ILlmFunctionOfValidate } from "./ILlmFunctionOfValidate";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Application of LLM function calling with validators.
|
|
7
|
+
*
|
|
8
|
+
* `ILlmApplication` is a data structure representing a collection of
|
|
9
|
+
* {@link ILlmFunctionOfValidate LLM function calling schemas}, composed from a native
|
|
10
|
+
* TypeScript class (or interface) type by the `typia.llm.applicationOfValidate<App, Model>()`
|
|
11
|
+
* function.
|
|
12
|
+
*
|
|
13
|
+
* If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
|
|
14
|
+
* LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
|
|
15
|
+
* select the proper function and fill its arguments from the conversation
|
|
16
|
+
* (maybe chatting text) with user (human). This is the concept of the LLM function calling.
|
|
17
|
+
*
|
|
18
|
+
* Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
|
|
19
|
+
* {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
|
|
20
|
+
* {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
|
|
21
|
+
* parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
|
|
22
|
+
* is a validator function reporting the detailed information about the wrong typed parameters.
|
|
23
|
+
*
|
|
24
|
+
* By the way, there can be some parameters (or their nested properties) which must be
|
|
25
|
+
* composed by Human, not by LLM. File uploading feature or some sensitive information
|
|
26
|
+
* like secrety key (password) are the examples. In that case, you can separate the
|
|
27
|
+
* function parameters to both LLM and human sides by configuring the
|
|
28
|
+
* {@link ILlmApplication.IOptions.separate} property. The separated parameters are
|
|
29
|
+
* assigned to the {@link ILlmFunction.separated} property.
|
|
30
|
+
*
|
|
31
|
+
* For reference, when both LLM and Human filled parameter values to call, you can
|
|
32
|
+
* merge them by calling the {@link HttpLlm.mergeParameters} function. In other words,
|
|
33
|
+
* if you've configured the {@link ILlmApplication.IOptions.separate} property, you
|
|
34
|
+
* have to merge the separated parameters before the funtion call execution.
|
|
35
|
+
*
|
|
36
|
+
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
37
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
38
|
+
*/
|
|
39
|
+
export interface ILlmApplicationOfValidate<Model extends ILlmSchema.Model>
|
|
40
|
+
extends ILlmApplication<Model> {
|
|
41
|
+
/**
|
|
42
|
+
* List of function metadata.
|
|
43
|
+
*
|
|
44
|
+
* List of function metadata that can be used for the LLM function call.
|
|
45
|
+
*
|
|
46
|
+
* Also, every functions have their own parameters validator
|
|
47
|
+
* {@link ILlmFunctionOfValidate.validate}. If the LLM function calling composes wrong
|
|
48
|
+
* typed parameters, then deliver return value of it, then LLM will correct parameters
|
|
49
|
+
* at the next conversation.
|
|
50
|
+
*/
|
|
51
|
+
functions: ILlmFunctionOfValidate<Model>[];
|
|
52
|
+
}
|
|
53
|
+
export namespace ILlmApplicationOfValidate {
|
|
54
|
+
export import IOptions = ILlmApplication.IOptions;
|
|
55
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { ILlmFunction, ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { IValidation } from "../../IValidation";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* LLM function metadata with validator.
|
|
7
|
-
*
|
|
8
|
-
* `ILlmFunctionOfValidate` is an interface representing a function metadata,
|
|
9
|
-
* which has been used for the LLM (Language Large Model) function
|
|
10
|
-
* calling. Also, it's a function structure containing the function
|
|
11
|
-
* {@link name}, {@link parameters} and {@link output return type}.
|
|
12
|
-
*
|
|
13
|
-
* If you provide this `ILlmFunctionOfValidate` data to the LLM provider like "OpenAI",
|
|
14
|
-
* the "OpenAI" will compose a function arguments by analyzing conversations
|
|
15
|
-
* with the user. With the LLM composed arguments, you can execute the function
|
|
16
|
-
* and get the result.
|
|
17
|
-
*
|
|
18
|
-
* If the LLM function calling take s a mistake that composing wrong typed
|
|
19
|
-
* {@link parameters}, you can correct the parameters by delivering the return
|
|
20
|
-
* value of the {@link validate} function. The {@link validate} function is a
|
|
21
|
-
* validator function reporting the detailed information about the wrong typed
|
|
22
|
-
* {@link parameters}.
|
|
23
|
-
*
|
|
24
|
-
* By the way, do not ensure that LLM will always provide the correct arguments.
|
|
25
|
-
* The LLM of present age is not perfect, and sometimes takes a mistake that composing
|
|
26
|
-
* wrong typed {@link parameters}. In that case, you can correc the parameters by
|
|
27
|
-
* delivering the return value of the {@link validate} function. The {@link validate}
|
|
28
|
-
* function reports the detailed information about the wrong typed {@link parameters},
|
|
29
|
-
*
|
|
30
|
-
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
31
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
32
|
-
*/
|
|
33
|
-
export interface ILlmFunctionOfValidate<Model extends ILlmSchema.Model>
|
|
34
|
-
extends ILlmFunction<Model> {
|
|
35
|
-
validate(props: object): IValidation<unknown>;
|
|
36
|
-
}
|
|
37
|
-
export namespace ILlmFunctionOfValidate {
|
|
38
|
-
export import ISeparated = ILlmFunction.ISeparated;
|
|
39
|
-
}
|
|
1
|
+
import { ILlmFunction, ILlmSchema } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { IValidation } from "../../IValidation";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* LLM function metadata with validator.
|
|
7
|
+
*
|
|
8
|
+
* `ILlmFunctionOfValidate` is an interface representing a function metadata,
|
|
9
|
+
* which has been used for the LLM (Language Large Model) function
|
|
10
|
+
* calling. Also, it's a function structure containing the function
|
|
11
|
+
* {@link name}, {@link parameters} and {@link output return type}.
|
|
12
|
+
*
|
|
13
|
+
* If you provide this `ILlmFunctionOfValidate` data to the LLM provider like "OpenAI",
|
|
14
|
+
* the "OpenAI" will compose a function arguments by analyzing conversations
|
|
15
|
+
* with the user. With the LLM composed arguments, you can execute the function
|
|
16
|
+
* and get the result.
|
|
17
|
+
*
|
|
18
|
+
* If the LLM function calling take s a mistake that composing wrong typed
|
|
19
|
+
* {@link parameters}, you can correct the parameters by delivering the return
|
|
20
|
+
* value of the {@link validate} function. The {@link validate} function is a
|
|
21
|
+
* validator function reporting the detailed information about the wrong typed
|
|
22
|
+
* {@link parameters}.
|
|
23
|
+
*
|
|
24
|
+
* By the way, do not ensure that LLM will always provide the correct arguments.
|
|
25
|
+
* The LLM of present age is not perfect, and sometimes takes a mistake that composing
|
|
26
|
+
* wrong typed {@link parameters}. In that case, you can correc the parameters by
|
|
27
|
+
* delivering the return value of the {@link validate} function. The {@link validate}
|
|
28
|
+
* function reports the detailed information about the wrong typed {@link parameters},
|
|
29
|
+
*
|
|
30
|
+
* @reference https://platform.openai.com/docs/guides/function-calling
|
|
31
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
32
|
+
*/
|
|
33
|
+
export interface ILlmFunctionOfValidate<Model extends ILlmSchema.Model>
|
|
34
|
+
extends ILlmFunction<Model> {
|
|
35
|
+
validate(props: object): IValidation<unknown>;
|
|
36
|
+
}
|
|
37
|
+
export namespace ILlmFunctionOfValidate {
|
|
38
|
+
export import ISeparated = ILlmFunction.ISeparated;
|
|
39
|
+
}
|