@typia/utils 13.0.0-dev.20260427-3 → 13.0.0-dev.20260430
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/converters/LlmSchemaConverter.js +6 -15
- package/lib/converters/LlmSchemaConverter.js.map +1 -1
- package/lib/converters/LlmSchemaConverter.mjs +2 -7
- package/lib/converters/LlmSchemaConverter.mjs.map +1 -1
- package/lib/converters/LlmSchemaConverter2.mjs +440 -451
- package/lib/converters/LlmSchemaConverter2.mjs.map +1 -1
- package/lib/converters/OpenApiConverter.mjs +2 -7
- package/lib/converters/OpenApiConverter.mjs.map +1 -1
- package/lib/converters/OpenApiConverter2.mjs +163 -164
- package/lib/converters/OpenApiConverter2.mjs.map +1 -1
- package/lib/converters/index.mjs +1 -7
- package/lib/converters/index.mjs.map +1 -1
- package/lib/converters/index2.mjs +31 -32
- package/lib/converters/index2.mjs.map +1 -1
- package/lib/converters/internal/LlmDescriptionInverter.mjs +2 -7
- package/lib/converters/internal/LlmDescriptionInverter.mjs.map +1 -1
- package/lib/converters/internal/LlmDescriptionInverter2.mjs +143 -150
- package/lib/converters/internal/LlmDescriptionInverter2.mjs.map +1 -1
- package/lib/converters/internal/LlmParametersComposer.mjs +2 -7
- package/lib/converters/internal/LlmParametersComposer.mjs.map +1 -1
- package/lib/converters/internal/LlmParametersComposer2.mjs +37 -44
- package/lib/converters/internal/LlmParametersComposer2.mjs.map +1 -1
- package/lib/converters/internal/OpenApiConstraintShifter.mjs +2 -7
- package/lib/converters/internal/OpenApiConstraintShifter.mjs.map +1 -1
- package/lib/converters/internal/OpenApiConstraintShifter2.mjs +105 -112
- package/lib/converters/internal/OpenApiConstraintShifter2.mjs.map +1 -1
- package/lib/converters/internal/OpenApiExclusiveEmender.mjs +2 -7
- package/lib/converters/internal/OpenApiExclusiveEmender.mjs.map +1 -1
- package/lib/converters/internal/OpenApiExclusiveEmender2.mjs +32 -40
- package/lib/converters/internal/OpenApiExclusiveEmender2.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3Downgrader.mjs +2 -7
- package/lib/converters/internal/OpenApiV3Downgrader.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3Downgrader2.mjs +237 -244
- package/lib/converters/internal/OpenApiV3Downgrader2.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3Upgrader.mjs +2 -7
- package/lib/converters/internal/OpenApiV3Upgrader.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3Upgrader2.mjs +300 -305
- package/lib/converters/internal/OpenApiV3Upgrader2.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3_1Downgrader.mjs +2 -7
- package/lib/converters/internal/OpenApiV3_1Downgrader.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3_1Downgrader2.mjs +193 -200
- package/lib/converters/internal/OpenApiV3_1Downgrader2.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3_1Upgrader.mjs +2 -7
- package/lib/converters/internal/OpenApiV3_1Upgrader.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3_1Upgrader2.mjs +424 -429
- package/lib/converters/internal/OpenApiV3_1Upgrader2.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3_2Upgrader.mjs +2 -7
- package/lib/converters/internal/OpenApiV3_2Upgrader.mjs.map +1 -1
- package/lib/converters/internal/OpenApiV3_2Upgrader2.mjs +202 -208
- package/lib/converters/internal/OpenApiV3_2Upgrader2.mjs.map +1 -1
- package/lib/converters/internal/SwaggerV2Downgrader.mjs +2 -7
- package/lib/converters/internal/SwaggerV2Downgrader.mjs.map +1 -1
- package/lib/converters/internal/SwaggerV2Downgrader2.mjs +287 -294
- package/lib/converters/internal/SwaggerV2Downgrader2.mjs.map +1 -1
- package/lib/converters/internal/SwaggerV2Upgrader.mjs +2 -7
- package/lib/converters/internal/SwaggerV2Upgrader.mjs.map +1 -1
- package/lib/converters/internal/SwaggerV2Upgrader2.mjs +370 -375
- package/lib/converters/internal/SwaggerV2Upgrader2.mjs.map +1 -1
- package/lib/http/HttpError.mjs +2 -7
- package/lib/http/HttpError.mjs.map +1 -1
- package/lib/http/HttpError2.mjs +69 -77
- package/lib/http/HttpError2.mjs.map +1 -1
- package/lib/http/HttpLlm.mjs +2 -7
- package/lib/http/HttpLlm.mjs.map +1 -1
- package/lib/http/HttpLlm2.mjs +107 -112
- package/lib/http/HttpLlm2.mjs.map +1 -1
- package/lib/http/HttpMigration.mjs +2 -7
- package/lib/http/HttpMigration.mjs.map +1 -1
- package/lib/http/HttpMigration2.mjs +58 -63
- package/lib/http/HttpMigration2.mjs.map +1 -1
- package/lib/http/index.mjs +1 -7
- package/lib/http/index.mjs.map +1 -1
- package/lib/http/index2.mjs +30 -31
- package/lib/http/index2.mjs.map +1 -1
- package/lib/http/internal/HttpLlmApplicationComposer.mjs +2 -7
- package/lib/http/internal/HttpLlmApplicationComposer.mjs.map +1 -1
- package/lib/http/internal/HttpLlmApplicationComposer2.mjs +301 -306
- package/lib/http/internal/HttpLlmApplicationComposer2.mjs.map +1 -1
- package/lib/http/internal/HttpLlmFunctionFetcher.mjs +2 -7
- package/lib/http/internal/HttpLlmFunctionFetcher.mjs.map +1 -1
- package/lib/http/internal/HttpLlmFunctionFetcher2.mjs +26 -33
- package/lib/http/internal/HttpLlmFunctionFetcher2.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateApplicationComposer.mjs +2 -7
- package/lib/http/internal/HttpMigrateApplicationComposer.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateApplicationComposer2.mjs +51 -56
- package/lib/http/internal/HttpMigrateApplicationComposer2.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateRouteAccessor.mjs +2 -7
- package/lib/http/internal/HttpMigrateRouteAccessor.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateRouteAccessor2.mjs +113 -118
- package/lib/http/internal/HttpMigrateRouteAccessor2.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateRouteComposer.mjs +2 -7
- package/lib/http/internal/HttpMigrateRouteComposer.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateRouteComposer2.mjs +376 -381
- package/lib/http/internal/HttpMigrateRouteComposer2.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateRouteFetcher.mjs +2 -7
- package/lib/http/internal/HttpMigrateRouteFetcher.mjs.map +1 -1
- package/lib/http/internal/HttpMigrateRouteFetcher2.mjs +182 -189
- package/lib/http/internal/HttpMigrateRouteFetcher2.mjs.map +1 -1
- package/lib/index.mjs +1 -7
- package/lib/index.mjs.map +1 -1
- package/lib/index2.mjs +33 -33
- package/lib/index2.mjs.map +1 -1
- package/lib/utils/ArrayUtil.mjs +2 -7
- package/lib/utils/ArrayUtil.mjs.map +1 -1
- package/lib/utils/ArrayUtil2.mjs +29 -37
- package/lib/utils/ArrayUtil2.mjs.map +1 -1
- package/lib/utils/LlmJson.mjs +2 -7
- package/lib/utils/LlmJson.mjs.map +1 -1
- package/lib/utils/LlmJson2.mjs +166 -169
- package/lib/utils/LlmJson2.mjs.map +1 -1
- package/lib/utils/MapUtil.mjs +2 -7
- package/lib/utils/MapUtil.mjs.map +1 -1
- package/lib/utils/MapUtil2.mjs +16 -24
- package/lib/utils/MapUtil2.mjs.map +1 -1
- package/lib/utils/NamingConvention.mjs +2 -7
- package/lib/utils/NamingConvention.mjs.map +1 -1
- package/lib/utils/NamingConvention2.mjs +199 -207
- package/lib/utils/NamingConvention2.mjs.map +1 -1
- package/lib/utils/Singleton.d.ts +1 -6
- package/lib/utils/Singleton.js +1 -0
- package/lib/utils/Singleton.js.map +1 -1
- package/lib/utils/Singleton.mjs +2 -7
- package/lib/utils/Singleton.mjs.map +1 -1
- package/lib/utils/Singleton2.mjs +17 -24
- package/lib/utils/Singleton2.mjs.map +1 -1
- package/lib/utils/StringUtil.mjs +2 -7
- package/lib/utils/StringUtil.mjs.map +1 -1
- package/lib/utils/StringUtil2.mjs +14 -22
- package/lib/utils/StringUtil2.mjs.map +1 -1
- package/lib/utils/dedent.mjs +2 -7
- package/lib/utils/dedent.mjs.map +1 -1
- package/lib/utils/dedent2.mjs +50 -58
- package/lib/utils/dedent2.mjs.map +1 -1
- package/lib/utils/index.mjs +1 -7
- package/lib/utils/index.mjs.map +1 -1
- package/lib/utils/index2.mjs +42 -39
- package/lib/utils/index2.mjs.map +1 -1
- package/lib/utils/internal/EndpointUtil.mjs +2 -7
- package/lib/utils/internal/EndpointUtil.mjs.map +1 -1
- package/lib/utils/internal/EndpointUtil2.mjs +39 -46
- package/lib/utils/internal/EndpointUtil2.mjs.map +1 -1
- package/lib/utils/internal/JsonDescriptor.mjs +2 -7
- package/lib/utils/internal/JsonDescriptor.mjs.map +1 -1
- package/lib/utils/internal/JsonDescriptor2.mjs +55 -61
- package/lib/utils/internal/JsonDescriptor2.mjs.map +1 -1
- package/lib/utils/internal/OpenApiTypeCheckerBase.js +23 -14
- package/lib/utils/internal/OpenApiTypeCheckerBase.js.map +1 -1
- package/lib/utils/internal/OpenApiTypeCheckerBase.mjs +2 -7
- package/lib/utils/internal/OpenApiTypeCheckerBase.mjs.map +1 -1
- package/lib/utils/internal/OpenApiTypeCheckerBase2.mjs +539 -536
- package/lib/utils/internal/OpenApiTypeCheckerBase2.mjs.map +1 -1
- package/lib/utils/internal/coerceLlmArguments.js +27 -1
- package/lib/utils/internal/coerceLlmArguments.js.map +1 -1
- package/lib/utils/internal/coerceLlmArguments.mjs +2 -7
- package/lib/utils/internal/coerceLlmArguments.mjs.map +1 -1
- package/lib/utils/internal/coerceLlmArguments2.mjs +278 -258
- package/lib/utils/internal/coerceLlmArguments2.mjs.map +1 -1
- package/lib/utils/internal/parseLenientJson.mjs +2 -7
- package/lib/utils/internal/parseLenientJson.mjs.map +1 -1
- package/lib/utils/internal/parseLenientJson2.mjs +803 -811
- package/lib/utils/internal/parseLenientJson2.mjs.map +1 -1
- package/lib/utils/internal/stringifyValidationFailure.mjs +2 -7
- package/lib/utils/internal/stringifyValidationFailure.mjs.map +1 -1
- package/lib/utils/internal/stringifyValidationFailure2.mjs +310 -316
- package/lib/utils/internal/stringifyValidationFailure2.mjs.map +1 -1
- package/lib/validators/LlmTypeChecker.mjs +2 -7
- package/lib/validators/LlmTypeChecker.mjs.map +1 -1
- package/lib/validators/LlmTypeChecker2.mjs +314 -320
- package/lib/validators/LlmTypeChecker2.mjs.map +1 -1
- package/lib/validators/OpenApiTypeChecker.mjs +2 -7
- package/lib/validators/OpenApiTypeChecker.mjs.map +1 -1
- package/lib/validators/OpenApiTypeChecker2.mjs +209 -216
- package/lib/validators/OpenApiTypeChecker2.mjs.map +1 -1
- package/lib/validators/OpenApiV3TypeChecker.mjs +2 -7
- package/lib/validators/OpenApiV3TypeChecker.mjs.map +1 -1
- package/lib/validators/OpenApiV3TypeChecker2.mjs +30 -38
- package/lib/validators/OpenApiV3TypeChecker2.mjs.map +1 -1
- package/lib/validators/OpenApiV3_1TypeChecker.mjs +2 -7
- package/lib/validators/OpenApiV3_1TypeChecker.mjs.map +1 -1
- package/lib/validators/OpenApiV3_1TypeChecker2.mjs +34 -42
- package/lib/validators/OpenApiV3_1TypeChecker2.mjs.map +1 -1
- package/lib/validators/OpenApiValidator.mjs +2 -7
- package/lib/validators/OpenApiValidator.mjs.map +1 -1
- package/lib/validators/OpenApiValidator2.mjs +73 -80
- package/lib/validators/OpenApiValidator2.mjs.map +1 -1
- package/lib/validators/SwaggerV2TypeChecker.mjs +2 -7
- package/lib/validators/SwaggerV2TypeChecker.mjs.map +1 -1
- package/lib/validators/SwaggerV2TypeChecker2.mjs +31 -39
- package/lib/validators/SwaggerV2TypeChecker2.mjs.map +1 -1
- package/lib/validators/functional/_isBigintString.mjs +2 -7
- package/lib/validators/functional/_isBigintString.mjs.map +1 -1
- package/lib/validators/functional/_isBigintString2.mjs +14 -22
- package/lib/validators/functional/_isBigintString2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatByte.mjs +2 -7
- package/lib/validators/functional/_isFormatByte.mjs.map +1 -1
- package/lib/validators/functional/_isFormatByte2.mjs +10 -18
- package/lib/validators/functional/_isFormatByte2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatDate.mjs +2 -7
- package/lib/validators/functional/_isFormatDate.mjs.map +1 -1
- package/lib/validators/functional/_isFormatDate2.mjs +7 -15
- package/lib/validators/functional/_isFormatDate2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatDateTime.mjs +2 -7
- package/lib/validators/functional/_isFormatDateTime.mjs.map +1 -1
- package/lib/validators/functional/_isFormatDateTime2.mjs +7 -15
- package/lib/validators/functional/_isFormatDateTime2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatDuration.mjs +2 -7
- package/lib/validators/functional/_isFormatDuration.mjs.map +1 -1
- package/lib/validators/functional/_isFormatDuration2.mjs +7 -15
- package/lib/validators/functional/_isFormatDuration2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatEmail.mjs +2 -7
- package/lib/validators/functional/_isFormatEmail.mjs.map +1 -1
- package/lib/validators/functional/_isFormatEmail2.mjs +7 -15
- package/lib/validators/functional/_isFormatEmail2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatHostname.mjs +2 -7
- package/lib/validators/functional/_isFormatHostname.mjs.map +1 -1
- package/lib/validators/functional/_isFormatHostname2.mjs +7 -15
- package/lib/validators/functional/_isFormatHostname2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIdnEmail.mjs +2 -7
- package/lib/validators/functional/_isFormatIdnEmail.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIdnEmail2.mjs +7 -15
- package/lib/validators/functional/_isFormatIdnEmail2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIdnHostname.mjs +2 -7
- package/lib/validators/functional/_isFormatIdnHostname.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIdnHostname2.mjs +7 -15
- package/lib/validators/functional/_isFormatIdnHostname2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIpv4.mjs +2 -7
- package/lib/validators/functional/_isFormatIpv4.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIpv42.mjs +7 -15
- package/lib/validators/functional/_isFormatIpv42.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIpv6.mjs +2 -7
- package/lib/validators/functional/_isFormatIpv6.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIpv62.mjs +7 -15
- package/lib/validators/functional/_isFormatIpv62.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIri.mjs +2 -7
- package/lib/validators/functional/_isFormatIri.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIri2.mjs +7 -15
- package/lib/validators/functional/_isFormatIri2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIriReference.mjs +2 -7
- package/lib/validators/functional/_isFormatIriReference.mjs.map +1 -1
- package/lib/validators/functional/_isFormatIriReference2.mjs +7 -15
- package/lib/validators/functional/_isFormatIriReference2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatJsonPointer.mjs +2 -7
- package/lib/validators/functional/_isFormatJsonPointer.mjs.map +1 -1
- package/lib/validators/functional/_isFormatJsonPointer2.mjs +7 -15
- package/lib/validators/functional/_isFormatJsonPointer2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatPassword.mjs +2 -7
- package/lib/validators/functional/_isFormatPassword.mjs.map +1 -1
- package/lib/validators/functional/_isFormatPassword2.mjs +6 -14
- package/lib/validators/functional/_isFormatPassword2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatRegex.mjs +2 -7
- package/lib/validators/functional/_isFormatRegex.mjs.map +1 -1
- package/lib/validators/functional/_isFormatRegex2.mjs +14 -22
- package/lib/validators/functional/_isFormatRegex2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatRelativeJsonPointer.mjs +2 -7
- package/lib/validators/functional/_isFormatRelativeJsonPointer.mjs.map +1 -1
- package/lib/validators/functional/_isFormatRelativeJsonPointer2.mjs +7 -15
- package/lib/validators/functional/_isFormatRelativeJsonPointer2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatTime.mjs +2 -7
- package/lib/validators/functional/_isFormatTime.mjs.map +1 -1
- package/lib/validators/functional/_isFormatTime2.mjs +7 -15
- package/lib/validators/functional/_isFormatTime2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUri.mjs +2 -7
- package/lib/validators/functional/_isFormatUri.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUri2.mjs +8 -16
- package/lib/validators/functional/_isFormatUri2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUriReference.mjs +2 -7
- package/lib/validators/functional/_isFormatUriReference.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUriReference2.mjs +7 -15
- package/lib/validators/functional/_isFormatUriReference2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUriTemplate.mjs +2 -7
- package/lib/validators/functional/_isFormatUriTemplate.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUriTemplate2.mjs +7 -15
- package/lib/validators/functional/_isFormatUriTemplate2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUrl.mjs +2 -7
- package/lib/validators/functional/_isFormatUrl.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUrl2.mjs +7 -15
- package/lib/validators/functional/_isFormatUrl2.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUuid.mjs +2 -7
- package/lib/validators/functional/_isFormatUuid.mjs.map +1 -1
- package/lib/validators/functional/_isFormatUuid2.mjs +7 -15
- package/lib/validators/functional/_isFormatUuid2.mjs.map +1 -1
- package/lib/validators/functional/_isUniqueItems.mjs +2 -7
- package/lib/validators/functional/_isUniqueItems.mjs.map +1 -1
- package/lib/validators/functional/_isUniqueItems2.mjs +140 -148
- package/lib/validators/functional/_isUniqueItems2.mjs.map +1 -1
- package/lib/validators/index.mjs +1 -7
- package/lib/validators/index.mjs.map +1 -1
- package/lib/validators/index2.mjs +42 -40
- package/lib/validators/index2.mjs.map +1 -1
- package/lib/validators/internal/IOpenApiValidatorContext.mjs +2 -7
- package/lib/validators/internal/IOpenApiValidatorContext.mjs.map +1 -1
- package/lib/validators/internal/IOpenApiValidatorContext2.mjs +2 -10
- package/lib/validators/internal/IOpenApiValidatorContext2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiArrayValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiArrayValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiArrayValidator2.mjs +36 -42
- package/lib/validators/internal/OpenApiArrayValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiBooleanValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiBooleanValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiBooleanValidator2.mjs +10 -18
- package/lib/validators/internal/OpenApiBooleanValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiConstantValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiConstantValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiConstantValidator2.mjs +10 -18
- package/lib/validators/internal/OpenApiConstantValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiIntegerValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiIntegerValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiIntegerValidator2.mjs +33 -41
- package/lib/validators/internal/OpenApiIntegerValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiNumberValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiNumberValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiNumberValidator2.mjs +33 -41
- package/lib/validators/internal/OpenApiNumberValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiObjectValidator.js +2 -3
- package/lib/validators/internal/OpenApiObjectValidator.js.map +1 -1
- package/lib/validators/internal/OpenApiObjectValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiObjectValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiObjectValidator2.mjs +55 -62
- package/lib/validators/internal/OpenApiObjectValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiOneOfValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiOneOfValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiOneOfValidator2.mjs +188 -193
- package/lib/validators/internal/OpenApiOneOfValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiSchemaNamingRule.mjs +2 -7
- package/lib/validators/internal/OpenApiSchemaNamingRule.mjs.map +1 -1
- package/lib/validators/internal/OpenApiSchemaNamingRule2.mjs +124 -131
- package/lib/validators/internal/OpenApiSchemaNamingRule2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiStationValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiStationValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiStationValidator2.mjs +86 -83
- package/lib/validators/internal/OpenApiStationValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiStringValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiStringValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiStringValidator2.mjs +115 -102
- package/lib/validators/internal/OpenApiStringValidator2.mjs.map +1 -1
- package/lib/validators/internal/OpenApiTupleValidator.mjs +2 -7
- package/lib/validators/internal/OpenApiTupleValidator.mjs.map +1 -1
- package/lib/validators/internal/OpenApiTupleValidator2.mjs +33 -40
- package/lib/validators/internal/OpenApiTupleValidator2.mjs.map +1 -1
- package/package.json +4 -4
- package/src/converters/LlmSchemaConverter.ts +1 -8
- package/src/utils/Singleton.ts +1 -0
- package/src/utils/internal/OpenApiTypeCheckerBase.ts +12 -3
- package/src/utils/internal/coerceLlmArguments.ts +27 -1
- package/src/validators/internal/OpenApiObjectValidator.ts +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmSchemaConverter2.mjs","sources":["LlmSchemaConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LlmSchemaConverter = void 0;\nconst JsonDescriptor_1 = require(\"../utils/internal/JsonDescriptor\");\nconst LlmTypeChecker_1 = require(\"../validators/LlmTypeChecker\");\nconst OpenApiTypeChecker_1 = require(\"../validators/OpenApiTypeChecker\");\nconst LlmDescriptionInverter_1 = require(\"./internal/LlmDescriptionInverter\");\nconst LlmParametersComposer_1 = require(\"./internal/LlmParametersComposer\");\nconst OpenApiConstraintShifter_1 = require(\"./internal/OpenApiConstraintShifter\");\n/**\n * OpenAPI to LLM schema converter.\n *\n * `LlmSchemaConverter` converts OpenAPI JSON schemas to LLM-compatible\n * {@link ILlmSchema} format. LLMs don't fully support JSON Schema, so this\n * simplifies schemas by removing unsupported features (tuples, `const`, mixed\n * unions).\n *\n * Main functions:\n *\n * - {@link parameters}: Convert object schema to {@link ILlmSchema.IParameters}\n * - {@link schema}: Convert any schema to {@link ILlmSchema}\n * - {@link invert}: Extract constraints from description back to schema\n *\n * Configuration options ({@link ILlmSchema.IConfig}):\n *\n * - `strict`: OpenAI structured output mode (all properties required)\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar LlmSchemaConverter;\n(function (LlmSchemaConverter) {\n /**\n * Get configuration with defaults applied.\n *\n * @param config Partial configuration\n * @returns Full configuration with defaults\n */\n LlmSchemaConverter.getConfig = (config) => { var _a; return ({\n strict: (_a = config === null || config === void 0 ? void 0 : config.strict) !== null && _a !== void 0 ? _a : false,\n }); };\n /* -----------------------------------------------------------\n CONVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert OpenAPI object schema to LLM parameters schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.schema Object or reference schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted parameters or error\n */\n LlmSchemaConverter.parameters = (props) => {\n const config = LlmSchemaConverter.getConfig(props.config);\n const entity = LlmParametersComposer_1.LlmParametersFinder.parameters(Object.assign(Object.assign({}, props), { method: \"LlmSchemaConverter.parameters\" }));\n if (entity.success === false)\n return entity;\n const $defs = {};\n const result = transform(Object.assign(Object.assign({}, props), { config,\n $defs, schema: entity.value }));\n if (result.success === false)\n return result;\n return {\n success: true,\n value: Object.assign(Object.assign({}, result.value), { additionalProperties: false, $defs, description: OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(props.schema)\n ? JsonDescriptor_1.JsonDescriptor.cascade({\n prefix: \"#/components/schemas/\",\n components: props.components,\n schema: Object.assign(Object.assign({}, props.schema), { description: result.value.description }),\n escape: true,\n })\n : result.value.description }),\n };\n };\n /**\n * Convert OpenAPI schema to LLM schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.$defs Definition store (mutated with referenced types)\n * @param props.schema Schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted schema or error\n */\n LlmSchemaConverter.schema = (props) => transform({\n config: LlmSchemaConverter.getConfig(props.config),\n components: props.components,\n $defs: props.$defs,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n const transform = (props) => {\n var _a, _b;\n // PREPARE ASSETS\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n // VALIDADTE SCHEMA\n const reasons = [];\n OpenApiTypeChecker_1.OpenApiTypeChecker.visit({\n closure: (next, accessor) => {\n var _a;\n var _b;\n if (props.config.strict === true) {\n // STRICT MODE VALIDATION\n reasons.push(...validateStrict(next, accessor));\n }\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(next))\n reasons.push({\n accessor,\n schema: next,\n message: `LLM does not allow tuple type.`,\n });\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(next)) {\n // UNABLE TO FIND MATCHED REFERENCE\n const key = (_b = next.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : next.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined)\n reasons.push({\n schema: next,\n accessor: accessor,\n message: `unable to find reference type ${JSON.stringify(key)}.`,\n });\n }\n },\n components: props.components,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n const visitConstant = (input) => {\n const insert = (value) => {\n var _a;\n const matched = union.find((u) => (u === null || u === void 0 ? void 0 : u.type) === typeof value);\n if (matched !== undefined) {\n (_a = matched.enum) !== null && _a !== void 0 ? _a : (matched.enum = []);\n matched.enum.push(value);\n }\n else\n union.push({\n type: typeof value,\n enum: [value],\n });\n };\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input))\n insert(input.const);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input))\n input.oneOf.forEach(visitConstant);\n };\n const visit = (input, accessor) => {\n var _a;\n var _b, _c, _d, _e;\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input)) {\n // UNION TYPE\n input.oneOf.forEach((s, i) => visit(s, `${accessor}.oneOf[${i}]`));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(input)) {\n // REFERENCE TYPE\n const key = (_b = input.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : input.$ref.split(\"/\").at(-1);\n const target = (_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key];\n if (target === undefined)\n return;\n else {\n // KEEP THE REFERENCE TYPE\n const out = () => {\n union.push(Object.assign(Object.assign({}, input), { $ref: `#/$defs/${key}` }));\n };\n if (props.$defs[key] !== undefined)\n return out();\n props.$defs[key] = {};\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: target,\n refAccessor: props.refAccessor,\n accessor: `${(_c = props.refAccessor) !== null && _c !== void 0 ? _c : \"$def\"}[${JSON.stringify(key)}]`,\n });\n if (converted.success === false)\n return; // UNREACHABLE\n props.$defs[key] = converted.value;\n return out();\n }\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(input)) {\n // OBJECT TYPE\n const properties = Object.fromEntries(Object.entries((_d = input.properties) !== null && _d !== void 0 ? _d : {})\n .map(([key, value]) => {\n var _a;\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: value,\n refAccessor: props.refAccessor,\n accessor: `${(_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\"}.properties[${JSON.stringify(key)}]`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return [key, null];\n }\n return [key, converted.value];\n })\n .filter(([, value]) => value !== null));\n if (Object.values(properties).some((v) => v === null))\n return;\n const additionalProperties = (() => {\n if (typeof input.additionalProperties === \"object\" &&\n input.additionalProperties !== null) {\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.additionalProperties,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.additionalProperties`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return null;\n }\n return converted.value;\n }\n return props.config.strict === true\n ? false\n : input.additionalProperties;\n })();\n if (additionalProperties === null)\n return;\n union.push(Object.assign(Object.assign({}, input), { properties,\n additionalProperties, required: (_e = input.required) !== null && _e !== void 0 ? _e : [], description: props.config.strict === true\n ? JsonDescriptor_1.JsonDescriptor.take(input)\n : input.description }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isArray(input)) {\n // ARRAY TYPE\n const items = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.items,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.items`,\n });\n if (items.success === false) {\n reasons.push(...items.error.reasons);\n return;\n }\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftArray(Object.assign(Object.assign({}, input), { items: items.value }))\n : Object.assign(Object.assign({}, input), { items: items.value }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isString(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftString(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isNumber(input) ||\n OpenApiTypeChecker_1.OpenApiTypeChecker.isInteger(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftNumeric(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(input))\n return; // UNREACHABLE\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input) === false)\n union.push(Object.assign({}, input));\n };\n visitConstant(props.schema);\n visit(props.schema, (_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\");\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n else if (union.length === 0)\n return {\n // unknown type\n success: true,\n value: Object.assign(Object.assign({}, attribute), { type: undefined }),\n };\n else if (union.length === 1)\n return {\n // single type\n success: true,\n value: Object.assign(Object.assign(Object.assign({}, attribute), union[0]), { description: props.config.strict === true &&\n LlmTypeChecker_1.LlmTypeChecker.isReference(union[0])\n ? undefined\n : ((_b = union[0].description) !== null && _b !== void 0 ? _b : attribute.description) }),\n };\n return {\n success: true,\n value: Object.assign(Object.assign({}, attribute), { anyOf: union.map((u) => (Object.assign(Object.assign({}, u), { description: props.config.strict === true && LlmTypeChecker_1.LlmTypeChecker.isReference(u)\n ? undefined\n : u.description }))), \"x-discriminator\": OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(props.schema) &&\n props.schema.discriminator !== undefined &&\n props.schema.oneOf.length === union.length &&\n union.every((e) => LlmTypeChecker_1.LlmTypeChecker.isReference(e) || LlmTypeChecker_1.LlmTypeChecker.isNull(e))\n ? {\n propertyName: props.schema.discriminator.propertyName,\n mapping: props.schema.discriminator.mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema.discriminator.mapping).map(([key, value]) => [\n key,\n `#/$defs/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined }),\n };\n };\n /* -----------------------------------------------------------\n INVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert LLM schema back to OpenAPI schema.\n *\n * Restores constraint information from description tags and converts `$defs`\n * references to `#/components/schemas`.\n *\n * @param props.components Target components (mutated with definitions)\n * @param props.schema LLM schema to invert\n * @param props.$defs LLM schema definitions\n * @returns OpenAPI JSON schema\n */\n LlmSchemaConverter.invert = (props) => {\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n const next = (schema) => LlmSchemaConverter.invert({\n components: props.components,\n $defs: props.$defs,\n schema,\n });\n const visit = (schema) => {\n var _a, _b, _c, _d;\n var _e, _f, _g;\n var _h;\n if (LlmTypeChecker_1.LlmTypeChecker.isArray(schema))\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.array(schema.description)), { items: next(schema.items) }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isObject(schema))\n union.push(Object.assign(Object.assign({}, schema), { properties: Object.fromEntries(Object.entries(schema.properties).map(([key, value]) => [\n key,\n next(value),\n ])), additionalProperties: typeof schema.additionalProperties === \"object\" &&\n schema.additionalProperties !== null\n ? next(schema.additionalProperties)\n : schema.additionalProperties }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isAnyOf(schema))\n schema.anyOf.forEach(visit);\n else if (LlmTypeChecker_1.LlmTypeChecker.isReference(schema)) {\n const key = (_e = schema.$ref.split(\"#/$defs/\")[1]) !== null && _e !== void 0 ? _e : schema.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {\n (_f = (_h = props.components).schemas) !== null && _f !== void 0 ? _f : (_h.schemas = {});\n props.components.schemas[key] = {};\n props.components.schemas[key] = next((_g = props.$defs[key]) !== null && _g !== void 0 ? _g : {});\n }\n union.push(Object.assign(Object.assign({}, schema), { $ref: `#/components/schemas/${key}` }));\n }\n else if (LlmTypeChecker_1.LlmTypeChecker.isBoolean(schema))\n if (!!((_b = schema.enum) === null || _b === void 0 ? void 0 : _b.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(schema);\n else if (LlmTypeChecker_1.LlmTypeChecker.isInteger(schema) ||\n LlmTypeChecker_1.LlmTypeChecker.isNumber(schema))\n if (!!((_c = schema.enum) === null || _c === void 0 ? void 0 : _c.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.numeric(schema.description)), { enum: undefined }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isString(schema))\n if (!!((_d = schema.enum) === null || _d === void 0 ? void 0 : _d.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.string(schema.description)), { enum: undefined }));\n else\n union.push(Object.assign({}, schema));\n };\n visit(props.schema);\n return Object.assign(Object.assign({}, attribute), (union.length === 0\n ? { type: undefined }\n : union.length === 1\n ? Object.assign({}, union[0]) : {\n oneOf: union.map((u) => (Object.assign(Object.assign({}, u), { nullable: undefined }))),\n discriminator: LlmTypeChecker_1.LlmTypeChecker.isAnyOf(props.schema) &&\n props.schema[\"x-discriminator\"] !== undefined\n ? {\n propertyName: props.schema[\"x-discriminator\"].propertyName,\n mapping: props.schema[\"x-discriminator\"].mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema[\"x-discriminator\"].mapping).map(([key, value]) => [\n key,\n `#/components/schemas/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined,\n }));\n };\n})(LlmSchemaConverter || (exports.LlmSchemaConverter = LlmSchemaConverter = {}));\nconst validateStrict = (schema, accessor) => {\n var _a;\n var _b;\n const reasons = [];\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(schema)) {\n if (!!schema.additionalProperties)\n reasons.push({\n schema: schema,\n accessor: `${accessor}.additionalProperties`,\n message: \"LLM does not allow additionalProperties in strict mode, the dynamic key typed object.\",\n });\n for (const key of Object.keys((_b = schema.properties) !== null && _b !== void 0 ? _b : {}))\n if (((_a = schema.required) === null || _a === void 0 ? void 0 : _a.includes(key)) === false)\n reasons.push({\n schema: schema,\n accessor: `${accessor}.properties.${key}`,\n message: \"LLM does not allow optional properties in strict mode.\",\n });\n }\n return reasons;\n};\n//# sourceMappingURL=LlmSchemaConverter.js.map"],"names":["LlmSchemaConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","LlmSchemaConverter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LlmSchemaConverter2.mjs","sources":["LlmSchemaConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LlmSchemaConverter = void 0;\nconst JsonDescriptor_1 = require(\"../utils/internal/JsonDescriptor\");\nconst LlmTypeChecker_1 = require(\"../validators/LlmTypeChecker\");\nconst OpenApiTypeChecker_1 = require(\"../validators/OpenApiTypeChecker\");\nconst LlmDescriptionInverter_1 = require(\"./internal/LlmDescriptionInverter\");\nconst LlmParametersComposer_1 = require(\"./internal/LlmParametersComposer\");\nconst OpenApiConstraintShifter_1 = require(\"./internal/OpenApiConstraintShifter\");\n/**\n * OpenAPI to LLM schema converter.\n *\n * `LlmSchemaConverter` converts OpenAPI JSON schemas to LLM-compatible\n * {@link ILlmSchema} format. LLMs don't fully support JSON Schema, so this\n * simplifies schemas by removing unsupported features (tuples, `const`, mixed\n * unions).\n *\n * Main functions:\n *\n * - {@link parameters}: Convert object schema to {@link ILlmSchema.IParameters}\n * - {@link schema}: Convert any schema to {@link ILlmSchema}\n * - {@link invert}: Extract constraints from description back to schema\n *\n * Configuration options ({@link ILlmSchema.IConfig}):\n *\n * - `strict`: OpenAI structured output mode (all properties required)\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar LlmSchemaConverter;\n(function (LlmSchemaConverter) {\n /**\n * Get configuration with defaults applied.\n *\n * @param config Partial configuration\n * @returns Full configuration with defaults\n */\n LlmSchemaConverter.getConfig = (config) => { var _a; return ({\n strict: (_a = config === null || config === void 0 ? void 0 : config.strict) !== null && _a !== void 0 ? _a : false,\n }); };\n /* -----------------------------------------------------------\n CONVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert OpenAPI object schema to LLM parameters schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.schema Object or reference schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted parameters or error\n */\n LlmSchemaConverter.parameters = (props) => {\n const config = LlmSchemaConverter.getConfig(props.config);\n const entity = LlmParametersComposer_1.LlmParametersFinder.parameters(Object.assign(Object.assign({}, props), { method: \"LlmSchemaConverter.parameters\" }));\n if (entity.success === false)\n return entity;\n const $defs = {};\n const result = transform(Object.assign(Object.assign({}, props), { config,\n $defs, schema: entity.value }));\n if (result.success === false)\n return result;\n return {\n success: true,\n value: Object.assign(Object.assign({}, result.value), { additionalProperties: false, $defs, description: OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(props.schema)\n ? JsonDescriptor_1.JsonDescriptor.cascade({\n prefix: \"#/components/schemas/\",\n components: props.components,\n schema: Object.assign(Object.assign({}, props.schema), { description: result.value.description }),\n escape: true,\n })\n : result.value.description }),\n };\n };\n /**\n * Convert OpenAPI schema to LLM schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.$defs Definition store (mutated with referenced types)\n * @param props.schema Schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted schema or error\n */\n LlmSchemaConverter.schema = (props) => transform({\n config: LlmSchemaConverter.getConfig(props.config),\n components: props.components,\n $defs: props.$defs,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n const transform = (props) => {\n var _a, _b;\n // PREPARE ASSETS\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n // VALIDADTE SCHEMA\n const reasons = [];\n OpenApiTypeChecker_1.OpenApiTypeChecker.visit({\n closure: (next, accessor) => {\n var _a;\n var _b;\n if (props.config.strict === true) {\n // STRICT MODE VALIDATION\n reasons.push(...validateStrict(next, accessor));\n }\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(next))\n reasons.push({\n accessor,\n schema: next,\n message: `LLM does not allow tuple type.`,\n });\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(next)) {\n // UNABLE TO FIND MATCHED REFERENCE\n const key = (_b = next.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : next.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined)\n reasons.push({\n schema: next,\n accessor: accessor,\n message: `unable to find reference type ${JSON.stringify(key)}.`,\n });\n }\n },\n components: props.components,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n const visitConstant = (input) => {\n const insert = (value) => {\n var _a;\n const matched = union.find((u) => (u === null || u === void 0 ? void 0 : u.type) === typeof value);\n if (matched !== undefined) {\n (_a = matched.enum) !== null && _a !== void 0 ? _a : (matched.enum = []);\n matched.enum.push(value);\n }\n else\n union.push({\n type: typeof value,\n enum: [value],\n });\n };\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input))\n insert(input.const);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input))\n input.oneOf.forEach(visitConstant);\n };\n const visit = (input, accessor) => {\n var _a;\n var _b, _c, _d, _e;\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input)) {\n // UNION TYPE\n input.oneOf.forEach((s, i) => visit(s, `${accessor}.oneOf[${i}]`));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(input)) {\n // REFERENCE TYPE\n const key = (_b = input.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : input.$ref.split(\"/\").at(-1);\n const target = (_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key];\n if (target === undefined)\n return;\n else {\n // KEEP THE REFERENCE TYPE\n const out = () => {\n union.push(Object.assign(Object.assign({}, input), { $ref: `#/$defs/${key}` }));\n };\n if (props.$defs[key] !== undefined)\n return out();\n props.$defs[key] = {};\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: target,\n refAccessor: props.refAccessor,\n accessor: `${(_c = props.refAccessor) !== null && _c !== void 0 ? _c : \"$def\"}[${JSON.stringify(key)}]`,\n });\n if (converted.success === false)\n return; // UNREACHABLE\n props.$defs[key] = converted.value;\n return out();\n }\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(input)) {\n // OBJECT TYPE\n const properties = Object.fromEntries(Object.entries((_d = input.properties) !== null && _d !== void 0 ? _d : {})\n .map(([key, value]) => {\n var _a;\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: value,\n refAccessor: props.refAccessor,\n accessor: `${(_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\"}.properties[${JSON.stringify(key)}]`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return [key, null];\n }\n return [key, converted.value];\n })\n .filter(([, value]) => value !== null));\n if (Object.values(properties).some((v) => v === null))\n return;\n const additionalProperties = (() => {\n if (typeof input.additionalProperties === \"object\" &&\n input.additionalProperties !== null) {\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.additionalProperties,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.additionalProperties`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return null;\n }\n return converted.value;\n }\n return props.config.strict === true\n ? false\n : input.additionalProperties;\n })();\n if (additionalProperties === null)\n return;\n union.push(Object.assign(Object.assign({}, input), { properties,\n additionalProperties, required: (_e = input.required) !== null && _e !== void 0 ? _e : [], description: props.config.strict === true\n ? JsonDescriptor_1.JsonDescriptor.take(input)\n : input.description }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isArray(input)) {\n // ARRAY TYPE\n const items = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.items,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.items`,\n });\n if (items.success === false) {\n reasons.push(...items.error.reasons);\n return;\n }\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftArray(Object.assign(Object.assign({}, input), { items: items.value }))\n : Object.assign(Object.assign({}, input), { items: items.value }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isString(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftString(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isNumber(input) ||\n OpenApiTypeChecker_1.OpenApiTypeChecker.isInteger(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftNumeric(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(input))\n return; // UNREACHABLE\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input) === false)\n union.push(Object.assign({}, input));\n };\n visitConstant(props.schema);\n visit(props.schema, (_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\");\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n else if (union.length === 0)\n return {\n // unknown type\n success: true,\n value: Object.assign(Object.assign({}, attribute), { type: undefined }),\n };\n else if (union.length === 1)\n return {\n // single type\n success: true,\n value: Object.assign(Object.assign(Object.assign({}, attribute), union[0]), { description: props.config.strict === true &&\n LlmTypeChecker_1.LlmTypeChecker.isReference(union[0])\n ? undefined\n : ((_b = union[0].description) !== null && _b !== void 0 ? _b : attribute.description) }),\n };\n return {\n success: true,\n value: Object.assign(Object.assign({}, attribute), { anyOf: union.map((u) => (Object.assign(Object.assign({}, u), { description: props.config.strict === true && LlmTypeChecker_1.LlmTypeChecker.isReference(u)\n ? undefined\n : u.description }))), \"x-discriminator\": OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(props.schema) &&\n props.schema.discriminator !== undefined &&\n props.schema.oneOf.length === union.length &&\n union.every((e) => LlmTypeChecker_1.LlmTypeChecker.isReference(e) || LlmTypeChecker_1.LlmTypeChecker.isNull(e))\n ? {\n propertyName: props.schema.discriminator.propertyName,\n mapping: props.schema.discriminator.mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema.discriminator.mapping).map(([key, value]) => [\n key,\n `#/$defs/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined }),\n };\n };\n /* -----------------------------------------------------------\n INVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert LLM schema back to OpenAPI schema.\n *\n * Restores constraint information from description tags and converts `$defs`\n * references to `#/components/schemas`.\n *\n * @param props.components Target components (mutated with definitions)\n * @param props.schema LLM schema to invert\n * @param props.$defs LLM schema definitions\n * @returns OpenAPI JSON schema\n */\n LlmSchemaConverter.invert = (props) => {\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n const next = (schema) => LlmSchemaConverter.invert({\n components: props.components,\n $defs: props.$defs,\n schema,\n });\n const visit = (schema) => {\n var _a, _b, _c, _d;\n var _e, _f, _g, _h;\n var _j;\n if (LlmTypeChecker_1.LlmTypeChecker.isArray(schema))\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.array(schema.description)), { items: next(schema.items) }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isObject(schema))\n union.push(Object.assign(Object.assign({}, schema), { properties: Object.fromEntries(Object.entries((_e = schema.properties) !== null && _e !== void 0 ? _e : {}).map(([key, value]) => [\n key,\n next(value),\n ])), additionalProperties: typeof schema.additionalProperties === \"object\" &&\n schema.additionalProperties !== null\n ? next(schema.additionalProperties)\n : schema.additionalProperties }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isAnyOf(schema))\n schema.anyOf.forEach(visit);\n else if (LlmTypeChecker_1.LlmTypeChecker.isReference(schema)) {\n const key = (_f = schema.$ref.split(\"#/$defs/\")[1]) !== null && _f !== void 0 ? _f : schema.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {\n (_g = (_j = props.components).schemas) !== null && _g !== void 0 ? _g : (_j.schemas = {});\n props.components.schemas[key] = {};\n props.components.schemas[key] = next((_h = props.$defs[key]) !== null && _h !== void 0 ? _h : {});\n }\n union.push(Object.assign(Object.assign({}, schema), { $ref: `#/components/schemas/${key}` }));\n }\n else if (LlmTypeChecker_1.LlmTypeChecker.isBoolean(schema))\n if (!!((_b = schema.enum) === null || _b === void 0 ? void 0 : _b.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(schema);\n else if (LlmTypeChecker_1.LlmTypeChecker.isInteger(schema) ||\n LlmTypeChecker_1.LlmTypeChecker.isNumber(schema))\n if (!!((_c = schema.enum) === null || _c === void 0 ? void 0 : _c.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.numeric(schema.description)), { enum: undefined }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isString(schema))\n if (!!((_d = schema.enum) === null || _d === void 0 ? void 0 : _d.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.string(schema.description)), { enum: undefined }));\n else\n union.push(Object.assign({}, schema));\n };\n visit(props.schema);\n return Object.assign(Object.assign({}, attribute), (union.length === 0\n ? { type: undefined }\n : union.length === 1\n ? Object.assign({}, union[0]) : {\n oneOf: union.map((u) => (Object.assign(Object.assign({}, u), { nullable: undefined }))),\n discriminator: LlmTypeChecker_1.LlmTypeChecker.isAnyOf(props.schema) &&\n props.schema[\"x-discriminator\"] !== undefined\n ? {\n propertyName: props.schema[\"x-discriminator\"].propertyName,\n mapping: props.schema[\"x-discriminator\"].mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema[\"x-discriminator\"].mapping).map(([key, value]) => [\n key,\n `#/components/schemas/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined,\n }));\n };\n})(LlmSchemaConverter || (exports.LlmSchemaConverter = LlmSchemaConverter = {}));\nconst validateStrict = (schema, accessor) => {\n const reasons = [];\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(schema)) {\n if (!!schema.additionalProperties)\n reasons.push({\n schema: schema,\n accessor: `${accessor}.additionalProperties`,\n message: \"LLM does not allow additionalProperties in strict mode, the dynamic key typed object.\",\n });\n }\n return reasons;\n};\n//# sourceMappingURL=LlmSchemaConverter.js.map"],"names":["LlmSchemaConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5"],"mappings":"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"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var OpenApiConverterExports = requireOpenApiConverter();
|
|
5
|
-
var OpenApiConverter = /*@__PURE__*/getDefaultExportFromCjs(OpenApiConverterExports);
|
|
6
|
-
|
|
7
|
-
export { OpenApiConverter as default };
|
|
1
|
+
export { OpenApiConverter } from './OpenApiConverter2.mjs';
|
|
2
|
+
export { __exports as default } from '../_virtual/OpenApiConverter.mjs';
|
|
8
3
|
//# sourceMappingURL=OpenApiConverter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiConverter.mjs","sources":[
|
|
1
|
+
{"version":3,"file":"OpenApiConverter.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,167 +1,166 @@
|
|
|
1
|
-
import { __exports as OpenApiConverter } from '../_virtual/OpenApiConverter.mjs';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
1
|
+
import { __exports as OpenApiConverter$1 } from '../_virtual/OpenApiConverter.mjs';
|
|
2
|
+
import './internal/OpenApiV3Downgrader2.mjs';
|
|
3
|
+
import './internal/OpenApiV3Upgrader2.mjs';
|
|
4
|
+
import './internal/OpenApiV3_1Downgrader2.mjs';
|
|
5
|
+
import './internal/OpenApiV3_1Upgrader2.mjs';
|
|
6
|
+
import './internal/OpenApiV3_2Upgrader2.mjs';
|
|
7
|
+
import './internal/SwaggerV2Downgrader2.mjs';
|
|
8
|
+
import './internal/SwaggerV2Upgrader2.mjs';
|
|
9
|
+
import { __exports as OpenApiV3_2Upgrader } from '../_virtual/OpenApiV3_2Upgrader.mjs';
|
|
10
|
+
import { __exports as OpenApiV3_1Upgrader } from '../_virtual/OpenApiV3_1Upgrader.mjs';
|
|
11
|
+
import { __exports as OpenApiV3Upgrader } from '../_virtual/OpenApiV3Upgrader.mjs';
|
|
12
|
+
import { __exports as SwaggerV2Upgrader } from '../_virtual/SwaggerV2Upgrader.mjs';
|
|
13
|
+
import { __exports as SwaggerV2Downgrader } from '../_virtual/SwaggerV2Downgrader.mjs';
|
|
14
|
+
import { __exports as OpenApiV3Downgrader } from '../_virtual/OpenApiV3Downgrader.mjs';
|
|
15
|
+
import { __exports as OpenApiV3_1Downgrader } from '../_virtual/OpenApiV3_1Downgrader.mjs';
|
|
9
16
|
|
|
10
|
-
|
|
17
|
+
Object.defineProperty(OpenApiConverter$1, "__esModule", { value: true });
|
|
18
|
+
var OpenApiConverter_2 = OpenApiConverter$1.OpenApiConverter = void 0;
|
|
19
|
+
const OpenApiV3Downgrader_1 = OpenApiV3Downgrader;
|
|
20
|
+
const OpenApiV3Upgrader_1 = OpenApiV3Upgrader;
|
|
21
|
+
const OpenApiV3_1Downgrader_1 = OpenApiV3_1Downgrader;
|
|
22
|
+
const OpenApiV3_1Upgrader_1 = OpenApiV3_1Upgrader;
|
|
23
|
+
const OpenApiV3_2Upgrader_1 = OpenApiV3_2Upgrader;
|
|
24
|
+
const SwaggerV2Downgrader_1 = SwaggerV2Downgrader;
|
|
25
|
+
const SwaggerV2Upgrader_1 = SwaggerV2Upgrader;
|
|
26
|
+
/**
|
|
27
|
+
* OpenAPI version converter.
|
|
28
|
+
*
|
|
29
|
+
* `OpenApiConverter` converts between different OpenAPI specification versions:
|
|
30
|
+
* Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended
|
|
31
|
+
* {@link OpenApi} format. Also converts individual components (schemas,
|
|
32
|
+
* operations, paths).
|
|
33
|
+
*
|
|
34
|
+
* Upgrade path (to emended v3.2):
|
|
35
|
+
*
|
|
36
|
+
* - Swagger v2.0 → emended v3.2
|
|
37
|
+
* - OpenAPI v3.0 → emended v3.2
|
|
38
|
+
* - OpenAPI v3.1 → emended v3.2
|
|
39
|
+
* - OpenAPI v3.2 → emended v3.2
|
|
40
|
+
*
|
|
41
|
+
* Downgrade path (from emended v3.2):
|
|
42
|
+
*
|
|
43
|
+
* - Emended v3.2 → Swagger v2.0
|
|
44
|
+
* - Emended v3.2 → OpenAPI v3.0
|
|
45
|
+
* - Emended v3.2 → OpenAPI v3.1
|
|
46
|
+
*
|
|
47
|
+
* The emended format normalizes ambiguous expressions: dereferences `$ref`,
|
|
48
|
+
* merges `allOf`, converts `nullable` to union types, etc.
|
|
49
|
+
*
|
|
50
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
51
|
+
*/
|
|
52
|
+
var OpenApiConverter;
|
|
53
|
+
(function (OpenApiConverter) {
|
|
54
|
+
/* -----------------------------------------------------------
|
|
55
|
+
DOCUMENTS
|
|
56
|
+
----------------------------------------------------------- */
|
|
57
|
+
/**
|
|
58
|
+
* Upgrade document to typia's emended OpenAPI v3.2 format.
|
|
59
|
+
*
|
|
60
|
+
* @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
|
|
61
|
+
* @returns Emended OpenAPI v3.2 document
|
|
62
|
+
*/
|
|
63
|
+
function upgradeDocument(document) {
|
|
64
|
+
if (isUpgraded(document))
|
|
65
|
+
return document;
|
|
66
|
+
else if (is_v32(document))
|
|
67
|
+
return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);
|
|
68
|
+
else if (is_v31(document))
|
|
69
|
+
return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);
|
|
70
|
+
else if (is_v30(document))
|
|
71
|
+
return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);
|
|
72
|
+
else if (is_v20(document))
|
|
73
|
+
return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);
|
|
74
|
+
throw new Error("Invalid OpenAPI document");
|
|
75
|
+
}
|
|
76
|
+
OpenApiConverter.upgradeDocument = upgradeDocument;
|
|
77
|
+
/** @internal */
|
|
78
|
+
function downgradeDocument(document, version) {
|
|
79
|
+
if (version === "2.0")
|
|
80
|
+
return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);
|
|
81
|
+
else if (version === "3.0")
|
|
82
|
+
return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);
|
|
83
|
+
else if (version === "3.1")
|
|
84
|
+
return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);
|
|
85
|
+
throw new Error("Invalid OpenAPI version");
|
|
86
|
+
}
|
|
87
|
+
OpenApiConverter.downgradeDocument = downgradeDocument;
|
|
88
|
+
/* -----------------------------------------------------------
|
|
89
|
+
COMPONENTS
|
|
90
|
+
----------------------------------------------------------- */
|
|
91
|
+
/**
|
|
92
|
+
* Upgrade components to typia's emended format.
|
|
93
|
+
*
|
|
94
|
+
* @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
|
|
95
|
+
* @returns Emended OpenAPI components
|
|
96
|
+
*/
|
|
97
|
+
function upgradeComponents(input) {
|
|
98
|
+
if (is_v20(input))
|
|
99
|
+
return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);
|
|
100
|
+
return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);
|
|
101
|
+
}
|
|
102
|
+
OpenApiConverter.upgradeComponents = upgradeComponents;
|
|
103
|
+
/** @internal */
|
|
104
|
+
function downgradeComponents(input, version) {
|
|
105
|
+
if (version === "2.0")
|
|
106
|
+
return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;
|
|
107
|
+
if (version === "3.1")
|
|
108
|
+
return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;
|
|
109
|
+
return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;
|
|
110
|
+
}
|
|
111
|
+
OpenApiConverter.downgradeComponents = downgradeComponents;
|
|
112
|
+
/** @internal */
|
|
113
|
+
function upgradeSchema(props) {
|
|
114
|
+
if ("definitions" in props)
|
|
115
|
+
return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);
|
|
116
|
+
return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);
|
|
117
|
+
}
|
|
118
|
+
OpenApiConverter.upgradeSchema = upgradeSchema;
|
|
119
|
+
/** @internal */
|
|
120
|
+
function downgradeSchema(props) {
|
|
121
|
+
if (props.version === "2.0")
|
|
122
|
+
return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({
|
|
123
|
+
original: props.components,
|
|
124
|
+
downgraded: props.downgraded,
|
|
125
|
+
})(props.schema);
|
|
126
|
+
if (props.version === "3.1")
|
|
127
|
+
return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({
|
|
128
|
+
original: props.components,
|
|
129
|
+
downgraded: props.downgraded,
|
|
130
|
+
})(props.schema);
|
|
131
|
+
return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({
|
|
132
|
+
original: props.components,
|
|
133
|
+
downgraded: props.downgraded,
|
|
134
|
+
})(props.schema);
|
|
135
|
+
}
|
|
136
|
+
OpenApiConverter.downgradeSchema = downgradeSchema;
|
|
137
|
+
})(OpenApiConverter || (OpenApiConverter_2 = OpenApiConverter$1.OpenApiConverter = OpenApiConverter = {}));
|
|
138
|
+
const is_v20 = (input) => typeof input === "object" &&
|
|
139
|
+
input !== null &&
|
|
140
|
+
"swagger" in input &&
|
|
141
|
+
typeof input.swagger === "string" &&
|
|
142
|
+
input.swagger.startsWith("2.0");
|
|
143
|
+
const is_v30 = (input) => typeof input === "object" &&
|
|
144
|
+
input !== null &&
|
|
145
|
+
"openapi" in input &&
|
|
146
|
+
typeof input.openapi === "string" &&
|
|
147
|
+
input.openapi.startsWith("3.0");
|
|
148
|
+
const is_v31 = (input) => typeof input === "object" &&
|
|
149
|
+
input !== null &&
|
|
150
|
+
"openapi" in input &&
|
|
151
|
+
typeof input.openapi === "string" &&
|
|
152
|
+
input.openapi.startsWith("3.1");
|
|
153
|
+
const is_v32 = (input) => typeof input === "object" &&
|
|
154
|
+
input !== null &&
|
|
155
|
+
"openapi" in input &&
|
|
156
|
+
typeof input.openapi === "string" &&
|
|
157
|
+
input.openapi.startsWith("3.2");
|
|
158
|
+
const isUpgraded = (input) => typeof input === "object" &&
|
|
159
|
+
input !== null &&
|
|
160
|
+
"openapi" in input &&
|
|
161
|
+
typeof input.openapi === "string" &&
|
|
162
|
+
input.openapi.startsWith("3.2") &&
|
|
163
|
+
input["x-typia-emended-v12"] === true;
|
|
11
164
|
|
|
12
|
-
|
|
13
|
-
if (hasRequiredOpenApiConverter) return OpenApiConverter;
|
|
14
|
-
hasRequiredOpenApiConverter = 1;
|
|
15
|
-
Object.defineProperty(OpenApiConverter, "__esModule", { value: true });
|
|
16
|
-
OpenApiConverter.OpenApiConverter = void 0;
|
|
17
|
-
const OpenApiV3Downgrader_1 = requireOpenApiV3Downgrader();
|
|
18
|
-
const OpenApiV3Upgrader_1 = requireOpenApiV3Upgrader();
|
|
19
|
-
const OpenApiV3_1Downgrader_1 = requireOpenApiV3_1Downgrader();
|
|
20
|
-
const OpenApiV3_1Upgrader_1 = requireOpenApiV3_1Upgrader();
|
|
21
|
-
const OpenApiV3_2Upgrader_1 = requireOpenApiV3_2Upgrader();
|
|
22
|
-
const SwaggerV2Downgrader_1 = requireSwaggerV2Downgrader();
|
|
23
|
-
const SwaggerV2Upgrader_1 = requireSwaggerV2Upgrader();
|
|
24
|
-
/**
|
|
25
|
-
* OpenAPI version converter.
|
|
26
|
-
*
|
|
27
|
-
* `OpenApiConverter` converts between different OpenAPI specification versions:
|
|
28
|
-
* Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended
|
|
29
|
-
* {@link OpenApi} format. Also converts individual components (schemas,
|
|
30
|
-
* operations, paths).
|
|
31
|
-
*
|
|
32
|
-
* Upgrade path (to emended v3.2):
|
|
33
|
-
*
|
|
34
|
-
* - Swagger v2.0 → emended v3.2
|
|
35
|
-
* - OpenAPI v3.0 → emended v3.2
|
|
36
|
-
* - OpenAPI v3.1 → emended v3.2
|
|
37
|
-
* - OpenAPI v3.2 → emended v3.2
|
|
38
|
-
*
|
|
39
|
-
* Downgrade path (from emended v3.2):
|
|
40
|
-
*
|
|
41
|
-
* - Emended v3.2 → Swagger v2.0
|
|
42
|
-
* - Emended v3.2 → OpenAPI v3.0
|
|
43
|
-
* - Emended v3.2 → OpenAPI v3.1
|
|
44
|
-
*
|
|
45
|
-
* The emended format normalizes ambiguous expressions: dereferences `$ref`,
|
|
46
|
-
* merges `allOf`, converts `nullable` to union types, etc.
|
|
47
|
-
*
|
|
48
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
49
|
-
*/
|
|
50
|
-
var OpenApiConverter$1;
|
|
51
|
-
(function (OpenApiConverter) {
|
|
52
|
-
/* -----------------------------------------------------------
|
|
53
|
-
DOCUMENTS
|
|
54
|
-
----------------------------------------------------------- */
|
|
55
|
-
/**
|
|
56
|
-
* Upgrade document to typia's emended OpenAPI v3.2 format.
|
|
57
|
-
*
|
|
58
|
-
* @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
|
|
59
|
-
* @returns Emended OpenAPI v3.2 document
|
|
60
|
-
*/
|
|
61
|
-
function upgradeDocument(document) {
|
|
62
|
-
if (isUpgraded(document))
|
|
63
|
-
return document;
|
|
64
|
-
else if (is_v32(document))
|
|
65
|
-
return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);
|
|
66
|
-
else if (is_v31(document))
|
|
67
|
-
return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);
|
|
68
|
-
else if (is_v30(document))
|
|
69
|
-
return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);
|
|
70
|
-
else if (is_v20(document))
|
|
71
|
-
return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);
|
|
72
|
-
throw new Error("Invalid OpenAPI document");
|
|
73
|
-
}
|
|
74
|
-
OpenApiConverter.upgradeDocument = upgradeDocument;
|
|
75
|
-
/** @internal */
|
|
76
|
-
function downgradeDocument(document, version) {
|
|
77
|
-
if (version === "2.0")
|
|
78
|
-
return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);
|
|
79
|
-
else if (version === "3.0")
|
|
80
|
-
return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);
|
|
81
|
-
else if (version === "3.1")
|
|
82
|
-
return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);
|
|
83
|
-
throw new Error("Invalid OpenAPI version");
|
|
84
|
-
}
|
|
85
|
-
OpenApiConverter.downgradeDocument = downgradeDocument;
|
|
86
|
-
/* -----------------------------------------------------------
|
|
87
|
-
COMPONENTS
|
|
88
|
-
----------------------------------------------------------- */
|
|
89
|
-
/**
|
|
90
|
-
* Upgrade components to typia's emended format.
|
|
91
|
-
*
|
|
92
|
-
* @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
|
|
93
|
-
* @returns Emended OpenAPI components
|
|
94
|
-
*/
|
|
95
|
-
function upgradeComponents(input) {
|
|
96
|
-
if (is_v20(input))
|
|
97
|
-
return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);
|
|
98
|
-
return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);
|
|
99
|
-
}
|
|
100
|
-
OpenApiConverter.upgradeComponents = upgradeComponents;
|
|
101
|
-
/** @internal */
|
|
102
|
-
function downgradeComponents(input, version) {
|
|
103
|
-
if (version === "2.0")
|
|
104
|
-
return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;
|
|
105
|
-
if (version === "3.1")
|
|
106
|
-
return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;
|
|
107
|
-
return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;
|
|
108
|
-
}
|
|
109
|
-
OpenApiConverter.downgradeComponents = downgradeComponents;
|
|
110
|
-
/** @internal */
|
|
111
|
-
function upgradeSchema(props) {
|
|
112
|
-
if ("definitions" in props)
|
|
113
|
-
return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);
|
|
114
|
-
return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);
|
|
115
|
-
}
|
|
116
|
-
OpenApiConverter.upgradeSchema = upgradeSchema;
|
|
117
|
-
/** @internal */
|
|
118
|
-
function downgradeSchema(props) {
|
|
119
|
-
if (props.version === "2.0")
|
|
120
|
-
return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({
|
|
121
|
-
original: props.components,
|
|
122
|
-
downgraded: props.downgraded,
|
|
123
|
-
})(props.schema);
|
|
124
|
-
if (props.version === "3.1")
|
|
125
|
-
return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({
|
|
126
|
-
original: props.components,
|
|
127
|
-
downgraded: props.downgraded,
|
|
128
|
-
})(props.schema);
|
|
129
|
-
return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({
|
|
130
|
-
original: props.components,
|
|
131
|
-
downgraded: props.downgraded,
|
|
132
|
-
})(props.schema);
|
|
133
|
-
}
|
|
134
|
-
OpenApiConverter.downgradeSchema = downgradeSchema;
|
|
135
|
-
})(OpenApiConverter$1 || (OpenApiConverter.OpenApiConverter = OpenApiConverter$1 = {}));
|
|
136
|
-
const is_v20 = (input) => typeof input === "object" &&
|
|
137
|
-
input !== null &&
|
|
138
|
-
"swagger" in input &&
|
|
139
|
-
typeof input.swagger === "string" &&
|
|
140
|
-
input.swagger.startsWith("2.0");
|
|
141
|
-
const is_v30 = (input) => typeof input === "object" &&
|
|
142
|
-
input !== null &&
|
|
143
|
-
"openapi" in input &&
|
|
144
|
-
typeof input.openapi === "string" &&
|
|
145
|
-
input.openapi.startsWith("3.0");
|
|
146
|
-
const is_v31 = (input) => typeof input === "object" &&
|
|
147
|
-
input !== null &&
|
|
148
|
-
"openapi" in input &&
|
|
149
|
-
typeof input.openapi === "string" &&
|
|
150
|
-
input.openapi.startsWith("3.1");
|
|
151
|
-
const is_v32 = (input) => typeof input === "object" &&
|
|
152
|
-
input !== null &&
|
|
153
|
-
"openapi" in input &&
|
|
154
|
-
typeof input.openapi === "string" &&
|
|
155
|
-
input.openapi.startsWith("3.2");
|
|
156
|
-
const isUpgraded = (input) => typeof input === "object" &&
|
|
157
|
-
input !== null &&
|
|
158
|
-
"openapi" in input &&
|
|
159
|
-
typeof input.openapi === "string" &&
|
|
160
|
-
input.openapi.startsWith("3.2") &&
|
|
161
|
-
input["x-typia-emended-v12"] === true;
|
|
162
|
-
|
|
163
|
-
return OpenApiConverter;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export { requireOpenApiConverter as __require };
|
|
165
|
+
export { OpenApiConverter_2 as OpenApiConverter, OpenApiConverter$1 as default };
|
|
167
166
|
//# sourceMappingURL=OpenApiConverter2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiConverter2.mjs","sources":["OpenApiConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpenApiConverter = void 0;\nconst OpenApiV3Downgrader_1 = require(\"./internal/OpenApiV3Downgrader\");\nconst OpenApiV3Upgrader_1 = require(\"./internal/OpenApiV3Upgrader\");\nconst OpenApiV3_1Downgrader_1 = require(\"./internal/OpenApiV3_1Downgrader\");\nconst OpenApiV3_1Upgrader_1 = require(\"./internal/OpenApiV3_1Upgrader\");\nconst OpenApiV3_2Upgrader_1 = require(\"./internal/OpenApiV3_2Upgrader\");\nconst SwaggerV2Downgrader_1 = require(\"./internal/SwaggerV2Downgrader\");\nconst SwaggerV2Upgrader_1 = require(\"./internal/SwaggerV2Upgrader\");\n/**\n * OpenAPI version converter.\n *\n * `OpenApiConverter` converts between different OpenAPI specification versions:\n * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended\n * {@link OpenApi} format. Also converts individual components (schemas,\n * operations, paths).\n *\n * Upgrade path (to emended v3.2):\n *\n * - Swagger v2.0 → emended v3.2\n * - OpenAPI v3.0 → emended v3.2\n * - OpenAPI v3.1 → emended v3.2\n * - OpenAPI v3.2 → emended v3.2\n *\n * Downgrade path (from emended v3.2):\n *\n * - Emended v3.2 → Swagger v2.0\n * - Emended v3.2 → OpenAPI v3.0\n * - Emended v3.2 → OpenAPI v3.1\n *\n * The emended format normalizes ambiguous expressions: dereferences `$ref`,\n * merges `allOf`, converts `nullable` to union types, etc.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar OpenApiConverter;\n(function (OpenApiConverter) {\n /* -----------------------------------------------------------\n DOCUMENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade document to typia's emended OpenAPI v3.2 format.\n *\n * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI v3.2 document\n */\n function upgradeDocument(document) {\n if (isUpgraded(document))\n return document;\n else if (is_v32(document))\n return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);\n else if (is_v31(document))\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);\n else if (is_v30(document))\n return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);\n else if (is_v20(document))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);\n document;\n throw new Error(\"Invalid OpenAPI document\");\n }\n OpenApiConverter.upgradeDocument = upgradeDocument;\n /** @internal */\n function downgradeDocument(document, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);\n else if (version === \"3.0\")\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);\n else if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);\n version;\n throw new Error(\"Invalid OpenAPI version\");\n }\n OpenApiConverter.downgradeDocument = downgradeDocument;\n /* -----------------------------------------------------------\n COMPONENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade components to typia's emended format.\n *\n * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI components\n */\n function upgradeComponents(input) {\n if (is_v20(input))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);\n }\n OpenApiConverter.upgradeComponents = upgradeComponents;\n /** @internal */\n function downgradeComponents(input, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;\n if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;\n }\n OpenApiConverter.downgradeComponents = downgradeComponents;\n /** @internal */\n function upgradeSchema(props) {\n if (\"definitions\" in props)\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);\n }\n OpenApiConverter.upgradeSchema = upgradeSchema;\n /** @internal */\n function downgradeSchema(props) {\n if (props.version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n if (props.version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n }\n OpenApiConverter.downgradeSchema = downgradeSchema;\n})(OpenApiConverter || (exports.OpenApiConverter = OpenApiConverter = {}));\nconst is_v20 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"swagger\" in input &&\n typeof input.swagger === \"string\" &&\n input.swagger.startsWith(\"2.0\");\nconst is_v30 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.0\");\nconst is_v31 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.1\");\nconst is_v32 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\");\nconst isUpgraded = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\") &&\n input[\"x-typia-emended-v12\"] === true;\n//# sourceMappingURL=OpenApiConverter.js.map"],"names":["OpenApiConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","OpenApiConverter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenApiConverter2.mjs","sources":["OpenApiConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpenApiConverter = void 0;\nconst OpenApiV3Downgrader_1 = require(\"./internal/OpenApiV3Downgrader\");\nconst OpenApiV3Upgrader_1 = require(\"./internal/OpenApiV3Upgrader\");\nconst OpenApiV3_1Downgrader_1 = require(\"./internal/OpenApiV3_1Downgrader\");\nconst OpenApiV3_1Upgrader_1 = require(\"./internal/OpenApiV3_1Upgrader\");\nconst OpenApiV3_2Upgrader_1 = require(\"./internal/OpenApiV3_2Upgrader\");\nconst SwaggerV2Downgrader_1 = require(\"./internal/SwaggerV2Downgrader\");\nconst SwaggerV2Upgrader_1 = require(\"./internal/SwaggerV2Upgrader\");\n/**\n * OpenAPI version converter.\n *\n * `OpenApiConverter` converts between different OpenAPI specification versions:\n * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended\n * {@link OpenApi} format. Also converts individual components (schemas,\n * operations, paths).\n *\n * Upgrade path (to emended v3.2):\n *\n * - Swagger v2.0 → emended v3.2\n * - OpenAPI v3.0 → emended v3.2\n * - OpenAPI v3.1 → emended v3.2\n * - OpenAPI v3.2 → emended v3.2\n *\n * Downgrade path (from emended v3.2):\n *\n * - Emended v3.2 → Swagger v2.0\n * - Emended v3.2 → OpenAPI v3.0\n * - Emended v3.2 → OpenAPI v3.1\n *\n * The emended format normalizes ambiguous expressions: dereferences `$ref`,\n * merges `allOf`, converts `nullable` to union types, etc.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar OpenApiConverter;\n(function (OpenApiConverter) {\n /* -----------------------------------------------------------\n DOCUMENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade document to typia's emended OpenAPI v3.2 format.\n *\n * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI v3.2 document\n */\n function upgradeDocument(document) {\n if (isUpgraded(document))\n return document;\n else if (is_v32(document))\n return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);\n else if (is_v31(document))\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);\n else if (is_v30(document))\n return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);\n else if (is_v20(document))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);\n document;\n throw new Error(\"Invalid OpenAPI document\");\n }\n OpenApiConverter.upgradeDocument = upgradeDocument;\n /** @internal */\n function downgradeDocument(document, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);\n else if (version === \"3.0\")\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);\n else if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);\n version;\n throw new Error(\"Invalid OpenAPI version\");\n }\n OpenApiConverter.downgradeDocument = downgradeDocument;\n /* -----------------------------------------------------------\n COMPONENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade components to typia's emended format.\n *\n * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI components\n */\n function upgradeComponents(input) {\n if (is_v20(input))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);\n }\n OpenApiConverter.upgradeComponents = upgradeComponents;\n /** @internal */\n function downgradeComponents(input, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;\n if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;\n }\n OpenApiConverter.downgradeComponents = downgradeComponents;\n /** @internal */\n function upgradeSchema(props) {\n if (\"definitions\" in props)\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);\n }\n OpenApiConverter.upgradeSchema = upgradeSchema;\n /** @internal */\n function downgradeSchema(props) {\n if (props.version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n if (props.version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n }\n OpenApiConverter.downgradeSchema = downgradeSchema;\n})(OpenApiConverter || (exports.OpenApiConverter = OpenApiConverter = {}));\nconst is_v20 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"swagger\" in input &&\n typeof input.swagger === \"string\" &&\n input.swagger.startsWith(\"2.0\");\nconst is_v30 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.0\");\nconst is_v31 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.1\");\nconst is_v32 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\");\nconst isUpgraded = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\") &&\n input[\"x-typia-emended-v12\"] === true;\n//# sourceMappingURL=OpenApiConverter.js.map"],"names":["OpenApiConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6"],"mappings":"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"}
|
package/lib/converters/index.mjs
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { __require as requireConverters } from './index2.mjs';
|
|
3
|
-
|
|
4
|
-
var convertersExports = requireConverters();
|
|
5
|
-
var index = /*@__PURE__*/getDefaultExportFromCjs(convertersExports);
|
|
6
|
-
|
|
7
|
-
export { index as default };
|
|
1
|
+
export { default } from './index2.mjs';
|
|
8
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|