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
|
@@ -24,7 +24,7 @@ import { Escaper } from "../utils/Escaper";
|
|
|
24
24
|
|
|
25
25
|
import { Format } from "../tags";
|
|
26
26
|
import { FeatureProgrammer } from "./FeatureProgrammer";
|
|
27
|
-
import {
|
|
27
|
+
import { FunctionProgrammer } from "./helpers/FunctionProgrammer";
|
|
28
28
|
import { RandomJoiner } from "./helpers/RandomJoiner";
|
|
29
29
|
import { RandomRanger } from "./helpers/RandomRanger";
|
|
30
30
|
import { random_custom } from "./internal/random_custom";
|
|
@@ -39,7 +39,7 @@ export namespace RandomProgrammer {
|
|
|
39
39
|
}
|
|
40
40
|
export interface IDecomposeProps {
|
|
41
41
|
context: ITypiaContext;
|
|
42
|
-
|
|
42
|
+
functor: FunctionProgrammer;
|
|
43
43
|
type: ts.Type;
|
|
44
44
|
name: string | undefined;
|
|
45
45
|
init: ts.Expression | undefined;
|
|
@@ -70,22 +70,22 @@ export namespace RandomProgrammer {
|
|
|
70
70
|
});
|
|
71
71
|
if (result.success === false)
|
|
72
72
|
throw TransformerError.from({
|
|
73
|
-
code:
|
|
73
|
+
code: props.functor.method,
|
|
74
74
|
errors: result.errors,
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
// GENERATE FUNCTION
|
|
78
78
|
const functions: Record<string, ts.VariableStatement> = Object.fromEntries([
|
|
79
79
|
...write_object_functions({
|
|
80
|
-
|
|
80
|
+
functor: props.functor,
|
|
81
81
|
collection,
|
|
82
82
|
}).map((v, i) => [Prefix.object(i), v]),
|
|
83
83
|
...write_array_functions({
|
|
84
|
-
|
|
84
|
+
functor: props.functor,
|
|
85
85
|
collection,
|
|
86
86
|
}).map((v, i) => [Prefix.array(i), v]),
|
|
87
87
|
...write_tuple_functions({
|
|
88
|
-
|
|
88
|
+
functor: props.functor,
|
|
89
89
|
collection,
|
|
90
90
|
}).map((v, i) => [Prefix.tuple(i), v]),
|
|
91
91
|
]);
|
|
@@ -128,7 +128,7 @@ export namespace RandomProgrammer {
|
|
|
128
128
|
),
|
|
129
129
|
ts.factory.createReturnStatement(
|
|
130
130
|
decode({
|
|
131
|
-
|
|
131
|
+
functor: props.functor,
|
|
132
132
|
explore: {
|
|
133
133
|
function: false,
|
|
134
134
|
recursive: false,
|
|
@@ -148,22 +148,22 @@ export namespace RandomProgrammer {
|
|
|
148
148
|
};
|
|
149
149
|
|
|
150
150
|
export const write = (props: IProps) => {
|
|
151
|
-
const
|
|
151
|
+
const functor: FunctionProgrammer = new FunctionProgrammer(
|
|
152
152
|
props.modulo.getText(),
|
|
153
153
|
);
|
|
154
154
|
const result: FeatureProgrammer.IDecomposed = decompose({
|
|
155
155
|
...props,
|
|
156
|
-
|
|
156
|
+
functor,
|
|
157
157
|
});
|
|
158
158
|
return FeatureProgrammer.writeDecomposed({
|
|
159
159
|
modulo: props.modulo,
|
|
160
|
-
|
|
160
|
+
functor,
|
|
161
161
|
result,
|
|
162
162
|
});
|
|
163
163
|
};
|
|
164
164
|
|
|
165
165
|
const write_object_functions = (props: {
|
|
166
|
-
|
|
166
|
+
functor: FunctionProgrammer;
|
|
167
167
|
collection: MetadataCollection;
|
|
168
168
|
}): ts.VariableStatement[] =>
|
|
169
169
|
props.collection.objects().map((obj, i) =>
|
|
@@ -187,10 +187,10 @@ export namespace RandomProgrammer {
|
|
|
187
187
|
TypeFactory.keyword("any"),
|
|
188
188
|
undefined,
|
|
189
189
|
RandomJoiner.object({
|
|
190
|
-
coalesce: coalesce(props.
|
|
190
|
+
coalesce: coalesce(props.functor),
|
|
191
191
|
decode: (metadata) =>
|
|
192
192
|
decode({
|
|
193
|
-
|
|
193
|
+
functor: props.functor,
|
|
194
194
|
explore: {
|
|
195
195
|
recursive: obj.recursive,
|
|
196
196
|
function: true,
|
|
@@ -204,7 +204,7 @@ export namespace RandomProgrammer {
|
|
|
204
204
|
);
|
|
205
205
|
|
|
206
206
|
const write_array_functions = (props: {
|
|
207
|
-
|
|
207
|
+
functor: FunctionProgrammer;
|
|
208
208
|
collection: MetadataCollection;
|
|
209
209
|
}): ts.VariableStatement[] =>
|
|
210
210
|
props.collection
|
|
@@ -239,10 +239,10 @@ export namespace RandomProgrammer {
|
|
|
239
239
|
TypeFactory.keyword("any"),
|
|
240
240
|
undefined,
|
|
241
241
|
RandomJoiner.array({
|
|
242
|
-
coalesce: coalesce(props.
|
|
242
|
+
coalesce: coalesce(props.functor),
|
|
243
243
|
decode: (metadata) =>
|
|
244
244
|
decode({
|
|
245
|
-
|
|
245
|
+
functor: props.functor,
|
|
246
246
|
explore: {
|
|
247
247
|
recursive: true,
|
|
248
248
|
function: true,
|
|
@@ -262,7 +262,7 @@ export namespace RandomProgrammer {
|
|
|
262
262
|
);
|
|
263
263
|
|
|
264
264
|
const write_tuple_functions = (props: {
|
|
265
|
-
|
|
265
|
+
functor: FunctionProgrammer;
|
|
266
266
|
collection: MetadataCollection;
|
|
267
267
|
}): ts.VariableStatement[] =>
|
|
268
268
|
props.collection
|
|
@@ -291,7 +291,7 @@ export namespace RandomProgrammer {
|
|
|
291
291
|
RandomJoiner.tuple({
|
|
292
292
|
decode: (metadata) =>
|
|
293
293
|
decode({
|
|
294
|
-
|
|
294
|
+
functor: props.functor,
|
|
295
295
|
explore: {
|
|
296
296
|
function: true,
|
|
297
297
|
recursive: true,
|
|
@@ -308,7 +308,7 @@ export namespace RandomProgrammer {
|
|
|
308
308
|
DECODERS
|
|
309
309
|
----------------------------------------------------------- */
|
|
310
310
|
const decode = (props: {
|
|
311
|
-
|
|
311
|
+
functor: FunctionProgrammer;
|
|
312
312
|
explore: IExplore;
|
|
313
313
|
metadata: Metadata;
|
|
314
314
|
}): ts.Expression => {
|
|
@@ -340,25 +340,25 @@ export namespace RandomProgrammer {
|
|
|
340
340
|
);
|
|
341
341
|
for (const atomic of props.metadata.atomics)
|
|
342
342
|
if (atomic.type === "boolean")
|
|
343
|
-
expressions.push(decode_boolean(props.
|
|
343
|
+
expressions.push(decode_boolean(props.functor));
|
|
344
344
|
else if (atomic.type === "number")
|
|
345
345
|
expressions.push(
|
|
346
346
|
...decode_number({
|
|
347
|
-
|
|
347
|
+
functor: props.functor,
|
|
348
348
|
atomic,
|
|
349
349
|
}),
|
|
350
350
|
);
|
|
351
351
|
else if (atomic.type === "string")
|
|
352
352
|
expressions.push(
|
|
353
353
|
...decode_string({
|
|
354
|
-
|
|
354
|
+
functor: props.functor,
|
|
355
355
|
atomic,
|
|
356
356
|
}),
|
|
357
357
|
);
|
|
358
358
|
else if (atomic.type === "bigint")
|
|
359
359
|
expressions.push(
|
|
360
360
|
...decode_bigint({
|
|
361
|
-
|
|
361
|
+
functor: props.functor,
|
|
362
362
|
atomic,
|
|
363
363
|
}),
|
|
364
364
|
);
|
|
@@ -395,7 +395,7 @@ export namespace RandomProgrammer {
|
|
|
395
395
|
for (const name of props.metadata.natives)
|
|
396
396
|
expressions.push(
|
|
397
397
|
decode_native({
|
|
398
|
-
|
|
398
|
+
functor: props.functor,
|
|
399
399
|
name,
|
|
400
400
|
}),
|
|
401
401
|
);
|
|
@@ -417,7 +417,7 @@ export namespace RandomProgrammer {
|
|
|
417
417
|
// PICK UP A TYPE
|
|
418
418
|
if (expressions.length === 1) return expressions[0]!;
|
|
419
419
|
return ts.factory.createCallExpression(
|
|
420
|
-
ts.factory.createCallExpression(props.
|
|
420
|
+
ts.factory.createCallExpression(props.functor.use("pick"), undefined, [
|
|
421
421
|
ts.factory.createArrayLiteralExpression(
|
|
422
422
|
expressions.map((expr) =>
|
|
423
423
|
ts.factory.createArrowFunction(
|
|
@@ -437,9 +437,9 @@ export namespace RandomProgrammer {
|
|
|
437
437
|
);
|
|
438
438
|
};
|
|
439
439
|
|
|
440
|
-
const decode_boolean = (
|
|
440
|
+
const decode_boolean = (functor: FunctionProgrammer) =>
|
|
441
441
|
ts.factory.createCallExpression(
|
|
442
|
-
coalesce(
|
|
442
|
+
coalesce(functor)("boolean"),
|
|
443
443
|
undefined,
|
|
444
444
|
undefined,
|
|
445
445
|
);
|
|
@@ -454,7 +454,7 @@ export namespace RandomProgrammer {
|
|
|
454
454
|
: ExpressionFactory.bigint(Number(value));
|
|
455
455
|
|
|
456
456
|
const decode_template = (props: {
|
|
457
|
-
|
|
457
|
+
functor: FunctionProgrammer;
|
|
458
458
|
explore: IExplore;
|
|
459
459
|
template: MetadataTemplate;
|
|
460
460
|
}) =>
|
|
@@ -468,7 +468,7 @@ export namespace RandomProgrammer {
|
|
|
468
468
|
);
|
|
469
469
|
|
|
470
470
|
const decode_number = (props: {
|
|
471
|
-
|
|
471
|
+
functor: FunctionProgrammer;
|
|
472
472
|
atomic: MetadataAtomic;
|
|
473
473
|
}): ts.Expression[] =>
|
|
474
474
|
(props.atomic.tags.length ? props.atomic.tags : [[]]).map((tags) => {
|
|
@@ -486,7 +486,7 @@ export namespace RandomProgrammer {
|
|
|
486
486
|
: "double";
|
|
487
487
|
const multiply = tags.find((t) => t.kind === "multipleOf");
|
|
488
488
|
return random_custom({
|
|
489
|
-
accessor: coalesce(props.
|
|
489
|
+
accessor: coalesce(props.functor),
|
|
490
490
|
type: "number",
|
|
491
491
|
tags,
|
|
492
492
|
expression: RandomRanger.number({
|
|
@@ -496,8 +496,8 @@ export namespace RandomProgrammer {
|
|
|
496
496
|
setter: (args) =>
|
|
497
497
|
ts.factory.createCallExpression(
|
|
498
498
|
type !== "double" || multiply !== undefined
|
|
499
|
-
? coalesce(props.
|
|
500
|
-
: coalesce(props.
|
|
499
|
+
? coalesce(props.functor)("integer")
|
|
500
|
+
: coalesce(props.functor)("number"),
|
|
501
501
|
undefined,
|
|
502
502
|
args.map((val) => ExpressionFactory.number(val)),
|
|
503
503
|
),
|
|
@@ -513,12 +513,12 @@ export namespace RandomProgrammer {
|
|
|
513
513
|
});
|
|
514
514
|
|
|
515
515
|
const decode_bigint = (props: {
|
|
516
|
-
|
|
516
|
+
functor: FunctionProgrammer;
|
|
517
517
|
atomic: MetadataAtomic;
|
|
518
518
|
}): ts.Expression[] =>
|
|
519
519
|
(props.atomic.tags.length ? props.atomic.tags : [[]]).map((tags) =>
|
|
520
520
|
random_custom({
|
|
521
|
-
accessor: coalesce(props.
|
|
521
|
+
accessor: coalesce(props.functor),
|
|
522
522
|
type: "bigint",
|
|
523
523
|
tags,
|
|
524
524
|
expression: RandomRanger.number({
|
|
@@ -533,7 +533,7 @@ export namespace RandomProgrammer {
|
|
|
533
533
|
transform: (value) => ExpressionFactory.bigint(value),
|
|
534
534
|
setter: (args) =>
|
|
535
535
|
ts.factory.createCallExpression(
|
|
536
|
-
coalesce(props.
|
|
536
|
+
coalesce(props.functor)("bigint"),
|
|
537
537
|
undefined,
|
|
538
538
|
args.map((value) => ExpressionFactory.bigint(value)),
|
|
539
539
|
),
|
|
@@ -549,25 +549,25 @@ export namespace RandomProgrammer {
|
|
|
549
549
|
);
|
|
550
550
|
|
|
551
551
|
const decode_string = (props: {
|
|
552
|
-
|
|
552
|
+
functor: FunctionProgrammer;
|
|
553
553
|
atomic: MetadataAtomic;
|
|
554
554
|
}): ts.Expression[] =>
|
|
555
555
|
(props.atomic.tags.length ? props.atomic.tags : [[]]).map((tags) =>
|
|
556
556
|
random_custom({
|
|
557
|
-
accessor: coalesce(props.
|
|
557
|
+
accessor: coalesce(props.functor),
|
|
558
558
|
type: "string",
|
|
559
559
|
tags,
|
|
560
560
|
expression: (() => {
|
|
561
561
|
for (const t of tags)
|
|
562
562
|
if (t.kind === "format")
|
|
563
563
|
return ts.factory.createCallExpression(
|
|
564
|
-
coalesce(props.
|
|
564
|
+
coalesce(props.functor)(emendFormat(t.value)),
|
|
565
565
|
undefined,
|
|
566
566
|
undefined,
|
|
567
567
|
);
|
|
568
568
|
else if (t.kind === "pattern")
|
|
569
569
|
return ts.factory.createCallExpression(
|
|
570
|
-
coalesce(props.
|
|
570
|
+
coalesce(props.functor)("pattern"),
|
|
571
571
|
undefined,
|
|
572
572
|
[
|
|
573
573
|
ts.factory.createIdentifier(
|
|
@@ -577,7 +577,7 @@ export namespace RandomProgrammer {
|
|
|
577
577
|
);
|
|
578
578
|
|
|
579
579
|
const tail = RandomRanger.length({
|
|
580
|
-
coalesce: coalesce(props.
|
|
580
|
+
coalesce: coalesce(props.functor),
|
|
581
581
|
defaults: {
|
|
582
582
|
minimum: 5,
|
|
583
583
|
maximum: 25,
|
|
@@ -590,7 +590,7 @@ export namespace RandomProgrammer {
|
|
|
590
590
|
tags,
|
|
591
591
|
});
|
|
592
592
|
return ts.factory.createCallExpression(
|
|
593
|
-
coalesce(props.
|
|
593
|
+
coalesce(props.functor)("string"),
|
|
594
594
|
undefined,
|
|
595
595
|
tail ? [tail] : undefined,
|
|
596
596
|
);
|
|
@@ -599,14 +599,14 @@ export namespace RandomProgrammer {
|
|
|
599
599
|
);
|
|
600
600
|
|
|
601
601
|
const decode_array = (props: {
|
|
602
|
-
|
|
602
|
+
functor: FunctionProgrammer;
|
|
603
603
|
explore: IExplore;
|
|
604
604
|
array: MetadataArray;
|
|
605
605
|
}): ts.Expression[] => {
|
|
606
606
|
const fixed: Array<[ts.Expression | undefined, ts.Expression | undefined]> =
|
|
607
607
|
(props.array.tags.length ? props.array.tags : [[]]).map((tags) => [
|
|
608
608
|
RandomRanger.length({
|
|
609
|
-
coalesce: coalesce(props.
|
|
609
|
+
coalesce: coalesce(props.functor),
|
|
610
610
|
defaults: {
|
|
611
611
|
minimum: 0,
|
|
612
612
|
maximum: 3,
|
|
@@ -631,11 +631,11 @@ export namespace RandomProgrammer {
|
|
|
631
631
|
return fixed.map(([len, unique]) =>
|
|
632
632
|
ts.factory.createCallExpression(
|
|
633
633
|
ts.factory.createIdentifier(
|
|
634
|
-
props.
|
|
634
|
+
props.functor.useLocal(Prefix.array(props.array.type.index!)),
|
|
635
635
|
),
|
|
636
636
|
undefined,
|
|
637
637
|
[
|
|
638
|
-
len ?? coalesce(props.
|
|
638
|
+
len ?? coalesce(props.functor)("length"),
|
|
639
639
|
unique ?? ts.factory.createFalse(),
|
|
640
640
|
ts.factory.createTrue(),
|
|
641
641
|
props.explore.recursive
|
|
@@ -649,7 +649,7 @@ export namespace RandomProgrammer {
|
|
|
649
649
|
);
|
|
650
650
|
return fixed.map(([len, unique]) => {
|
|
651
651
|
const expr: ts.Expression = RandomJoiner.array({
|
|
652
|
-
coalesce: coalesce(props.
|
|
652
|
+
coalesce: coalesce(props.functor),
|
|
653
653
|
decode: (metadata) =>
|
|
654
654
|
decode({
|
|
655
655
|
...props,
|
|
@@ -679,14 +679,14 @@ export namespace RandomProgrammer {
|
|
|
679
679
|
};
|
|
680
680
|
|
|
681
681
|
const decode_tuple = (props: {
|
|
682
|
-
|
|
682
|
+
functor: FunctionProgrammer;
|
|
683
683
|
explore: IExplore;
|
|
684
684
|
tuple: MetadataTuple;
|
|
685
685
|
}): ts.Expression =>
|
|
686
686
|
props.tuple.type.recursive
|
|
687
687
|
? ts.factory.createCallExpression(
|
|
688
688
|
ts.factory.createIdentifier(
|
|
689
|
-
props.
|
|
689
|
+
props.functor.useLocal(Prefix.tuple(props.tuple.type.index!)),
|
|
690
690
|
),
|
|
691
691
|
undefined,
|
|
692
692
|
[
|
|
@@ -709,13 +709,13 @@ export namespace RandomProgrammer {
|
|
|
709
709
|
});
|
|
710
710
|
|
|
711
711
|
const decode_object = (props: {
|
|
712
|
-
|
|
712
|
+
functor: FunctionProgrammer;
|
|
713
713
|
explore: IExplore;
|
|
714
714
|
object: MetadataObject;
|
|
715
715
|
}) =>
|
|
716
716
|
ts.factory.createCallExpression(
|
|
717
717
|
ts.factory.createIdentifier(
|
|
718
|
-
props.
|
|
718
|
+
props.functor.useLocal(Prefix.object(props.object.index)),
|
|
719
719
|
),
|
|
720
720
|
undefined,
|
|
721
721
|
props.explore.function
|
|
@@ -741,7 +741,7 @@ export namespace RandomProgrammer {
|
|
|
741
741
|
NATIVE CLASSES
|
|
742
742
|
----------------------------------------------------------- */
|
|
743
743
|
const decode_set = (props: {
|
|
744
|
-
|
|
744
|
+
functor: FunctionProgrammer;
|
|
745
745
|
explore: IExplore;
|
|
746
746
|
metadata: Metadata;
|
|
747
747
|
}) =>
|
|
@@ -766,7 +766,7 @@ export namespace RandomProgrammer {
|
|
|
766
766
|
);
|
|
767
767
|
|
|
768
768
|
const decode_map = (props: {
|
|
769
|
-
|
|
769
|
+
functor: FunctionProgrammer;
|
|
770
770
|
explore: IExplore;
|
|
771
771
|
entry: Metadata.Entry;
|
|
772
772
|
}) =>
|
|
@@ -809,13 +809,13 @@ export namespace RandomProgrammer {
|
|
|
809
809
|
);
|
|
810
810
|
|
|
811
811
|
const decode_native = (props: {
|
|
812
|
-
|
|
812
|
+
functor: FunctionProgrammer;
|
|
813
813
|
name: string;
|
|
814
814
|
}): ts.Expression => {
|
|
815
|
-
if (props.name === "Boolean") return decode_boolean(props.
|
|
815
|
+
if (props.name === "Boolean") return decode_boolean(props.functor);
|
|
816
816
|
else if (props.name === "Number")
|
|
817
817
|
return decode_number({
|
|
818
|
-
|
|
818
|
+
functor: props.functor,
|
|
819
819
|
atomic: MetadataAtomic.create({
|
|
820
820
|
type: "number",
|
|
821
821
|
tags: [],
|
|
@@ -823,13 +823,13 @@ export namespace RandomProgrammer {
|
|
|
823
823
|
})[0]!;
|
|
824
824
|
else if (props.name === "String")
|
|
825
825
|
return decode_string({
|
|
826
|
-
|
|
826
|
+
functor: props.functor,
|
|
827
827
|
atomic: MetadataAtomic.create({
|
|
828
828
|
type: "string",
|
|
829
829
|
tags: [],
|
|
830
830
|
}),
|
|
831
831
|
})[0]!;
|
|
832
|
-
else if (props.name === "Date") return decode_native_date(props.
|
|
832
|
+
else if (props.name === "Date") return decode_native_date(props.functor);
|
|
833
833
|
else if (
|
|
834
834
|
props.name === "Uint8Array" ||
|
|
835
835
|
props.name === "Uint8ClampedArray" ||
|
|
@@ -853,9 +853,9 @@ export namespace RandomProgrammer {
|
|
|
853
853
|
name: props.name,
|
|
854
854
|
});
|
|
855
855
|
else if (props.name === "DataView")
|
|
856
|
-
return decode_native_data_view(props.
|
|
857
|
-
else if (props.name === "Blob") return decode_native_blob(props.
|
|
858
|
-
else if (props.name === "File") return decode_native_file(props.
|
|
856
|
+
return decode_native_data_view(props.functor);
|
|
857
|
+
else if (props.name === "Blob") return decode_native_blob(props.functor);
|
|
858
|
+
else if (props.name === "File") return decode_native_file(props.functor);
|
|
859
859
|
else if (props.name === "RegExp") return decode_regexp();
|
|
860
860
|
else
|
|
861
861
|
return ts.factory.createNewExpression(
|
|
@@ -865,13 +865,13 @@ export namespace RandomProgrammer {
|
|
|
865
865
|
);
|
|
866
866
|
};
|
|
867
867
|
|
|
868
|
-
const decode_native_date = (
|
|
868
|
+
const decode_native_date = (functor: FunctionProgrammer) =>
|
|
869
869
|
ts.factory.createNewExpression(
|
|
870
870
|
ts.factory.createIdentifier("Date"),
|
|
871
871
|
undefined,
|
|
872
872
|
[
|
|
873
873
|
ts.factory.createCallExpression(
|
|
874
|
-
coalesce(
|
|
874
|
+
coalesce(functor)("datetime"),
|
|
875
875
|
undefined,
|
|
876
876
|
[],
|
|
877
877
|
),
|
|
@@ -879,7 +879,7 @@ export namespace RandomProgrammer {
|
|
|
879
879
|
);
|
|
880
880
|
|
|
881
881
|
const decode_native_byte_array = (props: {
|
|
882
|
-
|
|
882
|
+
functor: FunctionProgrammer;
|
|
883
883
|
name:
|
|
884
884
|
| "Uint8Array"
|
|
885
885
|
| "Uint8ClampedArray"
|
|
@@ -919,7 +919,7 @@ export namespace RandomProgrammer {
|
|
|
919
919
|
[],
|
|
920
920
|
[
|
|
921
921
|
ts.factory.createCallExpression(
|
|
922
|
-
coalesce(props.
|
|
922
|
+
coalesce(props.functor)("array"),
|
|
923
923
|
undefined,
|
|
924
924
|
[
|
|
925
925
|
ts.factory.createArrowFunction(
|
|
@@ -929,7 +929,7 @@ export namespace RandomProgrammer {
|
|
|
929
929
|
TypeFactory.keyword("any"),
|
|
930
930
|
undefined,
|
|
931
931
|
ts.factory.createCallExpression(
|
|
932
|
-
coalesce(props.
|
|
932
|
+
coalesce(props.functor)(
|
|
933
933
|
props.name === "Float32Array" || props.name === "Float64Array"
|
|
934
934
|
? "number"
|
|
935
935
|
: props.name === "BigInt64Array" ||
|
|
@@ -947,7 +947,7 @@ export namespace RandomProgrammer {
|
|
|
947
947
|
);
|
|
948
948
|
};
|
|
949
949
|
|
|
950
|
-
const decode_native_blob = (
|
|
950
|
+
const decode_native_blob = (functor: FunctionProgrammer) =>
|
|
951
951
|
ts.factory.createNewExpression(
|
|
952
952
|
ts.factory.createIdentifier("Blob"),
|
|
953
953
|
undefined,
|
|
@@ -955,7 +955,7 @@ export namespace RandomProgrammer {
|
|
|
955
955
|
ts.factory.createArrayLiteralExpression(
|
|
956
956
|
[
|
|
957
957
|
decode_native_byte_array({
|
|
958
|
-
|
|
958
|
+
functor,
|
|
959
959
|
name: "Uint8Array",
|
|
960
960
|
}),
|
|
961
961
|
],
|
|
@@ -964,7 +964,7 @@ export namespace RandomProgrammer {
|
|
|
964
964
|
],
|
|
965
965
|
);
|
|
966
966
|
|
|
967
|
-
const decode_native_file = (
|
|
967
|
+
const decode_native_file = (functor: FunctionProgrammer) =>
|
|
968
968
|
ts.factory.createNewExpression(
|
|
969
969
|
ts.factory.createIdentifier("File"),
|
|
970
970
|
undefined,
|
|
@@ -972,7 +972,7 @@ export namespace RandomProgrammer {
|
|
|
972
972
|
ts.factory.createArrayLiteralExpression(
|
|
973
973
|
[
|
|
974
974
|
decode_native_byte_array({
|
|
975
|
-
|
|
975
|
+
functor,
|
|
976
976
|
name: "Uint8Array",
|
|
977
977
|
}),
|
|
978
978
|
],
|
|
@@ -981,7 +981,7 @@ export namespace RandomProgrammer {
|
|
|
981
981
|
ts.factory.createTemplateExpression(ts.factory.createTemplateHead(""), [
|
|
982
982
|
ts.factory.createTemplateSpan(
|
|
983
983
|
ts.factory.createCallExpression(
|
|
984
|
-
coalesce(
|
|
984
|
+
coalesce(functor)("string"),
|
|
985
985
|
undefined,
|
|
986
986
|
[ts.factory.createNumericLiteral(8)],
|
|
987
987
|
),
|
|
@@ -989,7 +989,7 @@ export namespace RandomProgrammer {
|
|
|
989
989
|
),
|
|
990
990
|
ts.factory.createTemplateSpan(
|
|
991
991
|
ts.factory.createCallExpression(
|
|
992
|
-
coalesce(
|
|
992
|
+
coalesce(functor)("string"),
|
|
993
993
|
undefined,
|
|
994
994
|
[ts.factory.createNumericLiteral(3)],
|
|
995
995
|
),
|
|
@@ -1000,13 +1000,13 @@ export namespace RandomProgrammer {
|
|
|
1000
1000
|
);
|
|
1001
1001
|
|
|
1002
1002
|
const decode_native_array_buffer = (props: {
|
|
1003
|
-
|
|
1003
|
+
functor: FunctionProgrammer;
|
|
1004
1004
|
name: "ArrayBuffer" | "SharedArrayBuffer";
|
|
1005
1005
|
}): ts.Expression =>
|
|
1006
1006
|
props.name === "ArrayBuffer"
|
|
1007
1007
|
? IdentifierFactory.access(
|
|
1008
1008
|
decode_native_byte_array({
|
|
1009
|
-
|
|
1009
|
+
functor: props.functor,
|
|
1010
1010
|
name: "Uint8Array",
|
|
1011
1011
|
}),
|
|
1012
1012
|
"buffer",
|
|
@@ -1017,7 +1017,7 @@ export namespace RandomProgrammer {
|
|
|
1017
1017
|
StatementFactory.constant({
|
|
1018
1018
|
name: "length",
|
|
1019
1019
|
value: ts.factory.createCallExpression(
|
|
1020
|
-
coalesce(props.
|
|
1020
|
+
coalesce(props.functor)("integer"),
|
|
1021
1021
|
undefined,
|
|
1022
1022
|
[],
|
|
1023
1023
|
),
|
|
@@ -1047,7 +1047,7 @@ export namespace RandomProgrammer {
|
|
|
1047
1047
|
undefined,
|
|
1048
1048
|
[
|
|
1049
1049
|
ts.factory.createCallExpression(
|
|
1050
|
-
coalesce(props.
|
|
1050
|
+
coalesce(props.functor)("array"),
|
|
1051
1051
|
undefined,
|
|
1052
1052
|
[
|
|
1053
1053
|
ts.factory.createArrowFunction(
|
|
@@ -1057,7 +1057,7 @@ export namespace RandomProgrammer {
|
|
|
1057
1057
|
TypeFactory.keyword("any"),
|
|
1058
1058
|
undefined,
|
|
1059
1059
|
ts.factory.createCallExpression(
|
|
1060
|
-
coalesce(props.
|
|
1060
|
+
coalesce(props.functor)("integer"),
|
|
1061
1061
|
undefined,
|
|
1062
1062
|
[
|
|
1063
1063
|
ExpressionFactory.number(0),
|
|
@@ -1080,14 +1080,14 @@ export namespace RandomProgrammer {
|
|
|
1080
1080
|
),
|
|
1081
1081
|
);
|
|
1082
1082
|
|
|
1083
|
-
const decode_native_data_view = (
|
|
1083
|
+
const decode_native_data_view = (functor: FunctionProgrammer) =>
|
|
1084
1084
|
ts.factory.createNewExpression(
|
|
1085
1085
|
ts.factory.createIdentifier("DataView"),
|
|
1086
1086
|
[],
|
|
1087
1087
|
[
|
|
1088
1088
|
IdentifierFactory.access(
|
|
1089
1089
|
decode_native_byte_array({
|
|
1090
|
-
|
|
1090
|
+
functor,
|
|
1091
1091
|
name: "Uint8Array",
|
|
1092
1092
|
}),
|
|
1093
1093
|
"buffer",
|
|
@@ -1115,7 +1115,7 @@ const Prefix = {
|
|
|
1115
1115
|
tuple: (i: number) => `$rt${i}`,
|
|
1116
1116
|
};
|
|
1117
1117
|
|
|
1118
|
-
const coalesce = (
|
|
1118
|
+
const coalesce = (functor: FunctionProgrammer) => (name: string) =>
|
|
1119
1119
|
ExpressionFactory.coalesce(
|
|
1120
1120
|
Escaper.variable(name)
|
|
1121
1121
|
? ts.factory.createPropertyAccessChain(
|
|
@@ -1128,7 +1128,7 @@ const coalesce = (importer: FunctionImporter) => (name: string) =>
|
|
|
1128
1128
|
ts.factory.createToken(ts.SyntaxKind.QuestionDotToken),
|
|
1129
1129
|
ts.factory.createStringLiteral(name),
|
|
1130
1130
|
),
|
|
1131
|
-
IdentifierFactory.access(
|
|
1131
|
+
IdentifierFactory.access(functor.use("generator"), name),
|
|
1132
1132
|
);
|
|
1133
1133
|
|
|
1134
1134
|
const emendFormat = (key: keyof Format.Validator) =>
|