typia 7.0.0-dev.20241003 → 7.0.0-dev.20241005
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/factories/IdentifierFactory.d.ts +1 -1
- package/lib/functional/Namespace/index.d.ts +0 -1
- package/lib/functional/Namespace/index.js +1 -2
- package/lib/functional/Namespace/index.js.map +1 -1
- package/lib/functional.d.ts +18 -54
- package/lib/functional.js +18 -75
- package/lib/functional.js.map +1 -1
- package/lib/http.d.ts +39 -91
- package/lib/http.js +26 -121
- package/lib/http.js.map +1 -1
- package/lib/index.mjs +251 -1498
- package/lib/index.mjs.map +1 -1
- package/lib/internal/$ProtobufReader.d.ts +35 -0
- package/lib/internal/$ProtobufReader.js +166 -0
- package/lib/internal/$ProtobufReader.js.map +1 -0
- package/lib/internal/$ProtobufSizer.d.ts +36 -0
- package/lib/internal/$ProtobufSizer.js +125 -0
- package/lib/internal/$ProtobufSizer.js.map +1 -0
- package/lib/internal/$ProtobufWriter.d.ts +45 -0
- package/lib/internal/$ProtobufWriter.js +104 -0
- package/lib/internal/$ProtobufWriter.js.map +1 -0
- package/lib/internal/$accessExpressionAsString.d.ts +1 -0
- package/lib/internal/$accessExpressionAsString.js +50 -0
- package/lib/internal/$accessExpressionAsString.js.map +1 -0
- package/lib/internal/$assertGuard.d.ts +2 -0
- package/lib/internal/$assertGuard.js +15 -0
- package/lib/internal/$assertGuard.js.map +1 -0
- package/lib/internal/$functionalTypeGuardErrorFactory.d.ts +2 -0
- package/lib/internal/$functionalTypeGuardErrorFactory.js +9 -0
- package/lib/internal/$functionalTypeGuardErrorFactory.js.map +1 -0
- package/lib/internal/$httpFormDataReadArray.d.ts +1 -0
- package/lib/internal/$httpFormDataReadArray.js +6 -0
- package/lib/internal/$httpFormDataReadArray.js.map +1 -0
- package/lib/internal/$httpFormDataReadBigint.d.ts +1 -0
- package/lib/internal/$httpFormDataReadBigint.js +22 -0
- package/lib/internal/$httpFormDataReadBigint.js.map +1 -0
- package/lib/internal/$httpFormDataReadBlob.d.ts +1 -0
- package/lib/internal/$httpFormDataReadBlob.js +14 -0
- package/lib/internal/$httpFormDataReadBlob.js.map +1 -0
- package/lib/internal/$httpFormDataReadBoolean.d.ts +1 -0
- package/lib/internal/$httpFormDataReadBoolean.js +20 -0
- package/lib/internal/$httpFormDataReadBoolean.js.map +1 -0
- package/lib/internal/$httpFormDataReadFile.d.ts +1 -0
- package/lib/internal/$httpFormDataReadFile.js +14 -0
- package/lib/internal/$httpFormDataReadFile.js.map +1 -0
- package/lib/internal/$httpFormDataReadNumber.d.ts +1 -0
- package/lib/internal/$httpFormDataReadNumber.js +18 -0
- package/lib/internal/$httpFormDataReadNumber.js.map +1 -0
- package/lib/internal/$httpFormDataReadString.d.ts +1 -0
- package/lib/internal/$httpFormDataReadString.js +14 -0
- package/lib/internal/$httpFormDataReadString.js.map +1 -0
- package/lib/internal/$httpHeaderReadBigint.d.ts +1 -0
- package/lib/internal/$httpHeaderReadBigint.js +16 -0
- package/lib/internal/$httpHeaderReadBigint.js.map +1 -0
- package/lib/internal/$httpHeaderReadBoolean.d.ts +1 -0
- package/lib/internal/$httpHeaderReadBoolean.js +14 -0
- package/lib/internal/$httpHeaderReadBoolean.js.map +1 -0
- package/lib/internal/$httpHeaderReadNumber.d.ts +1 -0
- package/lib/internal/$httpHeaderReadNumber.js +12 -0
- package/lib/internal/$httpHeaderReadNumber.js.map +1 -0
- package/lib/internal/$httpParameterBigint.d.ts +1 -0
- package/lib/internal/$httpParameterBigint.js +16 -0
- package/lib/internal/$httpParameterBigint.js.map +1 -0
- package/lib/internal/$httpParameterBoolean.d.ts +1 -0
- package/lib/internal/$httpParameterBoolean.js +14 -0
- package/lib/internal/$httpParameterBoolean.js.map +1 -0
- package/lib/internal/$httpParameterNumber.d.ts +1 -0
- package/lib/internal/$httpParameterNumber.js +12 -0
- package/lib/internal/$httpParameterNumber.js.map +1 -0
- package/lib/internal/$httpParameterString.d.ts +1 -0
- package/lib/internal/$httpParameterString.js +8 -0
- package/lib/internal/$httpParameterString.js.map +1 -0
- package/lib/internal/$httpQueryParseURLSearchParams.d.ts +1 -0
- package/lib/internal/$httpQueryParseURLSearchParams.js +13 -0
- package/lib/internal/$httpQueryParseURLSearchParams.js.map +1 -0
- package/lib/internal/$httpQueryReadArray.d.ts +1 -0
- package/lib/internal/$httpQueryReadArray.js +6 -0
- package/lib/internal/$httpQueryReadArray.js.map +1 -0
- package/lib/internal/$httpQueryReadBigint.d.ts +1 -0
- package/lib/internal/$httpQueryReadBigint.js +16 -0
- package/lib/internal/$httpQueryReadBigint.js.map +1 -0
- package/lib/internal/$httpQueryReadBoolean.d.ts +1 -0
- package/lib/internal/$httpQueryReadBoolean.js +18 -0
- package/lib/internal/$httpQueryReadBoolean.js.map +1 -0
- package/lib/internal/$httpQueryReadNumber.d.ts +1 -0
- package/lib/internal/$httpQueryReadNumber.js +12 -0
- package/lib/internal/$httpQueryReadNumber.js.map +1 -0
- package/lib/internal/$httpQueryReadString.d.ts +1 -0
- package/lib/internal/$httpQueryReadString.js +8 -0
- package/lib/internal/$httpQueryReadString.js.map +1 -0
- package/lib/internal/$isBetween.d.ts +1 -0
- package/lib/internal/$isBetween.js +8 -0
- package/lib/internal/$isBetween.js.map +1 -0
- package/lib/internal/$isBigintString.d.ts +1 -0
- package/lib/internal/$isBigintString.js +14 -0
- package/lib/internal/$isBigintString.js.map +1 -0
- package/lib/internal/$jsonStringifyNumber.d.ts +1 -0
- package/lib/internal/$jsonStringifyNumber.js +16 -0
- package/lib/internal/$jsonStringifyNumber.js.map +1 -0
- package/lib/internal/$jsonStringifyRest.d.ts +1 -0
- package/lib/internal/$jsonStringifyRest.js +8 -0
- package/lib/internal/$jsonStringifyRest.js.map +1 -0
- package/lib/internal/$jsonStringifyString.d.ts +1 -0
- package/lib/internal/$jsonStringifyString.js +43 -0
- package/lib/internal/$jsonStringifyString.js.map +1 -0
- package/lib/internal/$jsonStringifyTail.d.ts +1 -0
- package/lib/internal/$jsonStringifyTail.js +8 -0
- package/lib/internal/$jsonStringifyTail.js.map +1 -0
- package/lib/internal/$llmApplicationFinalize.d.ts +2 -0
- package/lib/internal/$llmApplicationFinalize.js +42 -0
- package/lib/internal/$llmApplicationFinalize.js.map +1 -0
- package/lib/internal/$miscCloneAny.d.ts +2 -0
- package/lib/internal/$miscCloneAny.js +100 -0
- package/lib/internal/$miscCloneAny.js.map +1 -0
- package/lib/internal/$notationAny.d.ts +1 -0
- package/lib/internal/$notationAny.js +60 -0
- package/lib/internal/$notationAny.js.map +1 -0
- package/lib/internal/$notationCamel.d.ts +1 -0
- package/lib/internal/$notationCamel.js +18 -0
- package/lib/internal/$notationCamel.js.map +1 -0
- package/lib/internal/$notationPascal.d.ts +1 -0
- package/lib/internal/$notationPascal.js +12 -0
- package/lib/internal/$notationPascal.js.map +1 -0
- package/lib/internal/$notationSnake.d.ts +1 -0
- package/lib/internal/$notationSnake.js +51 -0
- package/lib/internal/$notationSnake.js.map +1 -0
- package/lib/internal/$randomArray.d.ts +4 -0
- package/lib/internal/$randomArray.js +19 -0
- package/lib/internal/$randomArray.js.map +1 -0
- package/lib/internal/$randomBigint.d.ts +2 -0
- package/lib/internal/$randomBigint.js +14 -0
- package/lib/internal/$randomBigint.js.map +1 -0
- package/lib/internal/$randomBoolean.d.ts +1 -0
- package/lib/internal/$randomBoolean.js +6 -0
- package/lib/internal/$randomBoolean.js.map +1 -0
- package/lib/internal/$randomByte.d.ts +1 -0
- package/lib/internal/$randomByte.js +7 -0
- package/lib/internal/$randomByte.js.map +1 -0
- package/lib/internal/$randomFormatDate.d.ts +4 -0
- package/lib/internal/$randomFormatDate.js +17 -0
- package/lib/internal/$randomFormatDate.js.map +1 -0
- package/lib/internal/$randomFormatDatetime.d.ts +4 -0
- package/lib/internal/$randomFormatDatetime.js +15 -0
- package/lib/internal/$randomFormatDatetime.js.map +1 -0
- package/lib/internal/$randomFormatDuration.d.ts +1 -0
- package/lib/internal/$randomFormatDuration.js +55 -0
- package/lib/internal/$randomFormatDuration.js.map +1 -0
- package/lib/internal/$randomFormatEmail.d.ts +1 -0
- package/lib/internal/$randomFormatEmail.js +16 -0
- package/lib/internal/$randomFormatEmail.js.map +1 -0
- package/lib/internal/$randomFormatHostname.d.ts +1 -0
- package/lib/internal/$randomFormatHostname.js +10 -0
- package/lib/internal/$randomFormatHostname.js.map +1 -0
- package/lib/internal/$randomFormatIdnEmail.d.ts +1 -0
- package/lib/internal/$randomFormatIdnEmail.js +7 -0
- package/lib/internal/$randomFormatIdnEmail.js.map +1 -0
- package/lib/internal/$randomFormatIdnHostname.d.ts +1 -0
- package/lib/internal/$randomFormatIdnHostname.js +7 -0
- package/lib/internal/$randomFormatIdnHostname.js.map +1 -0
- package/lib/internal/$randomFormatIpv4.d.ts +1 -0
- package/lib/internal/$randomFormatIpv4.js +15 -0
- package/lib/internal/$randomFormatIpv4.js.map +1 -0
- package/lib/internal/$randomFormatIpv6.d.ts +1 -0
- package/lib/internal/$randomFormatIpv6.js +15 -0
- package/lib/internal/$randomFormatIpv6.js.map +1 -0
- package/lib/internal/$randomFormatIri.d.ts +1 -0
- package/lib/internal/$randomFormatIri.js +7 -0
- package/lib/internal/$randomFormatIri.js.map +1 -0
- package/lib/internal/$randomFormatIriReference.d.ts +1 -0
- package/lib/internal/$randomFormatIriReference.js +7 -0
- package/lib/internal/$randomFormatIriReference.js.map +1 -0
- package/lib/internal/$randomFormatJsonPointer.d.ts +1 -0
- package/lib/internal/$randomFormatJsonPointer.js +12 -0
- package/lib/internal/$randomFormatJsonPointer.js.map +1 -0
- package/lib/internal/$randomFormatPassword.d.ts +1 -0
- package/lib/internal/$randomFormatPassword.js +13 -0
- package/lib/internal/$randomFormatPassword.js.map +1 -0
- package/lib/internal/$randomFormatRegex.d.ts +1 -0
- package/lib/internal/$randomFormatRegex.js +7 -0
- package/lib/internal/$randomFormatRegex.js.map +1 -0
- package/lib/internal/$randomFormatRelativeJsonPointer.d.ts +1 -0
- package/lib/internal/$randomFormatRelativeJsonPointer.js +13 -0
- package/lib/internal/$randomFormatRelativeJsonPointer.js.map +1 -0
- package/lib/internal/$randomFormatTime.d.ts +1 -0
- package/lib/internal/$randomFormatTime.js +15 -0
- package/lib/internal/$randomFormatTime.js.map +1 -0
- package/lib/internal/$randomFormatUri.d.ts +1 -0
- package/lib/internal/$randomFormatUri.js +7 -0
- package/lib/internal/$randomFormatUri.js.map +1 -0
- package/lib/internal/$randomFormatUriReference.d.ts +1 -0
- package/lib/internal/$randomFormatUriReference.js +7 -0
- package/lib/internal/$randomFormatUriReference.js.map +1 -0
- package/lib/internal/$randomFormatUriTemplate.d.ts +1 -0
- package/lib/internal/$randomFormatUriTemplate.js +7 -0
- package/lib/internal/$randomFormatUriTemplate.js.map +1 -0
- package/lib/internal/$randomFormatUrl.d.ts +1 -0
- package/lib/internal/$randomFormatUrl.js +16 -0
- package/lib/internal/$randomFormatUrl.js.map +1 -0
- package/lib/internal/$randomInteger.d.ts +2 -0
- package/lib/internal/$randomInteger.js +39 -0
- package/lib/internal/$randomInteger.js.map +1 -0
- package/lib/internal/$randomNumber.d.ts +2 -0
- package/lib/internal/$randomNumber.js +56 -0
- package/lib/internal/$randomNumber.js.map +1 -0
- package/lib/internal/$randomPattern.d.ts +1 -0
- package/lib/internal/$randomPattern.js +18 -0
- package/lib/internal/$randomPattern.js.map +1 -0
- package/lib/internal/$randomPick.d.ts +1 -0
- package/lib/internal/$randomPick.js +13 -0
- package/lib/internal/$randomPick.js.map +1 -0
- package/lib/internal/$randomString.d.ts +2 -0
- package/lib/internal/$randomString.js +23 -0
- package/lib/internal/$randomString.js.map +1 -0
- package/lib/internal/$randomUuid.d.ts +1 -0
- package/lib/internal/$randomUuid.js +12 -0
- package/lib/internal/$randomUuid.js.map +1 -0
- package/lib/internal/$throwTypeGuardError.d.ts +2 -0
- package/lib/internal/$throwTypeGuardError.js +9 -0
- package/lib/internal/$throwTypeGuardError.js.map +1 -0
- package/lib/internal/$validateReport.d.ts +2 -0
- package/lib/internal/$validateReport.js +18 -0
- package/lib/internal/$validateReport.js.map +1 -0
- package/lib/internal/private/$__IProtobufWriter.d.ts +15 -0
- package/lib/internal/private/$__IProtobufWriter.js +3 -0
- package/lib/internal/private/$__IProtobufWriter.js.map +1 -0
- package/lib/internal/private/$__notationCapitalize.d.ts +1 -0
- package/lib/internal/private/$__notationCapitalize.js +8 -0
- package/lib/internal/private/$__notationCapitalize.js.map +1 -0
- package/lib/internal/private/$__notationUnsnake.d.ts +4 -0
- package/lib/internal/private/$__notationUnsnake.js +28 -0
- package/lib/internal/private/$__notationUnsnake.js.map +1 -0
- package/lib/json.d.ts +27 -55
- package/lib/json.js +14 -62
- package/lib/json.js.map +1 -1
- package/lib/misc.d.ts +30 -62
- package/lib/misc.js +16 -80
- package/lib/misc.js.map +1 -1
- package/lib/module.d.ts +32 -64
- package/lib/module.js +17 -38
- package/lib/module.js.map +1 -1
- package/lib/notations.d.ts +45 -93
- package/lib/notations.js +24 -114
- package/lib/notations.js.map +1 -1
- package/lib/programmers/AssertProgrammer.d.ts +2 -2
- package/lib/programmers/AssertProgrammer.js +24 -17
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.d.ts +9 -9
- package/lib/programmers/CheckerProgrammer.js +46 -46
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.d.ts +8 -8
- package/lib/programmers/FeatureProgrammer.js +10 -10
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/ImportProgrammer.d.ts +10 -0
- package/lib/programmers/ImportProgrammer.js +119 -0
- package/lib/programmers/ImportProgrammer.js.map +1 -0
- package/lib/programmers/IsProgrammer.d.ts +6 -6
- package/lib/programmers/IsProgrammer.js +11 -13
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.d.ts +2 -2
- package/lib/programmers/RandomProgrammer.js +63 -63
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.d.ts +2 -2
- package/lib/programmers/ValidateProgrammer.js +9 -10
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.d.ts +1 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +2 -3
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +1 -1
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +1 -1
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
- package/lib/programmers/helpers/{FunctionImporter.d.ts → FunctionProgrammer.d.ts} +4 -1
- package/lib/programmers/helpers/{FunctionImporter.js → FunctionProgrammer.js} +19 -16
- package/lib/programmers/helpers/FunctionProgrammer.js.map +1 -0
- package/lib/programmers/helpers/StringifyJoinder.d.ts +2 -2
- package/lib/programmers/helpers/StringifyJoinder.js +1 -1
- package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
- package/lib/programmers/helpers/disable_function_programmer_declare.d.ts +2 -0
- package/lib/programmers/helpers/disable_function_programmer_declare.js +19 -0
- package/lib/programmers/helpers/disable_function_programmer_declare.js.map +1 -0
- package/lib/programmers/http/HttpAssertFormDataProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js +4 -4
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js +4 -4
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpAssertQueryProgrammer.js +4 -4
- package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpFormDataProgrammer.js +13 -12
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpHeadersProgrammer.d.ts +3 -3
- package/lib/programmers/http/HttpHeadersProgrammer.js +37 -31
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsFormDataProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpIsFormDataProgrammer.js +4 -4
- package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsHeadersProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpIsHeadersProgrammer.js +4 -4
- package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsQueryProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpIsQueryProgrammer.js +4 -4
- package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpParameterProgrammer.js +3 -4
- package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpQueryProgrammer.js +14 -13
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateFormDataProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js +4 -4
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateHeadersProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js +4 -4
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQueryProgrammer.d.ts +2 -2
- package/lib/programmers/http/HttpValidateQueryProgrammer.js +4 -4
- package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.js +2 -2
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js +1 -2
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_object.js +0 -1
- package/lib/programmers/internal/check_object.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.js +3 -2
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.d.ts +2 -2
- package/lib/programmers/json/JsonAssertParseProgrammer.js +4 -4
- package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.d.ts +2 -2
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js +4 -4
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonIsParseProgrammer.d.ts +2 -2
- package/lib/programmers/json/JsonIsParseProgrammer.js +4 -4
- package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonIsStringifyProgrammer.d.ts +2 -2
- package/lib/programmers/json/JsonIsStringifyProgrammer.js +4 -4
- package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.d.ts +2 -2
- package/lib/programmers/json/JsonStringifyProgrammer.js +38 -33
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonValidateParseProgrammer.d.ts +2 -2
- package/lib/programmers/json/JsonValidateParseProgrammer.js +4 -4
- package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonValidateStringifyProgrammer.d.ts +2 -2
- package/lib/programmers/json/JsonValidateStringifyProgrammer.js +4 -4
- package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.d.ts +1 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.js +11 -11
- package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.d.ts +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js +12 -12
- package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js +4 -4
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js +4 -4
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscCloneProgrammer.js +43 -37
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscIsCloneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscIsCloneProgrammer.js +4 -4
- package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscIsPruneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscIsPruneProgrammer.js +4 -4
- package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscPruneProgrammer.js +33 -29
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscValidateCloneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js +4 -4
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscValidatePruneProgrammer.d.ts +2 -2
- package/lib/programmers/misc/MiscValidatePruneProgrammer.js +4 -4
- package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +2 -2
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +4 -4
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +2 -2
- package/lib/programmers/notations/NotationGeneralProgrammer.js +49 -35
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationIsGeneralProgrammer.d.ts +2 -2
- package/lib/programmers/notations/NotationIsGeneralProgrammer.js +4 -4
- package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.d.ts +2 -2
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +4 -4
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +4 -4
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +4 -4
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +14 -14
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +26 -22
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +4 -4
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +4 -4
- package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +4 -4
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.d.ts +2 -2
- package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +4 -4
- package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
- package/lib/protobuf.d.ts +31 -63
- package/lib/protobuf.js +16 -83
- package/lib/protobuf.js.map +1 -1
- package/lib/reflect.d.ts +2 -4
- package/lib/reflect.js +1 -3
- package/lib/reflect.js.map +1 -1
- package/lib/transformers/FileTransformer.d.ts +1 -1
- package/lib/transformers/FileTransformer.js +36 -2
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/ITypiaContext.d.ts +2 -0
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +1 -3
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/utils/NamingConvention.d.ts +5 -0
- package/lib/utils/NamingConvention.js +102 -0
- package/lib/utils/NamingConvention.js.map +1 -0
- package/lib/utils/StringUtil.d.ts +8 -0
- package/lib/utils/StringUtil.js +19 -0
- package/lib/utils/StringUtil.js.map +1 -0
- package/package.json +2 -2
- package/src/CamelCase.ts +75 -75
- package/src/IRandomGenerator.ts +0 -1
- package/src/PascalCase.ts +71 -71
- package/src/Primitive.ts +92 -92
- package/src/SnakeCase.ts +126 -126
- package/src/factories/ExpressionFactory.ts +164 -164
- package/src/factories/IdentifierFactory.ts +89 -89
- package/src/factories/MetadataTypeTagFactory.ts +385 -385
- package/src/factories/NumericRangeFactory.ts +72 -72
- package/src/factories/TemplateFactory.ts +64 -64
- package/src/functional/$clone.ts +48 -48
- package/src/functional/$throws.ts +10 -10
- package/src/functional/Namespace/index.ts +0 -2
- package/src/functional/Namespace/json.ts +15 -15
- package/src/functional/Namespace/misc.ts +14 -14
- package/src/functional/Namespace/notations.ts +23 -23
- package/src/functional.ts +36 -158
- package/src/http.ts +79 -303
- package/src/internal/$ProtobufReader.ts +194 -0
- package/src/internal/$ProtobufSizer.ts +151 -0
- package/src/internal/$ProtobufWriter.ts +145 -0
- package/src/internal/$accessExpressionAsString.ts +46 -0
- package/src/internal/$assertGuard.ts +13 -0
- package/src/internal/$functionalTypeGuardErrorFactory.ts +4 -0
- package/src/internal/$httpFormDataReadArray.ts +4 -0
- package/src/internal/$httpFormDataReadBigint.ts +18 -0
- package/src/internal/$httpFormDataReadBlob.ts +10 -0
- package/src/internal/$httpFormDataReadBoolean.ts +16 -0
- package/src/internal/$httpFormDataReadFile.ts +10 -0
- package/src/internal/$httpFormDataReadNumber.ts +15 -0
- package/src/internal/$httpFormDataReadString.ts +10 -0
- package/src/internal/$httpHeaderReadBigint.ts +10 -0
- package/src/internal/$httpHeaderReadBoolean.ts +8 -0
- package/src/internal/$httpHeaderReadNumber.ts +7 -0
- package/src/internal/$httpParameterBigint.ts +10 -0
- package/src/internal/$httpParameterBoolean.ts +8 -0
- package/src/internal/$httpParameterNumber.ts +7 -0
- package/src/internal/$httpParameterString.ts +2 -0
- package/src/internal/$httpQueryParseURLSearchParams.ts +10 -0
- package/src/internal/$httpQueryReadArray.ts +4 -0
- package/src/internal/$httpQueryReadBigint.ts +12 -0
- package/src/internal/$httpQueryReadBoolean.ts +14 -0
- package/src/internal/$httpQueryReadNumber.ts +9 -0
- package/src/internal/$httpQueryReadString.ts +4 -0
- package/src/internal/$isBetween.ts +2 -0
- package/src/internal/$isBigintString.ts +8 -0
- package/src/internal/$jsonStringifyNumber.ts +12 -0
- package/src/internal/$jsonStringifyRest.ts +3 -0
- package/src/internal/$jsonStringifyString.ts +43 -0
- package/src/internal/$jsonStringifyTail.ts +2 -0
- package/src/internal/$llmApplicationFinalize.ts +18 -0
- package/src/internal/$miscCloneAny.ts +48 -0
- package/src/internal/$notationAny.ts +37 -0
- package/src/internal/$notationCamel.ts +13 -0
- package/src/internal/$notationPascal.ts +8 -0
- package/src/{utils/NamingConvention/NamingConvention.ts → internal/$notationSnake.ts} +43 -87
- package/src/internal/$randomArray.ts +20 -0
- package/src/internal/$randomBigint.ts +15 -0
- package/src/internal/$randomBoolean.ts +1 -0
- package/src/internal/$randomByte.ts +3 -0
- package/src/internal/$randomFormatDate.ts +17 -0
- package/src/internal/$randomFormatDatetime.ts +15 -0
- package/src/internal/$randomFormatDuration.ts +26 -0
- package/src/internal/$randomFormatEmail.ts +11 -0
- package/src/internal/$randomFormatHostname.ts +6 -0
- package/src/internal/$randomFormatIdnEmail.ts +3 -0
- package/src/internal/$randomFormatIdnHostname.ts +3 -0
- package/src/internal/$randomFormatIpv4.ts +10 -0
- package/src/internal/$randomFormatIpv6.ts +10 -0
- package/src/internal/$randomFormatIri.ts +3 -0
- package/src/internal/$randomFormatIriReference.ts +3 -0
- package/src/internal/$randomFormatJsonPointer.ts +7 -0
- package/src/internal/$randomFormatPassword.ts +8 -0
- package/src/internal/$randomFormatRegex.ts +4 -0
- package/src/internal/$randomFormatRelativeJsonPointer.ts +8 -0
- package/src/internal/$randomFormatTime.ts +13 -0
- package/src/internal/$randomFormatUri.ts +3 -0
- package/src/internal/$randomFormatUriReference.ts +3 -0
- package/src/internal/$randomFormatUriTemplate.ts +3 -0
- package/src/internal/$randomFormatUrl.ts +11 -0
- package/src/internal/$randomInteger.ts +44 -0
- package/src/internal/$randomNumber.ts +71 -0
- package/src/internal/$randomPattern.ts +10 -0
- package/src/internal/$randomPick.ts +8 -0
- package/src/internal/$randomString.ts +24 -0
- package/src/internal/$randomUuid.ts +6 -0
- package/src/internal/$throwTypeGuardError.ts +5 -0
- package/src/internal/$validateReport.ts +13 -0
- package/src/internal/private/$__IProtobufWriter.ts +18 -0
- package/src/internal/private/$__notationCapitalize.ts +2 -0
- package/src/internal/private/$__notationUnsnake.ts +24 -0
- package/src/json.ts +47 -134
- package/src/misc.ts +52 -151
- package/src/module.ts +50 -128
- package/src/notations.ts +76 -269
- package/src/programmers/AssertProgrammer.ts +51 -36
- package/src/programmers/CheckerProgrammer.ts +69 -69
- package/src/programmers/FeatureProgrammer.ts +18 -18
- package/src/programmers/ImportProgrammer.ts +109 -0
- package/src/programmers/IsProgrammer.ts +16 -18
- package/src/programmers/RandomProgrammer.ts +80 -80
- package/src/programmers/ValidateProgrammer.ts +15 -21
- package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +4 -9
- package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +1 -1
- package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +1 -1
- package/src/programmers/helpers/AtomicPredicator.ts +35 -35
- package/src/programmers/helpers/CloneJoiner.ts +143 -143
- package/src/programmers/helpers/{FunctionImporter.ts → FunctionProgrammer.ts} +4 -1
- package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
- package/src/programmers/helpers/NotationJoiner.ts +144 -144
- package/src/programmers/helpers/ProtobufUtil.ts +125 -125
- package/src/programmers/helpers/PruneJoiner.ts +148 -148
- package/src/programmers/helpers/RandomJoiner.ts +162 -162
- package/src/programmers/helpers/StringifyJoinder.ts +115 -114
- 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 +35 -0
- package/src/programmers/http/HttpAssertFormDataProgrammer.ts +5 -5
- package/src/programmers/http/HttpAssertHeadersProgrammer.ts +5 -5
- package/src/programmers/http/HttpAssertQueryProgrammer.ts +5 -5
- package/src/programmers/http/HttpFormDataProgrammer.ts +20 -17
- package/src/programmers/http/HttpHeadersProgrammer.ts +62 -36
- package/src/programmers/http/HttpIsFormDataProgrammer.ts +5 -5
- package/src/programmers/http/HttpIsHeadersProgrammer.ts +5 -5
- package/src/programmers/http/HttpIsQueryProgrammer.ts +5 -5
- package/src/programmers/http/HttpParameterProgrammer.ts +6 -9
- package/src/programmers/http/HttpQueryProgrammer.ts +21 -18
- package/src/programmers/http/HttpValidateFormDataProgrammer.ts +5 -5
- package/src/programmers/http/HttpValidateHeadersProgrammer.ts +5 -5
- package/src/programmers/http/HttpValidateQueryProgrammer.ts +5 -5
- package/src/programmers/internal/application_array.ts +56 -56
- package/src/programmers/internal/application_boolean.ts +25 -25
- package/src/programmers/internal/application_description.ts +12 -12
- 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_native.ts +29 -29
- package/src/programmers/internal/application_v31_alias.ts +47 -47
- package/src/programmers/internal/application_v31_native.ts +25 -25
- package/src/programmers/internal/application_v31_tuple.ts +22 -22
- package/src/programmers/internal/check_dynamic_key.ts +2 -4
- package/src/programmers/internal/check_dynamic_properties.ts +1 -5
- package/src/programmers/internal/check_everything.ts +23 -23
- package/src/programmers/internal/check_native.ts +27 -27
- package/src/programmers/internal/check_object.ts +0 -3
- 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 -58
- 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/random_custom.ts +39 -39
- 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 +5 -5
- package/src/programmers/json/JsonAssertStringifyProgrammer.ts +5 -5
- package/src/programmers/json/JsonIsParseProgrammer.ts +5 -5
- package/src/programmers/json/JsonIsStringifyProgrammer.ts +5 -5
- package/src/programmers/json/JsonStringifyProgrammer.ts +60 -51
- package/src/programmers/json/JsonValidateParseProgrammer.ts +5 -5
- package/src/programmers/json/JsonValidateStringifyProgrammer.ts +5 -5
- package/src/programmers/llm/LlmApplicationProgrammer.ts +12 -12
- package/src/programmers/llm/LlmSchemaProgrammer.ts +14 -12
- package/src/programmers/misc/MiscAssertCloneProgrammer.ts +5 -5
- package/src/programmers/misc/MiscAssertPruneProgrammer.ts +5 -5
- package/src/programmers/misc/MiscCloneProgrammer.ts +63 -53
- package/src/programmers/misc/MiscIsCloneProgrammer.ts +5 -5
- package/src/programmers/misc/MiscIsPruneProgrammer.ts +5 -5
- package/src/programmers/misc/MiscPruneProgrammer.ts +51 -43
- package/src/programmers/misc/MiscValidateCloneProgrammer.ts +5 -5
- package/src/programmers/misc/MiscValidatePruneProgrammer.ts +5 -5
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +5 -5
- package/src/programmers/notations/NotationGeneralProgrammer.ts +79 -59
- package/src/programmers/notations/NotationIsGeneralProgrammer.ts +5 -5
- package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +5 -5
- package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +5 -5
- package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +5 -5
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +21 -21
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +41 -32
- package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +5 -5
- package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +5 -5
- package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +5 -5
- package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +5 -5
- package/src/protobuf.ts +51 -182
- package/src/reflect.ts +3 -9
- package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
- package/src/schemas/metadata/MetadataObject.ts +139 -139
- package/src/transformers/FileTransformer.ts +21 -2
- package/src/transformers/ITypiaContext.ts +3 -0
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +1 -6
- 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/MapUtil.ts +14 -14
- package/src/utils/NameEncoder.ts +32 -32
- package/src/utils/NamingConvention.ts +94 -0
- package/src/utils/StringUtil.ts +16 -0
- package/lib/functional/$every.d.ts +0 -2
- package/lib/functional/$every.js +0 -12
- package/lib/functional/$every.js.map +0 -1
- package/lib/programmers/helpers/FunctionImporter.js.map +0 -1
- package/lib/programmers/helpers/disable_function_importer_declare.d.ts +0 -2
- package/lib/programmers/helpers/disable_function_importer_declare.js +0 -19
- package/lib/programmers/helpers/disable_function_importer_declare.js.map +0 -1
- package/lib/utils/NamingConvention/NamingConvention.d.ts +0 -3
- package/lib/utils/NamingConvention/NamingConvention.js +0 -93
- package/lib/utils/NamingConvention/NamingConvention.js.map +0 -1
- package/lib/utils/NamingConvention/index.d.ts +0 -1
- package/lib/utils/NamingConvention/index.js +0 -28
- package/lib/utils/NamingConvention/index.js.map +0 -1
- package/lib/utils/StringUtil/StringUtil.d.ts +0 -6
- package/lib/utils/StringUtil/StringUtil.js +0 -18
- package/lib/utils/StringUtil/StringUtil.js.map +0 -1
- package/lib/utils/StringUtil/index.d.ts +0 -1
- package/lib/utils/StringUtil/index.js +0 -28
- package/lib/utils/StringUtil/index.js.map +0 -1
- package/src/functional/$every.ts +0 -11
- package/src/programmers/helpers/disable_function_importer_declare.ts +0 -33
- package/src/utils/NamingConvention/index.ts +0 -1
- package/src/utils/StringUtil/StringUtil.ts +0 -14
- package/src/utils/StringUtil/index.ts +0 -1
|
@@ -23,7 +23,7 @@ import { Atomic } from "../../typings/Atomic";
|
|
|
23
23
|
import { FeatureProgrammer } from "../FeatureProgrammer";
|
|
24
24
|
import { IsProgrammer } from "../IsProgrammer";
|
|
25
25
|
import { AtomicPredicator } from "../helpers/AtomicPredicator";
|
|
26
|
-
import {
|
|
26
|
+
import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
|
|
27
27
|
import { OptionPredicator } from "../helpers/OptionPredicator";
|
|
28
28
|
import { StringifyJoiner } from "../helpers/StringifyJoinder";
|
|
29
29
|
import { StringifyPredicator } from "../helpers/StringifyPredicator";
|
|
@@ -40,7 +40,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
40
40
|
export const decompose = (props: {
|
|
41
41
|
validated: boolean;
|
|
42
42
|
context: ITypiaContext;
|
|
43
|
-
|
|
43
|
+
functor: FunctionProgrammer;
|
|
44
44
|
type: ts.Type;
|
|
45
45
|
name: string | undefined;
|
|
46
46
|
}): FeatureProgrammer.IDecomposed => {
|
|
@@ -49,7 +49,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
49
49
|
config.addition = (collection) =>
|
|
50
50
|
IsProgrammer.write_function_statements({
|
|
51
51
|
context: props.context,
|
|
52
|
-
|
|
52
|
+
functor: props.functor,
|
|
53
53
|
collection,
|
|
54
54
|
});
|
|
55
55
|
const composed: FeatureProgrammer.IComposed = FeatureProgrammer.compose({
|
|
@@ -71,24 +71,24 @@ export namespace JsonStringifyProgrammer {
|
|
|
71
71
|
};
|
|
72
72
|
|
|
73
73
|
export const write = (props: IProgrammerProps): ts.CallExpression => {
|
|
74
|
-
const
|
|
74
|
+
const functor: FunctionProgrammer = new FunctionProgrammer(
|
|
75
75
|
props.modulo.getText(),
|
|
76
76
|
);
|
|
77
77
|
const result: FeatureProgrammer.IDecomposed = decompose({
|
|
78
78
|
...props,
|
|
79
79
|
validated: false,
|
|
80
|
-
|
|
80
|
+
functor,
|
|
81
81
|
});
|
|
82
82
|
return FeatureProgrammer.writeDecomposed({
|
|
83
83
|
modulo: props.modulo,
|
|
84
|
-
|
|
84
|
+
functor,
|
|
85
85
|
result,
|
|
86
86
|
});
|
|
87
87
|
};
|
|
88
88
|
|
|
89
89
|
const write_array_functions = (props: {
|
|
90
90
|
config: FeatureProgrammer.IConfig;
|
|
91
|
-
|
|
91
|
+
functor: FunctionProgrammer;
|
|
92
92
|
collection: MetadataCollection;
|
|
93
93
|
}): ts.VariableStatement[] =>
|
|
94
94
|
props.collection
|
|
@@ -109,7 +109,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
109
109
|
undefined,
|
|
110
110
|
decode_array_inline({
|
|
111
111
|
config: props.config,
|
|
112
|
-
|
|
112
|
+
functor: props.functor,
|
|
113
113
|
input: ts.factory.createIdentifier("input"),
|
|
114
114
|
array: MetadataArray.create({
|
|
115
115
|
type,
|
|
@@ -129,7 +129,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
129
129
|
const write_tuple_functions = (props: {
|
|
130
130
|
context: ITypiaContext;
|
|
131
131
|
config: FeatureProgrammer.IConfig;
|
|
132
|
-
|
|
132
|
+
functor: FunctionProgrammer;
|
|
133
133
|
collection: MetadataCollection;
|
|
134
134
|
}): ts.VariableStatement[] =>
|
|
135
135
|
props.collection
|
|
@@ -151,7 +151,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
151
151
|
decode_tuple_inline({
|
|
152
152
|
context: props.context,
|
|
153
153
|
config: props.config,
|
|
154
|
-
|
|
154
|
+
functor: props.functor,
|
|
155
155
|
input: ts.factory.createIdentifier("input"),
|
|
156
156
|
tuple,
|
|
157
157
|
explore: {
|
|
@@ -171,7 +171,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
171
171
|
const decode = (props: {
|
|
172
172
|
context: ITypiaContext;
|
|
173
173
|
config: FeatureProgrammer.IConfig;
|
|
174
|
-
|
|
174
|
+
functor: FunctionProgrammer;
|
|
175
175
|
input: ts.Expression;
|
|
176
176
|
metadata: Metadata;
|
|
177
177
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -514,7 +514,8 @@ export namespace JsonStringifyProgrammer {
|
|
|
514
514
|
undefined,
|
|
515
515
|
undefined,
|
|
516
516
|
iterate({
|
|
517
|
-
|
|
517
|
+
context: props.context,
|
|
518
|
+
functor: props.functor,
|
|
518
519
|
input: props.input,
|
|
519
520
|
expected: props.metadata.getName(),
|
|
520
521
|
unions,
|
|
@@ -527,7 +528,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
527
528
|
};
|
|
528
529
|
|
|
529
530
|
const decode_object = (props: {
|
|
530
|
-
|
|
531
|
+
functor: FunctionProgrammer;
|
|
531
532
|
input: ts.Expression;
|
|
532
533
|
object: MetadataObject;
|
|
533
534
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -538,7 +539,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
538
539
|
path: false,
|
|
539
540
|
prefix: PREFIX,
|
|
540
541
|
},
|
|
541
|
-
|
|
542
|
+
functor: props.functor,
|
|
542
543
|
object: props.object,
|
|
543
544
|
input: props.input,
|
|
544
545
|
explore: props.explore,
|
|
@@ -546,7 +547,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
546
547
|
|
|
547
548
|
const decode_array = (props: {
|
|
548
549
|
config: FeatureProgrammer.IConfig;
|
|
549
|
-
|
|
550
|
+
functor: FunctionProgrammer;
|
|
550
551
|
input: ts.Expression;
|
|
551
552
|
array: MetadataArray;
|
|
552
553
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -554,7 +555,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
554
555
|
props.array.type.recursive
|
|
555
556
|
? ts.factory.createCallExpression(
|
|
556
557
|
ts.factory.createIdentifier(
|
|
557
|
-
props.
|
|
558
|
+
props.functor.useLocal(
|
|
558
559
|
`${props.config.prefix}a${props.array.type.index}`,
|
|
559
560
|
),
|
|
560
561
|
),
|
|
@@ -573,14 +574,14 @@ export namespace JsonStringifyProgrammer {
|
|
|
573
574
|
|
|
574
575
|
const decode_array_inline = (props: {
|
|
575
576
|
config: FeatureProgrammer.IConfig;
|
|
576
|
-
|
|
577
|
+
functor: FunctionProgrammer;
|
|
577
578
|
input: ts.Expression;
|
|
578
579
|
array: MetadataArray;
|
|
579
580
|
explore: FeatureProgrammer.IExplore;
|
|
580
581
|
}) =>
|
|
581
582
|
FeatureProgrammer.decode_array({
|
|
582
583
|
config: props.config,
|
|
583
|
-
|
|
584
|
+
functor: props.functor,
|
|
584
585
|
combiner: StringifyJoiner.array,
|
|
585
586
|
array: props.array,
|
|
586
587
|
input: props.input,
|
|
@@ -590,7 +591,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
590
591
|
const decode_tuple = (props: {
|
|
591
592
|
context: ITypiaContext;
|
|
592
593
|
config: FeatureProgrammer.IConfig;
|
|
593
|
-
|
|
594
|
+
functor: FunctionProgrammer;
|
|
594
595
|
input: ts.Expression;
|
|
595
596
|
tuple: MetadataTuple;
|
|
596
597
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -598,7 +599,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
598
599
|
props.tuple.type.recursive
|
|
599
600
|
? ts.factory.createCallExpression(
|
|
600
601
|
ts.factory.createIdentifier(
|
|
601
|
-
props.
|
|
602
|
+
props.functor.useLocal(
|
|
602
603
|
`${props.config.prefix}t${props.tuple.type.index}`,
|
|
603
604
|
),
|
|
604
605
|
),
|
|
@@ -620,7 +621,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
620
621
|
const decode_tuple_inline = (props: {
|
|
621
622
|
context: ITypiaContext;
|
|
622
623
|
config: FeatureProgrammer.IConfig;
|
|
623
|
-
|
|
624
|
+
functor: FunctionProgrammer;
|
|
624
625
|
input: ts.Expression;
|
|
625
626
|
tuple: MetadataTupleType;
|
|
626
627
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -660,7 +661,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
660
661
|
},
|
|
661
662
|
});
|
|
662
663
|
return ts.factory.createCallExpression(
|
|
663
|
-
props.importer.
|
|
664
|
+
props.context.importer.internal("jsonStringifyRest"),
|
|
664
665
|
undefined,
|
|
665
666
|
[code],
|
|
666
667
|
);
|
|
@@ -673,14 +674,13 @@ export namespace JsonStringifyProgrammer {
|
|
|
673
674
|
|
|
674
675
|
const decode_atomic = (props: {
|
|
675
676
|
context: ITypiaContext;
|
|
676
|
-
importer: FunctionImporter;
|
|
677
677
|
input: ts.Expression;
|
|
678
678
|
type: string;
|
|
679
679
|
explore: FeatureProgrammer.IExplore;
|
|
680
680
|
}): ts.Expression => {
|
|
681
681
|
if (props.type === "string")
|
|
682
682
|
return ts.factory.createCallExpression(
|
|
683
|
-
props.importer.
|
|
683
|
+
props.context.importer.internal("jsonStringifyString"),
|
|
684
684
|
undefined,
|
|
685
685
|
[props.input],
|
|
686
686
|
);
|
|
@@ -691,7 +691,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
691
691
|
props = {
|
|
692
692
|
...props,
|
|
693
693
|
input: ts.factory.createCallExpression(
|
|
694
|
-
props.importer.
|
|
694
|
+
props.context.importer.internal("jsonStringifyNumber"),
|
|
695
695
|
undefined,
|
|
696
696
|
[props.input],
|
|
697
697
|
),
|
|
@@ -708,7 +708,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
708
708
|
|
|
709
709
|
const decode_constant_string = (props: {
|
|
710
710
|
context: ITypiaContext;
|
|
711
|
-
|
|
711
|
+
functor: FunctionProgrammer;
|
|
712
712
|
input: ts.Expression;
|
|
713
713
|
values: string[];
|
|
714
714
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -728,7 +728,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
728
728
|
const decode_to_json = (props: {
|
|
729
729
|
context: ITypiaContext;
|
|
730
730
|
config: FeatureProgrammer.IConfig;
|
|
731
|
-
|
|
731
|
+
functor: FunctionProgrammer;
|
|
732
732
|
input: ts.Expression;
|
|
733
733
|
metadata: Metadata;
|
|
734
734
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -753,21 +753,21 @@ export namespace JsonStringifyProgrammer {
|
|
|
753
753
|
----------------------------------------------------------- */
|
|
754
754
|
const explore_objects = (props: {
|
|
755
755
|
config: FeatureProgrammer.IConfig;
|
|
756
|
-
|
|
756
|
+
functor: FunctionProgrammer;
|
|
757
757
|
input: ts.Expression;
|
|
758
758
|
metadata: Metadata;
|
|
759
759
|
explore: FeatureProgrammer.IExplore;
|
|
760
760
|
}) =>
|
|
761
761
|
props.metadata.objects.length === 1
|
|
762
762
|
? decode_object({
|
|
763
|
-
|
|
763
|
+
functor: props.functor,
|
|
764
764
|
input: props.input,
|
|
765
765
|
object: props.metadata.objects[0]!,
|
|
766
766
|
explore: props.explore,
|
|
767
767
|
})
|
|
768
768
|
: ts.factory.createCallExpression(
|
|
769
769
|
ts.factory.createIdentifier(
|
|
770
|
-
props.
|
|
770
|
+
props.functor.useLocal(`${PREFIX}u${props.metadata.union_index!}`),
|
|
771
771
|
),
|
|
772
772
|
undefined,
|
|
773
773
|
FeatureProgrammer.argumentsArray(props),
|
|
@@ -776,7 +776,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
776
776
|
const explore_arrays = (props: {
|
|
777
777
|
context: ITypiaContext;
|
|
778
778
|
config: FeatureProgrammer.IConfig;
|
|
779
|
-
|
|
779
|
+
functor: FunctionProgrammer;
|
|
780
780
|
input: ts.Expression;
|
|
781
781
|
arrays: MetadataArray[];
|
|
782
782
|
explore: FeatureProgrammer.IExplore;
|
|
@@ -790,7 +790,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
790
790
|
checker: (v) =>
|
|
791
791
|
IsProgrammer.decode({
|
|
792
792
|
context: props.context,
|
|
793
|
-
|
|
793
|
+
functor: props.functor,
|
|
794
794
|
metadata: v.definition,
|
|
795
795
|
input: v.input,
|
|
796
796
|
explore: v.explore,
|
|
@@ -798,7 +798,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
798
798
|
decoder: (v) =>
|
|
799
799
|
decode_array({
|
|
800
800
|
config: props.config,
|
|
801
|
-
|
|
801
|
+
functor: props.functor,
|
|
802
802
|
input: v.input,
|
|
803
803
|
array: v.definition,
|
|
804
804
|
explore: v.explore,
|
|
@@ -807,7 +807,8 @@ export namespace JsonStringifyProgrammer {
|
|
|
807
807
|
success: ts.factory.createTrue(),
|
|
808
808
|
failure: (v) =>
|
|
809
809
|
create_throw_error({
|
|
810
|
-
|
|
810
|
+
context: props.context,
|
|
811
|
+
functor: props.functor,
|
|
811
812
|
expected: v.expected,
|
|
812
813
|
input: v.input,
|
|
813
814
|
}),
|
|
@@ -824,7 +825,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
824
825
|
T extends MetadataArray | MetadataTuple,
|
|
825
826
|
>(props: {
|
|
826
827
|
config: FeatureProgrammer.IConfig;
|
|
827
|
-
|
|
828
|
+
functor: FunctionProgrammer;
|
|
828
829
|
factory: (next: {
|
|
829
830
|
parameters: ts.ParameterDeclaration[];
|
|
830
831
|
input: ts.Expression;
|
|
@@ -864,7 +865,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
864
865
|
};
|
|
865
866
|
return ts.factory.createCallExpression(
|
|
866
867
|
ts.factory.createIdentifier(
|
|
867
|
-
props.
|
|
868
|
+
props.functor.emplaceUnion(
|
|
868
869
|
props.config.prefix,
|
|
869
870
|
props.elements.map((e) => e.type.name).join(" | "),
|
|
870
871
|
() =>
|
|
@@ -951,7 +952,8 @@ export namespace JsonStringifyProgrammer {
|
|
|
951
952
|
};
|
|
952
953
|
|
|
953
954
|
const iterate = (props: {
|
|
954
|
-
|
|
955
|
+
context: ITypiaContext;
|
|
956
|
+
functor: FunctionProgrammer;
|
|
955
957
|
input: ts.Expression;
|
|
956
958
|
unions: IUnion[];
|
|
957
959
|
expected: string;
|
|
@@ -976,7 +978,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
976
978
|
|
|
977
979
|
const configure = (props: {
|
|
978
980
|
context: ITypiaContext;
|
|
979
|
-
|
|
981
|
+
functor: FunctionProgrammer;
|
|
980
982
|
}): FeatureProgrammer.IConfig => {
|
|
981
983
|
const config: FeatureProgrammer.IConfig<ts.Expression> = {
|
|
982
984
|
types: {
|
|
@@ -994,7 +996,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
994
996
|
decoder: (next) =>
|
|
995
997
|
decode({
|
|
996
998
|
context: props.context,
|
|
997
|
-
|
|
999
|
+
functor: props.functor,
|
|
998
1000
|
config,
|
|
999
1001
|
metadata: next.metadata,
|
|
1000
1002
|
input: next.input,
|
|
@@ -1004,14 +1006,14 @@ export namespace JsonStringifyProgrammer {
|
|
|
1004
1006
|
checker: (next) =>
|
|
1005
1007
|
IsProgrammer.decode({
|
|
1006
1008
|
context: props.context,
|
|
1007
|
-
|
|
1009
|
+
functor: props.functor,
|
|
1008
1010
|
metadata: next.metadata,
|
|
1009
1011
|
input: next.input,
|
|
1010
1012
|
explore: next.explore,
|
|
1011
1013
|
}),
|
|
1012
1014
|
decoder: (next) =>
|
|
1013
1015
|
decode_object({
|
|
1014
|
-
|
|
1016
|
+
functor: props.functor,
|
|
1015
1017
|
input: next.input,
|
|
1016
1018
|
object: next.object,
|
|
1017
1019
|
explore: next.explore,
|
|
@@ -1019,21 +1021,21 @@ export namespace JsonStringifyProgrammer {
|
|
|
1019
1021
|
joiner: (next) =>
|
|
1020
1022
|
StringifyJoiner.object({
|
|
1021
1023
|
...next,
|
|
1022
|
-
|
|
1024
|
+
context: props.context,
|
|
1023
1025
|
}),
|
|
1024
1026
|
unionizer: (next) =>
|
|
1025
1027
|
decode_union_object({
|
|
1026
1028
|
checker: (v) =>
|
|
1027
1029
|
IsProgrammer.decode_object({
|
|
1028
1030
|
context: props.context,
|
|
1029
|
-
|
|
1031
|
+
functor: props.functor,
|
|
1030
1032
|
input: v.input,
|
|
1031
1033
|
object: v.object,
|
|
1032
1034
|
explore: v.explore,
|
|
1033
1035
|
}),
|
|
1034
1036
|
decoder: (v) =>
|
|
1035
1037
|
decode_object({
|
|
1036
|
-
|
|
1038
|
+
functor: props.functor,
|
|
1037
1039
|
input: v.input,
|
|
1038
1040
|
object: v.object,
|
|
1039
1041
|
explore: v.explore,
|
|
@@ -1041,7 +1043,8 @@ export namespace JsonStringifyProgrammer {
|
|
|
1041
1043
|
success: (exp) => exp,
|
|
1042
1044
|
escaper: (v) =>
|
|
1043
1045
|
create_throw_error({
|
|
1044
|
-
|
|
1046
|
+
context: props.context,
|
|
1047
|
+
functor: props.functor,
|
|
1045
1048
|
expected: v.expected,
|
|
1046
1049
|
input: v.input,
|
|
1047
1050
|
}),
|
|
@@ -1051,7 +1054,8 @@ export namespace JsonStringifyProgrammer {
|
|
|
1051
1054
|
}),
|
|
1052
1055
|
failure: (next) =>
|
|
1053
1056
|
create_throw_error({
|
|
1054
|
-
|
|
1057
|
+
context: props.context,
|
|
1058
|
+
functor: props.functor,
|
|
1055
1059
|
expected: next.expected,
|
|
1056
1060
|
input: next.input,
|
|
1057
1061
|
}),
|
|
@@ -1060,14 +1064,14 @@ export namespace JsonStringifyProgrammer {
|
|
|
1060
1064
|
arrays: (collection) =>
|
|
1061
1065
|
write_array_functions({
|
|
1062
1066
|
config,
|
|
1063
|
-
|
|
1067
|
+
functor: props.functor,
|
|
1064
1068
|
collection,
|
|
1065
1069
|
}),
|
|
1066
1070
|
tuples: (collection) =>
|
|
1067
1071
|
write_tuple_functions({
|
|
1068
1072
|
config,
|
|
1069
1073
|
context: props.context,
|
|
1070
|
-
|
|
1074
|
+
functor: props.functor,
|
|
1071
1075
|
collection,
|
|
1072
1076
|
}),
|
|
1073
1077
|
},
|
|
@@ -1077,24 +1081,29 @@ export namespace JsonStringifyProgrammer {
|
|
|
1077
1081
|
|
|
1078
1082
|
const initializer: FeatureProgrammer.IConfig["initializer"] = (props) =>
|
|
1079
1083
|
JsonMetadataFactory.analyze({
|
|
1080
|
-
method:
|
|
1084
|
+
method: props.functor.method,
|
|
1081
1085
|
checker: props.context.checker,
|
|
1082
1086
|
transformer: props.context.transformer,
|
|
1083
1087
|
type: props.type,
|
|
1084
1088
|
});
|
|
1085
1089
|
|
|
1086
1090
|
const create_throw_error = (props: {
|
|
1087
|
-
|
|
1091
|
+
context: ITypiaContext;
|
|
1092
|
+
functor: FunctionProgrammer;
|
|
1088
1093
|
expected: string;
|
|
1089
1094
|
input: ts.Expression;
|
|
1090
1095
|
}) =>
|
|
1091
1096
|
ts.factory.createExpressionStatement(
|
|
1092
1097
|
ts.factory.createCallExpression(
|
|
1093
|
-
props.importer.
|
|
1098
|
+
props.context.importer.internal("throwTypeGuardError"),
|
|
1094
1099
|
[],
|
|
1095
1100
|
[
|
|
1096
1101
|
ts.factory.createObjectLiteralExpression(
|
|
1097
1102
|
[
|
|
1103
|
+
ts.factory.createPropertyAssignment(
|
|
1104
|
+
"method",
|
|
1105
|
+
ts.factory.createStringLiteral(props.functor.method),
|
|
1106
|
+
),
|
|
1098
1107
|
ts.factory.createPropertyAssignment(
|
|
1099
1108
|
"expected",
|
|
1100
1109
|
ts.factory.createStringLiteral(props.expected),
|
|
@@ -9,13 +9,13 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
|
|
|
9
9
|
|
|
10
10
|
import { FeatureProgrammer } from "../FeatureProgrammer";
|
|
11
11
|
import { ValidateProgrammer } from "../ValidateProgrammer";
|
|
12
|
-
import {
|
|
12
|
+
import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
|
|
13
13
|
|
|
14
14
|
export namespace JsonValidateParseProgrammer {
|
|
15
15
|
export const decompose = (props: {
|
|
16
16
|
context: ITypiaContext;
|
|
17
17
|
modulo: ts.LeftHandSideExpression;
|
|
18
|
-
|
|
18
|
+
functor: FunctionProgrammer;
|
|
19
19
|
type: ts.Type;
|
|
20
20
|
name: string | undefined;
|
|
21
21
|
}): FeatureProgrammer.IDecomposed => {
|
|
@@ -76,19 +76,19 @@ export namespace JsonValidateParseProgrammer {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
export const write = (props: IProgrammerProps): ts.CallExpression => {
|
|
79
|
-
const
|
|
79
|
+
const functor: FunctionProgrammer = new FunctionProgrammer(
|
|
80
80
|
props.modulo.getText(),
|
|
81
81
|
);
|
|
82
82
|
const result: FeatureProgrammer.IDecomposed = decompose({
|
|
83
83
|
context: props.context,
|
|
84
84
|
modulo: props.modulo,
|
|
85
|
-
|
|
85
|
+
functor,
|
|
86
86
|
type: props.type,
|
|
87
87
|
name: props.name,
|
|
88
88
|
});
|
|
89
89
|
return FeatureProgrammer.writeDecomposed({
|
|
90
90
|
modulo: props.modulo,
|
|
91
|
-
|
|
91
|
+
functor,
|
|
92
92
|
result,
|
|
93
93
|
});
|
|
94
94
|
};
|
|
@@ -9,14 +9,14 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
|
|
|
9
9
|
|
|
10
10
|
import { FeatureProgrammer } from "../FeatureProgrammer";
|
|
11
11
|
import { ValidateProgrammer } from "../ValidateProgrammer";
|
|
12
|
-
import {
|
|
12
|
+
import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
|
|
13
13
|
import { JsonStringifyProgrammer } from "./JsonStringifyProgrammer";
|
|
14
14
|
|
|
15
15
|
export namespace JsonValidateStringifyProgrammer {
|
|
16
16
|
export const decompose = (props: {
|
|
17
17
|
context: ITypiaContext;
|
|
18
18
|
modulo: ts.LeftHandSideExpression;
|
|
19
|
-
|
|
19
|
+
functor: FunctionProgrammer;
|
|
20
20
|
type: ts.Type;
|
|
21
21
|
name: string | undefined;
|
|
22
22
|
}): FeatureProgrammer.IDecomposed => {
|
|
@@ -100,19 +100,19 @@ export namespace JsonValidateStringifyProgrammer {
|
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
export const write = (props: IProgrammerProps): ts.CallExpression => {
|
|
103
|
-
const
|
|
103
|
+
const functor: FunctionProgrammer = new FunctionProgrammer(
|
|
104
104
|
props.modulo.getText(),
|
|
105
105
|
);
|
|
106
106
|
const result: FeatureProgrammer.IDecomposed = decompose({
|
|
107
107
|
context: props.context,
|
|
108
108
|
modulo: props.modulo,
|
|
109
|
-
|
|
109
|
+
functor,
|
|
110
110
|
type: props.type,
|
|
111
111
|
name: props.name,
|
|
112
112
|
});
|
|
113
113
|
return FeatureProgrammer.writeDecomposed({
|
|
114
114
|
modulo: props.modulo,
|
|
115
|
-
|
|
115
|
+
functor,
|
|
116
116
|
result,
|
|
117
117
|
});
|
|
118
118
|
};
|
|
@@ -12,23 +12,23 @@ import { LlmSchemaProgrammer } from "./LlmSchemaProgrammer";
|
|
|
12
12
|
|
|
13
13
|
export namespace LlmApplicationProgrammer {
|
|
14
14
|
export const validate = (
|
|
15
|
-
|
|
15
|
+
metadata: Metadata,
|
|
16
16
|
explore: MetadataFactory.IExplore,
|
|
17
17
|
): string[] => {
|
|
18
|
-
if (explore.top === false) return LlmSchemaProgrammer.validate(
|
|
18
|
+
if (explore.top === false) return LlmSchemaProgrammer.validate(metadata);
|
|
19
19
|
|
|
20
20
|
const output: string[] = [];
|
|
21
21
|
const valid: boolean =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
metadata.size() === 1 &&
|
|
23
|
+
metadata.objects.length === 1 &&
|
|
24
|
+
metadata.isRequired() === true &&
|
|
25
|
+
metadata.nullable === false;
|
|
26
26
|
if (valid === false)
|
|
27
27
|
output.push(
|
|
28
28
|
"LLM application's generic arugment must be a class/interface type.",
|
|
29
29
|
);
|
|
30
30
|
|
|
31
|
-
const object: MetadataObject | undefined =
|
|
31
|
+
const object: MetadataObject | undefined = metadata.objects[0];
|
|
32
32
|
if (object !== undefined) {
|
|
33
33
|
if (object.properties.some((p) => p.key.isSoleLiteral() === false))
|
|
34
34
|
output.push("LLM application does not allow dynamic keys.");
|
|
@@ -124,7 +124,7 @@ export namespace LlmApplicationProgrammer {
|
|
|
124
124
|
const jsDocTagDescription: string | null = writeDescriptionFromJsDocTag(
|
|
125
125
|
{
|
|
126
126
|
jsDocTags: p.jsDocTags,
|
|
127
|
-
|
|
127
|
+
name: "param",
|
|
128
128
|
parameter: p.name,
|
|
129
129
|
},
|
|
130
130
|
);
|
|
@@ -141,11 +141,11 @@ export namespace LlmApplicationProgrammer {
|
|
|
141
141
|
description:
|
|
142
142
|
writeDescriptionFromJsDocTag({
|
|
143
143
|
jsDocTags: props.jsDocTags,
|
|
144
|
-
|
|
144
|
+
name: "return",
|
|
145
145
|
}) ??
|
|
146
146
|
writeDescriptionFromJsDocTag({
|
|
147
147
|
jsDocTags: props.jsDocTags,
|
|
148
|
-
|
|
148
|
+
name: "returns",
|
|
149
149
|
}),
|
|
150
150
|
jsDocTags: [],
|
|
151
151
|
})
|
|
@@ -201,7 +201,7 @@ export namespace LlmApplicationProgrammer {
|
|
|
201
201
|
|
|
202
202
|
const writeDescriptionFromJsDocTag = (props: {
|
|
203
203
|
jsDocTags: IJsDocTagInfo[];
|
|
204
|
-
|
|
204
|
+
name: string;
|
|
205
205
|
parameter?: string;
|
|
206
206
|
}): string | null => {
|
|
207
207
|
const parametric: (elem: IJsDocTagInfo) => boolean = props.parameter
|
|
@@ -212,7 +212,7 @@ export namespace LlmApplicationProgrammer {
|
|
|
212
212
|
) !== undefined
|
|
213
213
|
: () => true;
|
|
214
214
|
const tag: IJsDocTagInfo | undefined = props.jsDocTags.find(
|
|
215
|
-
(tag) => tag.name === props.
|
|
215
|
+
(tag) => tag.name === props.name && tag.text && parametric(tag),
|
|
216
216
|
);
|
|
217
217
|
return tag && tag.text
|
|
218
218
|
? (tag.text.find((elem) => elem.kind === "text")?.text ?? null)
|
|
@@ -6,23 +6,25 @@ import { AtomicPredicator } from "../helpers/AtomicPredicator";
|
|
|
6
6
|
import { llm_schema_station } from "../internal/llm_schema_station";
|
|
7
7
|
|
|
8
8
|
export namespace LlmSchemaProgrammer {
|
|
9
|
-
export const validate = (
|
|
9
|
+
export const validate = (metadata: Metadata): string[] => {
|
|
10
10
|
const output: string[] = [];
|
|
11
11
|
if (
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
metadata.atomics.some((a) => a.type === "bigint") ||
|
|
13
|
+
metadata.constants.some((c) => c.type === "bigint")
|
|
14
14
|
)
|
|
15
15
|
output.push("LLM schema does not support bigint type.");
|
|
16
16
|
if (
|
|
17
|
-
|
|
17
|
+
metadata.tuples.some((t) =>
|
|
18
18
|
t.type.elements.some((e) => e.isRequired() === false),
|
|
19
19
|
) ||
|
|
20
|
-
|
|
20
|
+
metadata.arrays.some((a) => a.type.value.isRequired() === false)
|
|
21
21
|
)
|
|
22
22
|
output.push("LLM schema does not support undefined type in array.");
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
if (metadata.maps.length)
|
|
24
|
+
output.push("LLM schema does not support Map type.");
|
|
25
|
+
if (metadata.sets.length)
|
|
26
|
+
output.push("LLM schema does not support Set type.");
|
|
27
|
+
for (const native of metadata.natives)
|
|
26
28
|
if (
|
|
27
29
|
AtomicPredicator.native(native) === false &&
|
|
28
30
|
native !== "Date" &&
|
|
@@ -31,10 +33,10 @@ export namespace LlmSchemaProgrammer {
|
|
|
31
33
|
)
|
|
32
34
|
output.push(`LLM schema does not support ${native} type.`);
|
|
33
35
|
if (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
metadata.aliases.some((a) => a.recursive) ||
|
|
37
|
+
metadata.arrays.some((a) => a.type.recursive) ||
|
|
38
|
+
metadata.objects.some((o) => o.recursive) ||
|
|
39
|
+
metadata.tuples.some((t) => t.type.recursive)
|
|
38
40
|
)
|
|
39
41
|
output.push("LLM schema does not support recursive type.");
|
|
40
42
|
return output;
|
|
@@ -9,13 +9,13 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
|
|
|
9
9
|
|
|
10
10
|
import { AssertProgrammer } from "../AssertProgrammer";
|
|
11
11
|
import { FeatureProgrammer } from "../FeatureProgrammer";
|
|
12
|
-
import {
|
|
12
|
+
import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
|
|
13
13
|
import { MiscCloneProgrammer } from "./MiscCloneProgrammer";
|
|
14
14
|
|
|
15
15
|
export namespace MiscAssertCloneProgrammer {
|
|
16
16
|
export const decompose = (props: {
|
|
17
17
|
context: ITypiaContext;
|
|
18
|
-
|
|
18
|
+
functor: FunctionProgrammer;
|
|
19
19
|
type: ts.Type;
|
|
20
20
|
name: string | undefined;
|
|
21
21
|
init?: ts.Expression | undefined;
|
|
@@ -76,16 +76,16 @@ export namespace MiscAssertCloneProgrammer {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
export const write = (props: IProgrammerProps): ts.CallExpression => {
|
|
79
|
-
const
|
|
79
|
+
const functor: FunctionProgrammer = new FunctionProgrammer(
|
|
80
80
|
props.modulo.getText(),
|
|
81
81
|
);
|
|
82
82
|
const result: FeatureProgrammer.IDecomposed = decompose({
|
|
83
83
|
...props,
|
|
84
|
-
|
|
84
|
+
functor,
|
|
85
85
|
});
|
|
86
86
|
return FeatureProgrammer.writeDecomposed({
|
|
87
87
|
modulo: props.modulo,
|
|
88
|
-
|
|
88
|
+
functor,
|
|
89
89
|
result,
|
|
90
90
|
});
|
|
91
91
|
};
|