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
package/src/CamelCase.ts
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
import { Equal } from "./typings/Equal";
|
|
2
|
-
import { IsTuple } from "./typings/IsTuple";
|
|
3
|
-
import { NativeClass } from "./typings/NativeClass";
|
|
4
|
-
import { ValueOf } from "./typings/ValueOf";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Camel case type.
|
|
8
|
-
*
|
|
9
|
-
* `CamelCase` type is a type that all keys of an object are camelized.
|
|
10
|
-
*
|
|
11
|
-
* It also erase every method properties like {@link Resolved} type.
|
|
12
|
-
*
|
|
13
|
-
* @template T Target type to be camelized
|
|
14
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
15
|
-
*/
|
|
16
|
-
export type CamelCase<T> =
|
|
17
|
-
Equal<T, CamelizeMain<T>> extends true ? T : CamelizeMain<T>;
|
|
18
|
-
|
|
19
|
-
type CamelizeMain<T> = T extends [never]
|
|
20
|
-
? never // special trick for (jsonable | null) type
|
|
21
|
-
: T extends { valueOf(): boolean | bigint | number | string }
|
|
22
|
-
? ValueOf<T>
|
|
23
|
-
: T extends Function
|
|
24
|
-
? never
|
|
25
|
-
: T extends object
|
|
26
|
-
? CamelizeObject<T>
|
|
27
|
-
: T;
|
|
28
|
-
|
|
29
|
-
type CamelizeObject<T extends object> =
|
|
30
|
-
T extends Array<infer U>
|
|
31
|
-
? IsTuple<T> extends true
|
|
32
|
-
? CamelizeTuple<T>
|
|
33
|
-
: CamelizeMain<U>[]
|
|
34
|
-
: T extends Set<infer U>
|
|
35
|
-
? Set<CamelizeMain<U>>
|
|
36
|
-
: T extends Map<infer K, infer V>
|
|
37
|
-
? Map<CamelizeMain<K>, CamelizeMain<V>>
|
|
38
|
-
: T extends WeakSet<any> | WeakMap<any, any>
|
|
39
|
-
? never
|
|
40
|
-
: T extends NativeClass
|
|
41
|
-
? T
|
|
42
|
-
: {
|
|
43
|
-
[Key in keyof T as CamelizeString<Key & string>]: CamelizeMain<
|
|
44
|
-
T[Key]
|
|
45
|
-
>;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
type CamelizeTuple<T extends readonly any[]> = T extends []
|
|
49
|
-
? []
|
|
50
|
-
: T extends [infer F]
|
|
51
|
-
? [CamelizeMain<F>]
|
|
52
|
-
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
53
|
-
? [CamelizeMain<F>, ...CamelizeTuple<Rest>]
|
|
54
|
-
: T extends [(infer F)?]
|
|
55
|
-
? [CamelizeMain<F>?]
|
|
56
|
-
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
57
|
-
? [CamelizeMain<F>?, ...CamelizeTuple<Rest>]
|
|
58
|
-
: [];
|
|
59
|
-
|
|
60
|
-
type CamelizeString<Key extends string> = Key extends `_${infer R}`
|
|
61
|
-
? `_${CamelizeString<R>}`
|
|
62
|
-
: Key extends `${infer _F}_${infer _R}`
|
|
63
|
-
? CamelizeSnakeString<Key>
|
|
64
|
-
: Key extends Uppercase<Key>
|
|
65
|
-
? Lowercase<Key>
|
|
66
|
-
: CamelizePascalString<Key>;
|
|
67
|
-
type CamelizePascalString<Key extends string> =
|
|
68
|
-
Key extends `${infer F}${infer R}` ? `${Lowercase<F>}${R}` : Key;
|
|
69
|
-
type CamelizeSnakeString<Key extends string> = Key extends `_${infer R}`
|
|
70
|
-
? CamelizeSnakeString<R>
|
|
71
|
-
: Key extends `${infer F}_${infer M}${infer R}`
|
|
72
|
-
? M extends "_"
|
|
73
|
-
? CamelizeSnakeString<`${F}_${R}`>
|
|
74
|
-
: `${Lowercase<F>}${Uppercase<M>}${CamelizeSnakeString<R>}`
|
|
75
|
-
: Lowercase<Key>;
|
|
1
|
+
import { Equal } from "./typings/Equal";
|
|
2
|
+
import { IsTuple } from "./typings/IsTuple";
|
|
3
|
+
import { NativeClass } from "./typings/NativeClass";
|
|
4
|
+
import { ValueOf } from "./typings/ValueOf";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Camel case type.
|
|
8
|
+
*
|
|
9
|
+
* `CamelCase` type is a type that all keys of an object are camelized.
|
|
10
|
+
*
|
|
11
|
+
* It also erase every method properties like {@link Resolved} type.
|
|
12
|
+
*
|
|
13
|
+
* @template T Target type to be camelized
|
|
14
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
15
|
+
*/
|
|
16
|
+
export type CamelCase<T> =
|
|
17
|
+
Equal<T, CamelizeMain<T>> extends true ? T : CamelizeMain<T>;
|
|
18
|
+
|
|
19
|
+
type CamelizeMain<T> = T extends [never]
|
|
20
|
+
? never // special trick for (jsonable | null) type
|
|
21
|
+
: T extends { valueOf(): boolean | bigint | number | string }
|
|
22
|
+
? ValueOf<T>
|
|
23
|
+
: T extends Function
|
|
24
|
+
? never
|
|
25
|
+
: T extends object
|
|
26
|
+
? CamelizeObject<T>
|
|
27
|
+
: T;
|
|
28
|
+
|
|
29
|
+
type CamelizeObject<T extends object> =
|
|
30
|
+
T extends Array<infer U>
|
|
31
|
+
? IsTuple<T> extends true
|
|
32
|
+
? CamelizeTuple<T>
|
|
33
|
+
: CamelizeMain<U>[]
|
|
34
|
+
: T extends Set<infer U>
|
|
35
|
+
? Set<CamelizeMain<U>>
|
|
36
|
+
: T extends Map<infer K, infer V>
|
|
37
|
+
? Map<CamelizeMain<K>, CamelizeMain<V>>
|
|
38
|
+
: T extends WeakSet<any> | WeakMap<any, any>
|
|
39
|
+
? never
|
|
40
|
+
: T extends NativeClass
|
|
41
|
+
? T
|
|
42
|
+
: {
|
|
43
|
+
[Key in keyof T as CamelizeString<Key & string>]: CamelizeMain<
|
|
44
|
+
T[Key]
|
|
45
|
+
>;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
type CamelizeTuple<T extends readonly any[]> = T extends []
|
|
49
|
+
? []
|
|
50
|
+
: T extends [infer F]
|
|
51
|
+
? [CamelizeMain<F>]
|
|
52
|
+
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
53
|
+
? [CamelizeMain<F>, ...CamelizeTuple<Rest>]
|
|
54
|
+
: T extends [(infer F)?]
|
|
55
|
+
? [CamelizeMain<F>?]
|
|
56
|
+
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
57
|
+
? [CamelizeMain<F>?, ...CamelizeTuple<Rest>]
|
|
58
|
+
: [];
|
|
59
|
+
|
|
60
|
+
type CamelizeString<Key extends string> = Key extends `_${infer R}`
|
|
61
|
+
? `_${CamelizeString<R>}`
|
|
62
|
+
: Key extends `${infer _F}_${infer _R}`
|
|
63
|
+
? CamelizeSnakeString<Key>
|
|
64
|
+
: Key extends Uppercase<Key>
|
|
65
|
+
? Lowercase<Key>
|
|
66
|
+
: CamelizePascalString<Key>;
|
|
67
|
+
type CamelizePascalString<Key extends string> =
|
|
68
|
+
Key extends `${infer F}${infer R}` ? `${Lowercase<F>}${R}` : Key;
|
|
69
|
+
type CamelizeSnakeString<Key extends string> = Key extends `_${infer R}`
|
|
70
|
+
? CamelizeSnakeString<R>
|
|
71
|
+
: Key extends `${infer F}_${infer M}${infer R}`
|
|
72
|
+
? M extends "_"
|
|
73
|
+
? CamelizeSnakeString<`${F}_${R}`>
|
|
74
|
+
: `${Lowercase<F>}${Uppercase<M>}${CamelizeSnakeString<R>}`
|
|
75
|
+
: Lowercase<Key>;
|
package/src/IRandomGenerator.ts
CHANGED
package/src/PascalCase.ts
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import { Equal } from "./typings/Equal";
|
|
2
|
-
import { IsTuple } from "./typings/IsTuple";
|
|
3
|
-
import { NativeClass } from "./typings/NativeClass";
|
|
4
|
-
import { ValueOf } from "./typings/ValueOf";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Pascal case type.
|
|
8
|
-
*
|
|
9
|
-
* `PascalCase` type is a type that all keys of an object are pascalized.
|
|
10
|
-
*
|
|
11
|
-
* It also erase every method properties like {@link Resolved} type.
|
|
12
|
-
*
|
|
13
|
-
* @template T Target type to be pascalized
|
|
14
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
15
|
-
*/
|
|
16
|
-
export type PascalCase<T> =
|
|
17
|
-
Equal<T, PascalizeMain<T>> extends true ? T : PascalizeMain<T>;
|
|
18
|
-
|
|
19
|
-
type PascalizeMain<T> = T extends [never]
|
|
20
|
-
? never // special trick for (jsonable | null) type
|
|
21
|
-
: T extends { valueOf(): boolean | bigint | number | string }
|
|
22
|
-
? ValueOf<T>
|
|
23
|
-
: T extends Function
|
|
24
|
-
? never
|
|
25
|
-
: T extends object
|
|
26
|
-
? PascalizeObject<T>
|
|
27
|
-
: T;
|
|
28
|
-
|
|
29
|
-
type PascalizeObject<T extends object> =
|
|
30
|
-
T extends Array<infer U>
|
|
31
|
-
? IsTuple<T> extends true
|
|
32
|
-
? PascalizeTuple<T>
|
|
33
|
-
: PascalizeMain<U>[]
|
|
34
|
-
: T extends Set<infer U>
|
|
35
|
-
? Set<PascalizeMain<U>>
|
|
36
|
-
: T extends Map<infer K, infer V>
|
|
37
|
-
? Map<PascalizeMain<K>, PascalizeMain<V>>
|
|
38
|
-
: T extends WeakSet<any> | WeakMap<any, any>
|
|
39
|
-
? never
|
|
40
|
-
: T extends NativeClass
|
|
41
|
-
? T
|
|
42
|
-
: {
|
|
43
|
-
[Key in keyof T as PascalizeString<
|
|
44
|
-
Key & string
|
|
45
|
-
>]: PascalizeMain<T[Key]>;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
type PascalizeTuple<T extends readonly any[]> = T extends []
|
|
49
|
-
? []
|
|
50
|
-
: T extends [infer F]
|
|
51
|
-
? [PascalizeMain<F>]
|
|
52
|
-
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
53
|
-
? [PascalizeMain<F>, ...PascalizeTuple<Rest>]
|
|
54
|
-
: T extends [(infer F)?]
|
|
55
|
-
? [PascalizeMain<F>?]
|
|
56
|
-
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
57
|
-
? [PascalizeMain<F>?, ...PascalizeTuple<Rest>]
|
|
58
|
-
: [];
|
|
59
|
-
|
|
60
|
-
type PascalizeString<Key extends string> = Key extends `_${infer R}`
|
|
61
|
-
? `_${PascalizeString<R>}`
|
|
62
|
-
: Key extends `${infer _F}_${infer _R}`
|
|
63
|
-
? PascalizeSnakeString<Key>
|
|
64
|
-
: Capitalize<Key>;
|
|
65
|
-
type PascalizeSnakeString<Key extends string> = Key extends `_${infer R}`
|
|
66
|
-
? PascalizeSnakeString<R>
|
|
67
|
-
: Key extends `${infer F}${infer M}_${infer R}`
|
|
68
|
-
? `${Uppercase<F>}${Lowercase<M>}${PascalizeSnakeString<R>}`
|
|
69
|
-
: Key extends `${infer F}${infer R}`
|
|
70
|
-
? `${Uppercase<F>}${Lowercase<R>}`
|
|
71
|
-
: Key;
|
|
1
|
+
import { Equal } from "./typings/Equal";
|
|
2
|
+
import { IsTuple } from "./typings/IsTuple";
|
|
3
|
+
import { NativeClass } from "./typings/NativeClass";
|
|
4
|
+
import { ValueOf } from "./typings/ValueOf";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Pascal case type.
|
|
8
|
+
*
|
|
9
|
+
* `PascalCase` type is a type that all keys of an object are pascalized.
|
|
10
|
+
*
|
|
11
|
+
* It also erase every method properties like {@link Resolved} type.
|
|
12
|
+
*
|
|
13
|
+
* @template T Target type to be pascalized
|
|
14
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
15
|
+
*/
|
|
16
|
+
export type PascalCase<T> =
|
|
17
|
+
Equal<T, PascalizeMain<T>> extends true ? T : PascalizeMain<T>;
|
|
18
|
+
|
|
19
|
+
type PascalizeMain<T> = T extends [never]
|
|
20
|
+
? never // special trick for (jsonable | null) type
|
|
21
|
+
: T extends { valueOf(): boolean | bigint | number | string }
|
|
22
|
+
? ValueOf<T>
|
|
23
|
+
: T extends Function
|
|
24
|
+
? never
|
|
25
|
+
: T extends object
|
|
26
|
+
? PascalizeObject<T>
|
|
27
|
+
: T;
|
|
28
|
+
|
|
29
|
+
type PascalizeObject<T extends object> =
|
|
30
|
+
T extends Array<infer U>
|
|
31
|
+
? IsTuple<T> extends true
|
|
32
|
+
? PascalizeTuple<T>
|
|
33
|
+
: PascalizeMain<U>[]
|
|
34
|
+
: T extends Set<infer U>
|
|
35
|
+
? Set<PascalizeMain<U>>
|
|
36
|
+
: T extends Map<infer K, infer V>
|
|
37
|
+
? Map<PascalizeMain<K>, PascalizeMain<V>>
|
|
38
|
+
: T extends WeakSet<any> | WeakMap<any, any>
|
|
39
|
+
? never
|
|
40
|
+
: T extends NativeClass
|
|
41
|
+
? T
|
|
42
|
+
: {
|
|
43
|
+
[Key in keyof T as PascalizeString<
|
|
44
|
+
Key & string
|
|
45
|
+
>]: PascalizeMain<T[Key]>;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
type PascalizeTuple<T extends readonly any[]> = T extends []
|
|
49
|
+
? []
|
|
50
|
+
: T extends [infer F]
|
|
51
|
+
? [PascalizeMain<F>]
|
|
52
|
+
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
53
|
+
? [PascalizeMain<F>, ...PascalizeTuple<Rest>]
|
|
54
|
+
: T extends [(infer F)?]
|
|
55
|
+
? [PascalizeMain<F>?]
|
|
56
|
+
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
57
|
+
? [PascalizeMain<F>?, ...PascalizeTuple<Rest>]
|
|
58
|
+
: [];
|
|
59
|
+
|
|
60
|
+
type PascalizeString<Key extends string> = Key extends `_${infer R}`
|
|
61
|
+
? `_${PascalizeString<R>}`
|
|
62
|
+
: Key extends `${infer _F}_${infer _R}`
|
|
63
|
+
? PascalizeSnakeString<Key>
|
|
64
|
+
: Capitalize<Key>;
|
|
65
|
+
type PascalizeSnakeString<Key extends string> = Key extends `_${infer R}`
|
|
66
|
+
? PascalizeSnakeString<R>
|
|
67
|
+
: Key extends `${infer F}${infer M}_${infer R}`
|
|
68
|
+
? `${Uppercase<F>}${Lowercase<M>}${PascalizeSnakeString<R>}`
|
|
69
|
+
: Key extends `${infer F}${infer R}`
|
|
70
|
+
? `${Uppercase<F>}${Lowercase<R>}`
|
|
71
|
+
: Key;
|
package/src/Primitive.ts
CHANGED
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { Equal } from "./typings/Equal";
|
|
2
|
-
import { IsTuple } from "./typings/IsTuple";
|
|
3
|
-
import { NativeClass } from "./typings/NativeClass";
|
|
4
|
-
import { ValueOf } from "./typings/ValueOf";
|
|
5
|
-
|
|
6
|
-
import { Format } from "./tags";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Primitive type of JSON.
|
|
10
|
-
*
|
|
11
|
-
* `Primitive<T>` is a TMP (Type Meta Programming) type which converts
|
|
12
|
-
* its argument as a primitive type within framework JSON.
|
|
13
|
-
*
|
|
14
|
-
* If the target argument is a built-in class which returns its origin primitive type
|
|
15
|
-
* through the `valueOf()` method like the `String` or `Number`, its return type would
|
|
16
|
-
* be the `string` or `number`. Otherwise, the built-in class does not have the
|
|
17
|
-
* `valueOf()` method, the return type would be an empty object (`{}`).
|
|
18
|
-
*
|
|
19
|
-
* Otherwise, the target argument is a type of custom class, all of its custom method
|
|
20
|
-
* would be erased and its prototype would be changed to the primitive `object`.
|
|
21
|
-
* Therefore, return type of the TMP type finally be the primitive object.
|
|
22
|
-
*
|
|
23
|
-
* In addition, if the target argument is a type of custom class and it has a special
|
|
24
|
-
* method `toJSON()`, return type of this `Primitive` would be not `Primitive<Instance>`
|
|
25
|
-
* but `Primitive<ReturnType<Instance.toJSON>>`.
|
|
26
|
-
*
|
|
27
|
-
* Before | After
|
|
28
|
-
* ------------------------|----------------------------------------
|
|
29
|
-
* `Boolean` | `boolean`
|
|
30
|
-
* `Number` | `number`
|
|
31
|
-
* `String` | `string`
|
|
32
|
-
* `Class` | `object`
|
|
33
|
-
* `Class` with `toJSON()` | `Primitive<ReturnType<Class.toJSON>>`
|
|
34
|
-
* Native Class | never
|
|
35
|
-
* Others | No change
|
|
36
|
-
*
|
|
37
|
-
* @template T Target argument type.
|
|
38
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
39
|
-
* @author Kyungsu Kang - https://github.com/kakasoo
|
|
40
|
-
* @author Michael - https://github.com/8471919
|
|
41
|
-
*/
|
|
42
|
-
export type Primitive<T> =
|
|
43
|
-
Equal<T, PrimitiveMain<T>> extends true ? T : PrimitiveMain<T>;
|
|
44
|
-
|
|
45
|
-
type PrimitiveMain<Instance> = Instance extends [never]
|
|
46
|
-
? never // (special trick for jsonable | null) type
|
|
47
|
-
: ValueOf<Instance> extends bigint
|
|
48
|
-
? never
|
|
49
|
-
: ValueOf<Instance> extends boolean | number | string
|
|
50
|
-
? ValueOf<Instance>
|
|
51
|
-
: Instance extends Function
|
|
52
|
-
? never
|
|
53
|
-
: ValueOf<Instance> extends object
|
|
54
|
-
? Instance extends object
|
|
55
|
-
? Instance extends Date
|
|
56
|
-
? string & Format<"date-time">
|
|
57
|
-
: Instance extends IJsonable<infer Raw>
|
|
58
|
-
? ValueOf<Raw> extends object
|
|
59
|
-
? Raw extends object
|
|
60
|
-
? PrimitiveObject<Raw> // object would be primitified
|
|
61
|
-
: never // cannot be
|
|
62
|
-
: ValueOf<Raw> // atomic value
|
|
63
|
-
: Instance extends Exclude<NativeClass, Date>
|
|
64
|
-
? never
|
|
65
|
-
: PrimitiveObject<Instance> // object would be primitified
|
|
66
|
-
: never // cannot be
|
|
67
|
-
: ValueOf<Instance>;
|
|
68
|
-
|
|
69
|
-
type PrimitiveObject<Instance extends object> =
|
|
70
|
-
Instance extends Array<infer T>
|
|
71
|
-
? IsTuple<Instance> extends true
|
|
72
|
-
? PrimitiveTuple<Instance>
|
|
73
|
-
: PrimitiveMain<T>[]
|
|
74
|
-
: {
|
|
75
|
-
[P in keyof Instance]: PrimitiveMain<Instance[P]>;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
type PrimitiveTuple<T extends readonly any[]> = T extends []
|
|
79
|
-
? []
|
|
80
|
-
: T extends [infer F]
|
|
81
|
-
? [PrimitiveMain<F>]
|
|
82
|
-
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
83
|
-
? [PrimitiveMain<F>, ...PrimitiveTuple<Rest>]
|
|
84
|
-
: T extends [(infer F)?]
|
|
85
|
-
? [PrimitiveMain<F>?]
|
|
86
|
-
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
87
|
-
? [PrimitiveMain<F>?, ...PrimitiveTuple<Rest>]
|
|
88
|
-
: [];
|
|
89
|
-
|
|
90
|
-
interface IJsonable<T> {
|
|
91
|
-
toJSON(): T;
|
|
92
|
-
}
|
|
1
|
+
import { Equal } from "./typings/Equal";
|
|
2
|
+
import { IsTuple } from "./typings/IsTuple";
|
|
3
|
+
import { NativeClass } from "./typings/NativeClass";
|
|
4
|
+
import { ValueOf } from "./typings/ValueOf";
|
|
5
|
+
|
|
6
|
+
import { Format } from "./tags";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Primitive type of JSON.
|
|
10
|
+
*
|
|
11
|
+
* `Primitive<T>` is a TMP (Type Meta Programming) type which converts
|
|
12
|
+
* its argument as a primitive type within framework JSON.
|
|
13
|
+
*
|
|
14
|
+
* If the target argument is a built-in class which returns its origin primitive type
|
|
15
|
+
* through the `valueOf()` method like the `String` or `Number`, its return type would
|
|
16
|
+
* be the `string` or `number`. Otherwise, the built-in class does not have the
|
|
17
|
+
* `valueOf()` method, the return type would be an empty object (`{}`).
|
|
18
|
+
*
|
|
19
|
+
* Otherwise, the target argument is a type of custom class, all of its custom method
|
|
20
|
+
* would be erased and its prototype would be changed to the primitive `object`.
|
|
21
|
+
* Therefore, return type of the TMP type finally be the primitive object.
|
|
22
|
+
*
|
|
23
|
+
* In addition, if the target argument is a type of custom class and it has a special
|
|
24
|
+
* method `toJSON()`, return type of this `Primitive` would be not `Primitive<Instance>`
|
|
25
|
+
* but `Primitive<ReturnType<Instance.toJSON>>`.
|
|
26
|
+
*
|
|
27
|
+
* Before | After
|
|
28
|
+
* ------------------------|----------------------------------------
|
|
29
|
+
* `Boolean` | `boolean`
|
|
30
|
+
* `Number` | `number`
|
|
31
|
+
* `String` | `string`
|
|
32
|
+
* `Class` | `object`
|
|
33
|
+
* `Class` with `toJSON()` | `Primitive<ReturnType<Class.toJSON>>`
|
|
34
|
+
* Native Class | never
|
|
35
|
+
* Others | No change
|
|
36
|
+
*
|
|
37
|
+
* @template T Target argument type.
|
|
38
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
39
|
+
* @author Kyungsu Kang - https://github.com/kakasoo
|
|
40
|
+
* @author Michael - https://github.com/8471919
|
|
41
|
+
*/
|
|
42
|
+
export type Primitive<T> =
|
|
43
|
+
Equal<T, PrimitiveMain<T>> extends true ? T : PrimitiveMain<T>;
|
|
44
|
+
|
|
45
|
+
type PrimitiveMain<Instance> = Instance extends [never]
|
|
46
|
+
? never // (special trick for jsonable | null) type
|
|
47
|
+
: ValueOf<Instance> extends bigint
|
|
48
|
+
? never
|
|
49
|
+
: ValueOf<Instance> extends boolean | number | string
|
|
50
|
+
? ValueOf<Instance>
|
|
51
|
+
: Instance extends Function
|
|
52
|
+
? never
|
|
53
|
+
: ValueOf<Instance> extends object
|
|
54
|
+
? Instance extends object
|
|
55
|
+
? Instance extends Date
|
|
56
|
+
? string & Format<"date-time">
|
|
57
|
+
: Instance extends IJsonable<infer Raw>
|
|
58
|
+
? ValueOf<Raw> extends object
|
|
59
|
+
? Raw extends object
|
|
60
|
+
? PrimitiveObject<Raw> // object would be primitified
|
|
61
|
+
: never // cannot be
|
|
62
|
+
: ValueOf<Raw> // atomic value
|
|
63
|
+
: Instance extends Exclude<NativeClass, Date>
|
|
64
|
+
? never
|
|
65
|
+
: PrimitiveObject<Instance> // object would be primitified
|
|
66
|
+
: never // cannot be
|
|
67
|
+
: ValueOf<Instance>;
|
|
68
|
+
|
|
69
|
+
type PrimitiveObject<Instance extends object> =
|
|
70
|
+
Instance extends Array<infer T>
|
|
71
|
+
? IsTuple<Instance> extends true
|
|
72
|
+
? PrimitiveTuple<Instance>
|
|
73
|
+
: PrimitiveMain<T>[]
|
|
74
|
+
: {
|
|
75
|
+
[P in keyof Instance]: PrimitiveMain<Instance[P]>;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
type PrimitiveTuple<T extends readonly any[]> = T extends []
|
|
79
|
+
? []
|
|
80
|
+
: T extends [infer F]
|
|
81
|
+
? [PrimitiveMain<F>]
|
|
82
|
+
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
83
|
+
? [PrimitiveMain<F>, ...PrimitiveTuple<Rest>]
|
|
84
|
+
: T extends [(infer F)?]
|
|
85
|
+
? [PrimitiveMain<F>?]
|
|
86
|
+
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
87
|
+
? [PrimitiveMain<F>?, ...PrimitiveTuple<Rest>]
|
|
88
|
+
: [];
|
|
89
|
+
|
|
90
|
+
interface IJsonable<T> {
|
|
91
|
+
toJSON(): T;
|
|
92
|
+
}
|