typia 7.0.0-dev.20241005 → 7.0.0-dev.20241008
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/IRandomGenerator.d.ts +17 -21
- package/lib/factories/ExpressionFactory.d.ts +1 -1
- package/lib/factories/ExpressionFactory.js +2 -2
- package/lib/factories/ExpressionFactory.js.map +1 -1
- package/lib/factories/LiteralFactory.d.ts +1 -1
- package/lib/factories/LiteralFactory.js +20 -17
- package/lib/factories/LiteralFactory.js.map +1 -1
- package/lib/factories/MetadataCommentTagFactory.js +28 -6
- package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
- package/lib/factories/ValueFactory.d.ts +1 -1
- package/lib/index.mjs +184 -1437
- package/lib/index.mjs.map +1 -1
- package/lib/internal/$randomArray.d.ts +1 -1
- package/lib/internal/$randomArray.js +1 -0
- package/lib/internal/$randomArray.js.map +1 -1
- package/lib/internal/$randomBigint.d.ts +1 -1
- package/lib/internal/$randomBigint.js +1 -6
- package/lib/internal/$randomBigint.js.map +1 -1
- package/lib/internal/$randomFormatByte.d.ts +1 -0
- package/lib/internal/$randomFormatByte.js +7 -0
- package/lib/internal/$randomFormatByte.js.map +1 -0
- package/lib/internal/$randomFormatDate.js +1 -0
- package/lib/internal/$randomFormatDate.js.map +1 -1
- package/lib/internal/$randomFormatDatetime.js +1 -0
- package/lib/internal/$randomFormatDatetime.js.map +1 -1
- package/lib/internal/$randomFormatDuration.js +1 -0
- package/lib/internal/$randomFormatDuration.js.map +1 -1
- package/lib/internal/$randomFormatIpv4.js +1 -0
- package/lib/internal/$randomFormatIpv4.js.map +1 -1
- package/lib/internal/$randomFormatIpv6.js +1 -0
- package/lib/internal/$randomFormatIpv6.js.map +1 -1
- package/lib/internal/$randomFormatRelativeJsonPointer.js +5 -5
- package/lib/internal/$randomFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/$randomFormatTime.js +2 -1
- package/lib/internal/$randomFormatTime.js.map +1 -1
- package/lib/internal/$randomFormatUuid.d.ts +1 -0
- package/lib/internal/{$randomUuid.js → $randomFormatUuid.js} +4 -4
- package/lib/internal/$randomFormatUuid.js.map +1 -0
- package/lib/internal/$randomInteger.d.ts +1 -1
- package/lib/internal/$randomInteger.js +7 -4
- package/lib/internal/$randomInteger.js.map +1 -1
- package/lib/internal/$randomNumber.d.ts +1 -1
- package/lib/internal/$randomNumber.js +14 -11
- package/lib/internal/$randomNumber.js.map +1 -1
- package/lib/internal/$randomPick.js +1 -0
- package/lib/internal/$randomPick.js.map +1 -1
- package/lib/internal/$randomString.d.ts +1 -1
- package/lib/internal/$randomString.js +4 -1
- package/lib/internal/$randomString.js.map +1 -1
- package/lib/llm.d.ts +2 -4
- package/lib/llm.js +1 -28
- package/lib/llm.js.map +1 -1
- package/lib/module.d.ts +4 -8
- package/lib/module.js +3 -7
- package/lib/module.js.map +1 -1
- package/lib/programmers/AssertProgrammer.d.ts +5 -2
- package/lib/programmers/AssertProgrammer.js +12 -5
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.js +1 -1
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/ImportProgrammer.d.ts +25 -4
- package/lib/programmers/ImportProgrammer.js +67 -31
- package/lib/programmers/ImportProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +303 -282
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +10 -4
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +1 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.ts +1 -0
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +14 -5
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +5 -1
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +1 -0
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
- package/lib/programmers/helpers/FunctionProgrammer.d.ts +1 -8
- package/lib/programmers/helpers/FunctionProgrammer.js +2 -24
- package/lib/programmers/helpers/FunctionProgrammer.js.map +1 -1
- package/lib/programmers/helpers/RandomJoiner.d.ts +6 -11
- package/lib/programmers/helpers/RandomJoiner.js +68 -41
- package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
- package/lib/programmers/helpers/disable_function_programmer_declare.js +1 -4
- package/lib/programmers/helpers/disable_function_programmer_declare.js.map +1 -1
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js +4 -1
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js +4 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.js +4 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js +10 -6
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpHeadersProgrammer.js +10 -6
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.js +10 -6
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js +5 -3
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js +5 -3
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQueryProgrammer.js +5 -3
- package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.js +14 -7
- package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js +4 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonIsParseProgrammer.js +10 -6
- package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonValidateParseProgrammer.js +16 -4
- package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonValidateStringifyProgrammer.js +7 -3
- package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js +4 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js +4 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +10 -6
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js +5 -3
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscValidatePruneProgrammer.js +10 -4
- package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +4 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +2 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +13 -5
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +5 -3
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +4 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +4 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +10 -6
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +5 -3
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +7 -3
- package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
- package/lib/transformers/features/json/JsonApplicationTransformer.js +1 -1
- package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +2 -2
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmSchemaTransformer.js +1 -1
- package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
- package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +1 -1
- package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/CamelCase.ts +75 -75
- package/src/IRandomGenerator.ts +11 -27
- package/src/PascalCase.ts +71 -71
- package/src/Primitive.ts +92 -92
- package/src/Resolved.ts +74 -74
- package/src/SnakeCase.ts +126 -126
- package/src/executable/TypiaGenerateWizard.ts +83 -83
- package/src/executable/TypiaPatchWizard.ts +42 -42
- package/src/executable/TypiaSetupWizard.ts +174 -174
- package/src/executable/setup/ArgumentParser.ts +42 -42
- package/src/executable/setup/CommandExecutor.ts +8 -8
- package/src/executable/setup/FileRetriever.ts +19 -19
- package/src/executable/setup/PackageManager.ts +87 -87
- package/src/executable/setup/PluginConfigurator.ts +69 -69
- package/src/executable/typia.ts +55 -55
- package/src/factories/CommentFactory.ts +79 -79
- package/src/factories/ExpressionFactory.ts +164 -164
- package/src/factories/IdentifierFactory.ts +89 -89
- package/src/factories/LiteralFactory.ts +18 -15
- package/src/factories/MetadataCollection.ts +278 -278
- package/src/factories/MetadataCommentTagFactory.ts +650 -622
- package/src/factories/MetadataFactory.ts +400 -400
- package/src/factories/MetadataTypeTagFactory.ts +385 -385
- package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
- package/src/factories/NumericRangeFactory.ts +72 -72
- 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 +16 -16
- package/src/factories/internal/metadata/emplace_metadata_alias.ts +32 -32
- package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
- package/src/factories/internal/metadata/emplace_metadata_object.ts +206 -206
- package/src/factories/internal/metadata/emplace_metadata_tuple.ts +56 -56
- package/src/factories/internal/metadata/explore_metadata.ts +30 -30
- package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
- package/src/factories/internal/metadata/iterate_metadata_alias.ts +28 -28
- 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 +145 -145
- 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 +88 -88
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +216 -216
- package/src/factories/internal/metadata/iterate_metadata_map.ts +52 -52
- package/src/factories/internal/metadata/iterate_metadata_native.ts +236 -236
- package/src/factories/internal/metadata/iterate_metadata_object.ts +27 -27
- package/src/factories/internal/metadata/iterate_metadata_set.ts +39 -39
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +83 -83
- package/src/factories/internal/metadata/iterate_metadata_template.ts +42 -42
- package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
- package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
- 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/$httpParameterBigint.ts +10 -10
- package/src/internal/$httpParameterBoolean.ts +8 -8
- package/src/internal/$httpParameterNumber.ts +7 -7
- package/src/internal/$httpParameterString.ts +2 -2
- package/src/internal/$httpQueryParseURLSearchParams.ts +10 -10
- 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/$jsonStringifyNumber.ts +12 -12
- package/src/internal/$jsonStringifyRest.ts +3 -3
- package/src/internal/$jsonStringifyString.ts +43 -43
- package/src/internal/$jsonStringifyTail.ts +2 -2
- package/src/internal/$llmApplicationFinalize.ts +18 -18
- package/src/internal/$miscCloneAny.ts +48 -48
- 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 -20
- package/src/internal/$randomBigint.ts +6 -15
- package/src/internal/$randomBoolean.ts +1 -1
- package/src/internal/{$randomByte.ts → $randomFormatByte.ts} +3 -3
- package/src/internal/$randomFormatDate.ts +18 -17
- package/src/internal/$randomFormatDatetime.ts +16 -15
- package/src/internal/$randomFormatDuration.ts +27 -26
- 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 -10
- package/src/internal/$randomFormatIpv6.ts +11 -10
- 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 -13
- 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/{$randomUuid.ts → $randomFormatUuid.ts} +6 -6
- package/src/internal/$randomInteger.ts +47 -44
- package/src/internal/$randomNumber.ts +74 -71
- package/src/internal/$randomPattern.ts +10 -10
- package/src/internal/$randomPick.ts +9 -8
- 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 +651 -651
- package/src/llm.ts +178 -186
- package/src/module.ts +933 -945
- package/src/programmers/AssertProgrammer.ts +15 -17
- package/src/programmers/FeatureProgrammer.ts +616 -616
- package/src/programmers/ImportProgrammer.ts +125 -50
- package/src/programmers/RandomProgrammer.ts +425 -394
- package/src/programmers/ValidateProgrammer.ts +13 -9
- 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 -123
- package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -281
- package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -134
- 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 -101
- 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 +125 -125
- package/src/programmers/helpers/PruneJoiner.ts +148 -148
- package/src/programmers/helpers/RandomJoiner.ts +168 -162
- 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 +77 -77
- package/src/programmers/helpers/disable_function_programmer_declare.ts +1 -4
- package/src/programmers/http/HttpAssertFormDataProgrammer.ts +4 -1
- package/src/programmers/http/HttpAssertHeadersProgrammer.ts +4 -1
- package/src/programmers/http/HttpAssertQueryProgrammer.ts +4 -1
- package/src/programmers/http/HttpFormDataProgrammer.ts +5 -9
- package/src/programmers/http/HttpHeadersProgrammer.ts +5 -9
- package/src/programmers/http/HttpQueryProgrammer.ts +5 -9
- package/src/programmers/http/HttpValidateFormDataProgrammer.ts +5 -3
- package/src/programmers/http/HttpValidateHeadersProgrammer.ts +5 -3
- package/src/programmers/http/HttpValidateQueryProgrammer.ts +5 -3
- package/src/programmers/internal/application_array.ts +56 -56
- package/src/programmers/internal/application_bigint.ts +25 -25
- package/src/programmers/internal/application_boolean.ts +25 -25
- package/src/programmers/internal/application_description.ts +12 -12
- package/src/programmers/internal/application_escaped.ts +96 -96
- package/src/programmers/internal/application_number.ts +25 -25
- package/src/programmers/internal/application_plugin.ts +19 -19
- package/src/programmers/internal/application_string.ts +25 -25
- package/src/programmers/internal/application_templates.ts +64 -64
- package/src/programmers/internal/application_title.ts +20 -20
- package/src/programmers/internal/application_union_discriminator.ts +35 -35
- package/src/programmers/internal/application_v30_alias.ts +59 -59
- package/src/programmers/internal/application_v30_native.ts +29 -29
- package/src/programmers/internal/application_v30_object.ts +165 -165
- package/src/programmers/internal/application_v30_schema.ts +220 -220
- package/src/programmers/internal/application_v30_tuple.ts +33 -33
- package/src/programmers/internal/application_v31_alias.ts +47 -47
- package/src/programmers/internal/application_v31_constant.ts +29 -29
- package/src/programmers/internal/application_v31_native.ts +25 -25
- package/src/programmers/internal/application_v31_object.ts +147 -147
- package/src/programmers/internal/application_v31_schema.ts +215 -215
- package/src/programmers/internal/application_v31_tuple.ts +22 -22
- package/src/programmers/internal/check_array_length.ts +46 -46
- package/src/programmers/internal/check_bigint.ts +49 -49
- 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 +111 -111
- package/src/programmers/internal/check_object.ts +75 -75
- package/src/programmers/internal/check_string.ts +49 -49
- package/src/programmers/internal/check_template.ts +48 -48
- package/src/programmers/internal/check_union_array_like.ts +334 -334
- package/src/programmers/internal/decode_union_object.ts +116 -116
- package/src/programmers/internal/feature_object_entries.ts +61 -61
- package/src/programmers/internal/llm_schema_array.ts +22 -22
- package/src/programmers/internal/llm_schema_escaped.ts +84 -84
- package/src/programmers/internal/llm_schema_native.ts +17 -17
- package/src/programmers/internal/llm_schema_object.ts +132 -132
- package/src/programmers/internal/llm_schema_station.ts +190 -190
- package/src/programmers/internal/llm_schema_tuple.ts +31 -31
- 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 +63 -63
- 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/JsonAssertParseProgrammer.ts +9 -10
- package/src/programmers/json/JsonAssertStringifyProgrammer.ts +4 -1
- package/src/programmers/json/JsonIsParseProgrammer.ts +5 -9
- package/src/programmers/json/JsonValidateParseProgrammer.ts +19 -9
- package/src/programmers/json/JsonValidateStringifyProgrammer.ts +8 -3
- package/src/programmers/llm/LlmApplicationProgrammer.ts +235 -235
- package/src/programmers/llm/LlmSchemaProgrammer.ts +51 -51
- package/src/programmers/misc/MiscAssertCloneProgrammer.ts +4 -1
- package/src/programmers/misc/MiscAssertPruneProgrammer.ts +4 -1
- package/src/programmers/misc/MiscCloneProgrammer.ts +5 -9
- package/src/programmers/misc/MiscValidateCloneProgrammer.ts +5 -3
- package/src/programmers/misc/MiscValidatePruneProgrammer.ts +13 -9
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +4 -1
- package/src/programmers/notations/NotationGeneralProgrammer.ts +27 -23
- package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +5 -3
- package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +4 -1
- package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +4 -1
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +5 -8
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +201 -201
- package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +5 -3
- package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +8 -3
- package/src/protobuf.ts +868 -868
- package/src/schemas/json/IJsonApplication.ts +22 -22
- package/src/schemas/metadata/IMetadata.ts +36 -36
- package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
- package/src/schemas/metadata/IMetadataFunction.ts +8 -8
- package/src/schemas/metadata/IMetadataParameter.ts +9 -9
- package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
- package/src/schemas/metadata/Metadata.ts +616 -616
- package/src/schemas/metadata/MetadataAtomic.ts +87 -87
- package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
- package/src/schemas/metadata/MetadataFunction.ts +49 -49
- package/src/schemas/metadata/MetadataObject.ts +139 -139
- package/src/schemas/metadata/MetadataParameter.ts +50 -50
- package/src/tags/Constant.ts +15 -15
- package/src/tags/Default.ts +22 -22
- package/src/tags/Example.ts +17 -17
- package/src/tags/Examples.ts +16 -16
- package/src/tags/ExclusiveMaximum.ts +25 -25
- package/src/tags/ExclusiveMinimum.ts +25 -25
- package/src/tags/JsonSchemaPlugin.ts +8 -8
- package/src/tags/Maximum.ts +19 -19
- package/src/tags/Minimum.ts +19 -19
- package/src/tags/MultipleOf.ts +21 -21
- package/src/tags/Pattern.ts +31 -31
- package/src/tags/Type.ts +32 -32
- package/src/tags/index.ts +20 -20
- package/src/transformers/ITransformOptions.ts +62 -62
- package/src/transformers/ImportTransformer.ts +66 -66
- package/src/transformers/features/json/JsonApplicationTransformer.ts +1 -1
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +2 -2
- package/src/transformers/features/llm/LlmSchemaTransformer.ts +1 -1
- package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +1 -1
- package/src/typings/Equal.ts +18 -18
- package/src/typings/IsTuple.ts +9 -9
- package/src/typings/NativeClass.ts +23 -23
- package/src/typings/ValueOf.ts +20 -20
- package/src/utils/Escaper.ts +50 -50
- package/src/utils/MapUtil.ts +14 -14
- package/src/utils/NameEncoder.ts +32 -32
- package/src/utils/NamingConvention.ts +94 -94
- package/src/utils/StringUtil.ts +16 -16
- package/lib/functional/$FormDataReader/$FormDataReader.d.ts +0 -7
- package/lib/functional/$FormDataReader/$FormDataReader.js +0 -86
- package/lib/functional/$FormDataReader/$FormDataReader.js.map +0 -1
- package/lib/functional/$FormDataReader/index.d.ts +0 -1
- package/lib/functional/$FormDataReader/index.js +0 -28
- package/lib/functional/$FormDataReader/index.js.map +0 -1
- package/lib/functional/$HeadersReader/$HeadersReader.d.ts +0 -4
- package/lib/functional/$HeadersReader/$HeadersReader.js +0 -36
- package/lib/functional/$HeadersReader/$HeadersReader.js.map +0 -1
- package/lib/functional/$HeadersReader/index.d.ts +0 -1
- package/lib/functional/$HeadersReader/index.js +0 -28
- package/lib/functional/$HeadersReader/index.js.map +0 -1
- package/lib/functional/$ParameterReader/$ParameterReader.d.ts +0 -4
- package/lib/functional/$ParameterReader/$ParameterReader.js +0 -36
- package/lib/functional/$ParameterReader/$ParameterReader.js.map +0 -1
- package/lib/functional/$ParameterReader/index.d.ts +0 -1
- package/lib/functional/$ParameterReader/index.js +0 -28
- package/lib/functional/$ParameterReader/index.js.map +0 -1
- package/lib/functional/$ProtobufReader.d.ts +0 -35
- package/lib/functional/$ProtobufReader.js +0 -166
- package/lib/functional/$ProtobufReader.js.map +0 -1
- package/lib/functional/$ProtobufSizer.d.ts +0 -36
- package/lib/functional/$ProtobufSizer.js +0 -118
- package/lib/functional/$ProtobufSizer.js.map +0 -1
- package/lib/functional/$ProtobufWriter.d.ts +0 -45
- package/lib/functional/$ProtobufWriter.js +0 -104
- package/lib/functional/$ProtobufWriter.js.map +0 -1
- package/lib/functional/$QueryReader/$QueryReader.d.ts +0 -6
- package/lib/functional/$QueryReader/$QueryReader.js +0 -55
- package/lib/functional/$QueryReader/$QueryReader.js.map +0 -1
- package/lib/functional/$QueryReader/index.d.ts +0 -1
- package/lib/functional/$QueryReader/index.js +0 -28
- package/lib/functional/$QueryReader/index.js.map +0 -1
- package/lib/functional/$any.d.ts +0 -1
- package/lib/functional/$any.js +0 -7
- package/lib/functional/$any.js.map +0 -1
- package/lib/functional/$clone.d.ts +0 -2
- package/lib/functional/$clone.js +0 -100
- package/lib/functional/$clone.js.map +0 -1
- package/lib/functional/$convention.d.ts +0 -1
- package/lib/functional/$convention.js +0 -60
- package/lib/functional/$convention.js.map +0 -1
- package/lib/functional/$dictionary.d.ts +0 -2
- package/lib/functional/$dictionary.js +0 -18
- package/lib/functional/$dictionary.js.map +0 -1
- package/lib/functional/$guard.d.ts +0 -1
- package/lib/functional/$guard.js +0 -21
- package/lib/functional/$guard.js.map +0 -1
- package/lib/functional/$is_between.d.ts +0 -1
- package/lib/functional/$is_between.js +0 -8
- package/lib/functional/$is_between.js.map +0 -1
- package/lib/functional/$join.d.ts +0 -1
- package/lib/functional/$join.js +0 -50
- package/lib/functional/$join.js.map +0 -1
- package/lib/functional/$number.d.ts +0 -1
- package/lib/functional/$number.js +0 -16
- package/lib/functional/$number.js.map +0 -1
- package/lib/functional/$report.d.ts +0 -2
- package/lib/functional/$report.js +0 -18
- package/lib/functional/$report.js.map +0 -1
- package/lib/functional/$rest.d.ts +0 -1
- package/lib/functional/$rest.js +0 -8
- package/lib/functional/$rest.js.map +0 -1
- package/lib/functional/$stoll.d.ts +0 -1
- package/lib/functional/$stoll.js +0 -14
- package/lib/functional/$stoll.js.map +0 -1
- package/lib/functional/$string.d.ts +0 -1
- package/lib/functional/$string.js +0 -43
- package/lib/functional/$string.js.map +0 -1
- package/lib/functional/$strlen.d.ts +0 -1
- package/lib/functional/$strlen.js +0 -13
- package/lib/functional/$strlen.js.map +0 -1
- package/lib/functional/$tail.d.ts +0 -1
- package/lib/functional/$tail.js +0 -11
- package/lib/functional/$tail.js.map +0 -1
- package/lib/functional/$throws.d.ts +0 -2
- package/lib/functional/$throws.js +0 -22
- package/lib/functional/$throws.js.map +0 -1
- package/lib/functional/IProtobufWriter.d.ts +0 -15
- package/lib/functional/IProtobufWriter.js +0 -3
- package/lib/functional/IProtobufWriter.js.map +0 -1
- package/lib/functional/Namespace/functional.d.ts +0 -4
- package/lib/functional/Namespace/functional.js +0 -9
- package/lib/functional/Namespace/functional.js.map +0 -1
- package/lib/functional/Namespace/http.d.ts +0 -8
- package/lib/functional/Namespace/http.js +0 -16
- package/lib/functional/Namespace/http.js.map +0 -1
- package/lib/functional/Namespace/index.d.ts +0 -30
- package/lib/functional/Namespace/index.js +0 -85
- package/lib/functional/Namespace/index.js.map +0 -1
- package/lib/functional/Namespace/json.d.ts +0 -9
- package/lib/functional/Namespace/json.js +0 -23
- package/lib/functional/Namespace/json.js.map +0 -1
- package/lib/functional/Namespace/llm.d.ts +0 -4
- package/lib/functional/Namespace/llm.js +0 -44
- package/lib/functional/Namespace/llm.js.map +0 -1
- package/lib/functional/Namespace/misc.d.ts +0 -11
- package/lib/functional/Namespace/misc.js +0 -22
- package/lib/functional/Namespace/misc.js.map +0 -1
- package/lib/functional/Namespace/notations.d.ts +0 -18
- package/lib/functional/Namespace/notations.js +0 -26
- package/lib/functional/Namespace/notations.js.map +0 -1
- package/lib/functional/Namespace/protobuf.d.ts +0 -17
- package/lib/functional/Namespace/protobuf.js +0 -25
- package/lib/functional/Namespace/protobuf.js.map +0 -1
- package/lib/functional/is.d.ts +0 -1
- package/lib/functional/is.js +0 -14
- package/lib/functional/is.js.map +0 -1
- package/lib/internal/$randomByte.d.ts +0 -1
- package/lib/internal/$randomByte.js +0 -7
- package/lib/internal/$randomByte.js.map +0 -1
- package/lib/internal/$randomUuid.d.ts +0 -1
- package/lib/internal/$randomUuid.js.map +0 -1
- package/lib/programmers/helpers/RandomRanger.d.ts +0 -33
- package/lib/programmers/helpers/RandomRanger.js +0 -158
- package/lib/programmers/helpers/RandomRanger.js.map +0 -1
- package/lib/programmers/internal/random_custom.d.ts +0 -1
- package/lib/programmers/internal/random_custom.js +0 -23
- package/lib/programmers/internal/random_custom.js.map +0 -1
- package/lib/utils/RandomGenerator/RandomGenerator.d.ts +0 -31
- package/lib/utils/RandomGenerator/RandomGenerator.js +0 -176
- package/lib/utils/RandomGenerator/RandomGenerator.js.map +0 -1
- package/lib/utils/RandomGenerator/index.d.ts +0 -1
- package/lib/utils/RandomGenerator/index.js +0 -28
- package/lib/utils/RandomGenerator/index.js.map +0 -1
- package/src/functional/$FormDataReader/$FormDataReader.ts +0 -83
- package/src/functional/$FormDataReader/index.ts +0 -1
- package/src/functional/$HeadersReader/$HeadersReader.ts +0 -26
- package/src/functional/$HeadersReader/index.ts +0 -1
- package/src/functional/$ParameterReader/$ParameterReader.ts +0 -29
- package/src/functional/$ParameterReader/index.ts +0 -1
- package/src/functional/$ProtobufReader.ts +0 -194
- package/src/functional/$ProtobufSizer.ts +0 -144
- package/src/functional/$ProtobufWriter.ts +0 -145
- package/src/functional/$QueryReader/$QueryReader.ts +0 -46
- package/src/functional/$QueryReader/index.ts +0 -1
- package/src/functional/$any.ts +0 -3
- package/src/functional/$clone.ts +0 -48
- package/src/functional/$convention.ts +0 -37
- package/src/functional/$dictionary.ts +0 -22
- package/src/functional/$guard.ts +0 -21
- package/src/functional/$is_between.ts +0 -2
- package/src/functional/$join.ts +0 -46
- package/src/functional/$number.ts +0 -12
- package/src/functional/$report.ts +0 -13
- package/src/functional/$rest.ts +0 -3
- package/src/functional/$stoll.ts +0 -8
- package/src/functional/$string.ts +0 -43
- package/src/functional/$strlen.ts +0 -7
- package/src/functional/$tail.ts +0 -5
- package/src/functional/$throws.ts +0 -10
- package/src/functional/IProtobufWriter.ts +0 -18
- package/src/functional/Namespace/functional.ts +0 -5
- package/src/functional/Namespace/http.ts +0 -9
- package/src/functional/Namespace/index.ts +0 -75
- package/src/functional/Namespace/json.ts +0 -15
- package/src/functional/Namespace/llm.ts +0 -20
- package/src/functional/Namespace/misc.ts +0 -14
- package/src/functional/Namespace/notations.ts +0 -23
- package/src/functional/Namespace/protobuf.ts +0 -20
- package/src/functional/is.ts +0 -10
- package/src/programmers/helpers/RandomRanger.ts +0 -225
- package/src/programmers/internal/random_custom.ts +0 -39
- package/src/utils/RandomGenerator/RandomGenerator.ts +0 -119
- package/src/utils/RandomGenerator/index.ts +0 -1
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
export interface ITransformOptions {
|
|
2
|
-
/**
|
|
3
|
-
* Whether to validate finite number or not.
|
|
4
|
-
*
|
|
5
|
-
* If configured true, number typed values would be validated by Number.isNaN().
|
|
6
|
-
*
|
|
7
|
-
* However, whatever you configure, it would be ignored when marshaling or parsing.
|
|
8
|
-
*
|
|
9
|
-
* - when marshaling, always be true
|
|
10
|
-
* - assertStringify()
|
|
11
|
-
* - validateEncode()
|
|
12
|
-
* - when parsing, always be false
|
|
13
|
-
* - assertParse()
|
|
14
|
-
* - isDecode()
|
|
15
|
-
*
|
|
16
|
-
* @default false
|
|
17
|
-
*/
|
|
18
|
-
finite?: undefined | boolean;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Whether to validate finite number or not.
|
|
22
|
-
*
|
|
23
|
-
* If configured true, number typed values would be validated by Number.isFinite().
|
|
24
|
-
*
|
|
25
|
-
* However, whatever you configure, it can be ignored in below case.
|
|
26
|
-
*
|
|
27
|
-
* - when `finite` option is true, this option would be ignored
|
|
28
|
-
* - when marshaling, always be true
|
|
29
|
-
* - assertStringify()
|
|
30
|
-
* - validateEncode()
|
|
31
|
-
* - when parsing, always be false
|
|
32
|
-
* - assertParse()
|
|
33
|
-
* - isDecode()
|
|
34
|
-
*
|
|
35
|
-
* @default false
|
|
36
|
-
*/
|
|
37
|
-
numeric?: undefined | boolean;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Whether to validate functional type or not.
|
|
41
|
-
*
|
|
42
|
-
* However, whatever you configure, it becomes false when marshaling or parsing.
|
|
43
|
-
*
|
|
44
|
-
* @default false
|
|
45
|
-
*/
|
|
46
|
-
functional?: undefined | boolean;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Whether to check undefined value or not.
|
|
50
|
-
*
|
|
51
|
-
* JavaScript can assign `undefined` value to a specific property and it is an
|
|
52
|
-
* issue when validating without allowing superfluous properties. Should undefined
|
|
53
|
-
* value assigned superfluous property be allowed or not?
|
|
54
|
-
*
|
|
55
|
-
* Note that, this option only works on {@link equals} function. Other function
|
|
56
|
-
* like {@link assertEquals} or {@link validateEquals} would ignore this option
|
|
57
|
-
* value and always allow the `undefined` value.
|
|
58
|
-
*
|
|
59
|
-
* @default true
|
|
60
|
-
*/
|
|
61
|
-
undefined?: undefined | boolean;
|
|
62
|
-
}
|
|
1
|
+
export interface ITransformOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Whether to validate finite number or not.
|
|
4
|
+
*
|
|
5
|
+
* If configured true, number typed values would be validated by Number.isNaN().
|
|
6
|
+
*
|
|
7
|
+
* However, whatever you configure, it would be ignored when marshaling or parsing.
|
|
8
|
+
*
|
|
9
|
+
* - when marshaling, always be true
|
|
10
|
+
* - assertStringify()
|
|
11
|
+
* - validateEncode()
|
|
12
|
+
* - when parsing, always be false
|
|
13
|
+
* - assertParse()
|
|
14
|
+
* - isDecode()
|
|
15
|
+
*
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
finite?: undefined | boolean;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Whether to validate finite number or not.
|
|
22
|
+
*
|
|
23
|
+
* If configured true, number typed values would be validated by Number.isFinite().
|
|
24
|
+
*
|
|
25
|
+
* However, whatever you configure, it can be ignored in below case.
|
|
26
|
+
*
|
|
27
|
+
* - when `finite` option is true, this option would be ignored
|
|
28
|
+
* - when marshaling, always be true
|
|
29
|
+
* - assertStringify()
|
|
30
|
+
* - validateEncode()
|
|
31
|
+
* - when parsing, always be false
|
|
32
|
+
* - assertParse()
|
|
33
|
+
* - isDecode()
|
|
34
|
+
*
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
numeric?: undefined | boolean;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Whether to validate functional type or not.
|
|
41
|
+
*
|
|
42
|
+
* However, whatever you configure, it becomes false when marshaling or parsing.
|
|
43
|
+
*
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
functional?: undefined | boolean;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Whether to check undefined value or not.
|
|
50
|
+
*
|
|
51
|
+
* JavaScript can assign `undefined` value to a specific property and it is an
|
|
52
|
+
* issue when validating without allowing superfluous properties. Should undefined
|
|
53
|
+
* value assigned superfluous property be allowed or not?
|
|
54
|
+
*
|
|
55
|
+
* Note that, this option only works on {@link equals} function. Other function
|
|
56
|
+
* like {@link assertEquals} or {@link validateEquals} would ignore this option
|
|
57
|
+
* value and always allow the `undefined` value.
|
|
58
|
+
*
|
|
59
|
+
* @default true
|
|
60
|
+
*/
|
|
61
|
+
undefined?: undefined | boolean;
|
|
62
|
+
}
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import ts from "typescript";
|
|
3
|
-
|
|
4
|
-
export namespace ImportTransformer {
|
|
5
|
-
export const transform =
|
|
6
|
-
(from: string) =>
|
|
7
|
-
(to: string) =>
|
|
8
|
-
(context: ts.TransformationContext) =>
|
|
9
|
-
(file: ts.SourceFile) =>
|
|
10
|
-
transform_file(from)(to)(context)(file);
|
|
11
|
-
|
|
12
|
-
const transform_file =
|
|
13
|
-
(top: string) =>
|
|
14
|
-
(to: string) =>
|
|
15
|
-
(context: ts.TransformationContext) =>
|
|
16
|
-
(file: ts.SourceFile): ts.SourceFile => {
|
|
17
|
-
if (file.isDeclarationFile) return file;
|
|
18
|
-
|
|
19
|
-
const from: string = get_directory_path(
|
|
20
|
-
path.resolve(file.getSourceFile().fileName),
|
|
21
|
-
);
|
|
22
|
-
to = from.replace(top, to);
|
|
23
|
-
|
|
24
|
-
return ts.visitEachChild(
|
|
25
|
-
file,
|
|
26
|
-
(node) => transform_node(top)(from)(to)(node),
|
|
27
|
-
context,
|
|
28
|
-
);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const transform_node =
|
|
32
|
-
(top: string) => (from: string) => (to: string) => (node: ts.Node) => {
|
|
33
|
-
if (
|
|
34
|
-
!ts.isImportDeclaration(node) ||
|
|
35
|
-
!ts.isStringLiteral(node.moduleSpecifier)
|
|
36
|
-
)
|
|
37
|
-
return node;
|
|
38
|
-
|
|
39
|
-
const text: string = node.moduleSpecifier.text;
|
|
40
|
-
if (text[0] !== ".") return node;
|
|
41
|
-
|
|
42
|
-
const location: string = path.resolve(from, text);
|
|
43
|
-
if (location.indexOf(top) === 0) return node;
|
|
44
|
-
|
|
45
|
-
const replaced: string = (() => {
|
|
46
|
-
const simple: string = path
|
|
47
|
-
.relative(to, location)
|
|
48
|
-
.split(path.sep)
|
|
49
|
-
.join("/");
|
|
50
|
-
return simple[0] === "." ? simple : `./${simple}`;
|
|
51
|
-
})();
|
|
52
|
-
|
|
53
|
-
return ts.factory.createImportDeclaration(
|
|
54
|
-
undefined,
|
|
55
|
-
node.importClause,
|
|
56
|
-
ts.factory.createStringLiteral(replaced),
|
|
57
|
-
node.assertClause,
|
|
58
|
-
);
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const get_directory_path = (file: string): string => {
|
|
63
|
-
const splitted: string[] = path.resolve(file).split(path.sep);
|
|
64
|
-
splitted.pop();
|
|
65
|
-
return path.resolve(splitted.join(path.sep));
|
|
66
|
-
};
|
|
1
|
+
import path from "path";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
|
|
4
|
+
export namespace ImportTransformer {
|
|
5
|
+
export const transform =
|
|
6
|
+
(from: string) =>
|
|
7
|
+
(to: string) =>
|
|
8
|
+
(context: ts.TransformationContext) =>
|
|
9
|
+
(file: ts.SourceFile) =>
|
|
10
|
+
transform_file(from)(to)(context)(file);
|
|
11
|
+
|
|
12
|
+
const transform_file =
|
|
13
|
+
(top: string) =>
|
|
14
|
+
(to: string) =>
|
|
15
|
+
(context: ts.TransformationContext) =>
|
|
16
|
+
(file: ts.SourceFile): ts.SourceFile => {
|
|
17
|
+
if (file.isDeclarationFile) return file;
|
|
18
|
+
|
|
19
|
+
const from: string = get_directory_path(
|
|
20
|
+
path.resolve(file.getSourceFile().fileName),
|
|
21
|
+
);
|
|
22
|
+
to = from.replace(top, to);
|
|
23
|
+
|
|
24
|
+
return ts.visitEachChild(
|
|
25
|
+
file,
|
|
26
|
+
(node) => transform_node(top)(from)(to)(node),
|
|
27
|
+
context,
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const transform_node =
|
|
32
|
+
(top: string) => (from: string) => (to: string) => (node: ts.Node) => {
|
|
33
|
+
if (
|
|
34
|
+
!ts.isImportDeclaration(node) ||
|
|
35
|
+
!ts.isStringLiteral(node.moduleSpecifier)
|
|
36
|
+
)
|
|
37
|
+
return node;
|
|
38
|
+
|
|
39
|
+
const text: string = node.moduleSpecifier.text;
|
|
40
|
+
if (text[0] !== ".") return node;
|
|
41
|
+
|
|
42
|
+
const location: string = path.resolve(from, text);
|
|
43
|
+
if (location.indexOf(top) === 0) return node;
|
|
44
|
+
|
|
45
|
+
const replaced: string = (() => {
|
|
46
|
+
const simple: string = path
|
|
47
|
+
.relative(to, location)
|
|
48
|
+
.split(path.sep)
|
|
49
|
+
.join("/");
|
|
50
|
+
return simple[0] === "." ? simple : `./${simple}`;
|
|
51
|
+
})();
|
|
52
|
+
|
|
53
|
+
return ts.factory.createImportDeclaration(
|
|
54
|
+
undefined,
|
|
55
|
+
node.importClause,
|
|
56
|
+
ts.factory.createStringLiteral(replaced),
|
|
57
|
+
node.assertClause,
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const get_directory_path = (file: string): string => {
|
|
63
|
+
const splitted: string[] = path.resolve(file).split(path.sep);
|
|
64
|
+
splitted.pop();
|
|
65
|
+
return path.resolve(splitted.join(path.sep));
|
|
66
|
+
};
|
|
@@ -91,7 +91,7 @@ export namespace JsonApplicationTransformer {
|
|
|
91
91
|
// APPLICATION
|
|
92
92
|
const app: IJsonApplication<any> =
|
|
93
93
|
JsonApplicationProgrammer.write(version)(metadatas);
|
|
94
|
-
return LiteralFactory.
|
|
94
|
+
return LiteralFactory.write(app);
|
|
95
95
|
};
|
|
96
96
|
|
|
97
97
|
const get_parameter =
|
|
@@ -55,7 +55,7 @@ export namespace LlmApplicationTransformer {
|
|
|
55
55
|
|
|
56
56
|
// GENERATE LLM APPLICATION
|
|
57
57
|
const schema: ILlmApplication = LlmApplicationProgrammer.write(result.data);
|
|
58
|
-
const literal: ts.Expression = LiteralFactory.
|
|
58
|
+
const literal: ts.Expression = LiteralFactory.write(schema);
|
|
59
59
|
if (!props.expression.arguments?.[0]) return literal;
|
|
60
60
|
|
|
61
61
|
return ExpressionFactory.selfCall(
|
|
@@ -63,7 +63,7 @@ export namespace LlmApplicationTransformer {
|
|
|
63
63
|
[
|
|
64
64
|
StatementFactory.constant({
|
|
65
65
|
name: "app",
|
|
66
|
-
value: LiteralFactory.
|
|
66
|
+
value: LiteralFactory.write(schema),
|
|
67
67
|
}),
|
|
68
68
|
ts.factory.createExpressionStatement(
|
|
69
69
|
ts.factory.createCallExpression(
|
package/src/typings/Equal.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compare the equivalence of the two types X and Y.
|
|
3
|
-
*
|
|
4
|
-
* The two types X and Y refer to any type that can be expressed in the type script, such as the union type and the object type.
|
|
5
|
-
*
|
|
6
|
-
* @template X One of the types to compare
|
|
7
|
-
* @template Y One of the types to compare
|
|
8
|
-
*
|
|
9
|
-
* ```ts
|
|
10
|
-
* type Answer = Equal<1 | 2, 1 | 2>; // true
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* @author Kyungsu Kang - https://github.com/kakasoo
|
|
14
|
-
*/
|
|
15
|
-
export type Equal<X, Y> =
|
|
16
|
-
(<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2
|
|
17
|
-
? true
|
|
18
|
-
: false;
|
|
1
|
+
/**
|
|
2
|
+
* Compare the equivalence of the two types X and Y.
|
|
3
|
+
*
|
|
4
|
+
* The two types X and Y refer to any type that can be expressed in the type script, such as the union type and the object type.
|
|
5
|
+
*
|
|
6
|
+
* @template X One of the types to compare
|
|
7
|
+
* @template Y One of the types to compare
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* type Answer = Equal<1 | 2, 1 | 2>; // true
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @author Kyungsu Kang - https://github.com/kakasoo
|
|
14
|
+
*/
|
|
15
|
+
export type Equal<X, Y> =
|
|
16
|
+
(<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2
|
|
17
|
+
? true
|
|
18
|
+
: false;
|
package/src/typings/IsTuple.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export type IsTuple<T extends readonly any[] | { length: number }> = [
|
|
2
|
-
T,
|
|
3
|
-
] extends [never]
|
|
4
|
-
? false
|
|
5
|
-
: T extends readonly any[]
|
|
6
|
-
? number extends T["length"]
|
|
7
|
-
? false
|
|
8
|
-
: true
|
|
9
|
-
: false;
|
|
1
|
+
export type IsTuple<T extends readonly any[] | { length: number }> = [
|
|
2
|
+
T,
|
|
3
|
+
] extends [never]
|
|
4
|
+
? false
|
|
5
|
+
: T extends readonly any[]
|
|
6
|
+
? number extends T["length"]
|
|
7
|
+
? false
|
|
8
|
+
: true
|
|
9
|
+
: false;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export type NativeClass =
|
|
2
|
-
| Date
|
|
3
|
-
| Set<any>
|
|
4
|
-
| Map<any, any>
|
|
5
|
-
| WeakSet<any>
|
|
6
|
-
| WeakMap<any, any>
|
|
7
|
-
| Uint8Array
|
|
8
|
-
| Uint8ClampedArray
|
|
9
|
-
| Uint16Array
|
|
10
|
-
| Uint32Array
|
|
11
|
-
| BigUint64Array
|
|
12
|
-
| Int8Array
|
|
13
|
-
| Int16Array
|
|
14
|
-
| Int32Array
|
|
15
|
-
| BigInt64Array
|
|
16
|
-
| Float32Array
|
|
17
|
-
| Float64Array
|
|
18
|
-
| ArrayBuffer
|
|
19
|
-
| SharedArrayBuffer
|
|
20
|
-
| DataView
|
|
21
|
-
| Blob
|
|
22
|
-
| File
|
|
23
|
-
| RegExp;
|
|
1
|
+
export type NativeClass =
|
|
2
|
+
| Date
|
|
3
|
+
| Set<any>
|
|
4
|
+
| Map<any, any>
|
|
5
|
+
| WeakSet<any>
|
|
6
|
+
| WeakMap<any, any>
|
|
7
|
+
| Uint8Array
|
|
8
|
+
| Uint8ClampedArray
|
|
9
|
+
| Uint16Array
|
|
10
|
+
| Uint32Array
|
|
11
|
+
| BigUint64Array
|
|
12
|
+
| Int8Array
|
|
13
|
+
| Int16Array
|
|
14
|
+
| Int32Array
|
|
15
|
+
| BigInt64Array
|
|
16
|
+
| Float32Array
|
|
17
|
+
| Float64Array
|
|
18
|
+
| ArrayBuffer
|
|
19
|
+
| SharedArrayBuffer
|
|
20
|
+
| DataView
|
|
21
|
+
| Blob
|
|
22
|
+
| File
|
|
23
|
+
| RegExp;
|
package/src/typings/ValueOf.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export type ValueOf<Instance> =
|
|
2
|
-
IsValueOf<Instance, Boolean> extends true
|
|
3
|
-
? boolean
|
|
4
|
-
: IsValueOf<Instance, Number> extends true
|
|
5
|
-
? number
|
|
6
|
-
: IsValueOf<Instance, String> extends true
|
|
7
|
-
? string
|
|
8
|
-
: Instance;
|
|
9
|
-
|
|
10
|
-
type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
|
|
11
|
-
? Object extends IValueOf<infer Primitive>
|
|
12
|
-
? Instance extends Primitive
|
|
13
|
-
? false
|
|
14
|
-
: true // not Primitive, but Object
|
|
15
|
-
: false // cannot be
|
|
16
|
-
: false;
|
|
17
|
-
|
|
18
|
-
interface IValueOf<T> {
|
|
19
|
-
valueOf(): T;
|
|
20
|
-
}
|
|
1
|
+
export type ValueOf<Instance> =
|
|
2
|
+
IsValueOf<Instance, Boolean> extends true
|
|
3
|
+
? boolean
|
|
4
|
+
: IsValueOf<Instance, Number> extends true
|
|
5
|
+
? number
|
|
6
|
+
: IsValueOf<Instance, String> extends true
|
|
7
|
+
? string
|
|
8
|
+
: Instance;
|
|
9
|
+
|
|
10
|
+
type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
|
|
11
|
+
? Object extends IValueOf<infer Primitive>
|
|
12
|
+
? Instance extends Primitive
|
|
13
|
+
? false
|
|
14
|
+
: true // not Primitive, but Object
|
|
15
|
+
: false // cannot be
|
|
16
|
+
: false;
|
|
17
|
+
|
|
18
|
+
interface IValueOf<T> {
|
|
19
|
+
valueOf(): T;
|
|
20
|
+
}
|
package/src/utils/Escaper.ts
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
export namespace Escaper {
|
|
2
|
-
export const variable = (str: string): boolean =>
|
|
3
|
-
reserved(str) === false && /^[a-zA-Z_$][a-zA-Z_$0-9]*$/g.test(str);
|
|
4
|
-
|
|
5
|
-
export const reserved = (str: string): boolean => RESERVED.has(str);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const RESERVED: Set<string> = new Set([
|
|
9
|
-
"break",
|
|
10
|
-
"case",
|
|
11
|
-
"catch",
|
|
12
|
-
"class",
|
|
13
|
-
"const",
|
|
14
|
-
"continue",
|
|
15
|
-
"debugger",
|
|
16
|
-
"default",
|
|
17
|
-
"delete",
|
|
18
|
-
"do",
|
|
19
|
-
"else",
|
|
20
|
-
"enum",
|
|
21
|
-
"export",
|
|
22
|
-
"extends",
|
|
23
|
-
"false",
|
|
24
|
-
"finally",
|
|
25
|
-
"for",
|
|
26
|
-
"function",
|
|
27
|
-
"if",
|
|
28
|
-
"import",
|
|
29
|
-
"in",
|
|
30
|
-
"instanceof",
|
|
31
|
-
"module",
|
|
32
|
-
"new",
|
|
33
|
-
"null",
|
|
34
|
-
"package",
|
|
35
|
-
"public",
|
|
36
|
-
"private",
|
|
37
|
-
"protected",
|
|
38
|
-
"return",
|
|
39
|
-
"super",
|
|
40
|
-
"switch",
|
|
41
|
-
"this",
|
|
42
|
-
"throw",
|
|
43
|
-
"true",
|
|
44
|
-
"try",
|
|
45
|
-
"typeof",
|
|
46
|
-
"var",
|
|
47
|
-
"void",
|
|
48
|
-
"while",
|
|
49
|
-
"with",
|
|
50
|
-
]);
|
|
1
|
+
export namespace Escaper {
|
|
2
|
+
export const variable = (str: string): boolean =>
|
|
3
|
+
reserved(str) === false && /^[a-zA-Z_$][a-zA-Z_$0-9]*$/g.test(str);
|
|
4
|
+
|
|
5
|
+
export const reserved = (str: string): boolean => RESERVED.has(str);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const RESERVED: Set<string> = new Set([
|
|
9
|
+
"break",
|
|
10
|
+
"case",
|
|
11
|
+
"catch",
|
|
12
|
+
"class",
|
|
13
|
+
"const",
|
|
14
|
+
"continue",
|
|
15
|
+
"debugger",
|
|
16
|
+
"default",
|
|
17
|
+
"delete",
|
|
18
|
+
"do",
|
|
19
|
+
"else",
|
|
20
|
+
"enum",
|
|
21
|
+
"export",
|
|
22
|
+
"extends",
|
|
23
|
+
"false",
|
|
24
|
+
"finally",
|
|
25
|
+
"for",
|
|
26
|
+
"function",
|
|
27
|
+
"if",
|
|
28
|
+
"import",
|
|
29
|
+
"in",
|
|
30
|
+
"instanceof",
|
|
31
|
+
"module",
|
|
32
|
+
"new",
|
|
33
|
+
"null",
|
|
34
|
+
"package",
|
|
35
|
+
"public",
|
|
36
|
+
"private",
|
|
37
|
+
"protected",
|
|
38
|
+
"return",
|
|
39
|
+
"super",
|
|
40
|
+
"switch",
|
|
41
|
+
"this",
|
|
42
|
+
"throw",
|
|
43
|
+
"true",
|
|
44
|
+
"try",
|
|
45
|
+
"typeof",
|
|
46
|
+
"var",
|
|
47
|
+
"void",
|
|
48
|
+
"while",
|
|
49
|
+
"with",
|
|
50
|
+
]);
|
package/src/utils/MapUtil.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export namespace MapUtil {
|
|
2
|
-
export const take = <Key, T>(
|
|
3
|
-
dict: Map<Key, T>,
|
|
4
|
-
key: Key,
|
|
5
|
-
generator: () => T,
|
|
6
|
-
): T => {
|
|
7
|
-
const oldbie: T | undefined = dict.get(key);
|
|
8
|
-
if (oldbie) return oldbie;
|
|
9
|
-
|
|
10
|
-
const value: T = generator();
|
|
11
|
-
dict.set(key, value);
|
|
12
|
-
return value;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
1
|
+
export namespace MapUtil {
|
|
2
|
+
export const take = <Key, T>(
|
|
3
|
+
dict: Map<Key, T>,
|
|
4
|
+
key: Key,
|
|
5
|
+
generator: () => T,
|
|
6
|
+
): T => {
|
|
7
|
+
const oldbie: T | undefined = dict.get(key);
|
|
8
|
+
if (oldbie) return oldbie;
|
|
9
|
+
|
|
10
|
+
const value: T = generator();
|
|
11
|
+
dict.set(key, value);
|
|
12
|
+
return value;
|
|
13
|
+
};
|
|
14
|
+
}
|
package/src/utils/NameEncoder.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
export namespace NameEncoder {
|
|
2
|
-
export const encode = (str: string): string => {
|
|
3
|
-
for (const [before, after] of REPLACERS)
|
|
4
|
-
str = str.split(before).join(after);
|
|
5
|
-
return str;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const decode = (str: string): string => {
|
|
9
|
-
for (const [before, after] of REPLACERS)
|
|
10
|
-
if (after !== "") str = str.split(after).join(before);
|
|
11
|
-
return str;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const REPLACERS: [string, string][] = [
|
|
16
|
-
["$", "_dollar_"],
|
|
17
|
-
["&", "_and_"],
|
|
18
|
-
["|", "_or_"],
|
|
19
|
-
["{", "_blt_"],
|
|
20
|
-
["}", "_bgt_"],
|
|
21
|
-
["<", "_lt_"],
|
|
22
|
-
[">", "_gt_"],
|
|
23
|
-
["(", "_lp_"],
|
|
24
|
-
[")", "_rp_"],
|
|
25
|
-
["[", "_alt_"],
|
|
26
|
-
["]", "_agt_"],
|
|
27
|
-
[",", "_comma_"],
|
|
28
|
-
["`", "_backquote_"],
|
|
29
|
-
["'", "_singlequote_"],
|
|
30
|
-
['"', "_doublequote_"],
|
|
31
|
-
[" ", "_space_"],
|
|
32
|
-
];
|
|
1
|
+
export namespace NameEncoder {
|
|
2
|
+
export const encode = (str: string): string => {
|
|
3
|
+
for (const [before, after] of REPLACERS)
|
|
4
|
+
str = str.split(before).join(after);
|
|
5
|
+
return str;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const decode = (str: string): string => {
|
|
9
|
+
for (const [before, after] of REPLACERS)
|
|
10
|
+
if (after !== "") str = str.split(after).join(before);
|
|
11
|
+
return str;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const REPLACERS: [string, string][] = [
|
|
16
|
+
["$", "_dollar_"],
|
|
17
|
+
["&", "_and_"],
|
|
18
|
+
["|", "_or_"],
|
|
19
|
+
["{", "_blt_"],
|
|
20
|
+
["}", "_bgt_"],
|
|
21
|
+
["<", "_lt_"],
|
|
22
|
+
[">", "_gt_"],
|
|
23
|
+
["(", "_lp_"],
|
|
24
|
+
[")", "_rp_"],
|
|
25
|
+
["[", "_alt_"],
|
|
26
|
+
["]", "_agt_"],
|
|
27
|
+
[",", "_comma_"],
|
|
28
|
+
["`", "_backquote_"],
|
|
29
|
+
["'", "_singlequote_"],
|
|
30
|
+
['"', "_doublequote_"],
|
|
31
|
+
[" ", "_space_"],
|
|
32
|
+
];
|