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
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
4
|
-
import { MetadataArray } from "../../schemas/metadata/MetadataArray";
|
|
5
|
-
|
|
6
|
-
import { application_plugin } from "./application_plugin";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export const application_array = <Version extends "3.0" | "3.1">(props: {
|
|
12
|
-
generator: (value: Metadata) => Schema<Version>;
|
|
13
|
-
components: Version extends "3.0"
|
|
14
|
-
? OpenApiV3.IComponents
|
|
15
|
-
: OpenApi.IComponents;
|
|
16
|
-
array: MetadataArray;
|
|
17
|
-
}): Array<ArraySchema<Version> | OpenApiV3.IJsonSchema.IReference> => {
|
|
18
|
-
const factory = (): ArraySchema<Version>[] =>
|
|
19
|
-
application_plugin<ArraySchema<Version>>({
|
|
20
|
-
schema: {
|
|
21
|
-
type: "array",
|
|
22
|
-
items: props.generator(props.array.type.value),
|
|
23
|
-
} as ArraySchema<Version>,
|
|
24
|
-
tags: props.array.tags,
|
|
25
|
-
});
|
|
26
|
-
if (props.array.type.recursive === true) {
|
|
27
|
-
const out = () => [{ $ref }];
|
|
28
|
-
const $ref: string = `#/components/schemas/${props.array.type.name}`;
|
|
29
|
-
if (props.components.schemas?.[$ref] !== undefined) return out();
|
|
30
|
-
|
|
31
|
-
props.components.schemas ??= {};
|
|
32
|
-
props.components.schemas[$ref] ??= {};
|
|
33
|
-
|
|
34
|
-
const oneOf: ArraySchema<Version>[] = factory();
|
|
35
|
-
Object.assign(
|
|
36
|
-
props.components.schemas[$ref]!,
|
|
37
|
-
oneOf.length === 1 ? oneOf[0] : { oneOf },
|
|
38
|
-
);
|
|
39
|
-
return out();
|
|
40
|
-
}
|
|
41
|
-
return factory();
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @internal
|
|
46
|
-
*/
|
|
47
|
-
type ArraySchema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
48
|
-
? OpenApiV3.IJsonSchema.IArray
|
|
49
|
-
: OpenApi.IJsonSchema.IArray;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @internal
|
|
53
|
-
*/
|
|
54
|
-
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
55
|
-
? OpenApiV3.IJsonSchema
|
|
56
|
-
: OpenApi.IJsonSchema;
|
|
1
|
+
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
4
|
+
import { MetadataArray } from "../../schemas/metadata/MetadataArray";
|
|
5
|
+
|
|
6
|
+
import { application_plugin } from "./application_plugin";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export const application_array = <Version extends "3.0" | "3.1">(props: {
|
|
12
|
+
generator: (value: Metadata) => Schema<Version>;
|
|
13
|
+
components: Version extends "3.0"
|
|
14
|
+
? OpenApiV3.IComponents
|
|
15
|
+
: OpenApi.IComponents;
|
|
16
|
+
array: MetadataArray;
|
|
17
|
+
}): Array<ArraySchema<Version> | OpenApiV3.IJsonSchema.IReference> => {
|
|
18
|
+
const factory = (): ArraySchema<Version>[] =>
|
|
19
|
+
application_plugin<ArraySchema<Version>>({
|
|
20
|
+
schema: {
|
|
21
|
+
type: "array",
|
|
22
|
+
items: props.generator(props.array.type.value),
|
|
23
|
+
} as ArraySchema<Version>,
|
|
24
|
+
tags: props.array.tags,
|
|
25
|
+
});
|
|
26
|
+
if (props.array.type.recursive === true) {
|
|
27
|
+
const out = () => [{ $ref }];
|
|
28
|
+
const $ref: string = `#/components/schemas/${props.array.type.name}`;
|
|
29
|
+
if (props.components.schemas?.[$ref] !== undefined) return out();
|
|
30
|
+
|
|
31
|
+
props.components.schemas ??= {};
|
|
32
|
+
props.components.schemas[$ref] ??= {};
|
|
33
|
+
|
|
34
|
+
const oneOf: ArraySchema<Version>[] = factory();
|
|
35
|
+
Object.assign(
|
|
36
|
+
props.components.schemas[$ref]!,
|
|
37
|
+
oneOf.length === 1 ? oneOf[0] : { oneOf },
|
|
38
|
+
);
|
|
39
|
+
return out();
|
|
40
|
+
}
|
|
41
|
+
return factory();
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
type ArraySchema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
48
|
+
? OpenApiV3.IJsonSchema.IArray
|
|
49
|
+
: OpenApi.IJsonSchema.IArray;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
55
|
+
? OpenApiV3.IJsonSchema
|
|
56
|
+
: OpenApi.IJsonSchema;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
|
|
4
|
-
|
|
5
|
-
import { application_plugin } from "./application_plugin";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export const application_boolean = <Version extends "3.0" | "3.1">(
|
|
11
|
-
atomic: MetadataAtomic,
|
|
12
|
-
): Schema<Version>[] =>
|
|
13
|
-
application_plugin({
|
|
14
|
-
schema: {
|
|
15
|
-
type: "boolean",
|
|
16
|
-
} satisfies Schema<Version>,
|
|
17
|
-
tags: atomic.tags,
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
24
|
-
? OpenApiV3.IJsonSchema.IBoolean
|
|
25
|
-
: OpenApi.IJsonSchema.IBoolean;
|
|
1
|
+
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
|
|
4
|
+
|
|
5
|
+
import { application_plugin } from "./application_plugin";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export const application_boolean = <Version extends "3.0" | "3.1">(
|
|
11
|
+
atomic: MetadataAtomic,
|
|
12
|
+
): Schema<Version>[] =>
|
|
13
|
+
application_plugin({
|
|
14
|
+
schema: {
|
|
15
|
+
type: "boolean",
|
|
16
|
+
} satisfies Schema<Version>,
|
|
17
|
+
tags: atomic.tags,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
24
|
+
? OpenApiV3.IJsonSchema.IBoolean
|
|
25
|
+
: OpenApi.IJsonSchema.IBoolean;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { IJsDocTagInfo } from "../../module";
|
|
2
|
-
|
|
3
|
-
export const application_description = (props: {
|
|
4
|
-
description?: string | null | undefined;
|
|
5
|
-
jsDocTags?: IJsDocTagInfo[];
|
|
6
|
-
}): string | undefined =>
|
|
7
|
-
props.jsDocTags
|
|
8
|
-
?.find((tag) => tag.name === "description")
|
|
9
|
-
?.text?.[0]?.text?.split("\r\n")
|
|
10
|
-
.join("\n") ??
|
|
11
|
-
props.description ??
|
|
12
|
-
undefined;
|
|
1
|
+
import { IJsDocTagInfo } from "../../module";
|
|
2
|
+
|
|
3
|
+
export const application_description = (props: {
|
|
4
|
+
description?: string | null | undefined;
|
|
5
|
+
jsDocTags?: IJsDocTagInfo[];
|
|
6
|
+
}): string | undefined =>
|
|
7
|
+
props.jsDocTags
|
|
8
|
+
?.find((tag) => tag.name === "description")
|
|
9
|
+
?.text?.[0]?.text?.split("\r\n")
|
|
10
|
+
.join("\n") ??
|
|
11
|
+
props.description ??
|
|
12
|
+
undefined;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
|
|
4
|
-
|
|
5
|
-
import { application_plugin } from "./application_plugin";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export const application_number = <Version extends "3.0" | "3.1">(
|
|
11
|
-
atomic: MetadataAtomic,
|
|
12
|
-
): Schema<Version>[] =>
|
|
13
|
-
application_plugin({
|
|
14
|
-
schema: {
|
|
15
|
-
type: "number",
|
|
16
|
-
} satisfies Schema<Version>,
|
|
17
|
-
tags: atomic.tags,
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
24
|
-
? OpenApiV3.IJsonSchema.IInteger | OpenApiV3.IJsonSchema.INumber
|
|
25
|
-
: OpenApi.IJsonSchema.IInteger | OpenApi.IJsonSchema.INumber;
|
|
1
|
+
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
|
|
4
|
+
|
|
5
|
+
import { application_plugin } from "./application_plugin";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export const application_number = <Version extends "3.0" | "3.1">(
|
|
11
|
+
atomic: MetadataAtomic,
|
|
12
|
+
): Schema<Version>[] =>
|
|
13
|
+
application_plugin({
|
|
14
|
+
schema: {
|
|
15
|
+
type: "number",
|
|
16
|
+
} satisfies Schema<Version>,
|
|
17
|
+
tags: atomic.tags,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
24
|
+
? OpenApiV3.IJsonSchema.IInteger | OpenApiV3.IJsonSchema.INumber
|
|
25
|
+
: OpenApi.IJsonSchema.IInteger | OpenApi.IJsonSchema.INumber;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export const application_plugin = <Schema extends object>(props: {
|
|
7
|
-
schema: Schema;
|
|
8
|
-
tags: IMetadataTypeTag[][];
|
|
9
|
-
}): Schema[] => {
|
|
10
|
-
const plugins: IMetadataTypeTag[][] = props.tags
|
|
11
|
-
.map((row) => row.filter((t) => t.schema !== undefined))
|
|
12
|
-
.filter((row) => row.length !== 0);
|
|
13
|
-
if (plugins.length === 0) return [props.schema];
|
|
14
|
-
return plugins.map((row) => {
|
|
15
|
-
const base: Schema = { ...props.schema };
|
|
16
|
-
for (const tag of row) Object.assign(base, tag.schema);
|
|
17
|
-
return base;
|
|
18
|
-
});
|
|
19
|
-
};
|
|
1
|
+
import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const application_plugin = <Schema extends object>(props: {
|
|
7
|
+
schema: Schema;
|
|
8
|
+
tags: IMetadataTypeTag[][];
|
|
9
|
+
}): Schema[] => {
|
|
10
|
+
const plugins: IMetadataTypeTag[][] = props.tags
|
|
11
|
+
.map((row) => row.filter((t) => t.schema !== undefined))
|
|
12
|
+
.filter((row) => row.length !== 0);
|
|
13
|
+
if (plugins.length === 0) return [props.schema];
|
|
14
|
+
return plugins.map((row) => {
|
|
15
|
+
const base: Schema = { ...props.schema };
|
|
16
|
+
for (const tag of row) Object.assign(base, tag.schema);
|
|
17
|
+
return base;
|
|
18
|
+
});
|
|
19
|
+
};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
|
|
4
|
-
|
|
5
|
-
import { application_plugin } from "./application_plugin";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export const application_string = <Version extends "3.0" | "3.1">(
|
|
11
|
-
atomic: MetadataAtomic,
|
|
12
|
-
): Schema<Version>[] =>
|
|
13
|
-
application_plugin({
|
|
14
|
-
schema: {
|
|
15
|
-
type: "string",
|
|
16
|
-
} satisfies Schema<Version>,
|
|
17
|
-
tags: atomic.tags,
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
24
|
-
? OpenApiV3.IJsonSchema.IString
|
|
25
|
-
: OpenApi.IJsonSchema.IString;
|
|
1
|
+
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
|
|
4
|
+
|
|
5
|
+
import { application_plugin } from "./application_plugin";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export const application_string = <Version extends "3.0" | "3.1">(
|
|
11
|
+
atomic: MetadataAtomic,
|
|
12
|
+
): Schema<Version>[] =>
|
|
13
|
+
application_plugin({
|
|
14
|
+
schema: {
|
|
15
|
+
type: "string",
|
|
16
|
+
} satisfies Schema<Version>,
|
|
17
|
+
tags: atomic.tags,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
24
|
+
? OpenApiV3.IJsonSchema.IString
|
|
25
|
+
: OpenApi.IJsonSchema.IString;
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
|
|
4
|
-
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
5
|
-
import { MetadataTemplate } from "../../schemas/metadata/MetadataTemplate";
|
|
6
|
-
|
|
7
|
-
import { application_plugin } from "./application_plugin";
|
|
8
|
-
import { metadata_to_pattern } from "./metadata_to_pattern";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @internal
|
|
12
|
-
*/
|
|
13
|
-
export const application_templates = <Version extends "3.0" | "3.1">(
|
|
14
|
-
meta: Metadata,
|
|
15
|
-
): Schema<Version>[] => {
|
|
16
|
-
const pureTemplates: MetadataTemplate[] = meta.templates.filter(
|
|
17
|
-
(t) => isPure(t.tags ?? []) === true,
|
|
18
|
-
);
|
|
19
|
-
const taggedTemplates: MetadataTemplate[] = meta.templates.filter(
|
|
20
|
-
(t) => isPure(t.tags ?? []) === false,
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
const output: Schema<Version>[] = [];
|
|
24
|
-
if (pureTemplates.length)
|
|
25
|
-
output.push({
|
|
26
|
-
type: "string",
|
|
27
|
-
pattern: metadata_to_pattern({
|
|
28
|
-
top: true,
|
|
29
|
-
metadata: Metadata.create({
|
|
30
|
-
...Metadata.initialize(),
|
|
31
|
-
templates: pureTemplates,
|
|
32
|
-
}),
|
|
33
|
-
}),
|
|
34
|
-
});
|
|
35
|
-
for (const tpl of taggedTemplates)
|
|
36
|
-
output.push(
|
|
37
|
-
application_plugin({
|
|
38
|
-
schema: {
|
|
39
|
-
type: "string",
|
|
40
|
-
pattern: metadata_to_pattern({
|
|
41
|
-
top: false,
|
|
42
|
-
metadata: Metadata.create({
|
|
43
|
-
...Metadata.initialize(),
|
|
44
|
-
templates: [tpl],
|
|
45
|
-
}),
|
|
46
|
-
}),
|
|
47
|
-
},
|
|
48
|
-
tags: tpl.tags ?? [],
|
|
49
|
-
}) as any,
|
|
50
|
-
);
|
|
51
|
-
return output;
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
const isPure = (matrix: IMetadataTypeTag[][]) =>
|
|
55
|
-
matrix.every((tags) => filter(tags).length === 0);
|
|
56
|
-
const filter = (tags: IMetadataTypeTag[]) =>
|
|
57
|
-
tags.filter((t) => t.schema !== undefined);
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* @internal
|
|
61
|
-
*/
|
|
62
|
-
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
63
|
-
? OpenApiV3.IJsonSchema.IString
|
|
64
|
-
: OpenApi.IJsonSchema.IString;
|
|
1
|
+
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
|
|
4
|
+
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
5
|
+
import { MetadataTemplate } from "../../schemas/metadata/MetadataTemplate";
|
|
6
|
+
|
|
7
|
+
import { application_plugin } from "./application_plugin";
|
|
8
|
+
import { metadata_to_pattern } from "./metadata_to_pattern";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export const application_templates = <Version extends "3.0" | "3.1">(
|
|
14
|
+
meta: Metadata,
|
|
15
|
+
): Schema<Version>[] => {
|
|
16
|
+
const pureTemplates: MetadataTemplate[] = meta.templates.filter(
|
|
17
|
+
(t) => isPure(t.tags ?? []) === true,
|
|
18
|
+
);
|
|
19
|
+
const taggedTemplates: MetadataTemplate[] = meta.templates.filter(
|
|
20
|
+
(t) => isPure(t.tags ?? []) === false,
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const output: Schema<Version>[] = [];
|
|
24
|
+
if (pureTemplates.length)
|
|
25
|
+
output.push({
|
|
26
|
+
type: "string",
|
|
27
|
+
pattern: metadata_to_pattern({
|
|
28
|
+
top: true,
|
|
29
|
+
metadata: Metadata.create({
|
|
30
|
+
...Metadata.initialize(),
|
|
31
|
+
templates: pureTemplates,
|
|
32
|
+
}),
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
35
|
+
for (const tpl of taggedTemplates)
|
|
36
|
+
output.push(
|
|
37
|
+
application_plugin({
|
|
38
|
+
schema: {
|
|
39
|
+
type: "string",
|
|
40
|
+
pattern: metadata_to_pattern({
|
|
41
|
+
top: false,
|
|
42
|
+
metadata: Metadata.create({
|
|
43
|
+
...Metadata.initialize(),
|
|
44
|
+
templates: [tpl],
|
|
45
|
+
}),
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
tags: tpl.tags ?? [],
|
|
49
|
+
}) as any,
|
|
50
|
+
);
|
|
51
|
+
return output;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const isPure = (matrix: IMetadataTypeTag[][]) =>
|
|
55
|
+
matrix.every((tags) => filter(tags).length === 0);
|
|
56
|
+
const filter = (tags: IMetadataTypeTag[]) =>
|
|
57
|
+
tags.filter((t) => t.schema !== undefined);
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
type Schema<Version extends "3.0" | "3.1"> = Version extends "3.0"
|
|
63
|
+
? OpenApiV3.IJsonSchema.IString
|
|
64
|
+
: OpenApi.IJsonSchema.IString;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { CommentFactory } from "../../factories/CommentFactory";
|
|
2
|
-
|
|
3
|
-
import { IJsDocTagInfo } from "../../module";
|
|
4
|
-
|
|
5
|
-
export const application_title = (schema: {
|
|
6
|
-
description?: string | null | undefined;
|
|
7
|
-
jsDocTags?: IJsDocTagInfo[] | undefined;
|
|
8
|
-
}): string | undefined => {
|
|
9
|
-
const info: IJsDocTagInfo | undefined = schema.jsDocTags?.find(
|
|
10
|
-
(tag) => tag.name === "title",
|
|
11
|
-
);
|
|
12
|
-
if (info?.text?.length) return CommentFactory.merge(info.text);
|
|
13
|
-
else if (!schema.description?.length) return undefined;
|
|
14
|
-
|
|
15
|
-
const index: number = schema.description.indexOf("\n");
|
|
16
|
-
const top: string = (
|
|
17
|
-
index === -1 ? schema.description : schema.description.substring(0, index)
|
|
18
|
-
).trim();
|
|
19
|
-
return top.endsWith(".") ? top.substring(0, top.length - 1) : undefined;
|
|
20
|
-
};
|
|
1
|
+
import { CommentFactory } from "../../factories/CommentFactory";
|
|
2
|
+
|
|
3
|
+
import { IJsDocTagInfo } from "../../module";
|
|
4
|
+
|
|
5
|
+
export const application_title = (schema: {
|
|
6
|
+
description?: string | null | undefined;
|
|
7
|
+
jsDocTags?: IJsDocTagInfo[] | undefined;
|
|
8
|
+
}): string | undefined => {
|
|
9
|
+
const info: IJsDocTagInfo | undefined = schema.jsDocTags?.find(
|
|
10
|
+
(tag) => tag.name === "title",
|
|
11
|
+
);
|
|
12
|
+
if (info?.text?.length) return CommentFactory.merge(info.text);
|
|
13
|
+
else if (!schema.description?.length) return undefined;
|
|
14
|
+
|
|
15
|
+
const index: number = schema.description.indexOf("\n");
|
|
16
|
+
const top: string = (
|
|
17
|
+
index === -1 ? schema.description : schema.description.substring(0, index)
|
|
18
|
+
).trim();
|
|
19
|
+
return top.endsWith(".") ? top.substring(0, top.length - 1) : undefined;
|
|
20
|
+
};
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { OpenApi } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
4
|
-
|
|
5
|
-
import { UnionPredicator } from "../helpers/UnionPredicator";
|
|
6
|
-
|
|
7
|
-
export const application_union_discriminator = (
|
|
8
|
-
metadata: Metadata,
|
|
9
|
-
): OpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined => {
|
|
10
|
-
if (
|
|
11
|
-
metadata.size() === 0 ||
|
|
12
|
-
metadata.size() !== metadata.objects.length ||
|
|
13
|
-
metadata.objects.some((o) => o.isLiteral()) === true
|
|
14
|
-
)
|
|
15
|
-
return undefined;
|
|
16
|
-
const specialized: UnionPredicator.ISpecialized[] = UnionPredicator.object(
|
|
17
|
-
metadata.objects,
|
|
18
|
-
);
|
|
19
|
-
const meet: boolean =
|
|
20
|
-
specialized.length === metadata.objects.length &&
|
|
21
|
-
specialized.every(
|
|
22
|
-
(s) => s.property.key.isSoleLiteral() && s.property.value.isSoleLiteral(),
|
|
23
|
-
) &&
|
|
24
|
-
new Set(specialized.map((s) => s.property.key.getSoleLiteral())).size === 1;
|
|
25
|
-
if (meet === false) return undefined;
|
|
26
|
-
return {
|
|
27
|
-
propertyName: specialized[0]!.property.key.getSoleLiteral()!,
|
|
28
|
-
mapping: Object.fromEntries(
|
|
29
|
-
specialized.map((s) => [
|
|
30
|
-
s.property.value.getSoleLiteral()!,
|
|
31
|
-
`#/components/schemas/${s.object.name}`,
|
|
32
|
-
]),
|
|
33
|
-
),
|
|
34
|
-
};
|
|
35
|
-
};
|
|
1
|
+
import { OpenApi } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
4
|
+
|
|
5
|
+
import { UnionPredicator } from "../helpers/UnionPredicator";
|
|
6
|
+
|
|
7
|
+
export const application_union_discriminator = (
|
|
8
|
+
metadata: Metadata,
|
|
9
|
+
): OpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined => {
|
|
10
|
+
if (
|
|
11
|
+
metadata.size() === 0 ||
|
|
12
|
+
metadata.size() !== metadata.objects.length ||
|
|
13
|
+
metadata.objects.some((o) => o.isLiteral()) === true
|
|
14
|
+
)
|
|
15
|
+
return undefined;
|
|
16
|
+
const specialized: UnionPredicator.ISpecialized[] = UnionPredicator.object(
|
|
17
|
+
metadata.objects,
|
|
18
|
+
);
|
|
19
|
+
const meet: boolean =
|
|
20
|
+
specialized.length === metadata.objects.length &&
|
|
21
|
+
specialized.every(
|
|
22
|
+
(s) => s.property.key.isSoleLiteral() && s.property.value.isSoleLiteral(),
|
|
23
|
+
) &&
|
|
24
|
+
new Set(specialized.map((s) => s.property.key.getSoleLiteral())).size === 1;
|
|
25
|
+
if (meet === false) return undefined;
|
|
26
|
+
return {
|
|
27
|
+
propertyName: specialized[0]!.property.key.getSoleLiteral()!,
|
|
28
|
+
mapping: Object.fromEntries(
|
|
29
|
+
specialized.map((s) => [
|
|
30
|
+
s.property.value.getSoleLiteral()!,
|
|
31
|
+
`#/components/schemas/${s.object.name}`,
|
|
32
|
+
]),
|
|
33
|
+
),
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { OpenApiV3 } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export const application_v30_native = (props: {
|
|
7
|
-
components: OpenApiV3.IComponents;
|
|
8
|
-
name: string;
|
|
9
|
-
nullable: boolean;
|
|
10
|
-
}): OpenApiV3.IJsonSchema => {
|
|
11
|
-
if (props.name === "Blob" || props.name === "File")
|
|
12
|
-
return {
|
|
13
|
-
type: "string",
|
|
14
|
-
format: "binary",
|
|
15
|
-
nullable: props.nullable,
|
|
16
|
-
};
|
|
17
|
-
const key: string = `${props.name}${props.nullable ? ".Nullable" : ""}`;
|
|
18
|
-
if (props.components.schemas?.[key] === undefined) {
|
|
19
|
-
props.components.schemas ??= {};
|
|
20
|
-
props.components.schemas[key] ??= {
|
|
21
|
-
type: "object",
|
|
22
|
-
properties: {},
|
|
23
|
-
nullable: props.nullable,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
return {
|
|
27
|
-
$ref: `#/components/schemas/${key}`,
|
|
28
|
-
};
|
|
29
|
-
};
|
|
1
|
+
import { OpenApiV3 } from "@samchon/openapi";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const application_v30_native = (props: {
|
|
7
|
+
components: OpenApiV3.IComponents;
|
|
8
|
+
name: string;
|
|
9
|
+
nullable: boolean;
|
|
10
|
+
}): OpenApiV3.IJsonSchema => {
|
|
11
|
+
if (props.name === "Blob" || props.name === "File")
|
|
12
|
+
return {
|
|
13
|
+
type: "string",
|
|
14
|
+
format: "binary",
|
|
15
|
+
nullable: props.nullable,
|
|
16
|
+
};
|
|
17
|
+
const key: string = `${props.name}${props.nullable ? ".Nullable" : ""}`;
|
|
18
|
+
if (props.components.schemas?.[key] === undefined) {
|
|
19
|
+
props.components.schemas ??= {};
|
|
20
|
+
props.components.schemas[key] ??= {
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {},
|
|
23
|
+
nullable: props.nullable,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
$ref: `#/components/schemas/${key}`,
|
|
28
|
+
};
|
|
29
|
+
};
|