@autobe/agent 0.26.0 → 0.28.0
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/AutoBeAgent.d.ts +2 -1
- package/lib/AutoBeAgent.js +27 -7
- package/lib/AutoBeAgent.js.map +1 -1
- package/lib/AutoBeMockAgent.js +2 -4
- package/lib/AutoBeMockAgent.js.map +1 -1
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +11 -11
- package/lib/context/AutoBeContext.d.ts +4 -1
- package/lib/context/AutoBeTokenUsage.d.ts +1 -1
- package/lib/context/AutoBeTokenUsage.js.map +1 -1
- package/lib/context/assertSchemaModel.d.ts +1 -1
- package/lib/context/assertSchemaModel.js +4 -7
- package/lib/context/assertSchemaModel.js.map +1 -1
- package/lib/factory/AutoBeFunctionCallingMetricFactory.d.ts +7 -0
- package/lib/factory/AutoBeFunctionCallingMetricFactory.js +35 -0
- package/lib/factory/AutoBeFunctionCallingMetricFactory.js.map +1 -0
- package/lib/factory/AutoBeProcessAggregateFactory.d.ts +13 -0
- package/lib/factory/AutoBeProcessAggregateFactory.js +100 -0
- package/lib/factory/AutoBeProcessAggregateFactory.js.map +1 -0
- package/lib/factory/createAutoBeContext.d.ts +2 -1
- package/lib/factory/createAutoBeContext.js +78 -27
- package/lib/factory/createAutoBeContext.js.map +1 -1
- package/lib/index.mjs +24065 -12997
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyze.js +1 -0
- package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js +166 -87
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +639 -322
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +146 -76
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +17 -52
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +25 -22
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +7 -23
- package/lib/orchestrate/common/orchestrateCommonCorrectCasting.d.ts +2 -1
- package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +168 -4
- package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js.map +1 -1
- package/lib/{factory/createAutoBeApplication.d.ts → orchestrate/facade/createAutoBeFacadeController.d.ts} +2 -2
- package/lib/orchestrate/facade/createAutoBeFacadeController.js +1308 -0
- package/lib/orchestrate/facade/createAutoBeFacadeController.js.map +1 -0
- package/lib/orchestrate/facade/histories/IAutoBeFacadeApplication.js.map +1 -0
- package/lib/orchestrate/facade/histories/IAutoBeFacadeApplicationProps.js.map +1 -0
- package/lib/orchestrate/facade/histories/IAutoBeFacadeApplicationResult.js.map +1 -0
- package/lib/orchestrate/facade/{transformFacadeStateMessage.d.ts → structures/transformFacadeStateMessage.d.ts} +1 -1
- package/lib/orchestrate/facade/structures/transformFacadeStateMessage.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js +2 -2
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +3 -2
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +2 -2
- package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterface.d.ts +1 -1
- package/lib/orchestrate/interface/orchestrateInterface.js +15 -8
- package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js +874 -49
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +1858 -67
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +251 -133
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +0 -6
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +257 -135
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +341 -227
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +761 -49
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js +911 -50
- package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js +207 -4
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +109 -2
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.d.ts +5 -3
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1904 -77
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js +1858 -67
- package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
- package/lib/orchestrate/interface/utils/JsonSchemaFactory.js +23 -23
- package/lib/orchestrate/prisma/orchestratePrisma.d.ts +1 -1
- package/lib/orchestrate/prisma/orchestratePrisma.js +1 -0
- package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +391 -197
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1168 -591
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaReview.js +1186 -600
- package/lib/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +6 -3
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
- package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js +2 -2
- package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealize.d.ts +1 -1
- package/lib/orchestrate/realize/orchestrateRealize.js +2 -1
- package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +362 -180
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +399 -199
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.js +133 -4
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js +171 -7
- package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeWrite.js +132 -3
- package/lib/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
- package/lib/orchestrate/realize/utils/replaceImportStatements.js +0 -85
- package/lib/orchestrate/realize/utils/replaceImportStatements.js.map +1 -1
- package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTest.d.ts +1 -1
- package/lib/orchestrate/test/orchestrateTest.js +2 -1
- package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrect.js +134 -3
- package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +169 -4
- package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenario.js +257 -4
- package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js +283 -4
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestWrite.js +141 -3
- package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/lib/utils/TokenUsageComputer.d.ts +5 -0
- package/lib/utils/TokenUsageComputer.js +29 -0
- package/lib/utils/TokenUsageComputer.js.map +1 -0
- package/package.json +10 -10
- package/src/AutoBeAgent.ts +40 -6
- package/src/AutoBeMockAgent.ts +2 -4
- package/src/constants/AutoBeSystemPromptConstant.ts +11 -11
- package/src/context/AutoBeContext.ts +8 -0
- package/src/context/AutoBeTokenUsage.ts +1 -1
- package/src/context/assertSchemaModel.ts +5 -8
- package/src/factory/AutoBeFunctionCallingMetricFactory.ts +44 -0
- package/src/factory/AutoBeProcessAggregateFactory.ts +141 -0
- package/src/factory/createAutoBeContext.ts +96 -36
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +1 -0
- package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +9 -10
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +15 -10
- package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +10 -11
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +19 -54
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +25 -22
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.ts +8 -24
- package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +20 -3
- package/src/orchestrate/facade/createAutoBeFacadeController.ts +136 -0
- package/src/orchestrate/facade/{transformFacadeStateMessage.ts → structures/transformFacadeStateMessage.ts} +2 -2
- package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +1 -0
- package/src/orchestrate/interface/orchestrateInterface.ts +17 -6
- package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +13 -2
- package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +13 -2
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +16 -11
- package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +16 -13
- package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +19 -15
- package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +13 -2
- package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +16 -2
- package/src/orchestrate/interface/orchestrateInterfacePrerequisites.ts +13 -2
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +11 -2
- package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +24 -16
- package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +13 -2
- package/src/orchestrate/prisma/orchestratePrisma.ts +2 -1
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +15 -10
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +9 -10
- package/src/orchestrate/prisma/orchestratePrismaReview.ts +9 -11
- package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +2 -1
- package/src/orchestrate/realize/orchestrateRealize.ts +3 -2
- package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +15 -10
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +15 -10
- package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +14 -3
- package/src/orchestrate/realize/orchestrateRealizeCorrectCasting.ts +21 -6
- package/src/orchestrate/realize/orchestrateRealizeWrite.ts +13 -2
- package/src/orchestrate/realize/utils/replaceImportStatements.ts +0 -90
- package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +5 -1
- package/src/orchestrate/test/histories/transformTestWriteHistories.ts +1 -1
- package/src/orchestrate/test/orchestrateTest.ts +3 -2
- package/src/orchestrate/test/orchestrateTestCorrect.ts +14 -2
- package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +21 -3
- package/src/orchestrate/test/orchestrateTestScenario.ts +13 -2
- package/src/orchestrate/test/orchestrateTestScenarioReview.ts +13 -2
- package/src/orchestrate/test/orchestrateTestWrite.ts +13 -2
- package/src/utils/TokenUsageComputer.ts +35 -0
- package/lib/context/IAutoBeFacadeApplication.js.map +0 -1
- package/lib/context/IAutoBeFacadeApplicationProps.js.map +0 -1
- package/lib/context/IAutoBeFacadeApplicationResult.js.map +0 -1
- package/lib/factory/createAutoBeApplication.js +0 -942
- package/lib/factory/createAutoBeApplication.js.map +0 -1
- package/lib/orchestrate/facade/transformFacadeStateMessage.js.map +0 -1
- package/src/factory/createAutoBeApplication.ts +0 -123
- /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplication.d.ts +0 -0
- /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplication.js +0 -0
- /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationProps.d.ts +0 -0
- /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationProps.js +0 -0
- /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationResult.d.ts +0 -0
- /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationResult.js +0 -0
- /package/lib/orchestrate/facade/{transformFacadeStateMessage.js → structures/transformFacadeStateMessage.js} +0 -0
- /package/src/{context → orchestrate/facade/histories}/IAutoBeFacadeApplication.ts +0 -0
- /package/src/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationProps.ts +0 -0
- /package/src/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationResult.ts +0 -0
|
@@ -136,7 +136,7 @@ function process(ctx, props) {
|
|
|
136
136
|
const pointer = {
|
|
137
137
|
value: null,
|
|
138
138
|
};
|
|
139
|
-
const { tokenUsage } = yield ctx.conversate({
|
|
139
|
+
const { metric, tokenUsage } = yield ctx.conversate({
|
|
140
140
|
source: "interfaceSchema",
|
|
141
141
|
histories: (0, transformInterfaceSchemaHistories_1.transformInterfaceSchemaHistories)({
|
|
142
142
|
state: ctx.state(),
|
|
@@ -185,6 +185,7 @@ function process(ctx, props) {
|
|
|
185
185
|
type: "interfaceSchema",
|
|
186
186
|
id: (0, uuid_1.v7)(),
|
|
187
187
|
schemas,
|
|
188
|
+
metric,
|
|
188
189
|
tokenUsage,
|
|
189
190
|
completed: (props.progress.completed += Object.keys(schemas).length),
|
|
190
191
|
total: (props.progress.total += Object.keys(schemas).filter((k) => props.remained.has(k) === false).length),
|
|
@@ -198,12 +199,12 @@ function createController(props) {
|
|
|
198
199
|
(0, assertSchemaModel_1.assertSchemaModel)(props.model);
|
|
199
200
|
const validate = (next) => {
|
|
200
201
|
JsonSchemaFactory_1.JsonSchemaFactory.fixPage("schemas", next);
|
|
201
|
-
const result = (() => { const _io0 = input => "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas); const _io1 = input => Object.keys(input).every(key => {
|
|
202
|
+
const result = (() => { const _iv1 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _iv2 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv7 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv8 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _io0 = input => "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas); const _io1 = input => Object.keys(input).every(key => {
|
|
202
203
|
const value = input[key];
|
|
203
204
|
if (undefined === value)
|
|
204
205
|
return true;
|
|
205
206
|
return "object" === typeof value && null !== value && _iu1(value);
|
|
206
|
-
}); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format ||
|
|
207
|
+
}); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format || true === _iv1.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io7 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io8 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io10 = input => (undefined === input.format || true === _iv2.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io11 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io12 = input => "boolean" === input.type; const _io13 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io14 = input => (null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io15 = input => "string" === typeof input.$ref; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)); const _io17 = input => "null" === input.type; const _io18 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io19(input.mapping)); const _io19 = input => Object.keys(input).every(key => {
|
|
207
208
|
const value = input[key];
|
|
208
209
|
if (undefined === value)
|
|
209
210
|
return true;
|
|
@@ -388,9 +389,9 @@ function createController(props) {
|
|
|
388
389
|
path: _path + ".description",
|
|
389
390
|
expected: "string",
|
|
390
391
|
value: input.description
|
|
391
|
-
})].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format ||
|
|
392
|
+
})].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv7.has(input.format) || _report(_exceptionable, {
|
|
392
393
|
path: _path + ".format",
|
|
393
|
-
expected: "(
|
|
394
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
394
395
|
value: input.format
|
|
395
396
|
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
396
397
|
path: _path + ".pattern",
|
|
@@ -528,9 +529,9 @@ function createController(props) {
|
|
|
528
529
|
path: _path + ".type",
|
|
529
530
|
expected: "\"number\"",
|
|
530
531
|
value: input.type
|
|
531
|
-
})].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format ||
|
|
532
|
+
})].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv8.has(input.format) || _report(_exceptionable, {
|
|
532
533
|
path: _path + ".format",
|
|
533
|
-
expected: "(
|
|
534
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
534
535
|
value: input.format
|
|
535
536
|
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
536
537
|
path: _path + ".pattern",
|
|
@@ -628,8 +629,8 @@ function createController(props) {
|
|
|
628
629
|
path: _path + ".required",
|
|
629
630
|
expected: "Array<string>",
|
|
630
631
|
value: input.required
|
|
631
|
-
})) && input.required.map((elem,
|
|
632
|
-
path: _path + ".required[" +
|
|
632
|
+
})) && input.required.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
|
|
633
|
+
path: _path + ".required[" + _index9 + "]",
|
|
633
634
|
expected: "string",
|
|
634
635
|
value: elem
|
|
635
636
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -648,12 +649,12 @@ function createController(props) {
|
|
|
648
649
|
path: _path + ".oneOf",
|
|
649
650
|
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
650
651
|
value: input.oneOf
|
|
651
|
-
})) && input.oneOf.map((elem,
|
|
652
|
-
path: _path + ".oneOf[" +
|
|
652
|
+
})) && input.oneOf.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
653
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
653
654
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
654
655
|
value: elem
|
|
655
|
-
})) && _vu0(elem, _path + ".oneOf[" +
|
|
656
|
-
path: _path + ".oneOf[" +
|
|
656
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
657
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
657
658
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
658
659
|
value: elem
|
|
659
660
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -721,8 +722,8 @@ function createController(props) {
|
|
|
721
722
|
path: _path + ".required",
|
|
722
723
|
expected: "Array<string>",
|
|
723
724
|
value: input.required
|
|
724
|
-
})) && input.required.map((elem,
|
|
725
|
-
path: _path + ".required[" +
|
|
725
|
+
})) && input.required.map((elem, _index11) => "string" === typeof elem || _report(_exceptionable, {
|
|
726
|
+
path: _path + ".required[" + _index11 + "]",
|
|
726
727
|
expected: "string",
|
|
727
728
|
value: elem
|
|
728
729
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -749,12 +750,12 @@ function createController(props) {
|
|
|
749
750
|
path: _path + ".oneOf",
|
|
750
751
|
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
751
752
|
value: input.oneOf
|
|
752
|
-
})) && input.oneOf.map((elem,
|
|
753
|
-
path: _path + ".oneOf[" +
|
|
753
|
+
})) && input.oneOf.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
754
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
754
755
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
755
756
|
value: elem
|
|
756
|
-
})) && _vu0(elem, _path + ".oneOf[" +
|
|
757
|
-
path: _path + ".oneOf[" +
|
|
757
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
758
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
758
759
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
759
760
|
value: elem
|
|
760
761
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -907,7 +908,11 @@ function createController(props) {
|
|
|
907
908
|
};
|
|
908
909
|
return result;
|
|
909
910
|
};
|
|
910
|
-
const application = collection[props.model === "chatgpt"
|
|
911
|
+
const application = collection[props.model === "chatgpt"
|
|
912
|
+
? "chatgpt"
|
|
913
|
+
: props.model === "gemini"
|
|
914
|
+
? "gemini"
|
|
915
|
+
: "claude"](validate);
|
|
911
916
|
return {
|
|
912
917
|
protocol: "class",
|
|
913
918
|
name: "interface",
|
|
@@ -932,10 +937,11 @@ const collection = {
|
|
|
932
937
|
{
|
|
933
938
|
name: "makeComponents",
|
|
934
939
|
parameters: {
|
|
935
|
-
description: " Properties containing components to generate.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceSchemaApplication.IProps}
|
|
940
|
+
description: " Properties containing components to generate.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceSchemaApplication.IProps}",
|
|
936
941
|
type: "object",
|
|
937
942
|
properties: {
|
|
938
943
|
schemas: {
|
|
944
|
+
description: "Complete set of schema components for the OpenAPI specification.\n\nThis property contains comprehensive type definitions for all entities in\nthe system. It is the central repository of all named schema types that\nwill be used throughout the API specification.\n\nDO: Define all object types as named types in the components.schemas\nsection. DO NOT: Use inline anonymous object definitions.\n\nThis components object includes:\n\n- Main entity types (IEntityName)\n- Operation-specific variants (.ICreate, .IUpdate, .ISummary, etc.)\n- Container types (IPage<T> for pagination)\n- Enumeration types\n\nDO: Include detailed descriptions that reference the original Prisma\nschema comments and thoroughly document each property. DO: Use a $ref to\na named type in the components.schemas section for every property that\nreferences an object.\n\nThis applies to all objects in request bodies, response bodies, and\nproperties that are objects or arrays of objects.\n\nExample structure:\n\n```typescript\n{\n schemas: {\n IUser: {\n type: \"object\",\n properties: {\n id: { type: \"string\", format: \"uuid\" },\n email: { type: \"string\", format: \"email\" },\n profile: { \"$ref\": \"#/components/schemas/IUserProfile\" }\n },\n required: [\"id\", \"email\"],\n description: \"User entity representing system account holders...\"\n },\n \"IUser.ICreate\": { ... },\n // Additional schemas\n }\n}\n```",
|
|
939
945
|
$ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
|
|
940
946
|
}
|
|
941
947
|
},
|
|
@@ -1125,7 +1131,30 @@ const collection = {
|
|
|
1125
1131
|
properties: {
|
|
1126
1132
|
format: {
|
|
1127
1133
|
description: "Format restriction.",
|
|
1128
|
-
type: "string"
|
|
1134
|
+
type: "string",
|
|
1135
|
+
"enum": [
|
|
1136
|
+
"date-time",
|
|
1137
|
+
"password",
|
|
1138
|
+
"regex",
|
|
1139
|
+
"uuid",
|
|
1140
|
+
"email",
|
|
1141
|
+
"hostname",
|
|
1142
|
+
"idn-email",
|
|
1143
|
+
"idn-hostname",
|
|
1144
|
+
"iri",
|
|
1145
|
+
"iri-reference",
|
|
1146
|
+
"ipv4",
|
|
1147
|
+
"ipv6",
|
|
1148
|
+
"uri",
|
|
1149
|
+
"uri-reference",
|
|
1150
|
+
"uri-template",
|
|
1151
|
+
"url",
|
|
1152
|
+
"date",
|
|
1153
|
+
"time",
|
|
1154
|
+
"duration",
|
|
1155
|
+
"json-pointer",
|
|
1156
|
+
"relative-json-pointer"
|
|
1157
|
+
]
|
|
1129
1158
|
},
|
|
1130
1159
|
pattern: {
|
|
1131
1160
|
description: "Pattern restriction.",
|
|
@@ -1161,10 +1190,11 @@ const collection = {
|
|
|
1161
1190
|
]
|
|
1162
1191
|
},
|
|
1163
1192
|
"AutoBeOpenApi.IJsonSchemaDescriptive.IArray": {
|
|
1164
|
-
description: "Array type info
|
|
1193
|
+
description: "Array type info.",
|
|
1165
1194
|
type: "object",
|
|
1166
1195
|
properties: {
|
|
1167
1196
|
items: {
|
|
1197
|
+
description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
|
|
1168
1198
|
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
|
|
1169
1199
|
},
|
|
1170
1200
|
uniqueItems: {
|
|
@@ -1310,7 +1340,30 @@ const collection = {
|
|
|
1310
1340
|
properties: {
|
|
1311
1341
|
format: {
|
|
1312
1342
|
description: "Format restriction.",
|
|
1313
|
-
type: "string"
|
|
1343
|
+
type: "string",
|
|
1344
|
+
"enum": [
|
|
1345
|
+
"date-time",
|
|
1346
|
+
"password",
|
|
1347
|
+
"regex",
|
|
1348
|
+
"uuid",
|
|
1349
|
+
"email",
|
|
1350
|
+
"hostname",
|
|
1351
|
+
"idn-email",
|
|
1352
|
+
"idn-hostname",
|
|
1353
|
+
"iri",
|
|
1354
|
+
"iri-reference",
|
|
1355
|
+
"ipv4",
|
|
1356
|
+
"ipv6",
|
|
1357
|
+
"uri",
|
|
1358
|
+
"uri-reference",
|
|
1359
|
+
"uri-template",
|
|
1360
|
+
"url",
|
|
1361
|
+
"date",
|
|
1362
|
+
"time",
|
|
1363
|
+
"duration",
|
|
1364
|
+
"json-pointer",
|
|
1365
|
+
"relative-json-pointer"
|
|
1366
|
+
]
|
|
1314
1367
|
},
|
|
1315
1368
|
pattern: {
|
|
1316
1369
|
description: "Pattern restriction.",
|
|
@@ -1380,10 +1433,11 @@ const collection = {
|
|
|
1380
1433
|
]
|
|
1381
1434
|
},
|
|
1382
1435
|
"AutoBeOpenApi.IJsonSchema.IArray": {
|
|
1383
|
-
description: "Array type info
|
|
1436
|
+
description: "Array type info.",
|
|
1384
1437
|
type: "object",
|
|
1385
1438
|
properties: {
|
|
1386
1439
|
items: {
|
|
1440
|
+
description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
|
|
1387
1441
|
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
|
|
1388
1442
|
},
|
|
1389
1443
|
uniqueItems: {
|
|
@@ -1412,7 +1466,7 @@ const collection = {
|
|
|
1412
1466
|
]
|
|
1413
1467
|
},
|
|
1414
1468
|
"AutoBeOpenApi.IJsonSchema.IObject": {
|
|
1415
|
-
description: "Object type info
|
|
1469
|
+
description: "Object type info.",
|
|
1416
1470
|
type: "object",
|
|
1417
1471
|
properties: {
|
|
1418
1472
|
"x-autobe-prisma-schema": {
|
|
@@ -1427,6 +1481,7 @@ const collection = {
|
|
|
1427
1481
|
]
|
|
1428
1482
|
},
|
|
1429
1483
|
properties: {
|
|
1484
|
+
description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
|
|
1430
1485
|
$ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
|
|
1431
1486
|
},
|
|
1432
1487
|
additionalProperties: {
|
|
@@ -1521,7 +1576,7 @@ const collection = {
|
|
|
1521
1576
|
]
|
|
1522
1577
|
},
|
|
1523
1578
|
"AutoBeOpenApi.IJsonSchema.IOneOf": {
|
|
1524
|
-
description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type
|
|
1579
|
+
description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
|
|
1525
1580
|
type: "object",
|
|
1526
1581
|
properties: {
|
|
1527
1582
|
oneOf: {
|
|
@@ -1560,6 +1615,7 @@ const collection = {
|
|
|
1560
1615
|
}
|
|
1561
1616
|
},
|
|
1562
1617
|
discriminator: {
|
|
1618
|
+
description: "Discriminator info of the union type.",
|
|
1563
1619
|
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
|
|
1564
1620
|
}
|
|
1565
1621
|
},
|
|
@@ -1568,7 +1624,7 @@ const collection = {
|
|
|
1568
1624
|
]
|
|
1569
1625
|
},
|
|
1570
1626
|
"AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
|
|
1571
|
-
description: "Discriminator info of the union type
|
|
1627
|
+
description: "Discriminator info of the union type.",
|
|
1572
1628
|
type: "object",
|
|
1573
1629
|
properties: {
|
|
1574
1630
|
propertyName: {
|
|
@@ -1576,6 +1632,7 @@ const collection = {
|
|
|
1576
1632
|
type: "string"
|
|
1577
1633
|
},
|
|
1578
1634
|
mapping: {
|
|
1635
|
+
description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`.",
|
|
1579
1636
|
$ref: "#/$defs/Recordstringstring"
|
|
1580
1637
|
}
|
|
1581
1638
|
},
|
|
@@ -1593,7 +1650,7 @@ const collection = {
|
|
|
1593
1650
|
}
|
|
1594
1651
|
},
|
|
1595
1652
|
"AutoBeOpenApi.IJsonSchemaDescriptive.IObject": {
|
|
1596
|
-
description: "Object type info
|
|
1653
|
+
description: "Object type info.",
|
|
1597
1654
|
type: "object",
|
|
1598
1655
|
properties: {
|
|
1599
1656
|
"x-autobe-prisma-schema": {
|
|
@@ -1608,6 +1665,7 @@ const collection = {
|
|
|
1608
1665
|
]
|
|
1609
1666
|
},
|
|
1610
1667
|
properties: {
|
|
1668
|
+
description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
|
|
1611
1669
|
$ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
|
|
1612
1670
|
},
|
|
1613
1671
|
additionalProperties: {
|
|
@@ -1696,7 +1754,7 @@ const collection = {
|
|
|
1696
1754
|
]
|
|
1697
1755
|
},
|
|
1698
1756
|
"AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf": {
|
|
1699
|
-
description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type
|
|
1757
|
+
description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
|
|
1700
1758
|
type: "object",
|
|
1701
1759
|
properties: {
|
|
1702
1760
|
oneOf: {
|
|
@@ -1735,6 +1793,7 @@ const collection = {
|
|
|
1735
1793
|
}
|
|
1736
1794
|
},
|
|
1737
1795
|
discriminator: {
|
|
1796
|
+
description: "Discriminator info of the union type.",
|
|
1738
1797
|
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
|
|
1739
1798
|
},
|
|
1740
1799
|
description: {
|
|
@@ -1771,12 +1830,12 @@ const collection = {
|
|
|
1771
1830
|
}
|
|
1772
1831
|
},
|
|
1773
1832
|
description: "Generate OpenAPI components containing named schema types.\n\nThis method receives a complete set of schema components and integrates\nthem into the final OpenAPI specification. It processes all entity schemas,\ntheir variants, and related type definitions to ensure a comprehensive and\nconsistent API design.\n\nThe provided components should include schemas for all entities identified\nin the previous phases of API path/method definition and operation\ncreation. This ensures that the final OpenAPI document has complete type\ncoverage for all operations.\n\nDO: Follow established naming conventions (IEntityName,\nIEntityName.ICreate, etc.) DO: Document thoroughly with descriptions that\nreference the original Prisma schema comments.",
|
|
1774
|
-
validate: (() => { const _io0 = input => "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas); const _io1 = input => Object.keys(input).every(key => {
|
|
1833
|
+
validate: (() => { const _iv1 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _iv2 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv7 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv8 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _io0 = input => "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas); const _io1 = input => Object.keys(input).every(key => {
|
|
1775
1834
|
const value = input[key];
|
|
1776
1835
|
if (undefined === value)
|
|
1777
1836
|
return true;
|
|
1778
1837
|
return "object" === typeof value && null !== value && _iu1(value);
|
|
1779
|
-
}); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format ||
|
|
1838
|
+
}); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format || true === _iv1.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io7 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io8 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io10 = input => (undefined === input.format || true === _iv2.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io11 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io12 = input => "boolean" === input.type; const _io13 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io14 = input => (null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io15 = input => "string" === typeof input.$ref; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)); const _io17 = input => "null" === input.type; const _io18 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io19(input.mapping)); const _io19 = input => Object.keys(input).every(key => {
|
|
1780
1839
|
const value = input[key];
|
|
1781
1840
|
if (undefined === value)
|
|
1782
1841
|
return true;
|
|
@@ -1961,9 +2020,9 @@ const collection = {
|
|
|
1961
2020
|
path: _path + ".description",
|
|
1962
2021
|
expected: "string",
|
|
1963
2022
|
value: input.description
|
|
1964
|
-
})].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format ||
|
|
2023
|
+
})].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv7.has(input.format) || _report(_exceptionable, {
|
|
1965
2024
|
path: _path + ".format",
|
|
1966
|
-
expected: "(
|
|
2025
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
1967
2026
|
value: input.format
|
|
1968
2027
|
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
1969
2028
|
path: _path + ".pattern",
|
|
@@ -2101,9 +2160,9 @@ const collection = {
|
|
|
2101
2160
|
path: _path + ".type",
|
|
2102
2161
|
expected: "\"number\"",
|
|
2103
2162
|
value: input.type
|
|
2104
|
-
})].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format ||
|
|
2163
|
+
})].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv8.has(input.format) || _report(_exceptionable, {
|
|
2105
2164
|
path: _path + ".format",
|
|
2106
|
-
expected: "(
|
|
2165
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
2107
2166
|
value: input.format
|
|
2108
2167
|
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
2109
2168
|
path: _path + ".pattern",
|
|
@@ -2201,8 +2260,8 @@ const collection = {
|
|
|
2201
2260
|
path: _path + ".required",
|
|
2202
2261
|
expected: "Array<string>",
|
|
2203
2262
|
value: input.required
|
|
2204
|
-
})) && input.required.map((elem,
|
|
2205
|
-
path: _path + ".required[" +
|
|
2263
|
+
})) && input.required.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
|
|
2264
|
+
path: _path + ".required[" + _index9 + "]",
|
|
2206
2265
|
expected: "string",
|
|
2207
2266
|
value: elem
|
|
2208
2267
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -2221,12 +2280,12 @@ const collection = {
|
|
|
2221
2280
|
path: _path + ".oneOf",
|
|
2222
2281
|
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
2223
2282
|
value: input.oneOf
|
|
2224
|
-
})) && input.oneOf.map((elem,
|
|
2225
|
-
path: _path + ".oneOf[" +
|
|
2283
|
+
})) && input.oneOf.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
2284
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
2226
2285
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
2227
2286
|
value: elem
|
|
2228
|
-
})) && _vu0(elem, _path + ".oneOf[" +
|
|
2229
|
-
path: _path + ".oneOf[" +
|
|
2287
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
2288
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
2230
2289
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
2231
2290
|
value: elem
|
|
2232
2291
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -2294,8 +2353,8 @@ const collection = {
|
|
|
2294
2353
|
path: _path + ".required",
|
|
2295
2354
|
expected: "Array<string>",
|
|
2296
2355
|
value: input.required
|
|
2297
|
-
})) && input.required.map((elem,
|
|
2298
|
-
path: _path + ".required[" +
|
|
2356
|
+
})) && input.required.map((elem, _index11) => "string" === typeof elem || _report(_exceptionable, {
|
|
2357
|
+
path: _path + ".required[" + _index11 + "]",
|
|
2299
2358
|
expected: "string",
|
|
2300
2359
|
value: elem
|
|
2301
2360
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -2322,12 +2381,12 @@ const collection = {
|
|
|
2322
2381
|
path: _path + ".oneOf",
|
|
2323
2382
|
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
2324
2383
|
value: input.oneOf
|
|
2325
|
-
})) && input.oneOf.map((elem,
|
|
2326
|
-
path: _path + ".oneOf[" +
|
|
2384
|
+
})) && input.oneOf.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
2385
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
2327
2386
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
2328
2387
|
value: elem
|
|
2329
|
-
})) && _vu0(elem, _path + ".oneOf[" +
|
|
2330
|
-
path: _path + ".oneOf[" +
|
|
2388
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
2389
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
2331
2390
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
2332
2391
|
value: elem
|
|
2333
2392
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -2669,7 +2728,71 @@ const collection = {
|
|
|
2669
2728
|
properties: {
|
|
2670
2729
|
format: {
|
|
2671
2730
|
description: "Format restriction.",
|
|
2672
|
-
|
|
2731
|
+
oneOf: [
|
|
2732
|
+
{
|
|
2733
|
+
"const": "date-time"
|
|
2734
|
+
},
|
|
2735
|
+
{
|
|
2736
|
+
"const": "password"
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
"const": "regex"
|
|
2740
|
+
},
|
|
2741
|
+
{
|
|
2742
|
+
"const": "uuid"
|
|
2743
|
+
},
|
|
2744
|
+
{
|
|
2745
|
+
"const": "email"
|
|
2746
|
+
},
|
|
2747
|
+
{
|
|
2748
|
+
"const": "hostname"
|
|
2749
|
+
},
|
|
2750
|
+
{
|
|
2751
|
+
"const": "idn-email"
|
|
2752
|
+
},
|
|
2753
|
+
{
|
|
2754
|
+
"const": "idn-hostname"
|
|
2755
|
+
},
|
|
2756
|
+
{
|
|
2757
|
+
"const": "iri"
|
|
2758
|
+
},
|
|
2759
|
+
{
|
|
2760
|
+
"const": "iri-reference"
|
|
2761
|
+
},
|
|
2762
|
+
{
|
|
2763
|
+
"const": "ipv4"
|
|
2764
|
+
},
|
|
2765
|
+
{
|
|
2766
|
+
"const": "ipv6"
|
|
2767
|
+
},
|
|
2768
|
+
{
|
|
2769
|
+
"const": "uri"
|
|
2770
|
+
},
|
|
2771
|
+
{
|
|
2772
|
+
"const": "uri-reference"
|
|
2773
|
+
},
|
|
2774
|
+
{
|
|
2775
|
+
"const": "uri-template"
|
|
2776
|
+
},
|
|
2777
|
+
{
|
|
2778
|
+
"const": "url"
|
|
2779
|
+
},
|
|
2780
|
+
{
|
|
2781
|
+
"const": "date"
|
|
2782
|
+
},
|
|
2783
|
+
{
|
|
2784
|
+
"const": "time"
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
"const": "duration"
|
|
2788
|
+
},
|
|
2789
|
+
{
|
|
2790
|
+
"const": "json-pointer"
|
|
2791
|
+
},
|
|
2792
|
+
{
|
|
2793
|
+
"const": "relative-json-pointer"
|
|
2794
|
+
}
|
|
2795
|
+
]
|
|
2673
2796
|
},
|
|
2674
2797
|
pattern: {
|
|
2675
2798
|
description: "Pattern restriction.",
|
|
@@ -2849,7 +2972,71 @@ const collection = {
|
|
|
2849
2972
|
properties: {
|
|
2850
2973
|
format: {
|
|
2851
2974
|
description: "Format restriction.",
|
|
2852
|
-
|
|
2975
|
+
oneOf: [
|
|
2976
|
+
{
|
|
2977
|
+
"const": "date-time"
|
|
2978
|
+
},
|
|
2979
|
+
{
|
|
2980
|
+
"const": "password"
|
|
2981
|
+
},
|
|
2982
|
+
{
|
|
2983
|
+
"const": "regex"
|
|
2984
|
+
},
|
|
2985
|
+
{
|
|
2986
|
+
"const": "uuid"
|
|
2987
|
+
},
|
|
2988
|
+
{
|
|
2989
|
+
"const": "email"
|
|
2990
|
+
},
|
|
2991
|
+
{
|
|
2992
|
+
"const": "hostname"
|
|
2993
|
+
},
|
|
2994
|
+
{
|
|
2995
|
+
"const": "idn-email"
|
|
2996
|
+
},
|
|
2997
|
+
{
|
|
2998
|
+
"const": "idn-hostname"
|
|
2999
|
+
},
|
|
3000
|
+
{
|
|
3001
|
+
"const": "iri"
|
|
3002
|
+
},
|
|
3003
|
+
{
|
|
3004
|
+
"const": "iri-reference"
|
|
3005
|
+
},
|
|
3006
|
+
{
|
|
3007
|
+
"const": "ipv4"
|
|
3008
|
+
},
|
|
3009
|
+
{
|
|
3010
|
+
"const": "ipv6"
|
|
3011
|
+
},
|
|
3012
|
+
{
|
|
3013
|
+
"const": "uri"
|
|
3014
|
+
},
|
|
3015
|
+
{
|
|
3016
|
+
"const": "uri-reference"
|
|
3017
|
+
},
|
|
3018
|
+
{
|
|
3019
|
+
"const": "uri-template"
|
|
3020
|
+
},
|
|
3021
|
+
{
|
|
3022
|
+
"const": "url"
|
|
3023
|
+
},
|
|
3024
|
+
{
|
|
3025
|
+
"const": "date"
|
|
3026
|
+
},
|
|
3027
|
+
{
|
|
3028
|
+
"const": "time"
|
|
3029
|
+
},
|
|
3030
|
+
{
|
|
3031
|
+
"const": "duration"
|
|
3032
|
+
},
|
|
3033
|
+
{
|
|
3034
|
+
"const": "json-pointer"
|
|
3035
|
+
},
|
|
3036
|
+
{
|
|
3037
|
+
"const": "relative-json-pointer"
|
|
3038
|
+
}
|
|
3039
|
+
]
|
|
2853
3040
|
},
|
|
2854
3041
|
pattern: {
|
|
2855
3042
|
description: "Pattern restriction.",
|
|
@@ -3293,12 +3480,12 @@ const collection = {
|
|
|
3293
3480
|
}
|
|
3294
3481
|
},
|
|
3295
3482
|
description: "Generate OpenAPI components containing named schema types.\n\nThis method receives a complete set of schema components and integrates\nthem into the final OpenAPI specification. It processes all entity schemas,\ntheir variants, and related type definitions to ensure a comprehensive and\nconsistent API design.\n\nThe provided components should include schemas for all entities identified\nin the previous phases of API path/method definition and operation\ncreation. This ensures that the final OpenAPI document has complete type\ncoverage for all operations.\n\nDO: Follow established naming conventions (IEntityName,\nIEntityName.ICreate, etc.) DO: Document thoroughly with descriptions that\nreference the original Prisma schema comments.",
|
|
3296
|
-
validate: (() => { const _io0 = input => "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas); const _io1 = input => Object.keys(input).every(key => {
|
|
3483
|
+
validate: (() => { const _iv1 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _iv2 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv7 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv8 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _io0 = input => "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas); const _io1 = input => Object.keys(input).every(key => {
|
|
3297
3484
|
const value = input[key];
|
|
3298
3485
|
if (undefined === value)
|
|
3299
3486
|
return true;
|
|
3300
3487
|
return "object" === typeof value && null !== value && _iu1(value);
|
|
3301
|
-
}); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format ||
|
|
3488
|
+
}); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format || true === _iv1.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io7 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io8 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io10 = input => (undefined === input.format || true === _iv2.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io11 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io12 = input => "boolean" === input.type; const _io13 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io14 = input => (null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io15 = input => "string" === typeof input.$ref; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)); const _io17 = input => "null" === input.type; const _io18 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io19(input.mapping)); const _io19 = input => Object.keys(input).every(key => {
|
|
3302
3489
|
const value = input[key];
|
|
3303
3490
|
if (undefined === value)
|
|
3304
3491
|
return true;
|
|
@@ -3483,9 +3670,9 @@ const collection = {
|
|
|
3483
3670
|
path: _path + ".description",
|
|
3484
3671
|
expected: "string",
|
|
3485
3672
|
value: input.description
|
|
3486
|
-
})].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format ||
|
|
3673
|
+
})].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv7.has(input.format) || _report(_exceptionable, {
|
|
3487
3674
|
path: _path + ".format",
|
|
3488
|
-
expected: "(
|
|
3675
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
3489
3676
|
value: input.format
|
|
3490
3677
|
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
3491
3678
|
path: _path + ".pattern",
|
|
@@ -3623,9 +3810,1613 @@ const collection = {
|
|
|
3623
3810
|
path: _path + ".type",
|
|
3624
3811
|
expected: "\"number\"",
|
|
3625
3812
|
value: input.type
|
|
3626
|
-
})].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format ||
|
|
3813
|
+
})].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv8.has(input.format) || _report(_exceptionable, {
|
|
3627
3814
|
path: _path + ".format",
|
|
3815
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
3816
|
+
value: input.format
|
|
3817
|
+
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
3818
|
+
path: _path + ".pattern",
|
|
3819
|
+
expected: "(string | undefined)",
|
|
3820
|
+
value: input.pattern
|
|
3821
|
+
}), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
|
|
3822
|
+
path: _path + ".contentMediaType",
|
|
3628
3823
|
expected: "(string | undefined)",
|
|
3824
|
+
value: input.contentMediaType
|
|
3825
|
+
}), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
|
|
3826
|
+
path: _path + ".minLength",
|
|
3827
|
+
expected: "number & Type<\"uint64\">",
|
|
3828
|
+
value: input.minLength
|
|
3829
|
+
})) || _report(_exceptionable, {
|
|
3830
|
+
path: _path + ".minLength",
|
|
3831
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
3832
|
+
value: input.minLength
|
|
3833
|
+
}), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
|
|
3834
|
+
path: _path + ".maxLength",
|
|
3835
|
+
expected: "number & Type<\"uint64\">",
|
|
3836
|
+
value: input.maxLength
|
|
3837
|
+
})) || _report(_exceptionable, {
|
|
3838
|
+
path: _path + ".maxLength",
|
|
3839
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
3840
|
+
value: input.maxLength
|
|
3841
|
+
}), "string" === input.type || _report(_exceptionable, {
|
|
3842
|
+
path: _path + ".type",
|
|
3843
|
+
expected: "\"string\"",
|
|
3844
|
+
value: input.type
|
|
3845
|
+
})].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
|
|
3846
|
+
path: _path + "[\"const\"]",
|
|
3847
|
+
expected: "(boolean | number | string)",
|
|
3848
|
+
value: input["const"]
|
|
3849
|
+
})].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
|
|
3850
|
+
path: _path + ".type",
|
|
3851
|
+
expected: "\"boolean\"",
|
|
3852
|
+
value: input.type
|
|
3853
|
+
})].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
|
|
3854
|
+
path: _path + ".items",
|
|
3855
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3856
|
+
value: input.items
|
|
3857
|
+
})) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
|
|
3858
|
+
path: _path + ".items",
|
|
3859
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3860
|
+
value: input.items
|
|
3861
|
+
}), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
|
|
3862
|
+
path: _path + ".uniqueItems",
|
|
3863
|
+
expected: "(boolean | undefined)",
|
|
3864
|
+
value: input.uniqueItems
|
|
3865
|
+
}), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
|
|
3866
|
+
path: _path + ".minItems",
|
|
3867
|
+
expected: "number & Type<\"uint64\">",
|
|
3868
|
+
value: input.minItems
|
|
3869
|
+
})) || _report(_exceptionable, {
|
|
3870
|
+
path: _path + ".minItems",
|
|
3871
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
3872
|
+
value: input.minItems
|
|
3873
|
+
}), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
|
|
3874
|
+
path: _path + ".maxItems",
|
|
3875
|
+
expected: "number & Type<\"uint64\">",
|
|
3876
|
+
value: input.maxItems
|
|
3877
|
+
})) || _report(_exceptionable, {
|
|
3878
|
+
path: _path + ".maxItems",
|
|
3879
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
3880
|
+
value: input.maxItems
|
|
3881
|
+
}), "array" === input.type || _report(_exceptionable, {
|
|
3882
|
+
path: _path + ".type",
|
|
3883
|
+
expected: "\"array\"",
|
|
3884
|
+
value: input.type
|
|
3885
|
+
})].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"] || _report(_exceptionable, {
|
|
3886
|
+
path: _path + "[\"x-autobe-prisma-schema\"]",
|
|
3887
|
+
expected: "(null | string | undefined)",
|
|
3888
|
+
value: input["x-autobe-prisma-schema"]
|
|
3889
|
+
}), ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
|
|
3890
|
+
path: _path + ".properties",
|
|
3891
|
+
expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
|
|
3892
|
+
value: input.properties
|
|
3893
|
+
})) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
|
|
3894
|
+
path: _path + ".properties",
|
|
3895
|
+
expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
|
|
3896
|
+
value: input.properties
|
|
3897
|
+
}), (null !== input.additionalProperties || _report(_exceptionable, {
|
|
3898
|
+
path: _path + ".additionalProperties",
|
|
3899
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
|
|
3900
|
+
value: input.additionalProperties
|
|
3901
|
+
})) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
|
|
3902
|
+
path: _path + ".additionalProperties",
|
|
3903
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
|
|
3904
|
+
value: input.additionalProperties
|
|
3905
|
+
})) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
|
|
3906
|
+
path: _path + ".additionalProperties",
|
|
3907
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
|
|
3908
|
+
value: input.additionalProperties
|
|
3909
|
+
})), (Array.isArray(input.required) || _report(_exceptionable, {
|
|
3910
|
+
path: _path + ".required",
|
|
3911
|
+
expected: "Array<string>",
|
|
3912
|
+
value: input.required
|
|
3913
|
+
})) && input.required.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
|
|
3914
|
+
path: _path + ".required[" + _index9 + "]",
|
|
3915
|
+
expected: "string",
|
|
3916
|
+
value: elem
|
|
3917
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
3918
|
+
path: _path + ".required",
|
|
3919
|
+
expected: "Array<string>",
|
|
3920
|
+
value: input.required
|
|
3921
|
+
}), "object" === input.type || _report(_exceptionable, {
|
|
3922
|
+
path: _path + ".type",
|
|
3923
|
+
expected: "\"object\"",
|
|
3924
|
+
value: input.type
|
|
3925
|
+
})].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
|
|
3926
|
+
path: _path + ".$ref",
|
|
3927
|
+
expected: "string",
|
|
3928
|
+
value: input.$ref
|
|
3929
|
+
})].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
|
|
3930
|
+
path: _path + ".oneOf",
|
|
3931
|
+
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
3932
|
+
value: input.oneOf
|
|
3933
|
+
})) && input.oneOf.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
3934
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
3935
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3936
|
+
value: elem
|
|
3937
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
3938
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
3939
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3940
|
+
value: elem
|
|
3941
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
3942
|
+
path: _path + ".oneOf",
|
|
3943
|
+
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
3944
|
+
value: input.oneOf
|
|
3945
|
+
}), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
|
|
3946
|
+
path: _path + ".discriminator",
|
|
3947
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
|
|
3948
|
+
value: input.discriminator
|
|
3949
|
+
})) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
|
|
3950
|
+
path: _path + ".discriminator",
|
|
3951
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
|
|
3952
|
+
value: input.discriminator
|
|
3953
|
+
})].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
|
|
3954
|
+
path: _path + ".type",
|
|
3955
|
+
expected: "\"null\"",
|
|
3956
|
+
value: input.type
|
|
3957
|
+
})].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => ["string" === typeof input.propertyName || _report(_exceptionable, {
|
|
3958
|
+
path: _path + ".propertyName",
|
|
3959
|
+
expected: "string",
|
|
3960
|
+
value: input.propertyName
|
|
3961
|
+
}), undefined === input.mapping || ("object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) || _report(_exceptionable, {
|
|
3962
|
+
path: _path + ".mapping",
|
|
3963
|
+
expected: "(Record<string, string> | undefined)",
|
|
3964
|
+
value: input.mapping
|
|
3965
|
+
})) && _vo19(input.mapping, _path + ".mapping", true && _exceptionable) || _report(_exceptionable, {
|
|
3966
|
+
path: _path + ".mapping",
|
|
3967
|
+
expected: "(Record<string, string> | undefined)",
|
|
3968
|
+
value: input.mapping
|
|
3969
|
+
})].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
|
|
3970
|
+
const value = input[key];
|
|
3971
|
+
if (undefined === value)
|
|
3972
|
+
return true;
|
|
3973
|
+
return "string" === typeof value || _report(_exceptionable, {
|
|
3974
|
+
path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
|
|
3975
|
+
expected: "string",
|
|
3976
|
+
value: value
|
|
3977
|
+
});
|
|
3978
|
+
}).every(flag => flag)].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"] || _report(_exceptionable, {
|
|
3979
|
+
path: _path + "[\"x-autobe-prisma-schema\"]",
|
|
3980
|
+
expected: "(null | string | undefined)",
|
|
3981
|
+
value: input["x-autobe-prisma-schema"]
|
|
3982
|
+
}), ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
|
|
3983
|
+
path: _path + ".properties",
|
|
3984
|
+
expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
|
|
3985
|
+
value: input.properties
|
|
3986
|
+
})) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
|
|
3987
|
+
path: _path + ".properties",
|
|
3988
|
+
expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
|
|
3989
|
+
value: input.properties
|
|
3990
|
+
}), (null !== input.additionalProperties || _report(_exceptionable, {
|
|
3991
|
+
path: _path + ".additionalProperties",
|
|
3992
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
|
|
3993
|
+
value: input.additionalProperties
|
|
3994
|
+
})) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
|
|
3995
|
+
path: _path + ".additionalProperties",
|
|
3996
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
|
|
3997
|
+
value: input.additionalProperties
|
|
3998
|
+
})) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
|
|
3999
|
+
path: _path + ".additionalProperties",
|
|
4000
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
|
|
4001
|
+
value: input.additionalProperties
|
|
4002
|
+
})), (Array.isArray(input.required) || _report(_exceptionable, {
|
|
4003
|
+
path: _path + ".required",
|
|
4004
|
+
expected: "Array<string>",
|
|
4005
|
+
value: input.required
|
|
4006
|
+
})) && input.required.map((elem, _index11) => "string" === typeof elem || _report(_exceptionable, {
|
|
4007
|
+
path: _path + ".required[" + _index11 + "]",
|
|
4008
|
+
expected: "string",
|
|
4009
|
+
value: elem
|
|
4010
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
4011
|
+
path: _path + ".required",
|
|
4012
|
+
expected: "Array<string>",
|
|
4013
|
+
value: input.required
|
|
4014
|
+
}), "object" === input.type || _report(_exceptionable, {
|
|
4015
|
+
path: _path + ".type",
|
|
4016
|
+
expected: "\"object\"",
|
|
4017
|
+
value: input.type
|
|
4018
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
4019
|
+
path: _path + ".description",
|
|
4020
|
+
expected: "string",
|
|
4021
|
+
value: input.description
|
|
4022
|
+
})].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
|
|
4023
|
+
path: _path + ".$ref",
|
|
4024
|
+
expected: "string",
|
|
4025
|
+
value: input.$ref
|
|
4026
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
4027
|
+
path: _path + ".description",
|
|
4028
|
+
expected: "string",
|
|
4029
|
+
value: input.description
|
|
4030
|
+
})].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
|
|
4031
|
+
path: _path + ".oneOf",
|
|
4032
|
+
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
4033
|
+
value: input.oneOf
|
|
4034
|
+
})) && input.oneOf.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
4035
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
4036
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
4037
|
+
value: elem
|
|
4038
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
4039
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
4040
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
4041
|
+
value: elem
|
|
4042
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
4043
|
+
path: _path + ".oneOf",
|
|
4044
|
+
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
4045
|
+
value: input.oneOf
|
|
4046
|
+
}), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
|
|
4047
|
+
path: _path + ".discriminator",
|
|
4048
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
|
|
4049
|
+
value: input.discriminator
|
|
4050
|
+
})) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
|
|
4051
|
+
path: _path + ".discriminator",
|
|
4052
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
|
|
4053
|
+
value: input.discriminator
|
|
4054
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
4055
|
+
path: _path + ".description",
|
|
4056
|
+
expected: "string",
|
|
4057
|
+
value: input.description
|
|
4058
|
+
})].every(flag => flag); const _vo23 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
|
|
4059
|
+
path: _path + ".type",
|
|
4060
|
+
expected: "\"null\"",
|
|
4061
|
+
value: input.type
|
|
4062
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
4063
|
+
path: _path + ".description",
|
|
4064
|
+
expected: "string",
|
|
4065
|
+
value: input.description
|
|
4066
|
+
})].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
|
|
4067
|
+
if ("number" === input.type)
|
|
4068
|
+
return _vo9(input, _path, true && _exceptionable);
|
|
4069
|
+
else if ("integer" === input.type)
|
|
4070
|
+
return _vo8(input, _path, true && _exceptionable);
|
|
4071
|
+
else if ("string" === input.type)
|
|
4072
|
+
return _vo10(input, _path, true && _exceptionable);
|
|
4073
|
+
else if (undefined !== input["const"])
|
|
4074
|
+
return _vo11(input, _path, true && _exceptionable);
|
|
4075
|
+
else if ("null" === input.type)
|
|
4076
|
+
return _vo17(input, _path, true && _exceptionable);
|
|
4077
|
+
else if ("boolean" === input.type)
|
|
4078
|
+
return _vo12(input, _path, true && _exceptionable);
|
|
4079
|
+
else if ("array" === input.type)
|
|
4080
|
+
return _vo13(input, _path, true && _exceptionable);
|
|
4081
|
+
else if ("object" === input.type)
|
|
4082
|
+
return _vo14(input, _path, true && _exceptionable);
|
|
4083
|
+
else if (undefined !== input.$ref)
|
|
4084
|
+
return _vo15(input, _path, true && _exceptionable);
|
|
4085
|
+
else
|
|
4086
|
+
return _report(_exceptionable, {
|
|
4087
|
+
path: _path,
|
|
4088
|
+
expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference)",
|
|
4089
|
+
value: input
|
|
4090
|
+
});
|
|
4091
|
+
})(); const _vu1 = (input, _path, _exceptionable = true) => (() => {
|
|
4092
|
+
if (undefined !== input["const"])
|
|
4093
|
+
return _vo2(input, _path, true && _exceptionable);
|
|
4094
|
+
else if ("boolean" === input.type)
|
|
4095
|
+
return _vo3(input, _path, true && _exceptionable);
|
|
4096
|
+
else if ("number" === input.type)
|
|
4097
|
+
return _vo5(input, _path, true && _exceptionable);
|
|
4098
|
+
else if ("integer" === input.type)
|
|
4099
|
+
return _vo4(input, _path, true && _exceptionable);
|
|
4100
|
+
else if ("string" === input.type)
|
|
4101
|
+
return _vo6(input, _path, true && _exceptionable);
|
|
4102
|
+
else if ("array" === input.type)
|
|
4103
|
+
return _vo7(input, _path, true && _exceptionable);
|
|
4104
|
+
else if ("object" === input.type)
|
|
4105
|
+
return _vo20(input, _path, true && _exceptionable);
|
|
4106
|
+
else if (undefined !== input.$ref)
|
|
4107
|
+
return _vo21(input, _path, true && _exceptionable);
|
|
4108
|
+
else if (undefined !== input.oneOf)
|
|
4109
|
+
return _vo22(input, _path, true && _exceptionable);
|
|
4110
|
+
else if ("null" === input.type)
|
|
4111
|
+
return _vo23(input, _path, true && _exceptionable);
|
|
4112
|
+
else
|
|
4113
|
+
return _report(_exceptionable, {
|
|
4114
|
+
path: _path,
|
|
4115
|
+
expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.IString | AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.INull)",
|
|
4116
|
+
value: input
|
|
4117
|
+
});
|
|
4118
|
+
})(); const _vu2 = (input, _path, _exceptionable = true) => (() => {
|
|
4119
|
+
if ("number" === input.type)
|
|
4120
|
+
return _vo9(input, _path, true && _exceptionable);
|
|
4121
|
+
else if ("integer" === input.type)
|
|
4122
|
+
return _vo8(input, _path, true && _exceptionable);
|
|
4123
|
+
else if ("string" === input.type)
|
|
4124
|
+
return _vo10(input, _path, true && _exceptionable);
|
|
4125
|
+
else if (undefined !== input["const"])
|
|
4126
|
+
return _vo11(input, _path, true && _exceptionable);
|
|
4127
|
+
else if ("null" === input.type)
|
|
4128
|
+
return _vo17(input, _path, true && _exceptionable);
|
|
4129
|
+
else if ("boolean" === input.type)
|
|
4130
|
+
return _vo12(input, _path, true && _exceptionable);
|
|
4131
|
+
else if ("array" === input.type)
|
|
4132
|
+
return _vo13(input, _path, true && _exceptionable);
|
|
4133
|
+
else if ("object" === input.type)
|
|
4134
|
+
return _vo14(input, _path, true && _exceptionable);
|
|
4135
|
+
else if (undefined !== input.$ref)
|
|
4136
|
+
return _vo15(input, _path, true && _exceptionable);
|
|
4137
|
+
else if (undefined !== input.oneOf)
|
|
4138
|
+
return _vo16(input, _path, true && _exceptionable);
|
|
4139
|
+
else
|
|
4140
|
+
return _report(_exceptionable, {
|
|
4141
|
+
path: _path,
|
|
4142
|
+
expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IOneOf)",
|
|
4143
|
+
value: input
|
|
4144
|
+
});
|
|
4145
|
+
})(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
4146
|
+
if (false === __is(input)) {
|
|
4147
|
+
errors = [];
|
|
4148
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
4149
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
4150
|
+
path: _path + "",
|
|
4151
|
+
expected: "IAutoBeInterfaceSchemaApplication.IProps",
|
|
4152
|
+
value: input
|
|
4153
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
4154
|
+
path: _path + "",
|
|
4155
|
+
expected: "IAutoBeInterfaceSchemaApplication.IProps",
|
|
4156
|
+
value: input
|
|
4157
|
+
}))(input, "$input", true);
|
|
4158
|
+
const success = 0 === errors.length;
|
|
4159
|
+
return success ? {
|
|
4160
|
+
success,
|
|
4161
|
+
data: input
|
|
4162
|
+
} : {
|
|
4163
|
+
success,
|
|
4164
|
+
errors,
|
|
4165
|
+
data: input
|
|
4166
|
+
};
|
|
4167
|
+
}
|
|
4168
|
+
return {
|
|
4169
|
+
success: true,
|
|
4170
|
+
data: input
|
|
4171
|
+
};
|
|
4172
|
+
}; })()
|
|
4173
|
+
}
|
|
4174
|
+
]
|
|
4175
|
+
};
|
|
4176
|
+
__typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
|
|
4177
|
+
validate: {
|
|
4178
|
+
makeComponents: validate,
|
|
4179
|
+
},
|
|
4180
|
+
}), { equals: false }));
|
|
4181
|
+
return application;
|
|
4182
|
+
})(),
|
|
4183
|
+
gemini: (validate) => (() => {
|
|
4184
|
+
const application = {
|
|
4185
|
+
model: "gemini",
|
|
4186
|
+
options: {
|
|
4187
|
+
reference: true,
|
|
4188
|
+
separate: null
|
|
4189
|
+
},
|
|
4190
|
+
functions: [
|
|
4191
|
+
{
|
|
4192
|
+
name: "makeComponents",
|
|
4193
|
+
parameters: {
|
|
4194
|
+
description: " Properties containing components to generate.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceSchemaApplication.IProps}",
|
|
4195
|
+
type: "object",
|
|
4196
|
+
properties: {
|
|
4197
|
+
schemas: {
|
|
4198
|
+
description: "Complete set of schema components for the OpenAPI specification.\n\nThis property contains comprehensive type definitions for all entities in\nthe system. It is the central repository of all named schema types that\nwill be used throughout the API specification.\n\nDO: Define all object types as named types in the components.schemas\nsection. DO NOT: Use inline anonymous object definitions.\n\nThis components object includes:\n\n- Main entity types (IEntityName)\n- Operation-specific variants (.ICreate, .IUpdate, .ISummary, etc.)\n- Container types (IPage<T> for pagination)\n- Enumeration types\n\nDO: Include detailed descriptions that reference the original Prisma\nschema comments and thoroughly document each property. DO: Use a $ref to\na named type in the components.schemas section for every property that\nreferences an object.\n\nThis applies to all objects in request bodies, response bodies, and\nproperties that are objects or arrays of objects.\n\nExample structure:\n\n```typescript\n{\n schemas: {\n IUser: {\n type: \"object\",\n properties: {\n id: { type: \"string\", format: \"uuid\" },\n email: { type: \"string\", format: \"email\" },\n profile: { \"$ref\": \"#/components/schemas/IUserProfile\" }\n },\n required: [\"id\", \"email\"],\n description: \"User entity representing system account holders...\"\n },\n \"IUser.ICreate\": { ... },\n // Additional schemas\n }\n}\n```",
|
|
4199
|
+
$ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
|
|
4200
|
+
}
|
|
4201
|
+
},
|
|
4202
|
+
required: [
|
|
4203
|
+
"schemas"
|
|
4204
|
+
],
|
|
4205
|
+
additionalProperties: false,
|
|
4206
|
+
$defs: {
|
|
4207
|
+
"RecordstringAutoBeOpenApi.IJsonSchemaDescriptive": {
|
|
4208
|
+
description: "Construct a type with a set of properties K of type T",
|
|
4209
|
+
type: "object",
|
|
4210
|
+
properties: {},
|
|
4211
|
+
required: [],
|
|
4212
|
+
additionalProperties: {
|
|
4213
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive"
|
|
4214
|
+
}
|
|
4215
|
+
},
|
|
4216
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive": {
|
|
4217
|
+
description: "Descriptive type schema info.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` is a type schema info of the OpenAPI\nGenerative, but it has a `description` property which is required.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` basically follows the JSON schema\nspecification of OpenAPI v3.1, but a little bit shrunk to remove ambiguous\nand duplicated expressions of OpenAPI v3.1 for the convenience, clarity,\nand AI generation.\n\nCRITICAL INSTRUCTIONS FOR OPTIMAL AI GENERATION:\n\nWhen creating descriptions for components, types, and properties:\n\n1. ALWAYS refer to and incorporate the description comments from the\n corresponding Prisma DB schema tables and columns. The descriptions\n should match the style, level of detail, and terminology used in the\n Prisma schema.\n2. ALL descriptions MUST be organized into MULTIPLE PARAGRAPHS separated by\n line breaks. Single-paragraph descriptions should be avoided.\n3. Descriptions should comprehensively cover:\n\n - The purpose and business meaning of the type or property\n - Relationships to other entities\n - Validation rules, constraints, and edge cases\n - Usage context and examples when helpful\n4. For each property of an object type, ensure its description reflects the\n corresponding column description in the Prisma DB schema, maintaining\n the same level of detail and terminology\n5. Descriptions should be so detailed and clear that anyone reading them can\n fully understand the type or property without needing to reference any\n other documentation",
|
|
4218
|
+
anyOf: [
|
|
4219
|
+
{
|
|
4220
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IConstant"
|
|
4221
|
+
},
|
|
4222
|
+
{
|
|
4223
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean"
|
|
4224
|
+
},
|
|
4225
|
+
{
|
|
4226
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IInteger"
|
|
4227
|
+
},
|
|
4228
|
+
{
|
|
4229
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INumber"
|
|
4230
|
+
},
|
|
4231
|
+
{
|
|
4232
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IString"
|
|
4233
|
+
},
|
|
4234
|
+
{
|
|
4235
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IArray"
|
|
4236
|
+
},
|
|
4237
|
+
{
|
|
4238
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IObject"
|
|
4239
|
+
},
|
|
4240
|
+
{
|
|
4241
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IReference"
|
|
4242
|
+
},
|
|
4243
|
+
{
|
|
4244
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf"
|
|
4245
|
+
},
|
|
4246
|
+
{
|
|
4247
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INull"
|
|
4248
|
+
}
|
|
4249
|
+
]
|
|
4250
|
+
},
|
|
4251
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IConstant": {
|
|
4252
|
+
description: "Constant value type.",
|
|
4253
|
+
type: "object",
|
|
4254
|
+
properties: {
|
|
4255
|
+
"const": {
|
|
4256
|
+
description: "The constant value.",
|
|
4257
|
+
anyOf: [
|
|
4258
|
+
{
|
|
4259
|
+
type: "string"
|
|
4260
|
+
},
|
|
4261
|
+
{
|
|
4262
|
+
type: "number"
|
|
4263
|
+
},
|
|
4264
|
+
{
|
|
4265
|
+
type: "boolean"
|
|
4266
|
+
}
|
|
4267
|
+
]
|
|
4268
|
+
},
|
|
4269
|
+
description: {
|
|
4270
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
4271
|
+
type: "string"
|
|
4272
|
+
}
|
|
4273
|
+
},
|
|
4274
|
+
required: [
|
|
4275
|
+
"const",
|
|
4276
|
+
"description"
|
|
4277
|
+
]
|
|
4278
|
+
},
|
|
4279
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean": {
|
|
4280
|
+
description: "Boolean type info.",
|
|
4281
|
+
type: "object",
|
|
4282
|
+
properties: {
|
|
4283
|
+
type: {
|
|
4284
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4285
|
+
type: "string",
|
|
4286
|
+
"enum": [
|
|
4287
|
+
"boolean"
|
|
4288
|
+
]
|
|
4289
|
+
},
|
|
4290
|
+
description: {
|
|
4291
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
4292
|
+
type: "string"
|
|
4293
|
+
}
|
|
4294
|
+
},
|
|
4295
|
+
required: [
|
|
4296
|
+
"type",
|
|
4297
|
+
"description"
|
|
4298
|
+
]
|
|
4299
|
+
},
|
|
4300
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IInteger": {
|
|
4301
|
+
description: "Integer type info.",
|
|
4302
|
+
type: "object",
|
|
4303
|
+
properties: {
|
|
4304
|
+
minimum: {
|
|
4305
|
+
description: "Minimum value restriction.",
|
|
4306
|
+
type: "integer"
|
|
4307
|
+
},
|
|
4308
|
+
maximum: {
|
|
4309
|
+
description: "Maximum value restriction.",
|
|
4310
|
+
type: "integer"
|
|
4311
|
+
},
|
|
4312
|
+
exclusiveMinimum: {
|
|
4313
|
+
description: "Exclusive minimum value restriction.",
|
|
4314
|
+
type: "number"
|
|
4315
|
+
},
|
|
4316
|
+
exclusiveMaximum: {
|
|
4317
|
+
description: "Exclusive maximum value restriction.",
|
|
4318
|
+
type: "number"
|
|
4319
|
+
},
|
|
4320
|
+
multipleOf: {
|
|
4321
|
+
description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
|
|
4322
|
+
type: "integer"
|
|
4323
|
+
},
|
|
4324
|
+
type: {
|
|
4325
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4326
|
+
type: "string",
|
|
4327
|
+
"enum": [
|
|
4328
|
+
"integer"
|
|
4329
|
+
]
|
|
4330
|
+
},
|
|
4331
|
+
description: {
|
|
4332
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
4333
|
+
type: "string"
|
|
4334
|
+
}
|
|
4335
|
+
},
|
|
4336
|
+
required: [
|
|
4337
|
+
"type",
|
|
4338
|
+
"description"
|
|
4339
|
+
]
|
|
4340
|
+
},
|
|
4341
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.INumber": {
|
|
4342
|
+
description: "Number (double) type info.",
|
|
4343
|
+
type: "object",
|
|
4344
|
+
properties: {
|
|
4345
|
+
minimum: {
|
|
4346
|
+
description: "Minimum value restriction.",
|
|
4347
|
+
type: "number"
|
|
4348
|
+
},
|
|
4349
|
+
maximum: {
|
|
4350
|
+
description: "Maximum value restriction.",
|
|
4351
|
+
type: "number"
|
|
4352
|
+
},
|
|
4353
|
+
exclusiveMinimum: {
|
|
4354
|
+
description: "Exclusive minimum value restriction.",
|
|
4355
|
+
type: "number"
|
|
4356
|
+
},
|
|
4357
|
+
exclusiveMaximum: {
|
|
4358
|
+
description: "Exclusive maximum value restriction.",
|
|
4359
|
+
type: "number"
|
|
4360
|
+
},
|
|
4361
|
+
multipleOf: {
|
|
4362
|
+
description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
|
|
4363
|
+
type: "number"
|
|
4364
|
+
},
|
|
4365
|
+
type: {
|
|
4366
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4367
|
+
type: "string",
|
|
4368
|
+
"enum": [
|
|
4369
|
+
"number"
|
|
4370
|
+
]
|
|
4371
|
+
},
|
|
4372
|
+
description: {
|
|
4373
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
4374
|
+
type: "string"
|
|
4375
|
+
}
|
|
4376
|
+
},
|
|
4377
|
+
required: [
|
|
4378
|
+
"type",
|
|
4379
|
+
"description"
|
|
4380
|
+
]
|
|
4381
|
+
},
|
|
4382
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IString": {
|
|
4383
|
+
description: "String type info.",
|
|
4384
|
+
type: "object",
|
|
4385
|
+
properties: {
|
|
4386
|
+
format: {
|
|
4387
|
+
description: "Format restriction.",
|
|
4388
|
+
type: "string",
|
|
4389
|
+
"enum": [
|
|
4390
|
+
"date-time",
|
|
4391
|
+
"password",
|
|
4392
|
+
"regex",
|
|
4393
|
+
"uuid",
|
|
4394
|
+
"email",
|
|
4395
|
+
"hostname",
|
|
4396
|
+
"idn-email",
|
|
4397
|
+
"idn-hostname",
|
|
4398
|
+
"iri",
|
|
4399
|
+
"iri-reference",
|
|
4400
|
+
"ipv4",
|
|
4401
|
+
"ipv6",
|
|
4402
|
+
"uri",
|
|
4403
|
+
"uri-reference",
|
|
4404
|
+
"uri-template",
|
|
4405
|
+
"url",
|
|
4406
|
+
"date",
|
|
4407
|
+
"time",
|
|
4408
|
+
"duration",
|
|
4409
|
+
"json-pointer",
|
|
4410
|
+
"relative-json-pointer"
|
|
4411
|
+
]
|
|
4412
|
+
},
|
|
4413
|
+
pattern: {
|
|
4414
|
+
description: "Pattern restriction.",
|
|
4415
|
+
type: "string"
|
|
4416
|
+
},
|
|
4417
|
+
contentMediaType: {
|
|
4418
|
+
description: "Content media type restriction.",
|
|
4419
|
+
type: "string"
|
|
4420
|
+
},
|
|
4421
|
+
minLength: {
|
|
4422
|
+
description: "Minimum length restriction.\n\n\n@minimum 0",
|
|
4423
|
+
type: "integer"
|
|
4424
|
+
},
|
|
4425
|
+
maxLength: {
|
|
4426
|
+
description: "Maximum length restriction.\n\n\n@minimum 0",
|
|
4427
|
+
type: "integer"
|
|
4428
|
+
},
|
|
4429
|
+
type: {
|
|
4430
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4431
|
+
type: "string",
|
|
4432
|
+
"enum": [
|
|
4433
|
+
"string"
|
|
4434
|
+
]
|
|
4435
|
+
},
|
|
4436
|
+
description: {
|
|
4437
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
4438
|
+
type: "string"
|
|
4439
|
+
}
|
|
4440
|
+
},
|
|
4441
|
+
required: [
|
|
4442
|
+
"type",
|
|
4443
|
+
"description"
|
|
4444
|
+
]
|
|
4445
|
+
},
|
|
4446
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IArray": {
|
|
4447
|
+
description: "Array type info.",
|
|
4448
|
+
type: "object",
|
|
4449
|
+
properties: {
|
|
4450
|
+
items: {
|
|
4451
|
+
description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
|
|
4452
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
|
|
4453
|
+
},
|
|
4454
|
+
uniqueItems: {
|
|
4455
|
+
description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
|
|
4456
|
+
type: "boolean"
|
|
4457
|
+
},
|
|
4458
|
+
minItems: {
|
|
4459
|
+
description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.\n\n\n@minimum 0",
|
|
4460
|
+
type: "integer"
|
|
4461
|
+
},
|
|
4462
|
+
maxItems: {
|
|
4463
|
+
description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.\n\n\n@minimum 0",
|
|
4464
|
+
type: "integer"
|
|
4465
|
+
},
|
|
4466
|
+
type: {
|
|
4467
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4468
|
+
type: "string",
|
|
4469
|
+
"enum": [
|
|
4470
|
+
"array"
|
|
4471
|
+
]
|
|
4472
|
+
},
|
|
4473
|
+
description: {
|
|
4474
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
4475
|
+
type: "string"
|
|
4476
|
+
}
|
|
4477
|
+
},
|
|
4478
|
+
required: [
|
|
4479
|
+
"items",
|
|
4480
|
+
"type",
|
|
4481
|
+
"description"
|
|
4482
|
+
]
|
|
4483
|
+
},
|
|
4484
|
+
"AutoBeOpenApi.IJsonSchema": {
|
|
4485
|
+
description: "Type schema info.\n\n`AutoBeOpenApi.IJsonSchema` is a type schema info of the OpenAPI\nGenerative.\n\n`AutoBeOpenApi.IJsonSchema` basically follows the JSON schema specification\nof OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience, clarity, and AI\ngeneration.\n\n## CRITICAL: Union Type Expression\n\nIn this type system, union types (including nullable types) MUST be\nexpressed using the `IOneOf` structure. NEVER use array notation in the\n`type` field.\n\n\u274C **FORBIDDEN** - Array notation in type field:\n\n```typescript\n{\n \"type\": [\"string\", \"null\"] // NEVER DO THIS!\n}\n```\n\n\u2705 **CORRECT** - Using IOneOf for unions:\n\n```typescript\n// For nullable string:\n{\n oneOf: [{ type: \"string\" }, { type: \"null\" }];\n}\n\n// For string | number union:\n{\n oneOf: [{ type: \"string\" }, { type: \"number\" }];\n}\n```\n\nThe `type` field in any schema object is a discriminator that identifies\nthe schema type and MUST contain exactly one string value.",
|
|
4486
|
+
anyOf: [
|
|
4487
|
+
{
|
|
4488
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
|
|
4489
|
+
},
|
|
4490
|
+
{
|
|
4491
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
|
|
4492
|
+
},
|
|
4493
|
+
{
|
|
4494
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
|
|
4495
|
+
},
|
|
4496
|
+
{
|
|
4497
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
|
|
4498
|
+
},
|
|
4499
|
+
{
|
|
4500
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
|
|
4501
|
+
},
|
|
4502
|
+
{
|
|
4503
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
|
|
4504
|
+
},
|
|
4505
|
+
{
|
|
4506
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
|
|
4507
|
+
},
|
|
4508
|
+
{
|
|
4509
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
|
|
4510
|
+
},
|
|
4511
|
+
{
|
|
4512
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
|
|
4513
|
+
},
|
|
4514
|
+
{
|
|
4515
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
|
|
4516
|
+
}
|
|
4517
|
+
]
|
|
4518
|
+
},
|
|
4519
|
+
"AutoBeOpenApi.IJsonSchema.IInteger": {
|
|
4520
|
+
description: "Integer type info.",
|
|
4521
|
+
type: "object",
|
|
4522
|
+
properties: {
|
|
4523
|
+
minimum: {
|
|
4524
|
+
description: "Minimum value restriction.",
|
|
4525
|
+
type: "integer"
|
|
4526
|
+
},
|
|
4527
|
+
maximum: {
|
|
4528
|
+
description: "Maximum value restriction.",
|
|
4529
|
+
type: "integer"
|
|
4530
|
+
},
|
|
4531
|
+
exclusiveMinimum: {
|
|
4532
|
+
description: "Exclusive minimum value restriction.",
|
|
4533
|
+
type: "number"
|
|
4534
|
+
},
|
|
4535
|
+
exclusiveMaximum: {
|
|
4536
|
+
description: "Exclusive maximum value restriction.",
|
|
4537
|
+
type: "number"
|
|
4538
|
+
},
|
|
4539
|
+
multipleOf: {
|
|
4540
|
+
description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
|
|
4541
|
+
type: "integer"
|
|
4542
|
+
},
|
|
4543
|
+
type: {
|
|
4544
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4545
|
+
type: "string",
|
|
4546
|
+
"enum": [
|
|
4547
|
+
"integer"
|
|
4548
|
+
]
|
|
4549
|
+
}
|
|
4550
|
+
},
|
|
4551
|
+
required: [
|
|
4552
|
+
"type"
|
|
4553
|
+
]
|
|
4554
|
+
},
|
|
4555
|
+
"AutoBeOpenApi.IJsonSchema.INumber": {
|
|
4556
|
+
description: "Number (double) type info.",
|
|
4557
|
+
type: "object",
|
|
4558
|
+
properties: {
|
|
4559
|
+
minimum: {
|
|
4560
|
+
description: "Minimum value restriction.",
|
|
4561
|
+
type: "number"
|
|
4562
|
+
},
|
|
4563
|
+
maximum: {
|
|
4564
|
+
description: "Maximum value restriction.",
|
|
4565
|
+
type: "number"
|
|
4566
|
+
},
|
|
4567
|
+
exclusiveMinimum: {
|
|
4568
|
+
description: "Exclusive minimum value restriction.",
|
|
4569
|
+
type: "number"
|
|
4570
|
+
},
|
|
4571
|
+
exclusiveMaximum: {
|
|
4572
|
+
description: "Exclusive maximum value restriction.",
|
|
4573
|
+
type: "number"
|
|
4574
|
+
},
|
|
4575
|
+
multipleOf: {
|
|
4576
|
+
description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
|
|
4577
|
+
type: "number"
|
|
4578
|
+
},
|
|
4579
|
+
type: {
|
|
4580
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4581
|
+
type: "string",
|
|
4582
|
+
"enum": [
|
|
4583
|
+
"number"
|
|
4584
|
+
]
|
|
4585
|
+
}
|
|
4586
|
+
},
|
|
4587
|
+
required: [
|
|
4588
|
+
"type"
|
|
4589
|
+
]
|
|
4590
|
+
},
|
|
4591
|
+
"AutoBeOpenApi.IJsonSchema.IString": {
|
|
4592
|
+
description: "String type info.",
|
|
4593
|
+
type: "object",
|
|
4594
|
+
properties: {
|
|
4595
|
+
format: {
|
|
4596
|
+
description: "Format restriction.",
|
|
4597
|
+
type: "string",
|
|
4598
|
+
"enum": [
|
|
4599
|
+
"date-time",
|
|
4600
|
+
"password",
|
|
4601
|
+
"regex",
|
|
4602
|
+
"uuid",
|
|
4603
|
+
"email",
|
|
4604
|
+
"hostname",
|
|
4605
|
+
"idn-email",
|
|
4606
|
+
"idn-hostname",
|
|
4607
|
+
"iri",
|
|
4608
|
+
"iri-reference",
|
|
4609
|
+
"ipv4",
|
|
4610
|
+
"ipv6",
|
|
4611
|
+
"uri",
|
|
4612
|
+
"uri-reference",
|
|
4613
|
+
"uri-template",
|
|
4614
|
+
"url",
|
|
4615
|
+
"date",
|
|
4616
|
+
"time",
|
|
4617
|
+
"duration",
|
|
4618
|
+
"json-pointer",
|
|
4619
|
+
"relative-json-pointer"
|
|
4620
|
+
]
|
|
4621
|
+
},
|
|
4622
|
+
pattern: {
|
|
4623
|
+
description: "Pattern restriction.",
|
|
4624
|
+
type: "string"
|
|
4625
|
+
},
|
|
4626
|
+
contentMediaType: {
|
|
4627
|
+
description: "Content media type restriction.",
|
|
4628
|
+
type: "string"
|
|
4629
|
+
},
|
|
4630
|
+
minLength: {
|
|
4631
|
+
description: "Minimum length restriction.\n\n\n@minimum 0",
|
|
4632
|
+
type: "integer"
|
|
4633
|
+
},
|
|
4634
|
+
maxLength: {
|
|
4635
|
+
description: "Maximum length restriction.\n\n\n@minimum 0",
|
|
4636
|
+
type: "integer"
|
|
4637
|
+
},
|
|
4638
|
+
type: {
|
|
4639
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4640
|
+
type: "string",
|
|
4641
|
+
"enum": [
|
|
4642
|
+
"string"
|
|
4643
|
+
]
|
|
4644
|
+
}
|
|
4645
|
+
},
|
|
4646
|
+
required: [
|
|
4647
|
+
"type"
|
|
4648
|
+
]
|
|
4649
|
+
},
|
|
4650
|
+
"AutoBeOpenApi.IJsonSchema.IConstant": {
|
|
4651
|
+
description: "Constant value type.",
|
|
4652
|
+
type: "object",
|
|
4653
|
+
properties: {
|
|
4654
|
+
"const": {
|
|
4655
|
+
description: "The constant value.",
|
|
4656
|
+
anyOf: [
|
|
4657
|
+
{
|
|
4658
|
+
type: "string"
|
|
4659
|
+
},
|
|
4660
|
+
{
|
|
4661
|
+
type: "number"
|
|
4662
|
+
},
|
|
4663
|
+
{
|
|
4664
|
+
type: "boolean"
|
|
4665
|
+
}
|
|
4666
|
+
]
|
|
4667
|
+
}
|
|
4668
|
+
},
|
|
4669
|
+
required: [
|
|
4670
|
+
"const"
|
|
4671
|
+
]
|
|
4672
|
+
},
|
|
4673
|
+
"AutoBeOpenApi.IJsonSchema.IBoolean": {
|
|
4674
|
+
description: "Boolean type info.",
|
|
4675
|
+
type: "object",
|
|
4676
|
+
properties: {
|
|
4677
|
+
type: {
|
|
4678
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4679
|
+
type: "string",
|
|
4680
|
+
"enum": [
|
|
4681
|
+
"boolean"
|
|
4682
|
+
]
|
|
4683
|
+
}
|
|
4684
|
+
},
|
|
4685
|
+
required: [
|
|
4686
|
+
"type"
|
|
4687
|
+
]
|
|
4688
|
+
},
|
|
4689
|
+
"AutoBeOpenApi.IJsonSchema.IArray": {
|
|
4690
|
+
description: "Array type info.",
|
|
4691
|
+
type: "object",
|
|
4692
|
+
properties: {
|
|
4693
|
+
items: {
|
|
4694
|
+
description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
|
|
4695
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
|
|
4696
|
+
},
|
|
4697
|
+
uniqueItems: {
|
|
4698
|
+
description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
|
|
4699
|
+
type: "boolean"
|
|
4700
|
+
},
|
|
4701
|
+
minItems: {
|
|
4702
|
+
description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.\n\n\n@minimum 0",
|
|
4703
|
+
type: "integer"
|
|
4704
|
+
},
|
|
4705
|
+
maxItems: {
|
|
4706
|
+
description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.\n\n\n@minimum 0",
|
|
4707
|
+
type: "integer"
|
|
4708
|
+
},
|
|
4709
|
+
type: {
|
|
4710
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4711
|
+
type: "string",
|
|
4712
|
+
"enum": [
|
|
4713
|
+
"array"
|
|
4714
|
+
]
|
|
4715
|
+
}
|
|
4716
|
+
},
|
|
4717
|
+
required: [
|
|
4718
|
+
"items",
|
|
4719
|
+
"type"
|
|
4720
|
+
]
|
|
4721
|
+
},
|
|
4722
|
+
"AutoBeOpenApi.IJsonSchema.IObject": {
|
|
4723
|
+
description: "Object type info.",
|
|
4724
|
+
type: "object",
|
|
4725
|
+
properties: {
|
|
4726
|
+
"x-autobe-prisma-schema": {
|
|
4727
|
+
description: "Related Prisma schema.\n\nIf the type is directly related to a specific Prisma schema model,\ninclude the exact model name here to establish a clear link between the\nOpenAPI schema and the Prisma model.\n\nThis field is optional and should only be included when there is a\ndirect correspondence to a Prisma model. If there's not any Prisma\nmodel association, this field can be omitted.",
|
|
4728
|
+
anyOf: [
|
|
4729
|
+
{
|
|
4730
|
+
type: "null"
|
|
4731
|
+
},
|
|
4732
|
+
{
|
|
4733
|
+
type: "string"
|
|
4734
|
+
}
|
|
4735
|
+
]
|
|
4736
|
+
},
|
|
4737
|
+
properties: {
|
|
4738
|
+
description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
|
|
4739
|
+
$ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
|
|
4740
|
+
},
|
|
4741
|
+
additionalProperties: {
|
|
4742
|
+
description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
|
|
4743
|
+
anyOf: [
|
|
4744
|
+
{
|
|
4745
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
|
|
4746
|
+
},
|
|
4747
|
+
{
|
|
4748
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
|
|
4749
|
+
},
|
|
4750
|
+
{
|
|
4751
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
|
|
4752
|
+
},
|
|
4753
|
+
{
|
|
4754
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
|
|
4755
|
+
},
|
|
4756
|
+
{
|
|
4757
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
|
|
4758
|
+
},
|
|
4759
|
+
{
|
|
4760
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
|
|
4761
|
+
},
|
|
4762
|
+
{
|
|
4763
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
|
|
4764
|
+
},
|
|
4765
|
+
{
|
|
4766
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
|
|
4767
|
+
},
|
|
4768
|
+
{
|
|
4769
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
|
|
4770
|
+
},
|
|
4771
|
+
{
|
|
4772
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
|
|
4773
|
+
},
|
|
4774
|
+
{
|
|
4775
|
+
type: "boolean",
|
|
4776
|
+
"enum": [
|
|
4777
|
+
false
|
|
4778
|
+
]
|
|
4779
|
+
}
|
|
4780
|
+
]
|
|
4781
|
+
},
|
|
4782
|
+
required: {
|
|
4783
|
+
description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
|
|
4784
|
+
type: "array",
|
|
4785
|
+
items: {
|
|
4786
|
+
type: "string"
|
|
4787
|
+
}
|
|
4788
|
+
},
|
|
4789
|
+
type: {
|
|
4790
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4791
|
+
type: "string",
|
|
4792
|
+
"enum": [
|
|
4793
|
+
"object"
|
|
4794
|
+
]
|
|
4795
|
+
}
|
|
4796
|
+
},
|
|
4797
|
+
required: [
|
|
4798
|
+
"properties",
|
|
4799
|
+
"required",
|
|
4800
|
+
"type"
|
|
4801
|
+
]
|
|
4802
|
+
},
|
|
4803
|
+
"AutoBeOpenApi.IJsonSchema.INull": {
|
|
4804
|
+
description: "Null type.",
|
|
4805
|
+
type: "object",
|
|
4806
|
+
properties: {
|
|
4807
|
+
type: {
|
|
4808
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4809
|
+
type: "string",
|
|
4810
|
+
"enum": [
|
|
4811
|
+
"null"
|
|
4812
|
+
]
|
|
4813
|
+
}
|
|
4814
|
+
},
|
|
4815
|
+
required: [
|
|
4816
|
+
"type"
|
|
4817
|
+
]
|
|
4818
|
+
},
|
|
4819
|
+
"AutoBeOpenApi.IJsonSchema.IReference": {
|
|
4820
|
+
description: "Reference type directing named schema.",
|
|
4821
|
+
type: "object",
|
|
4822
|
+
properties: {
|
|
4823
|
+
$ref: {
|
|
4824
|
+
description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
|
|
4825
|
+
type: "string"
|
|
4826
|
+
}
|
|
4827
|
+
},
|
|
4828
|
+
required: [
|
|
4829
|
+
"$ref"
|
|
4830
|
+
]
|
|
4831
|
+
},
|
|
4832
|
+
"AutoBeOpenApi.IJsonSchema.IOneOf": {
|
|
4833
|
+
description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
|
|
4834
|
+
type: "object",
|
|
4835
|
+
properties: {
|
|
4836
|
+
oneOf: {
|
|
4837
|
+
description: "List of the union types.",
|
|
4838
|
+
type: "array",
|
|
4839
|
+
items: {
|
|
4840
|
+
anyOf: [
|
|
4841
|
+
{
|
|
4842
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
|
|
4843
|
+
},
|
|
4844
|
+
{
|
|
4845
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
|
|
4846
|
+
},
|
|
4847
|
+
{
|
|
4848
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
|
|
4849
|
+
},
|
|
4850
|
+
{
|
|
4851
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
|
|
4852
|
+
},
|
|
4853
|
+
{
|
|
4854
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
|
|
4855
|
+
},
|
|
4856
|
+
{
|
|
4857
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
|
|
4858
|
+
},
|
|
4859
|
+
{
|
|
4860
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
|
|
4861
|
+
},
|
|
4862
|
+
{
|
|
4863
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
|
|
4864
|
+
},
|
|
4865
|
+
{
|
|
4866
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
|
|
4867
|
+
}
|
|
4868
|
+
]
|
|
4869
|
+
}
|
|
4870
|
+
},
|
|
4871
|
+
discriminator: {
|
|
4872
|
+
description: "Discriminator info of the union type.",
|
|
4873
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
|
|
4874
|
+
}
|
|
4875
|
+
},
|
|
4876
|
+
required: [
|
|
4877
|
+
"oneOf"
|
|
4878
|
+
]
|
|
4879
|
+
},
|
|
4880
|
+
"AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
|
|
4881
|
+
description: "Discriminator info of the union type.",
|
|
4882
|
+
type: "object",
|
|
4883
|
+
properties: {
|
|
4884
|
+
propertyName: {
|
|
4885
|
+
description: "Property name for the discriminator.",
|
|
4886
|
+
type: "string"
|
|
4887
|
+
},
|
|
4888
|
+
mapping: {
|
|
4889
|
+
description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`.",
|
|
4890
|
+
$ref: "#/$defs/Recordstringstring"
|
|
4891
|
+
}
|
|
4892
|
+
},
|
|
4893
|
+
required: [
|
|
4894
|
+
"propertyName"
|
|
4895
|
+
]
|
|
4896
|
+
},
|
|
4897
|
+
Recordstringstring: {
|
|
4898
|
+
description: "Construct a type with a set of properties K of type T",
|
|
4899
|
+
type: "object",
|
|
4900
|
+
properties: {},
|
|
4901
|
+
required: [],
|
|
4902
|
+
additionalProperties: {
|
|
4903
|
+
type: "string"
|
|
4904
|
+
}
|
|
4905
|
+
},
|
|
4906
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IObject": {
|
|
4907
|
+
description: "Object type info.",
|
|
4908
|
+
type: "object",
|
|
4909
|
+
properties: {
|
|
4910
|
+
"x-autobe-prisma-schema": {
|
|
4911
|
+
description: "Related Prisma schema.\n\nIf the type is directly related to a specific Prisma schema model,\ninclude the exact model name here to establish a clear link between the\nOpenAPI schema and the Prisma model.\n\nThis field is optional and should only be included when there is a\ndirect correspondence to a Prisma model. If there's not any Prisma\nmodel association, this field can be omitted.",
|
|
4912
|
+
anyOf: [
|
|
4913
|
+
{
|
|
4914
|
+
type: "null"
|
|
4915
|
+
},
|
|
4916
|
+
{
|
|
4917
|
+
type: "string"
|
|
4918
|
+
}
|
|
4919
|
+
]
|
|
4920
|
+
},
|
|
4921
|
+
properties: {
|
|
4922
|
+
description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
|
|
4923
|
+
$ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
|
|
4924
|
+
},
|
|
4925
|
+
additionalProperties: {
|
|
4926
|
+
description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
|
|
4927
|
+
anyOf: [
|
|
4928
|
+
{
|
|
4929
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
|
|
4930
|
+
},
|
|
4931
|
+
{
|
|
4932
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
|
|
4933
|
+
},
|
|
4934
|
+
{
|
|
4935
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
|
|
4936
|
+
},
|
|
4937
|
+
{
|
|
4938
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
|
|
4939
|
+
},
|
|
4940
|
+
{
|
|
4941
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
|
|
4942
|
+
},
|
|
4943
|
+
{
|
|
4944
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
|
|
4945
|
+
},
|
|
4946
|
+
{
|
|
4947
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
|
|
4948
|
+
},
|
|
4949
|
+
{
|
|
4950
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
|
|
4951
|
+
},
|
|
4952
|
+
{
|
|
4953
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
|
|
4954
|
+
},
|
|
4955
|
+
{
|
|
4956
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
|
|
4957
|
+
},
|
|
4958
|
+
{
|
|
4959
|
+
type: "boolean",
|
|
4960
|
+
"enum": [
|
|
4961
|
+
false
|
|
4962
|
+
]
|
|
4963
|
+
}
|
|
4964
|
+
]
|
|
4965
|
+
},
|
|
4966
|
+
required: {
|
|
4967
|
+
description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
|
|
4968
|
+
type: "array",
|
|
4969
|
+
items: {
|
|
4970
|
+
type: "string"
|
|
4971
|
+
}
|
|
4972
|
+
},
|
|
4973
|
+
type: {
|
|
4974
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
4975
|
+
type: "string",
|
|
4976
|
+
"enum": [
|
|
4977
|
+
"object"
|
|
4978
|
+
]
|
|
4979
|
+
},
|
|
4980
|
+
description: {
|
|
4981
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
4982
|
+
type: "string"
|
|
4983
|
+
}
|
|
4984
|
+
},
|
|
4985
|
+
required: [
|
|
4986
|
+
"properties",
|
|
4987
|
+
"required",
|
|
4988
|
+
"type",
|
|
4989
|
+
"description"
|
|
4990
|
+
]
|
|
4991
|
+
},
|
|
4992
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IReference": {
|
|
4993
|
+
description: "Reference type directing named schema.",
|
|
4994
|
+
type: "object",
|
|
4995
|
+
properties: {
|
|
4996
|
+
$ref: {
|
|
4997
|
+
description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
|
|
4998
|
+
type: "string"
|
|
4999
|
+
},
|
|
5000
|
+
description: {
|
|
5001
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
5002
|
+
type: "string"
|
|
5003
|
+
}
|
|
5004
|
+
},
|
|
5005
|
+
required: [
|
|
5006
|
+
"$ref",
|
|
5007
|
+
"description"
|
|
5008
|
+
]
|
|
5009
|
+
},
|
|
5010
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf": {
|
|
5011
|
+
description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
|
|
5012
|
+
type: "object",
|
|
5013
|
+
properties: {
|
|
5014
|
+
oneOf: {
|
|
5015
|
+
description: "List of the union types.",
|
|
5016
|
+
type: "array",
|
|
5017
|
+
items: {
|
|
5018
|
+
anyOf: [
|
|
5019
|
+
{
|
|
5020
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
|
|
5021
|
+
},
|
|
5022
|
+
{
|
|
5023
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
|
|
5024
|
+
},
|
|
5025
|
+
{
|
|
5026
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
|
|
5027
|
+
},
|
|
5028
|
+
{
|
|
5029
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
|
|
5030
|
+
},
|
|
5031
|
+
{
|
|
5032
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
|
|
5033
|
+
},
|
|
5034
|
+
{
|
|
5035
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
|
|
5036
|
+
},
|
|
5037
|
+
{
|
|
5038
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
|
|
5039
|
+
},
|
|
5040
|
+
{
|
|
5041
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
|
|
5042
|
+
},
|
|
5043
|
+
{
|
|
5044
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
|
|
5045
|
+
}
|
|
5046
|
+
]
|
|
5047
|
+
}
|
|
5048
|
+
},
|
|
5049
|
+
discriminator: {
|
|
5050
|
+
description: "Discriminator info of the union type.",
|
|
5051
|
+
$ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
|
|
5052
|
+
},
|
|
5053
|
+
description: {
|
|
5054
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
5055
|
+
type: "string"
|
|
5056
|
+
}
|
|
5057
|
+
},
|
|
5058
|
+
required: [
|
|
5059
|
+
"oneOf",
|
|
5060
|
+
"description"
|
|
5061
|
+
]
|
|
5062
|
+
},
|
|
5063
|
+
"AutoBeOpenApi.IJsonSchemaDescriptive.INull": {
|
|
5064
|
+
description: "Null type.",
|
|
5065
|
+
type: "object",
|
|
5066
|
+
properties: {
|
|
5067
|
+
type: {
|
|
5068
|
+
description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
|
|
5069
|
+
type: "string",
|
|
5070
|
+
"enum": [
|
|
5071
|
+
"null"
|
|
5072
|
+
]
|
|
5073
|
+
},
|
|
5074
|
+
description: {
|
|
5075
|
+
description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
|
|
5076
|
+
type: "string"
|
|
5077
|
+
}
|
|
5078
|
+
},
|
|
5079
|
+
required: [
|
|
5080
|
+
"type",
|
|
5081
|
+
"description"
|
|
5082
|
+
]
|
|
5083
|
+
}
|
|
5084
|
+
}
|
|
5085
|
+
},
|
|
5086
|
+
description: "Generate OpenAPI components containing named schema types.\n\nThis method receives a complete set of schema components and integrates\nthem into the final OpenAPI specification. It processes all entity schemas,\ntheir variants, and related type definitions to ensure a comprehensive and\nconsistent API design.\n\nThe provided components should include schemas for all entities identified\nin the previous phases of API path/method definition and operation\ncreation. This ensures that the final OpenAPI document has complete type\ncoverage for all operations.\n\nDO: Follow established naming conventions (IEntityName,\nIEntityName.ICreate, etc.) DO: Document thoroughly with descriptions that\nreference the original Prisma schema comments.",
|
|
5087
|
+
validate: (() => { const _iv1 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _iv2 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv7 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv8 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _io0 = input => "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas); const _io1 = input => Object.keys(input).every(key => {
|
|
5088
|
+
const value = input[key];
|
|
5089
|
+
if (undefined === value)
|
|
5090
|
+
return true;
|
|
5091
|
+
return "object" === typeof value && null !== value && _iu1(value);
|
|
5092
|
+
}); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format || true === _iv1.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io7 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io8 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io10 = input => (undefined === input.format || true === _iv2.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io11 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io12 = input => "boolean" === input.type; const _io13 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io14 = input => (null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io15 = input => "string" === typeof input.$ref; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)); const _io17 = input => "null" === input.type; const _io18 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io19(input.mapping)); const _io19 = input => Object.keys(input).every(key => {
|
|
5093
|
+
const value = input[key];
|
|
5094
|
+
if (undefined === value)
|
|
5095
|
+
return true;
|
|
5096
|
+
return "string" === typeof value;
|
|
5097
|
+
}); const _io20 = input => (null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type && "string" === typeof input.description; const _io21 = input => "string" === typeof input.$ref && "string" === typeof input.description; const _io22 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)) && "string" === typeof input.description; const _io23 = input => "null" === input.type && "string" === typeof input.description; const _iu0 = input => (() => {
|
|
5098
|
+
if ("number" === input.type)
|
|
5099
|
+
return _io9(input);
|
|
5100
|
+
else if ("integer" === input.type)
|
|
5101
|
+
return _io8(input);
|
|
5102
|
+
else if ("string" === input.type)
|
|
5103
|
+
return _io10(input);
|
|
5104
|
+
else if (undefined !== input["const"])
|
|
5105
|
+
return _io11(input);
|
|
5106
|
+
else if ("null" === input.type)
|
|
5107
|
+
return _io17(input);
|
|
5108
|
+
else if ("boolean" === input.type)
|
|
5109
|
+
return _io12(input);
|
|
5110
|
+
else if ("array" === input.type)
|
|
5111
|
+
return _io13(input);
|
|
5112
|
+
else if ("object" === input.type)
|
|
5113
|
+
return _io14(input);
|
|
5114
|
+
else if (undefined !== input.$ref)
|
|
5115
|
+
return _io15(input);
|
|
5116
|
+
else
|
|
5117
|
+
return false;
|
|
5118
|
+
})(); const _iu1 = input => (() => {
|
|
5119
|
+
if (undefined !== input["const"])
|
|
5120
|
+
return _io2(input);
|
|
5121
|
+
else if ("boolean" === input.type)
|
|
5122
|
+
return _io3(input);
|
|
5123
|
+
else if ("number" === input.type)
|
|
5124
|
+
return _io5(input);
|
|
5125
|
+
else if ("integer" === input.type)
|
|
5126
|
+
return _io4(input);
|
|
5127
|
+
else if ("string" === input.type)
|
|
5128
|
+
return _io6(input);
|
|
5129
|
+
else if ("array" === input.type)
|
|
5130
|
+
return _io7(input);
|
|
5131
|
+
else if ("object" === input.type)
|
|
5132
|
+
return _io20(input);
|
|
5133
|
+
else if (undefined !== input.$ref)
|
|
5134
|
+
return _io21(input);
|
|
5135
|
+
else if (undefined !== input.oneOf)
|
|
5136
|
+
return _io22(input);
|
|
5137
|
+
else if ("null" === input.type)
|
|
5138
|
+
return _io23(input);
|
|
5139
|
+
else
|
|
5140
|
+
return false;
|
|
5141
|
+
})(); const _iu2 = input => (() => {
|
|
5142
|
+
if ("number" === input.type)
|
|
5143
|
+
return _io9(input);
|
|
5144
|
+
else if ("integer" === input.type)
|
|
5145
|
+
return _io8(input);
|
|
5146
|
+
else if ("string" === input.type)
|
|
5147
|
+
return _io10(input);
|
|
5148
|
+
else if (undefined !== input["const"])
|
|
5149
|
+
return _io11(input);
|
|
5150
|
+
else if ("null" === input.type)
|
|
5151
|
+
return _io17(input);
|
|
5152
|
+
else if ("boolean" === input.type)
|
|
5153
|
+
return _io12(input);
|
|
5154
|
+
else if ("array" === input.type)
|
|
5155
|
+
return _io13(input);
|
|
5156
|
+
else if ("object" === input.type)
|
|
5157
|
+
return _io14(input);
|
|
5158
|
+
else if (undefined !== input.$ref)
|
|
5159
|
+
return _io15(input);
|
|
5160
|
+
else if (undefined !== input.oneOf)
|
|
5161
|
+
return _io16(input);
|
|
5162
|
+
else
|
|
5163
|
+
return false;
|
|
5164
|
+
})(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) || _report(_exceptionable, {
|
|
5165
|
+
path: _path + ".schemas",
|
|
5166
|
+
expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
|
|
5167
|
+
value: input.schemas
|
|
5168
|
+
})) && _vo1(input.schemas, _path + ".schemas", true && _exceptionable) || _report(_exceptionable, {
|
|
5169
|
+
path: _path + ".schemas",
|
|
5170
|
+
expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
|
|
5171
|
+
value: input.schemas
|
|
5172
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
|
|
5173
|
+
const value = input[key];
|
|
5174
|
+
if (undefined === value)
|
|
5175
|
+
return true;
|
|
5176
|
+
return ("object" === typeof value && null !== value || _report(_exceptionable, {
|
|
5177
|
+
path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
|
|
5178
|
+
expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
|
|
5179
|
+
value: value
|
|
5180
|
+
})) && _vu1(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
|
|
5181
|
+
path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
|
|
5182
|
+
expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
|
|
5183
|
+
value: value
|
|
5184
|
+
});
|
|
5185
|
+
}).every(flag => flag)].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
|
|
5186
|
+
path: _path + "[\"const\"]",
|
|
5187
|
+
expected: "(boolean | number | string)",
|
|
5188
|
+
value: input["const"]
|
|
5189
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
5190
|
+
path: _path + ".description",
|
|
5191
|
+
expected: "string",
|
|
5192
|
+
value: input.description
|
|
5193
|
+
})].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
|
|
5194
|
+
path: _path + ".type",
|
|
5195
|
+
expected: "\"boolean\"",
|
|
5196
|
+
value: input.type
|
|
5197
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
5198
|
+
path: _path + ".description",
|
|
5199
|
+
expected: "string",
|
|
5200
|
+
value: input.description
|
|
5201
|
+
})].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
|
|
5202
|
+
path: _path + ".minimum",
|
|
5203
|
+
expected: "number & Type<\"int64\">",
|
|
5204
|
+
value: input.minimum
|
|
5205
|
+
})) || _report(_exceptionable, {
|
|
5206
|
+
path: _path + ".minimum",
|
|
5207
|
+
expected: "((number & Type<\"int64\">) | undefined)",
|
|
5208
|
+
value: input.minimum
|
|
5209
|
+
}), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
|
|
5210
|
+
path: _path + ".maximum",
|
|
5211
|
+
expected: "number & Type<\"int64\">",
|
|
5212
|
+
value: input.maximum
|
|
5213
|
+
})) || _report(_exceptionable, {
|
|
5214
|
+
path: _path + ".maximum",
|
|
5215
|
+
expected: "((number & Type<\"int64\">) | undefined)",
|
|
5216
|
+
value: input.maximum
|
|
5217
|
+
}), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
|
|
5218
|
+
path: _path + ".exclusiveMinimum",
|
|
5219
|
+
expected: "(number | undefined)",
|
|
5220
|
+
value: input.exclusiveMinimum
|
|
5221
|
+
}), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
|
|
5222
|
+
path: _path + ".exclusiveMaximum",
|
|
5223
|
+
expected: "(number | undefined)",
|
|
5224
|
+
value: input.exclusiveMaximum
|
|
5225
|
+
}), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
|
|
5226
|
+
path: _path + ".multipleOf",
|
|
5227
|
+
expected: "number & Type<\"uint64\">",
|
|
5228
|
+
value: input.multipleOf
|
|
5229
|
+
})) && (0 < input.multipleOf || _report(_exceptionable, {
|
|
5230
|
+
path: _path + ".multipleOf",
|
|
5231
|
+
expected: "number & ExclusiveMinimum<0>",
|
|
5232
|
+
value: input.multipleOf
|
|
5233
|
+
})) || _report(_exceptionable, {
|
|
5234
|
+
path: _path + ".multipleOf",
|
|
5235
|
+
expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
|
|
5236
|
+
value: input.multipleOf
|
|
5237
|
+
}), "integer" === input.type || _report(_exceptionable, {
|
|
5238
|
+
path: _path + ".type",
|
|
5239
|
+
expected: "\"integer\"",
|
|
5240
|
+
value: input.type
|
|
5241
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
5242
|
+
path: _path + ".description",
|
|
5243
|
+
expected: "string",
|
|
5244
|
+
value: input.description
|
|
5245
|
+
})].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
|
|
5246
|
+
path: _path + ".minimum",
|
|
5247
|
+
expected: "(number | undefined)",
|
|
5248
|
+
value: input.minimum
|
|
5249
|
+
}), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
|
|
5250
|
+
path: _path + ".maximum",
|
|
5251
|
+
expected: "(number | undefined)",
|
|
5252
|
+
value: input.maximum
|
|
5253
|
+
}), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
|
|
5254
|
+
path: _path + ".exclusiveMinimum",
|
|
5255
|
+
expected: "(number | undefined)",
|
|
5256
|
+
value: input.exclusiveMinimum
|
|
5257
|
+
}), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
|
|
5258
|
+
path: _path + ".exclusiveMaximum",
|
|
5259
|
+
expected: "(number | undefined)",
|
|
5260
|
+
value: input.exclusiveMaximum
|
|
5261
|
+
}), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
|
|
5262
|
+
path: _path + ".multipleOf",
|
|
5263
|
+
expected: "number & ExclusiveMinimum<0>",
|
|
5264
|
+
value: input.multipleOf
|
|
5265
|
+
})) || _report(_exceptionable, {
|
|
5266
|
+
path: _path + ".multipleOf",
|
|
5267
|
+
expected: "((number & ExclusiveMinimum<0>) | undefined)",
|
|
5268
|
+
value: input.multipleOf
|
|
5269
|
+
}), "number" === input.type || _report(_exceptionable, {
|
|
5270
|
+
path: _path + ".type",
|
|
5271
|
+
expected: "\"number\"",
|
|
5272
|
+
value: input.type
|
|
5273
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
5274
|
+
path: _path + ".description",
|
|
5275
|
+
expected: "string",
|
|
5276
|
+
value: input.description
|
|
5277
|
+
})].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv7.has(input.format) || _report(_exceptionable, {
|
|
5278
|
+
path: _path + ".format",
|
|
5279
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
5280
|
+
value: input.format
|
|
5281
|
+
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
5282
|
+
path: _path + ".pattern",
|
|
5283
|
+
expected: "(string | undefined)",
|
|
5284
|
+
value: input.pattern
|
|
5285
|
+
}), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
|
|
5286
|
+
path: _path + ".contentMediaType",
|
|
5287
|
+
expected: "(string | undefined)",
|
|
5288
|
+
value: input.contentMediaType
|
|
5289
|
+
}), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
|
|
5290
|
+
path: _path + ".minLength",
|
|
5291
|
+
expected: "number & Type<\"uint64\">",
|
|
5292
|
+
value: input.minLength
|
|
5293
|
+
})) || _report(_exceptionable, {
|
|
5294
|
+
path: _path + ".minLength",
|
|
5295
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
5296
|
+
value: input.minLength
|
|
5297
|
+
}), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
|
|
5298
|
+
path: _path + ".maxLength",
|
|
5299
|
+
expected: "number & Type<\"uint64\">",
|
|
5300
|
+
value: input.maxLength
|
|
5301
|
+
})) || _report(_exceptionable, {
|
|
5302
|
+
path: _path + ".maxLength",
|
|
5303
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
5304
|
+
value: input.maxLength
|
|
5305
|
+
}), "string" === input.type || _report(_exceptionable, {
|
|
5306
|
+
path: _path + ".type",
|
|
5307
|
+
expected: "\"string\"",
|
|
5308
|
+
value: input.type
|
|
5309
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
5310
|
+
path: _path + ".description",
|
|
5311
|
+
expected: "string",
|
|
5312
|
+
value: input.description
|
|
5313
|
+
})].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
|
|
5314
|
+
path: _path + ".items",
|
|
5315
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
5316
|
+
value: input.items
|
|
5317
|
+
})) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
|
|
5318
|
+
path: _path + ".items",
|
|
5319
|
+
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
5320
|
+
value: input.items
|
|
5321
|
+
}), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
|
|
5322
|
+
path: _path + ".uniqueItems",
|
|
5323
|
+
expected: "(boolean | undefined)",
|
|
5324
|
+
value: input.uniqueItems
|
|
5325
|
+
}), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
|
|
5326
|
+
path: _path + ".minItems",
|
|
5327
|
+
expected: "number & Type<\"uint64\">",
|
|
5328
|
+
value: input.minItems
|
|
5329
|
+
})) || _report(_exceptionable, {
|
|
5330
|
+
path: _path + ".minItems",
|
|
5331
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
5332
|
+
value: input.minItems
|
|
5333
|
+
}), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
|
|
5334
|
+
path: _path + ".maxItems",
|
|
5335
|
+
expected: "number & Type<\"uint64\">",
|
|
5336
|
+
value: input.maxItems
|
|
5337
|
+
})) || _report(_exceptionable, {
|
|
5338
|
+
path: _path + ".maxItems",
|
|
5339
|
+
expected: "((number & Type<\"uint64\">) | undefined)",
|
|
5340
|
+
value: input.maxItems
|
|
5341
|
+
}), "array" === input.type || _report(_exceptionable, {
|
|
5342
|
+
path: _path + ".type",
|
|
5343
|
+
expected: "\"array\"",
|
|
5344
|
+
value: input.type
|
|
5345
|
+
}), "string" === typeof input.description || _report(_exceptionable, {
|
|
5346
|
+
path: _path + ".description",
|
|
5347
|
+
expected: "string",
|
|
5348
|
+
value: input.description
|
|
5349
|
+
})].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
|
|
5350
|
+
path: _path + ".minimum",
|
|
5351
|
+
expected: "number & Type<\"int64\">",
|
|
5352
|
+
value: input.minimum
|
|
5353
|
+
})) || _report(_exceptionable, {
|
|
5354
|
+
path: _path + ".minimum",
|
|
5355
|
+
expected: "((number & Type<\"int64\">) | undefined)",
|
|
5356
|
+
value: input.minimum
|
|
5357
|
+
}), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
|
|
5358
|
+
path: _path + ".maximum",
|
|
5359
|
+
expected: "number & Type<\"int64\">",
|
|
5360
|
+
value: input.maximum
|
|
5361
|
+
})) || _report(_exceptionable, {
|
|
5362
|
+
path: _path + ".maximum",
|
|
5363
|
+
expected: "((number & Type<\"int64\">) | undefined)",
|
|
5364
|
+
value: input.maximum
|
|
5365
|
+
}), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
|
|
5366
|
+
path: _path + ".exclusiveMinimum",
|
|
5367
|
+
expected: "(number | undefined)",
|
|
5368
|
+
value: input.exclusiveMinimum
|
|
5369
|
+
}), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
|
|
5370
|
+
path: _path + ".exclusiveMaximum",
|
|
5371
|
+
expected: "(number | undefined)",
|
|
5372
|
+
value: input.exclusiveMaximum
|
|
5373
|
+
}), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
|
|
5374
|
+
path: _path + ".multipleOf",
|
|
5375
|
+
expected: "number & Type<\"uint64\">",
|
|
5376
|
+
value: input.multipleOf
|
|
5377
|
+
})) && (0 < input.multipleOf || _report(_exceptionable, {
|
|
5378
|
+
path: _path + ".multipleOf",
|
|
5379
|
+
expected: "number & ExclusiveMinimum<0>",
|
|
5380
|
+
value: input.multipleOf
|
|
5381
|
+
})) || _report(_exceptionable, {
|
|
5382
|
+
path: _path + ".multipleOf",
|
|
5383
|
+
expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
|
|
5384
|
+
value: input.multipleOf
|
|
5385
|
+
}), "integer" === input.type || _report(_exceptionable, {
|
|
5386
|
+
path: _path + ".type",
|
|
5387
|
+
expected: "\"integer\"",
|
|
5388
|
+
value: input.type
|
|
5389
|
+
})].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
|
|
5390
|
+
path: _path + ".minimum",
|
|
5391
|
+
expected: "(number | undefined)",
|
|
5392
|
+
value: input.minimum
|
|
5393
|
+
}), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
|
|
5394
|
+
path: _path + ".maximum",
|
|
5395
|
+
expected: "(number | undefined)",
|
|
5396
|
+
value: input.maximum
|
|
5397
|
+
}), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
|
|
5398
|
+
path: _path + ".exclusiveMinimum",
|
|
5399
|
+
expected: "(number | undefined)",
|
|
5400
|
+
value: input.exclusiveMinimum
|
|
5401
|
+
}), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
|
|
5402
|
+
path: _path + ".exclusiveMaximum",
|
|
5403
|
+
expected: "(number | undefined)",
|
|
5404
|
+
value: input.exclusiveMaximum
|
|
5405
|
+
}), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
|
|
5406
|
+
path: _path + ".multipleOf",
|
|
5407
|
+
expected: "number & ExclusiveMinimum<0>",
|
|
5408
|
+
value: input.multipleOf
|
|
5409
|
+
})) || _report(_exceptionable, {
|
|
5410
|
+
path: _path + ".multipleOf",
|
|
5411
|
+
expected: "((number & ExclusiveMinimum<0>) | undefined)",
|
|
5412
|
+
value: input.multipleOf
|
|
5413
|
+
}), "number" === input.type || _report(_exceptionable, {
|
|
5414
|
+
path: _path + ".type",
|
|
5415
|
+
expected: "\"number\"",
|
|
5416
|
+
value: input.type
|
|
5417
|
+
})].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv8.has(input.format) || _report(_exceptionable, {
|
|
5418
|
+
path: _path + ".format",
|
|
5419
|
+
expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
|
|
3629
5420
|
value: input.format
|
|
3630
5421
|
}), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
|
|
3631
5422
|
path: _path + ".pattern",
|
|
@@ -3723,8 +5514,8 @@ const collection = {
|
|
|
3723
5514
|
path: _path + ".required",
|
|
3724
5515
|
expected: "Array<string>",
|
|
3725
5516
|
value: input.required
|
|
3726
|
-
})) && input.required.map((elem,
|
|
3727
|
-
path: _path + ".required[" +
|
|
5517
|
+
})) && input.required.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
|
|
5518
|
+
path: _path + ".required[" + _index9 + "]",
|
|
3728
5519
|
expected: "string",
|
|
3729
5520
|
value: elem
|
|
3730
5521
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -3743,12 +5534,12 @@ const collection = {
|
|
|
3743
5534
|
path: _path + ".oneOf",
|
|
3744
5535
|
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
3745
5536
|
value: input.oneOf
|
|
3746
|
-
})) && input.oneOf.map((elem,
|
|
3747
|
-
path: _path + ".oneOf[" +
|
|
5537
|
+
})) && input.oneOf.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
5538
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
3748
5539
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3749
5540
|
value: elem
|
|
3750
|
-
})) && _vu0(elem, _path + ".oneOf[" +
|
|
3751
|
-
path: _path + ".oneOf[" +
|
|
5541
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
5542
|
+
path: _path + ".oneOf[" + _index10 + "]",
|
|
3752
5543
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3753
5544
|
value: elem
|
|
3754
5545
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -3816,8 +5607,8 @@ const collection = {
|
|
|
3816
5607
|
path: _path + ".required",
|
|
3817
5608
|
expected: "Array<string>",
|
|
3818
5609
|
value: input.required
|
|
3819
|
-
})) && input.required.map((elem,
|
|
3820
|
-
path: _path + ".required[" +
|
|
5610
|
+
})) && input.required.map((elem, _index11) => "string" === typeof elem || _report(_exceptionable, {
|
|
5611
|
+
path: _path + ".required[" + _index11 + "]",
|
|
3821
5612
|
expected: "string",
|
|
3822
5613
|
value: elem
|
|
3823
5614
|
})).every(flag => flag) || _report(_exceptionable, {
|
|
@@ -3844,12 +5635,12 @@ const collection = {
|
|
|
3844
5635
|
path: _path + ".oneOf",
|
|
3845
5636
|
expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
|
|
3846
5637
|
value: input.oneOf
|
|
3847
|
-
})) && input.oneOf.map((elem,
|
|
3848
|
-
path: _path + ".oneOf[" +
|
|
5638
|
+
})) && input.oneOf.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
5639
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
3849
5640
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3850
5641
|
value: elem
|
|
3851
|
-
})) && _vu0(elem, _path + ".oneOf[" +
|
|
3852
|
-
path: _path + ".oneOf[" +
|
|
5642
|
+
})) && _vu0(elem, _path + ".oneOf[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
5643
|
+
path: _path + ".oneOf[" + _index12 + "]",
|
|
3853
5644
|
expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
|
|
3854
5645
|
value: elem
|
|
3855
5646
|
})).every(flag => flag) || _report(_exceptionable, {
|