@nestia/sdk 1.2.5 → 1.2.6-dev.20230512

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.
@@ -18,10 +18,12 @@ const path_1 = __importDefault(require("path"));
18
18
  const Singleton_1 = require("tstl/thread/Singleton");
19
19
  const VariadicSingleton_1 = require("tstl/thread/VariadicSingleton");
20
20
  const typescript_1 = __importDefault(require("typescript"));
21
+ const typia_1 = __importDefault(require("typia"));
21
22
  const CommentFactory_1 = require("typia/lib/factories/CommentFactory");
22
23
  const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
23
24
  const MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
24
25
  const ApplicationProgrammer_1 = require("typia/lib/programmers/ApplicationProgrammer");
26
+ const FileRetriever_1 = require("../utils/FileRetriever");
25
27
  const MapUtil_1 = require("../utils/MapUtil");
26
28
  var SwaggerGenerator;
27
29
  (function (SwaggerGenerator) {
@@ -38,7 +40,7 @@ var SwaggerGenerator;
38
40
  });
39
41
  // CONSTRUCT SWAGGER DOCUMENTS
40
42
  const tupleList = [];
41
- const swagger = yield initialize(location);
43
+ const swagger = yield initialize(config)(location);
42
44
  const pathDict = new Map();
43
45
  for (const route of routeList) {
44
46
  if (route.tags.find((tag) => tag.name === "internal"))
@@ -71,30 +73,1921 @@ var SwaggerGenerator;
71
73
  /* ---------------------------------------------------------
72
74
  INITIALIZERS
73
75
  --------------------------------------------------------- */
74
- function initialize(path) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- // LOAD OR CREATE NEW SWAGGER DATA
77
- const swagger = fs_1.default.existsSync(path)
78
- ? JSON.parse(yield fs_1.default.promises.readFile(path, "utf8"))
79
- : {
80
- openapi: "3.0.1",
81
- servers: [
82
- {
83
- url: "https://github.com/samchon/nestia",
84
- description: "insert your server url",
85
- },
86
- ],
87
- info: {
88
- version: "0.1.0",
89
- title: "Generated by nestia - https://github.com/samchon/nestia",
90
- },
91
- paths: {},
92
- components: {},
76
+ const initialize = (config) => (path) => __awaiter(this, void 0, void 0, function* () {
77
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
78
+ if (fs_1.default.existsSync(path))
79
+ try {
80
+ const content = yield fs_1.default.promises.readFile(path, "utf8");
81
+ return (input => { const assert = input => {
82
+ const $guard = typia_1.default.assertParse.guard;
83
+ const $join = typia_1.default.assertParse.join;
84
+ const __is = input => {
85
+ const $io0 = input => "3.0.1" === input.openapi && (Array.isArray(input.servers) && input.servers.every(elem => "object" === typeof elem && null !== elem && $io1(elem))) && ("object" === typeof input.info && null !== input.info && $io2(input.info)) && ("object" === typeof input.components && null !== input.components && $io3(input.components)) && (undefined === input.security || Array.isArray(input.security) && input.security.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $io49(elem))) && ("object" === typeof input.paths && null !== input.paths && false === Array.isArray(input.paths) && $io50(input.paths));
86
+ const $io1 = input => "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description);
87
+ const $io2 = input => "string" === typeof input.version && "string" === typeof input.title && (undefined === input.description || "string" === typeof input.description);
88
+ const $io3 = input => (undefined === input.securitySchemes || "object" === typeof input.securitySchemes && null !== input.securitySchemes && false === Array.isArray(input.securitySchemes) && $io4(input.securitySchemes)) && ("object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && $io15(input.schemas));
89
+ const $io4 = input => Object.keys(input).every(key => {
90
+ const value = input[key];
91
+ if (undefined === value)
92
+ return true;
93
+ if (RegExp(/(.*)/).test(key))
94
+ return "object" === typeof value && null !== value && $iu0(value);
95
+ return true;
96
+ });
97
+ const $io5 = input => "http" === input.type && "basic" === input.schema;
98
+ const $io6 = input => "http" === input.type && "bearer" === input.scheme && (undefined === input.bearerFormat || "string" === typeof input.bearerFormat);
99
+ const $io7 = input => "apiKey" === input.type && ("header" === input["in"] || "query" === input["in"] || "cookie" === input["in"]) && "string" === typeof input.name;
100
+ const $io8 = input => "openIdConnect" === input.type && "string" === typeof input.openIdConnectUrl;
101
+ const $io9 = input => "oauth2" === input.type && ("object" === typeof input.flows && null !== input.flows && false === Array.isArray(input.flows) && $io10(input.flows)) && (undefined === input.description || "string" === typeof input.description);
102
+ const $io10 = input => (undefined === input.authorizationCode || "object" === typeof input.authorizationCode && null !== input.authorizationCode && $io11(input.authorizationCode)) && (undefined === input.implicit || "object" === typeof input.implicit && null !== input.implicit && $io13(input.implicit)) && (undefined === input.password || "object" === typeof input.password && null !== input.password && $io14(input.password)) && (undefined === input.clientCredentials || "object" === typeof input.clientCredentials && null !== input.clientCredentials && $io14(input.clientCredentials));
103
+ const $io11 = input => "string" === typeof input.authorizationUrl && "string" === typeof input.tokenUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io12(input.scopes));
104
+ const $io12 = input => Object.keys(input).every(key => {
105
+ const value = input[key];
106
+ if (undefined === value)
107
+ return true;
108
+ if (RegExp(/(.*)/).test(key))
109
+ return "string" === typeof value;
110
+ return true;
111
+ });
112
+ const $io13 = input => "string" === typeof input.authorizationUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io12(input.scopes));
113
+ const $io14 = input => "string" === typeof input.tokenUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io12(input.scopes));
114
+ const $io15 = input => Object.keys(input).every(key => {
115
+ const value = input[key];
116
+ if (undefined === value)
117
+ return true;
118
+ if (RegExp(/(.*)/).test(key))
119
+ return "object" === typeof value && null !== value && $io16(value);
120
+ return true;
121
+ });
122
+ const $io16 = input => (undefined === input.$id || "string" === typeof input.$id) && (undefined === input.$recursiveAnchor || "boolean" === typeof input.$recursiveAnchor) && "object" === input.type && "boolean" === typeof input.nullable && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && $io17(input.properties)) && (undefined === input.patternProperties || "object" === typeof input.patternProperties && null !== input.patternProperties && false === Array.isArray(input.patternProperties) && $io17(input.patternProperties)) && (undefined === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) && $iu4(input.additionalProperties)) && (undefined === input.required || Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-patternProperties"] || "object" === typeof input["x-typia-patternProperties"] && null !== input["x-typia-patternProperties"] && false === Array.isArray(input["x-typia-patternProperties"]) && $io17(input["x-typia-patternProperties"])) && (undefined === input["x-typia-additionalProperties"] || "object" === typeof input["x-typia-additionalProperties"] && null !== input["x-typia-additionalProperties"] && false === Array.isArray(input["x-typia-additionalProperties"]) && $iu4(input["x-typia-additionalProperties"]));
123
+ const $io17 = input => Object.keys(input).every(key => {
124
+ const value = input[key];
125
+ if (undefined === value)
126
+ return true;
127
+ if (RegExp(/(.*)/).test(key))
128
+ return "object" === typeof value && null !== value && false === Array.isArray(value) && $iu4(value);
129
+ return true;
130
+ });
131
+ const $io18 = input => Array.isArray(input["enum"]) && input["enum"].every(elem => "boolean" === typeof elem) && (undefined === input["default"] || "boolean" === typeof input["default"]) && "boolean" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
132
+ const $io19 = input => "type" === input.kind && ("int" === input.value || "uint" === input.value);
133
+ const $io20 = input => "minimum" === input.kind && "number" === typeof input.value;
134
+ const $io21 = input => "maximum" === input.kind && "number" === typeof input.value;
135
+ const $io22 = input => "exclusiveMinimum" === input.kind && "number" === typeof input.value;
136
+ const $io23 = input => "exclusiveMaximum" === input.kind && "number" === typeof input.value;
137
+ const $io24 = input => "multipleOf" === input.kind && "number" === typeof input.value;
138
+ const $io25 = input => "step" === input.kind && "number" === typeof input.value;
139
+ const $io26 = input => "format" === input.kind && ("uuid" === input.value || "url" === input.value || "email" === input.value || "ipv4" === input.value || "ipv6" === input.value || "date" === input.value || "datetime" === input.value);
140
+ const $io27 = input => "pattern" === input.kind && "string" === typeof input.value;
141
+ const $io28 = input => "length" === input.kind && "number" === typeof input.value;
142
+ const $io29 = input => "minLength" === input.kind && "number" === typeof input.value;
143
+ const $io30 = input => "maxLength" === input.kind && "number" === typeof input.value;
144
+ const $io31 = input => "items" === input.kind && "number" === typeof input.value;
145
+ const $io32 = input => "minItems" === input.kind && "number" === typeof input.value;
146
+ const $io33 = input => "maxItems" === input.kind && "number" === typeof input.value;
147
+ const $io34 = input => "string" === typeof input.name && (undefined === input.text || Array.isArray(input.text) && input.text.every(elem => "object" === typeof elem && null !== elem && $io35(elem)));
148
+ const $io35 = input => "string" === typeof input.text && "string" === typeof input.kind;
149
+ const $io36 = input => Array.isArray(input["enum"]) && input["enum"].every(elem => "number" === typeof elem) && (undefined === input["default"] || "number" === typeof input["default"]) && "number" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
150
+ const $io37 = input => Array.isArray(input["enum"]) && input["enum"].every(elem => "string" === typeof elem) && (undefined === input["default"] || "string" === typeof input["default"]) && "string" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
151
+ const $io38 = input => (undefined === input["default"] || "boolean" === typeof input["default"]) && "boolean" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
152
+ const $io39 = input => (undefined === input.minimum || "number" === typeof input.minimum && parseInt(input.minimum) === input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum && parseInt(input.maximum) === input.maximum) && (undefined === input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && parseInt(input.multipleOf) === input.multipleOf) && (undefined === input["default"] || "number" === typeof input["default"]) && "integer" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
153
+ const $io40 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf) && (undefined === input["default"] || "number" === typeof input["default"]) && "number" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
154
+ const $io41 = input => (undefined === input.minLength || "number" === typeof input.minLength && parseInt(input.minLength) === input.minLength && 0 <= input.minLength) && (undefined === input.maxLength || "number" === typeof input.maxLength && parseInt(input.maxLength) === input.maxLength && 0 <= input.maxLength) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.format || "string" === typeof input.format) && (undefined === input["default"] || "string" === typeof input["default"]) && "string" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
155
+ const $io42 = input => "object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $iu4(input.items) && (undefined === input.minItems || "number" === typeof input.minItems && parseInt(input.minItems) === input.minItems && 0 <= input.minItems) && (undefined === input.maxItems || "number" === typeof input.maxItems && parseInt(input.maxItems) === input.maxItems && 0 <= input.maxItems) && (undefined === input["x-typia-tuple"] || "object" === typeof input["x-typia-tuple"] && null !== input["x-typia-tuple"] && $io43(input["x-typia-tuple"])) && "array" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
156
+ const $io43 = input => Array.isArray(input.items) && input.items.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu3(elem)) && "array" === input.type && "boolean" === typeof input.nullable && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
157
+ const $io44 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu2(elem)) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
158
+ const $io45 = input => "string" === typeof input.$ref && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
159
+ const $io46 = input => "string" === typeof input.$recursiveRef && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
160
+ const $io47 = input => "null" === input.type && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
161
+ const $io48 = input => null !== input.type && undefined === input.type && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input["x-typia-metaTags"] || Array.isArray(input["x-typia-metaTags"]) && input["x-typia-metaTags"].every(elem => "object" === typeof elem && null !== elem && $iu1(elem))) && (undefined === input["x-typia-jsDocTags"] || Array.isArray(input["x-typia-jsDocTags"]) && input["x-typia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"]) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
162
+ const $io49 = input => Object.keys(input).every(key => {
163
+ const value = input[key];
164
+ if (undefined === value)
165
+ return true;
166
+ if (RegExp(/(.*)/).test(key))
167
+ return Array.isArray(value) && value.every(elem => "string" === typeof elem);
168
+ return true;
169
+ });
170
+ const $io50 = input => Object.keys(input).every(key => {
171
+ const value = input[key];
172
+ if (undefined === value)
173
+ return true;
174
+ if (RegExp(/(.*)/).test(key))
175
+ return "object" === typeof value && null !== value && false === Array.isArray(value) && $io51(value);
176
+ return true;
177
+ });
178
+ const $io51 = input => Object.keys(input).every(key => {
179
+ const value = input[key];
180
+ if (undefined === value)
181
+ return true;
182
+ if (RegExp(/(.*)/).test(key))
183
+ return "object" === typeof value && null !== value && $io52(value);
184
+ return true;
185
+ });
186
+ const $io52 = input => Array.isArray(input.tags) && input.tags.every(elem => "string" === typeof elem) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && $io53(elem))) && (undefined === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && $io54(input.requestBody)) && ("object" === typeof input.responses && null !== input.responses && false === Array.isArray(input.responses) && $io57(input.responses)) && (undefined === input.summary || "string" === typeof input.summary) && "string" === typeof input.description && "string" === typeof input["x-nestia-namespace"] && (Array.isArray(input["x-nestia-jsDocTags"]) && input["x-nestia-jsDocTags"].every(elem => "object" === typeof elem && null !== elem && $io34(elem)));
187
+ const $io53 = input => "string" === typeof input.name && "string" === typeof input["in"] && ("object" === typeof input.schema && null !== input.schema && false === Array.isArray(input.schema) && $iu4(input.schema)) && "boolean" === typeof input.required && "string" === typeof input.description;
188
+ const $io54 = input => "string" === typeof input.description && ("object" === typeof input.content && null !== input.content && $io55(input.content)) && true === input.required && "boolean" === typeof input["x-nestia-encrypted"];
189
+ const $io55 = input => "object" === typeof input["application/json"] && null !== input["application/json"] && $io56(input["application/json"]);
190
+ const $io56 = input => "object" === typeof input.schema && null !== input.schema && false === Array.isArray(input.schema) && $iu4(input.schema);
191
+ const $io57 = input => Object.keys(input).every(key => {
192
+ const value = input[key];
193
+ if (undefined === value)
194
+ return true;
195
+ if (RegExp(/(.*)/).test(key))
196
+ return "object" === typeof value && null !== value && $io58(value);
197
+ return true;
198
+ });
199
+ const $io58 = input => "string" === typeof input.description && (undefined === input.content || "object" === typeof input.content && null !== input.content && $io55(input.content)) && (undefined === input["x-nestia-encrypted"] || "boolean" === typeof input["x-nestia-encrypted"]);
200
+ const $iu0 = input => (() => {
201
+ if (undefined !== input.schema)
202
+ return $io5(input);
203
+ if (undefined !== input.scheme)
204
+ return $io6(input);
205
+ if ("apiKey" === input.type)
206
+ return $io7(input);
207
+ if ("openIdConnect" === input.type)
208
+ return $io8(input);
209
+ if ("oauth2" === input.type)
210
+ return $io9(input);
211
+ return false;
212
+ })();
213
+ const $iu1 = input => (() => {
214
+ if ("type" === input.kind)
215
+ return $io19(input);
216
+ if ("minimum" === input.kind)
217
+ return $io20(input);
218
+ if ("maximum" === input.kind)
219
+ return $io21(input);
220
+ if ("exclusiveMinimum" === input.kind)
221
+ return $io22(input);
222
+ if ("exclusiveMaximum" === input.kind)
223
+ return $io23(input);
224
+ if ("multipleOf" === input.kind)
225
+ return $io24(input);
226
+ if ("step" === input.kind)
227
+ return $io25(input);
228
+ if ("format" === input.kind)
229
+ return $io26(input);
230
+ if ("pattern" === input.kind)
231
+ return $io27(input);
232
+ if ("length" === input.kind)
233
+ return $io28(input);
234
+ if ("minLength" === input.kind)
235
+ return $io29(input);
236
+ if ("maxLength" === input.kind)
237
+ return $io30(input);
238
+ if ("items" === input.kind)
239
+ return $io31(input);
240
+ if ("minItems" === input.kind)
241
+ return $io32(input);
242
+ if ("maxItems" === input.kind)
243
+ return $io33(input);
244
+ return false;
245
+ })();
246
+ const $iu2 = input => (() => {
247
+ if ("integer" === input.type)
248
+ return $io39(input);
249
+ if (undefined !== input.oneOf)
250
+ return $io44(input);
251
+ if (Array.isArray(input.items) && input.items.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu3(elem)))
252
+ return $io43(input);
253
+ if ("object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $iu4(input.items))
254
+ return $io42(input);
255
+ if (undefined !== input.$ref)
256
+ return $io45(input);
257
+ if (undefined !== input.$recursiveRef)
258
+ return $io46(input);
259
+ if ("null" === input.type)
260
+ return $io47(input);
261
+ return (() => {
262
+ if ($io18(input))
263
+ return $io18(input);
264
+ if ($io36(input))
265
+ return $io36(input);
266
+ if ($io37(input))
267
+ return $io37(input);
268
+ if ($io38(input))
269
+ return $io38(input);
270
+ if ($io40(input))
271
+ return $io40(input);
272
+ if ($io41(input))
273
+ return $io41(input);
274
+ if ($io48(input))
275
+ return $io48(input);
276
+ return false;
277
+ })();
278
+ })();
279
+ const $iu3 = input => (() => {
280
+ if ("integer" === input.type)
281
+ return $io39(input);
282
+ if (Array.isArray(input.items) && input.items.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu3(elem)))
283
+ return $io43(input);
284
+ if ("object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $iu4(input.items))
285
+ return $io42(input);
286
+ if (undefined !== input.oneOf)
287
+ return $io44(input);
288
+ if (undefined !== input.$ref)
289
+ return $io45(input);
290
+ if (undefined !== input.$recursiveRef)
291
+ return $io46(input);
292
+ if ("null" === input.type)
293
+ return $io47(input);
294
+ return (() => {
295
+ if ($io18(input))
296
+ return $io18(input);
297
+ if ($io36(input))
298
+ return $io36(input);
299
+ if ($io37(input))
300
+ return $io37(input);
301
+ if ($io38(input))
302
+ return $io38(input);
303
+ if ($io40(input))
304
+ return $io40(input);
305
+ if ($io41(input))
306
+ return $io41(input);
307
+ if ($io48(input))
308
+ return $io48(input);
309
+ return false;
310
+ })();
311
+ })();
312
+ const $iu4 = input => (() => {
313
+ if ("integer" === input.type)
314
+ return $io39(input);
315
+ if ("object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $iu4(input.items))
316
+ return $io42(input);
317
+ if (Array.isArray(input.items) && input.items.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu3(elem)))
318
+ return $io43(input);
319
+ if (undefined !== input.oneOf)
320
+ return $io44(input);
321
+ if (undefined !== input.$ref)
322
+ return $io45(input);
323
+ if (undefined !== input.$recursiveRef)
324
+ return $io46(input);
325
+ if ("null" === input.type)
326
+ return $io47(input);
327
+ return (() => {
328
+ if ($io18(input))
329
+ return $io18(input);
330
+ if ($io36(input))
331
+ return $io36(input);
332
+ if ($io37(input))
333
+ return $io37(input);
334
+ if ($io38(input))
335
+ return $io38(input);
336
+ if ($io40(input))
337
+ return $io40(input);
338
+ if ($io41(input))
339
+ return $io41(input);
340
+ if ($io48(input))
341
+ return $io48(input);
342
+ return false;
343
+ })();
344
+ })();
345
+ return "object" === typeof input && null !== input && $io0(input);
346
+ };
347
+ if (false === __is(input))
348
+ ((input, _path, _exceptionable = true) => {
349
+ const $ao0 = (input, _path, _exceptionable = true) => ("3.0.1" === input.openapi || $guard(_exceptionable, {
350
+ path: _path + ".openapi",
351
+ expected: "\"3.0.1\"",
352
+ value: input.openapi
353
+ })) && ((Array.isArray(input.servers) || $guard(_exceptionable, {
354
+ path: _path + ".servers",
355
+ expected: "Array<ISwaggerDocument.IServer>",
356
+ value: input.servers
357
+ })) && input.servers.every((elem, _index1) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
358
+ path: _path + ".servers[" + _index1 + "]",
359
+ expected: "ISwaggerDocument.IServer",
360
+ value: elem
361
+ })) && $ao1(elem, _path + ".servers[" + _index1 + "]", true && _exceptionable))) && (("object" === typeof input.info && null !== input.info || $guard(_exceptionable, {
362
+ path: _path + ".info",
363
+ expected: "ISwaggerDocument.IInfo",
364
+ value: input.info
365
+ })) && $ao2(input.info, _path + ".info", true && _exceptionable)) && (("object" === typeof input.components && null !== input.components || $guard(_exceptionable, {
366
+ path: _path + ".components",
367
+ expected: "ISwaggerDocument.IComponents",
368
+ value: input.components
369
+ })) && $ao3(input.components, _path + ".components", true && _exceptionable)) && (undefined === input.security || (Array.isArray(input.security) || $guard(_exceptionable, {
370
+ path: _path + ".security",
371
+ expected: "(Array<Record<string, Array<string>>> | undefined)",
372
+ value: input.security
373
+ })) && input.security.every((elem, _index2) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || $guard(_exceptionable, {
374
+ path: _path + ".security[" + _index2 + "]",
375
+ expected: "Record<string, Array<string>>",
376
+ value: elem
377
+ })) && $ao49(elem, _path + ".security[" + _index2 + "]", true && _exceptionable))) && (("object" === typeof input.paths && null !== input.paths && false === Array.isArray(input.paths) || $guard(_exceptionable, {
378
+ path: _path + ".paths",
379
+ expected: "Record<string, ISwaggerDocument.IPath>",
380
+ value: input.paths
381
+ })) && $ao50(input.paths, _path + ".paths", true && _exceptionable));
382
+ const $ao1 = (input, _path, _exceptionable = true) => ("string" === typeof input.url || $guard(_exceptionable, {
383
+ path: _path + ".url",
384
+ expected: "string",
385
+ value: input.url
386
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
387
+ path: _path + ".description",
388
+ expected: "(string | undefined)",
389
+ value: input.description
390
+ }));
391
+ const $ao2 = (input, _path, _exceptionable = true) => ("string" === typeof input.version || $guard(_exceptionable, {
392
+ path: _path + ".version",
393
+ expected: "string",
394
+ value: input.version
395
+ })) && ("string" === typeof input.title || $guard(_exceptionable, {
396
+ path: _path + ".title",
397
+ expected: "string",
398
+ value: input.title
399
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
400
+ path: _path + ".description",
401
+ expected: "(string | undefined)",
402
+ value: input.description
403
+ }));
404
+ const $ao3 = (input, _path, _exceptionable = true) => (undefined === input.securitySchemes || ("object" === typeof input.securitySchemes && null !== input.securitySchemes && false === Array.isArray(input.securitySchemes) || $guard(_exceptionable, {
405
+ path: _path + ".securitySchemes",
406
+ expected: "(Record<string, ISwaggerDocument.ISecurityScheme> | undefined)",
407
+ value: input.securitySchemes
408
+ })) && $ao4(input.securitySchemes, _path + ".securitySchemes", true && _exceptionable)) && (("object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) || $guard(_exceptionable, {
409
+ path: _path + ".schemas",
410
+ expected: "Record<string, IJsonComponents.IObject>",
411
+ value: input.schemas
412
+ })) && $ao15(input.schemas, _path + ".schemas", true && _exceptionable));
413
+ const $ao4 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
414
+ const value = input[key];
415
+ if (undefined === value)
416
+ return true;
417
+ if (RegExp(/(.*)/).test(key))
418
+ return ("object" === typeof value && null !== value || $guard(_exceptionable, {
419
+ path: _path + $join(key),
420
+ expected: "(ISwaggerDocument.ISecurityScheme.IApiKey | ISwaggerDocument.ISecurityScheme.IHttpBasic | ISwaggerDocument.ISecurityScheme.IHttpBearer | ISwaggerDocument.ISecurityScheme.IOAuth2 | ISwaggerDocument.ISecurityScheme.IOpenId)",
421
+ value: value
422
+ })) && $au0(value, _path + $join(key), true && _exceptionable);
423
+ return true;
424
+ });
425
+ const $ao5 = (input, _path, _exceptionable = true) => ("http" === input.type || $guard(_exceptionable, {
426
+ path: _path + ".type",
427
+ expected: "\"http\"",
428
+ value: input.type
429
+ })) && ("basic" === input.schema || $guard(_exceptionable, {
430
+ path: _path + ".schema",
431
+ expected: "\"basic\"",
432
+ value: input.schema
433
+ }));
434
+ const $ao6 = (input, _path, _exceptionable = true) => ("http" === input.type || $guard(_exceptionable, {
435
+ path: _path + ".type",
436
+ expected: "\"http\"",
437
+ value: input.type
438
+ })) && ("bearer" === input.scheme || $guard(_exceptionable, {
439
+ path: _path + ".scheme",
440
+ expected: "\"bearer\"",
441
+ value: input.scheme
442
+ })) && (undefined === input.bearerFormat || "string" === typeof input.bearerFormat || $guard(_exceptionable, {
443
+ path: _path + ".bearerFormat",
444
+ expected: "(string | undefined)",
445
+ value: input.bearerFormat
446
+ }));
447
+ const $ao7 = (input, _path, _exceptionable = true) => ("apiKey" === input.type || $guard(_exceptionable, {
448
+ path: _path + ".type",
449
+ expected: "\"apiKey\"",
450
+ value: input.type
451
+ })) && ("header" === input["in"] || "query" === input["in"] || "cookie" === input["in"] || $guard(_exceptionable, {
452
+ path: _path + "[\"in\"]",
453
+ expected: "(\"cookie\" | \"header\" | \"query\")",
454
+ value: input["in"]
455
+ })) && ("string" === typeof input.name || $guard(_exceptionable, {
456
+ path: _path + ".name",
457
+ expected: "string",
458
+ value: input.name
459
+ }));
460
+ const $ao8 = (input, _path, _exceptionable = true) => ("openIdConnect" === input.type || $guard(_exceptionable, {
461
+ path: _path + ".type",
462
+ expected: "\"openIdConnect\"",
463
+ value: input.type
464
+ })) && ("string" === typeof input.openIdConnectUrl || $guard(_exceptionable, {
465
+ path: _path + ".openIdConnectUrl",
466
+ expected: "string",
467
+ value: input.openIdConnectUrl
468
+ }));
469
+ const $ao9 = (input, _path, _exceptionable = true) => ("oauth2" === input.type || $guard(_exceptionable, {
470
+ path: _path + ".type",
471
+ expected: "\"oauth2\"",
472
+ value: input.type
473
+ })) && (("object" === typeof input.flows && null !== input.flows && false === Array.isArray(input.flows) || $guard(_exceptionable, {
474
+ path: _path + ".flows",
475
+ expected: "ISwaggerDocument.ISecurityScheme.IOAuth2.IFlowSet",
476
+ value: input.flows
477
+ })) && $ao10(input.flows, _path + ".flows", true && _exceptionable)) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
478
+ path: _path + ".description",
479
+ expected: "(string | undefined)",
480
+ value: input.description
481
+ }));
482
+ const $ao10 = (input, _path, _exceptionable = true) => (undefined === input.authorizationCode || ("object" === typeof input.authorizationCode && null !== input.authorizationCode || $guard(_exceptionable, {
483
+ path: _path + ".authorizationCode",
484
+ expected: "(ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow | undefined)",
485
+ value: input.authorizationCode
486
+ })) && $ao11(input.authorizationCode, _path + ".authorizationCode", true && _exceptionable)) && (undefined === input.implicit || ("object" === typeof input.implicit && null !== input.implicit || $guard(_exceptionable, {
487
+ path: _path + ".implicit",
488
+ expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"tokenUrl\"> | undefined)",
489
+ value: input.implicit
490
+ })) && $ao13(input.implicit, _path + ".implicit", true && _exceptionable)) && (undefined === input.password || ("object" === typeof input.password && null !== input.password || $guard(_exceptionable, {
491
+ path: _path + ".password",
492
+ expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
493
+ value: input.password
494
+ })) && $ao14(input.password, _path + ".password", true && _exceptionable)) && (undefined === input.clientCredentials || ("object" === typeof input.clientCredentials && null !== input.clientCredentials || $guard(_exceptionable, {
495
+ path: _path + ".clientCredentials",
496
+ expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
497
+ value: input.clientCredentials
498
+ })) && $ao14(input.clientCredentials, _path + ".clientCredentials", true && _exceptionable));
499
+ const $ao11 = (input, _path, _exceptionable = true) => ("string" === typeof input.authorizationUrl || $guard(_exceptionable, {
500
+ path: _path + ".authorizationUrl",
501
+ expected: "string",
502
+ value: input.authorizationUrl
503
+ })) && ("string" === typeof input.tokenUrl || $guard(_exceptionable, {
504
+ path: _path + ".tokenUrl",
505
+ expected: "string",
506
+ value: input.tokenUrl
507
+ })) && ("string" === typeof input.refreshUrl || $guard(_exceptionable, {
508
+ path: _path + ".refreshUrl",
509
+ expected: "string",
510
+ value: input.refreshUrl
511
+ })) && (undefined === input.scopes || ("object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) || $guard(_exceptionable, {
512
+ path: _path + ".scopes",
513
+ expected: "(Record<string, string> | undefined)",
514
+ value: input.scopes
515
+ })) && $ao12(input.scopes, _path + ".scopes", true && _exceptionable));
516
+ const $ao12 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
517
+ const value = input[key];
518
+ if (undefined === value)
519
+ return true;
520
+ if (RegExp(/(.*)/).test(key))
521
+ return "string" === typeof value || $guard(_exceptionable, {
522
+ path: _path + $join(key),
523
+ expected: "string",
524
+ value: value
525
+ });
526
+ return true;
527
+ });
528
+ const $ao13 = (input, _path, _exceptionable = true) => ("string" === typeof input.authorizationUrl || $guard(_exceptionable, {
529
+ path: _path + ".authorizationUrl",
530
+ expected: "string",
531
+ value: input.authorizationUrl
532
+ })) && ("string" === typeof input.refreshUrl || $guard(_exceptionable, {
533
+ path: _path + ".refreshUrl",
534
+ expected: "string",
535
+ value: input.refreshUrl
536
+ })) && (undefined === input.scopes || ("object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) || $guard(_exceptionable, {
537
+ path: _path + ".scopes",
538
+ expected: "(Record<string, string> | undefined)",
539
+ value: input.scopes
540
+ })) && $ao12(input.scopes, _path + ".scopes", true && _exceptionable));
541
+ const $ao14 = (input, _path, _exceptionable = true) => ("string" === typeof input.tokenUrl || $guard(_exceptionable, {
542
+ path: _path + ".tokenUrl",
543
+ expected: "string",
544
+ value: input.tokenUrl
545
+ })) && ("string" === typeof input.refreshUrl || $guard(_exceptionable, {
546
+ path: _path + ".refreshUrl",
547
+ expected: "string",
548
+ value: input.refreshUrl
549
+ })) && (undefined === input.scopes || ("object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) || $guard(_exceptionable, {
550
+ path: _path + ".scopes",
551
+ expected: "(Record<string, string> | undefined)",
552
+ value: input.scopes
553
+ })) && $ao12(input.scopes, _path + ".scopes", true && _exceptionable));
554
+ const $ao15 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
555
+ const value = input[key];
556
+ if (undefined === value)
557
+ return true;
558
+ if (RegExp(/(.*)/).test(key))
559
+ return ("object" === typeof value && null !== value || $guard(_exceptionable, {
560
+ path: _path + $join(key),
561
+ expected: "IJsonComponents.IObject",
562
+ value: value
563
+ })) && $ao16(value, _path + $join(key), true && _exceptionable);
564
+ return true;
565
+ });
566
+ const $ao16 = (input, _path, _exceptionable = true) => (undefined === input.$id || "string" === typeof input.$id || $guard(_exceptionable, {
567
+ path: _path + ".$id",
568
+ expected: "(string | undefined)",
569
+ value: input.$id
570
+ })) && (undefined === input.$recursiveAnchor || "boolean" === typeof input.$recursiveAnchor || $guard(_exceptionable, {
571
+ path: _path + ".$recursiveAnchor",
572
+ expected: "(boolean | undefined)",
573
+ value: input.$recursiveAnchor
574
+ })) && ("object" === input.type || $guard(_exceptionable, {
575
+ path: _path + ".type",
576
+ expected: "\"object\"",
577
+ value: input.type
578
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
579
+ path: _path + ".nullable",
580
+ expected: "boolean",
581
+ value: input.nullable
582
+ })) && (("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || $guard(_exceptionable, {
583
+ path: _path + ".properties",
584
+ expected: "Record<string, IJsonSchema>",
585
+ value: input.properties
586
+ })) && $ao17(input.properties, _path + ".properties", true && _exceptionable)) && (undefined === input.patternProperties || ("object" === typeof input.patternProperties && null !== input.patternProperties && false === Array.isArray(input.patternProperties) || $guard(_exceptionable, {
587
+ path: _path + ".patternProperties",
588
+ expected: "(Record<string, IJsonSchema> | undefined)",
589
+ value: input.patternProperties
590
+ })) && $ao17(input.patternProperties, _path + ".patternProperties", true && _exceptionable)) && (undefined === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) || $guard(_exceptionable, {
591
+ path: _path + ".additionalProperties",
592
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown | undefined)",
593
+ value: input.additionalProperties
594
+ })) && $au4(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable)) && (undefined === input.required || (Array.isArray(input.required) || $guard(_exceptionable, {
595
+ path: _path + ".required",
596
+ expected: "(Array<string> | undefined)",
597
+ value: input.required
598
+ })) && input.required.every((elem, _index3) => "string" === typeof elem || $guard(_exceptionable, {
599
+ path: _path + ".required[" + _index3 + "]",
600
+ expected: "string",
601
+ value: elem
602
+ }))) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
603
+ path: _path + ".description",
604
+ expected: "(string | undefined)",
605
+ value: input.description
606
+ })) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
607
+ path: _path + "[\"x-typia-jsDocTags\"]",
608
+ expected: "(Array<IJsDocTagInfo> | undefined)",
609
+ value: input["x-typia-jsDocTags"]
610
+ })) && input["x-typia-jsDocTags"].every((elem, _index4) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
611
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index4 + "]",
612
+ expected: "IJsDocTagInfo",
613
+ value: elem
614
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index4 + "]", true && _exceptionable))) && (undefined === input["x-typia-patternProperties"] || ("object" === typeof input["x-typia-patternProperties"] && null !== input["x-typia-patternProperties"] && false === Array.isArray(input["x-typia-patternProperties"]) || $guard(_exceptionable, {
615
+ path: _path + "[\"x-typia-patternProperties\"]",
616
+ expected: "(Record<string, IJsonSchema> | undefined)",
617
+ value: input["x-typia-patternProperties"]
618
+ })) && $ao17(input["x-typia-patternProperties"], _path + "[\"x-typia-patternProperties\"]", true && _exceptionable)) && (undefined === input["x-typia-additionalProperties"] || ("object" === typeof input["x-typia-additionalProperties"] && null !== input["x-typia-additionalProperties"] && false === Array.isArray(input["x-typia-additionalProperties"]) || $guard(_exceptionable, {
619
+ path: _path + "[\"x-typia-additionalProperties\"]",
620
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown | undefined)",
621
+ value: input["x-typia-additionalProperties"]
622
+ })) && $au4(input["x-typia-additionalProperties"], _path + "[\"x-typia-additionalProperties\"]", true && _exceptionable));
623
+ const $ao17 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
624
+ const value = input[key];
625
+ if (undefined === value)
626
+ return true;
627
+ if (RegExp(/(.*)/).test(key))
628
+ return ("object" === typeof value && null !== value && false === Array.isArray(value) || $guard(_exceptionable, {
629
+ path: _path + $join(key),
630
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)",
631
+ value: value
632
+ })) && $au4(value, _path + $join(key), true && _exceptionable);
633
+ return true;
634
+ });
635
+ const $ao18 = (input, _path, _exceptionable = true) => (Array.isArray(input["enum"]) || $guard(_exceptionable, {
636
+ path: _path + "[\"enum\"]",
637
+ expected: "Array<boolean>",
638
+ value: input["enum"]
639
+ })) && input["enum"].every((elem, _index5) => "boolean" === typeof elem || $guard(_exceptionable, {
640
+ path: _path + "[\"enum\"][" + _index5 + "]",
641
+ expected: "boolean",
642
+ value: elem
643
+ })) && (undefined === input["default"] || "boolean" === typeof input["default"] || $guard(_exceptionable, {
644
+ path: _path + "[\"default\"]",
645
+ expected: "(boolean | undefined)",
646
+ value: input["default"]
647
+ })) && ("boolean" === input.type || $guard(_exceptionable, {
648
+ path: _path + ".type",
649
+ expected: "\"boolean\"",
650
+ value: input.type
651
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
652
+ path: _path + ".nullable",
653
+ expected: "boolean",
654
+ value: input.nullable
655
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
656
+ path: _path + ".deprecated",
657
+ expected: "(boolean | undefined)",
658
+ value: input.deprecated
659
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
660
+ path: _path + ".title",
661
+ expected: "(string | undefined)",
662
+ value: input.title
663
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
664
+ path: _path + ".description",
665
+ expected: "(string | undefined)",
666
+ value: input.description
667
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
668
+ path: _path + "[\"x-typia-metaTags\"]",
669
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
670
+ value: input["x-typia-metaTags"]
671
+ })) && input["x-typia-metaTags"].every((elem, _index6) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
672
+ path: _path + "[\"x-typia-metaTags\"][" + _index6 + "]",
673
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
674
+ value: elem
675
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index6 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
676
+ path: _path + "[\"x-typia-jsDocTags\"]",
677
+ expected: "(Array<IJsDocTagInfo> | undefined)",
678
+ value: input["x-typia-jsDocTags"]
679
+ })) && input["x-typia-jsDocTags"].every((elem, _index7) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
680
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index7 + "]",
681
+ expected: "IJsDocTagInfo",
682
+ value: elem
683
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index7 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
684
+ path: _path + "[\"x-typia-required\"]",
685
+ expected: "(boolean | undefined)",
686
+ value: input["x-typia-required"]
687
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
688
+ path: _path + "[\"x-typia-optional\"]",
689
+ expected: "(boolean | undefined)",
690
+ value: input["x-typia-optional"]
691
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
692
+ path: _path + "[\"x-typia-rest\"]",
693
+ expected: "(boolean | undefined)",
694
+ value: input["x-typia-rest"]
695
+ }));
696
+ const $ao19 = (input, _path, _exceptionable = true) => ("type" === input.kind || $guard(_exceptionable, {
697
+ path: _path + ".kind",
698
+ expected: "\"type\"",
699
+ value: input.kind
700
+ })) && ("int" === input.value || "uint" === input.value || $guard(_exceptionable, {
701
+ path: _path + ".value",
702
+ expected: "(\"int\" | \"uint\")",
703
+ value: input.value
704
+ }));
705
+ const $ao20 = (input, _path, _exceptionable = true) => ("minimum" === input.kind || $guard(_exceptionable, {
706
+ path: _path + ".kind",
707
+ expected: "\"minimum\"",
708
+ value: input.kind
709
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
710
+ path: _path + ".value",
711
+ expected: "number",
712
+ value: input.value
713
+ }));
714
+ const $ao21 = (input, _path, _exceptionable = true) => ("maximum" === input.kind || $guard(_exceptionable, {
715
+ path: _path + ".kind",
716
+ expected: "\"maximum\"",
717
+ value: input.kind
718
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
719
+ path: _path + ".value",
720
+ expected: "number",
721
+ value: input.value
722
+ }));
723
+ const $ao22 = (input, _path, _exceptionable = true) => ("exclusiveMinimum" === input.kind || $guard(_exceptionable, {
724
+ path: _path + ".kind",
725
+ expected: "\"exclusiveMinimum\"",
726
+ value: input.kind
727
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
728
+ path: _path + ".value",
729
+ expected: "number",
730
+ value: input.value
731
+ }));
732
+ const $ao23 = (input, _path, _exceptionable = true) => ("exclusiveMaximum" === input.kind || $guard(_exceptionable, {
733
+ path: _path + ".kind",
734
+ expected: "\"exclusiveMaximum\"",
735
+ value: input.kind
736
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
737
+ path: _path + ".value",
738
+ expected: "number",
739
+ value: input.value
740
+ }));
741
+ const $ao24 = (input, _path, _exceptionable = true) => ("multipleOf" === input.kind || $guard(_exceptionable, {
742
+ path: _path + ".kind",
743
+ expected: "\"multipleOf\"",
744
+ value: input.kind
745
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
746
+ path: _path + ".value",
747
+ expected: "number",
748
+ value: input.value
749
+ }));
750
+ const $ao25 = (input, _path, _exceptionable = true) => ("step" === input.kind || $guard(_exceptionable, {
751
+ path: _path + ".kind",
752
+ expected: "\"step\"",
753
+ value: input.kind
754
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
755
+ path: _path + ".value",
756
+ expected: "number",
757
+ value: input.value
758
+ }));
759
+ const $ao26 = (input, _path, _exceptionable = true) => ("format" === input.kind || $guard(_exceptionable, {
760
+ path: _path + ".kind",
761
+ expected: "\"format\"",
762
+ value: input.kind
763
+ })) && ("uuid" === input.value || "url" === input.value || "email" === input.value || "ipv4" === input.value || "ipv6" === input.value || "date" === input.value || "datetime" === input.value || $guard(_exceptionable, {
764
+ path: _path + ".value",
765
+ expected: "(\"date\" | \"datetime\" | \"email\" | \"ipv4\" | \"ipv6\" | \"url\" | \"uuid\")",
766
+ value: input.value
767
+ }));
768
+ const $ao27 = (input, _path, _exceptionable = true) => ("pattern" === input.kind || $guard(_exceptionable, {
769
+ path: _path + ".kind",
770
+ expected: "\"pattern\"",
771
+ value: input.kind
772
+ })) && ("string" === typeof input.value || $guard(_exceptionable, {
773
+ path: _path + ".value",
774
+ expected: "string",
775
+ value: input.value
776
+ }));
777
+ const $ao28 = (input, _path, _exceptionable = true) => ("length" === input.kind || $guard(_exceptionable, {
778
+ path: _path + ".kind",
779
+ expected: "\"length\"",
780
+ value: input.kind
781
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
782
+ path: _path + ".value",
783
+ expected: "number",
784
+ value: input.value
785
+ }));
786
+ const $ao29 = (input, _path, _exceptionable = true) => ("minLength" === input.kind || $guard(_exceptionable, {
787
+ path: _path + ".kind",
788
+ expected: "\"minLength\"",
789
+ value: input.kind
790
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
791
+ path: _path + ".value",
792
+ expected: "number",
793
+ value: input.value
794
+ }));
795
+ const $ao30 = (input, _path, _exceptionable = true) => ("maxLength" === input.kind || $guard(_exceptionable, {
796
+ path: _path + ".kind",
797
+ expected: "\"maxLength\"",
798
+ value: input.kind
799
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
800
+ path: _path + ".value",
801
+ expected: "number",
802
+ value: input.value
803
+ }));
804
+ const $ao31 = (input, _path, _exceptionable = true) => ("items" === input.kind || $guard(_exceptionable, {
805
+ path: _path + ".kind",
806
+ expected: "\"items\"",
807
+ value: input.kind
808
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
809
+ path: _path + ".value",
810
+ expected: "number",
811
+ value: input.value
812
+ }));
813
+ const $ao32 = (input, _path, _exceptionable = true) => ("minItems" === input.kind || $guard(_exceptionable, {
814
+ path: _path + ".kind",
815
+ expected: "\"minItems\"",
816
+ value: input.kind
817
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
818
+ path: _path + ".value",
819
+ expected: "number",
820
+ value: input.value
821
+ }));
822
+ const $ao33 = (input, _path, _exceptionable = true) => ("maxItems" === input.kind || $guard(_exceptionable, {
823
+ path: _path + ".kind",
824
+ expected: "\"maxItems\"",
825
+ value: input.kind
826
+ })) && ("number" === typeof input.value || $guard(_exceptionable, {
827
+ path: _path + ".value",
828
+ expected: "number",
829
+ value: input.value
830
+ }));
831
+ const $ao34 = (input, _path, _exceptionable = true) => ("string" === typeof input.name || $guard(_exceptionable, {
832
+ path: _path + ".name",
833
+ expected: "string",
834
+ value: input.name
835
+ })) && (undefined === input.text || (Array.isArray(input.text) || $guard(_exceptionable, {
836
+ path: _path + ".text",
837
+ expected: "(Array<IJsDocTagInfo.IText> | undefined)",
838
+ value: input.text
839
+ })) && input.text.every((elem, _index8) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
840
+ path: _path + ".text[" + _index8 + "]",
841
+ expected: "IJsDocTagInfo.IText",
842
+ value: elem
843
+ })) && $ao35(elem, _path + ".text[" + _index8 + "]", true && _exceptionable)));
844
+ const $ao35 = (input, _path, _exceptionable = true) => ("string" === typeof input.text || $guard(_exceptionable, {
845
+ path: _path + ".text",
846
+ expected: "string",
847
+ value: input.text
848
+ })) && ("string" === typeof input.kind || $guard(_exceptionable, {
849
+ path: _path + ".kind",
850
+ expected: "string",
851
+ value: input.kind
852
+ }));
853
+ const $ao36 = (input, _path, _exceptionable = true) => (Array.isArray(input["enum"]) || $guard(_exceptionable, {
854
+ path: _path + "[\"enum\"]",
855
+ expected: "Array<number>",
856
+ value: input["enum"]
857
+ })) && input["enum"].every((elem, _index9) => "number" === typeof elem || $guard(_exceptionable, {
858
+ path: _path + "[\"enum\"][" + _index9 + "]",
859
+ expected: "number",
860
+ value: elem
861
+ })) && (undefined === input["default"] || "number" === typeof input["default"] || $guard(_exceptionable, {
862
+ path: _path + "[\"default\"]",
863
+ expected: "(number | undefined)",
864
+ value: input["default"]
865
+ })) && ("number" === input.type || $guard(_exceptionable, {
866
+ path: _path + ".type",
867
+ expected: "\"number\"",
868
+ value: input.type
869
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
870
+ path: _path + ".nullable",
871
+ expected: "boolean",
872
+ value: input.nullable
873
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
874
+ path: _path + ".deprecated",
875
+ expected: "(boolean | undefined)",
876
+ value: input.deprecated
877
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
878
+ path: _path + ".title",
879
+ expected: "(string | undefined)",
880
+ value: input.title
881
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
882
+ path: _path + ".description",
883
+ expected: "(string | undefined)",
884
+ value: input.description
885
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
886
+ path: _path + "[\"x-typia-metaTags\"]",
887
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
888
+ value: input["x-typia-metaTags"]
889
+ })) && input["x-typia-metaTags"].every((elem, _index10) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
890
+ path: _path + "[\"x-typia-metaTags\"][" + _index10 + "]",
891
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
892
+ value: elem
893
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index10 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
894
+ path: _path + "[\"x-typia-jsDocTags\"]",
895
+ expected: "(Array<IJsDocTagInfo> | undefined)",
896
+ value: input["x-typia-jsDocTags"]
897
+ })) && input["x-typia-jsDocTags"].every((elem, _index11) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
898
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index11 + "]",
899
+ expected: "IJsDocTagInfo",
900
+ value: elem
901
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index11 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
902
+ path: _path + "[\"x-typia-required\"]",
903
+ expected: "(boolean | undefined)",
904
+ value: input["x-typia-required"]
905
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
906
+ path: _path + "[\"x-typia-optional\"]",
907
+ expected: "(boolean | undefined)",
908
+ value: input["x-typia-optional"]
909
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
910
+ path: _path + "[\"x-typia-rest\"]",
911
+ expected: "(boolean | undefined)",
912
+ value: input["x-typia-rest"]
913
+ }));
914
+ const $ao37 = (input, _path, _exceptionable = true) => (Array.isArray(input["enum"]) || $guard(_exceptionable, {
915
+ path: _path + "[\"enum\"]",
916
+ expected: "Array<string>",
917
+ value: input["enum"]
918
+ })) && input["enum"].every((elem, _index12) => "string" === typeof elem || $guard(_exceptionable, {
919
+ path: _path + "[\"enum\"][" + _index12 + "]",
920
+ expected: "string",
921
+ value: elem
922
+ })) && (undefined === input["default"] || "string" === typeof input["default"] || $guard(_exceptionable, {
923
+ path: _path + "[\"default\"]",
924
+ expected: "(string | undefined)",
925
+ value: input["default"]
926
+ })) && ("string" === input.type || $guard(_exceptionable, {
927
+ path: _path + ".type",
928
+ expected: "\"string\"",
929
+ value: input.type
930
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
931
+ path: _path + ".nullable",
932
+ expected: "boolean",
933
+ value: input.nullable
934
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
935
+ path: _path + ".deprecated",
936
+ expected: "(boolean | undefined)",
937
+ value: input.deprecated
938
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
939
+ path: _path + ".title",
940
+ expected: "(string | undefined)",
941
+ value: input.title
942
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
943
+ path: _path + ".description",
944
+ expected: "(string | undefined)",
945
+ value: input.description
946
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
947
+ path: _path + "[\"x-typia-metaTags\"]",
948
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
949
+ value: input["x-typia-metaTags"]
950
+ })) && input["x-typia-metaTags"].every((elem, _index13) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
951
+ path: _path + "[\"x-typia-metaTags\"][" + _index13 + "]",
952
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
953
+ value: elem
954
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index13 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
955
+ path: _path + "[\"x-typia-jsDocTags\"]",
956
+ expected: "(Array<IJsDocTagInfo> | undefined)",
957
+ value: input["x-typia-jsDocTags"]
958
+ })) && input["x-typia-jsDocTags"].every((elem, _index14) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
959
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index14 + "]",
960
+ expected: "IJsDocTagInfo",
961
+ value: elem
962
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index14 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
963
+ path: _path + "[\"x-typia-required\"]",
964
+ expected: "(boolean | undefined)",
965
+ value: input["x-typia-required"]
966
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
967
+ path: _path + "[\"x-typia-optional\"]",
968
+ expected: "(boolean | undefined)",
969
+ value: input["x-typia-optional"]
970
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
971
+ path: _path + "[\"x-typia-rest\"]",
972
+ expected: "(boolean | undefined)",
973
+ value: input["x-typia-rest"]
974
+ }));
975
+ const $ao38 = (input, _path, _exceptionable = true) => (undefined === input["default"] || "boolean" === typeof input["default"] || $guard(_exceptionable, {
976
+ path: _path + "[\"default\"]",
977
+ expected: "(boolean | undefined)",
978
+ value: input["default"]
979
+ })) && ("boolean" === input.type || $guard(_exceptionable, {
980
+ path: _path + ".type",
981
+ expected: "\"boolean\"",
982
+ value: input.type
983
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
984
+ path: _path + ".nullable",
985
+ expected: "boolean",
986
+ value: input.nullable
987
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
988
+ path: _path + ".deprecated",
989
+ expected: "(boolean | undefined)",
990
+ value: input.deprecated
991
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
992
+ path: _path + ".title",
993
+ expected: "(string | undefined)",
994
+ value: input.title
995
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
996
+ path: _path + ".description",
997
+ expected: "(string | undefined)",
998
+ value: input.description
999
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1000
+ path: _path + "[\"x-typia-metaTags\"]",
1001
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1002
+ value: input["x-typia-metaTags"]
1003
+ })) && input["x-typia-metaTags"].every((elem, _index15) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1004
+ path: _path + "[\"x-typia-metaTags\"][" + _index15 + "]",
1005
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1006
+ value: elem
1007
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index15 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1008
+ path: _path + "[\"x-typia-jsDocTags\"]",
1009
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1010
+ value: input["x-typia-jsDocTags"]
1011
+ })) && input["x-typia-jsDocTags"].every((elem, _index16) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1012
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index16 + "]",
1013
+ expected: "IJsDocTagInfo",
1014
+ value: elem
1015
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index16 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1016
+ path: _path + "[\"x-typia-required\"]",
1017
+ expected: "(boolean | undefined)",
1018
+ value: input["x-typia-required"]
1019
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1020
+ path: _path + "[\"x-typia-optional\"]",
1021
+ expected: "(boolean | undefined)",
1022
+ value: input["x-typia-optional"]
1023
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1024
+ path: _path + "[\"x-typia-rest\"]",
1025
+ expected: "(boolean | undefined)",
1026
+ value: input["x-typia-rest"]
1027
+ }));
1028
+ const $ao39 = (input, _path, _exceptionable = true) => (undefined === input.minimum || "number" === typeof input.minimum && (parseInt(input.minimum) === input.minimum || $guard(_exceptionable, {
1029
+ path: _path + ".minimum",
1030
+ expected: "number (@type int)",
1031
+ value: input.minimum
1032
+ })) || $guard(_exceptionable, {
1033
+ path: _path + ".minimum",
1034
+ expected: "(number | undefined)",
1035
+ value: input.minimum
1036
+ })) && (undefined === input.maximum || "number" === typeof input.maximum && (parseInt(input.maximum) === input.maximum || $guard(_exceptionable, {
1037
+ path: _path + ".maximum",
1038
+ expected: "number (@type int)",
1039
+ value: input.maximum
1040
+ })) || $guard(_exceptionable, {
1041
+ path: _path + ".maximum",
1042
+ expected: "(number | undefined)",
1043
+ value: input.maximum
1044
+ })) && (undefined === input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum || $guard(_exceptionable, {
1045
+ path: _path + ".exclusiveMinimum",
1046
+ expected: "(boolean | undefined)",
1047
+ value: input.exclusiveMinimum
1048
+ })) && (undefined === input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum || $guard(_exceptionable, {
1049
+ path: _path + ".exclusiveMaximum",
1050
+ expected: "(boolean | undefined)",
1051
+ value: input.exclusiveMaximum
1052
+ })) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (parseInt(input.multipleOf) === input.multipleOf || $guard(_exceptionable, {
1053
+ path: _path + ".multipleOf",
1054
+ expected: "number (@type int)",
1055
+ value: input.multipleOf
1056
+ })) || $guard(_exceptionable, {
1057
+ path: _path + ".multipleOf",
1058
+ expected: "(number | undefined)",
1059
+ value: input.multipleOf
1060
+ })) && (undefined === input["default"] || "number" === typeof input["default"] || $guard(_exceptionable, {
1061
+ path: _path + "[\"default\"]",
1062
+ expected: "(number | undefined)",
1063
+ value: input["default"]
1064
+ })) && ("integer" === input.type || $guard(_exceptionable, {
1065
+ path: _path + ".type",
1066
+ expected: "\"integer\"",
1067
+ value: input.type
1068
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
1069
+ path: _path + ".nullable",
1070
+ expected: "boolean",
1071
+ value: input.nullable
1072
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1073
+ path: _path + ".deprecated",
1074
+ expected: "(boolean | undefined)",
1075
+ value: input.deprecated
1076
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1077
+ path: _path + ".title",
1078
+ expected: "(string | undefined)",
1079
+ value: input.title
1080
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1081
+ path: _path + ".description",
1082
+ expected: "(string | undefined)",
1083
+ value: input.description
1084
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1085
+ path: _path + "[\"x-typia-metaTags\"]",
1086
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1087
+ value: input["x-typia-metaTags"]
1088
+ })) && input["x-typia-metaTags"].every((elem, _index17) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1089
+ path: _path + "[\"x-typia-metaTags\"][" + _index17 + "]",
1090
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1091
+ value: elem
1092
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index17 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1093
+ path: _path + "[\"x-typia-jsDocTags\"]",
1094
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1095
+ value: input["x-typia-jsDocTags"]
1096
+ })) && input["x-typia-jsDocTags"].every((elem, _index18) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1097
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index18 + "]",
1098
+ expected: "IJsDocTagInfo",
1099
+ value: elem
1100
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index18 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1101
+ path: _path + "[\"x-typia-required\"]",
1102
+ expected: "(boolean | undefined)",
1103
+ value: input["x-typia-required"]
1104
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1105
+ path: _path + "[\"x-typia-optional\"]",
1106
+ expected: "(boolean | undefined)",
1107
+ value: input["x-typia-optional"]
1108
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1109
+ path: _path + "[\"x-typia-rest\"]",
1110
+ expected: "(boolean | undefined)",
1111
+ value: input["x-typia-rest"]
1112
+ }));
1113
+ const $ao40 = (input, _path, _exceptionable = true) => (undefined === input.minimum || "number" === typeof input.minimum || $guard(_exceptionable, {
1114
+ path: _path + ".minimum",
1115
+ expected: "(number | undefined)",
1116
+ value: input.minimum
1117
+ })) && (undefined === input.maximum || "number" === typeof input.maximum || $guard(_exceptionable, {
1118
+ path: _path + ".maximum",
1119
+ expected: "(number | undefined)",
1120
+ value: input.maximum
1121
+ })) && (undefined === input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum || $guard(_exceptionable, {
1122
+ path: _path + ".exclusiveMinimum",
1123
+ expected: "(boolean | undefined)",
1124
+ value: input.exclusiveMinimum
1125
+ })) && (undefined === input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum || $guard(_exceptionable, {
1126
+ path: _path + ".exclusiveMaximum",
1127
+ expected: "(boolean | undefined)",
1128
+ value: input.exclusiveMaximum
1129
+ })) && (undefined === input.multipleOf || "number" === typeof input.multipleOf || $guard(_exceptionable, {
1130
+ path: _path + ".multipleOf",
1131
+ expected: "(number | undefined)",
1132
+ value: input.multipleOf
1133
+ })) && (undefined === input["default"] || "number" === typeof input["default"] || $guard(_exceptionable, {
1134
+ path: _path + "[\"default\"]",
1135
+ expected: "(number | undefined)",
1136
+ value: input["default"]
1137
+ })) && ("number" === input.type || $guard(_exceptionable, {
1138
+ path: _path + ".type",
1139
+ expected: "\"number\"",
1140
+ value: input.type
1141
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
1142
+ path: _path + ".nullable",
1143
+ expected: "boolean",
1144
+ value: input.nullable
1145
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1146
+ path: _path + ".deprecated",
1147
+ expected: "(boolean | undefined)",
1148
+ value: input.deprecated
1149
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1150
+ path: _path + ".title",
1151
+ expected: "(string | undefined)",
1152
+ value: input.title
1153
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1154
+ path: _path + ".description",
1155
+ expected: "(string | undefined)",
1156
+ value: input.description
1157
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1158
+ path: _path + "[\"x-typia-metaTags\"]",
1159
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1160
+ value: input["x-typia-metaTags"]
1161
+ })) && input["x-typia-metaTags"].every((elem, _index19) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1162
+ path: _path + "[\"x-typia-metaTags\"][" + _index19 + "]",
1163
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1164
+ value: elem
1165
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index19 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1166
+ path: _path + "[\"x-typia-jsDocTags\"]",
1167
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1168
+ value: input["x-typia-jsDocTags"]
1169
+ })) && input["x-typia-jsDocTags"].every((elem, _index20) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1170
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index20 + "]",
1171
+ expected: "IJsDocTagInfo",
1172
+ value: elem
1173
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index20 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1174
+ path: _path + "[\"x-typia-required\"]",
1175
+ expected: "(boolean | undefined)",
1176
+ value: input["x-typia-required"]
1177
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1178
+ path: _path + "[\"x-typia-optional\"]",
1179
+ expected: "(boolean | undefined)",
1180
+ value: input["x-typia-optional"]
1181
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1182
+ path: _path + "[\"x-typia-rest\"]",
1183
+ expected: "(boolean | undefined)",
1184
+ value: input["x-typia-rest"]
1185
+ }));
1186
+ const $ao41 = (input, _path, _exceptionable = true) => (undefined === input.minLength || "number" === typeof input.minLength && (parseInt(input.minLength) === input.minLength || $guard(_exceptionable, {
1187
+ path: _path + ".minLength",
1188
+ expected: "number (@type uint)",
1189
+ value: input.minLength
1190
+ })) && (0 <= input.minLength || $guard(_exceptionable, {
1191
+ path: _path + ".minLength",
1192
+ expected: "number (@type uint)",
1193
+ value: input.minLength
1194
+ })) || $guard(_exceptionable, {
1195
+ path: _path + ".minLength",
1196
+ expected: "(number | undefined)",
1197
+ value: input.minLength
1198
+ })) && (undefined === input.maxLength || "number" === typeof input.maxLength && (parseInt(input.maxLength) === input.maxLength || $guard(_exceptionable, {
1199
+ path: _path + ".maxLength",
1200
+ expected: "number (@type uint)",
1201
+ value: input.maxLength
1202
+ })) && (0 <= input.maxLength || $guard(_exceptionable, {
1203
+ path: _path + ".maxLength",
1204
+ expected: "number (@type uint)",
1205
+ value: input.maxLength
1206
+ })) || $guard(_exceptionable, {
1207
+ path: _path + ".maxLength",
1208
+ expected: "(number | undefined)",
1209
+ value: input.maxLength
1210
+ })) && (undefined === input.pattern || "string" === typeof input.pattern || $guard(_exceptionable, {
1211
+ path: _path + ".pattern",
1212
+ expected: "(string | undefined)",
1213
+ value: input.pattern
1214
+ })) && (undefined === input.format || "string" === typeof input.format || $guard(_exceptionable, {
1215
+ path: _path + ".format",
1216
+ expected: "(string | undefined)",
1217
+ value: input.format
1218
+ })) && (undefined === input["default"] || "string" === typeof input["default"] || $guard(_exceptionable, {
1219
+ path: _path + "[\"default\"]",
1220
+ expected: "(string | undefined)",
1221
+ value: input["default"]
1222
+ })) && ("string" === input.type || $guard(_exceptionable, {
1223
+ path: _path + ".type",
1224
+ expected: "\"string\"",
1225
+ value: input.type
1226
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
1227
+ path: _path + ".nullable",
1228
+ expected: "boolean",
1229
+ value: input.nullable
1230
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1231
+ path: _path + ".deprecated",
1232
+ expected: "(boolean | undefined)",
1233
+ value: input.deprecated
1234
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1235
+ path: _path + ".title",
1236
+ expected: "(string | undefined)",
1237
+ value: input.title
1238
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1239
+ path: _path + ".description",
1240
+ expected: "(string | undefined)",
1241
+ value: input.description
1242
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1243
+ path: _path + "[\"x-typia-metaTags\"]",
1244
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1245
+ value: input["x-typia-metaTags"]
1246
+ })) && input["x-typia-metaTags"].every((elem, _index21) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1247
+ path: _path + "[\"x-typia-metaTags\"][" + _index21 + "]",
1248
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1249
+ value: elem
1250
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index21 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1251
+ path: _path + "[\"x-typia-jsDocTags\"]",
1252
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1253
+ value: input["x-typia-jsDocTags"]
1254
+ })) && input["x-typia-jsDocTags"].every((elem, _index22) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1255
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index22 + "]",
1256
+ expected: "IJsDocTagInfo",
1257
+ value: elem
1258
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index22 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1259
+ path: _path + "[\"x-typia-required\"]",
1260
+ expected: "(boolean | undefined)",
1261
+ value: input["x-typia-required"]
1262
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1263
+ path: _path + "[\"x-typia-optional\"]",
1264
+ expected: "(boolean | undefined)",
1265
+ value: input["x-typia-optional"]
1266
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1267
+ path: _path + "[\"x-typia-rest\"]",
1268
+ expected: "(boolean | undefined)",
1269
+ value: input["x-typia-rest"]
1270
+ }));
1271
+ const $ao42 = (input, _path, _exceptionable = true) => ("object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) || $guard(_exceptionable, {
1272
+ path: _path + ".items",
1273
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)",
1274
+ value: input.items
1275
+ })) && $au4(input.items, _path + ".items", true && _exceptionable) && (undefined === input.minItems || "number" === typeof input.minItems && (parseInt(input.minItems) === input.minItems || $guard(_exceptionable, {
1276
+ path: _path + ".minItems",
1277
+ expected: "number (@type uint)",
1278
+ value: input.minItems
1279
+ })) && (0 <= input.minItems || $guard(_exceptionable, {
1280
+ path: _path + ".minItems",
1281
+ expected: "number (@type uint)",
1282
+ value: input.minItems
1283
+ })) || $guard(_exceptionable, {
1284
+ path: _path + ".minItems",
1285
+ expected: "(number | undefined)",
1286
+ value: input.minItems
1287
+ })) && (undefined === input.maxItems || "number" === typeof input.maxItems && (parseInt(input.maxItems) === input.maxItems || $guard(_exceptionable, {
1288
+ path: _path + ".maxItems",
1289
+ expected: "number (@type uint)",
1290
+ value: input.maxItems
1291
+ })) && (0 <= input.maxItems || $guard(_exceptionable, {
1292
+ path: _path + ".maxItems",
1293
+ expected: "number (@type uint)",
1294
+ value: input.maxItems
1295
+ })) || $guard(_exceptionable, {
1296
+ path: _path + ".maxItems",
1297
+ expected: "(number | undefined)",
1298
+ value: input.maxItems
1299
+ })) && (undefined === input["x-typia-tuple"] || ("object" === typeof input["x-typia-tuple"] && null !== input["x-typia-tuple"] || $guard(_exceptionable, {
1300
+ path: _path + "[\"x-typia-tuple\"]",
1301
+ expected: "(IJsonSchema.ITuple | undefined)",
1302
+ value: input["x-typia-tuple"]
1303
+ })) && $ao43(input["x-typia-tuple"], _path + "[\"x-typia-tuple\"]", true && _exceptionable)) && ("array" === input.type || $guard(_exceptionable, {
1304
+ path: _path + ".type",
1305
+ expected: "\"array\"",
1306
+ value: input.type
1307
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
1308
+ path: _path + ".nullable",
1309
+ expected: "boolean",
1310
+ value: input.nullable
1311
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1312
+ path: _path + ".deprecated",
1313
+ expected: "(boolean | undefined)",
1314
+ value: input.deprecated
1315
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1316
+ path: _path + ".title",
1317
+ expected: "(string | undefined)",
1318
+ value: input.title
1319
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1320
+ path: _path + ".description",
1321
+ expected: "(string | undefined)",
1322
+ value: input.description
1323
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1324
+ path: _path + "[\"x-typia-metaTags\"]",
1325
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1326
+ value: input["x-typia-metaTags"]
1327
+ })) && input["x-typia-metaTags"].every((elem, _index23) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1328
+ path: _path + "[\"x-typia-metaTags\"][" + _index23 + "]",
1329
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1330
+ value: elem
1331
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index23 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1332
+ path: _path + "[\"x-typia-jsDocTags\"]",
1333
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1334
+ value: input["x-typia-jsDocTags"]
1335
+ })) && input["x-typia-jsDocTags"].every((elem, _index24) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1336
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index24 + "]",
1337
+ expected: "IJsDocTagInfo",
1338
+ value: elem
1339
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index24 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1340
+ path: _path + "[\"x-typia-required\"]",
1341
+ expected: "(boolean | undefined)",
1342
+ value: input["x-typia-required"]
1343
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1344
+ path: _path + "[\"x-typia-optional\"]",
1345
+ expected: "(boolean | undefined)",
1346
+ value: input["x-typia-optional"]
1347
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1348
+ path: _path + "[\"x-typia-rest\"]",
1349
+ expected: "(boolean | undefined)",
1350
+ value: input["x-typia-rest"]
1351
+ }));
1352
+ const $ao43 = (input, _path, _exceptionable = true) => (Array.isArray(input.items) || $guard(_exceptionable, {
1353
+ path: _path + ".items",
1354
+ expected: "Array<(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)>",
1355
+ value: input.items
1356
+ })) && input.items.every((elem, _index25) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || $guard(_exceptionable, {
1357
+ path: _path + ".items[" + _index25 + "]",
1358
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)",
1359
+ value: elem
1360
+ })) && $au3(elem, _path + ".items[" + _index25 + "]", true && _exceptionable)) && ("array" === input.type || $guard(_exceptionable, {
1361
+ path: _path + ".type",
1362
+ expected: "\"array\"",
1363
+ value: input.type
1364
+ })) && ("boolean" === typeof input.nullable || $guard(_exceptionable, {
1365
+ path: _path + ".nullable",
1366
+ expected: "boolean",
1367
+ value: input.nullable
1368
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1369
+ path: _path + ".deprecated",
1370
+ expected: "(boolean | undefined)",
1371
+ value: input.deprecated
1372
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1373
+ path: _path + ".title",
1374
+ expected: "(string | undefined)",
1375
+ value: input.title
1376
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1377
+ path: _path + ".description",
1378
+ expected: "(string | undefined)",
1379
+ value: input.description
1380
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1381
+ path: _path + "[\"x-typia-metaTags\"]",
1382
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1383
+ value: input["x-typia-metaTags"]
1384
+ })) && input["x-typia-metaTags"].every((elem, _index26) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1385
+ path: _path + "[\"x-typia-metaTags\"][" + _index26 + "]",
1386
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1387
+ value: elem
1388
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index26 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1389
+ path: _path + "[\"x-typia-jsDocTags\"]",
1390
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1391
+ value: input["x-typia-jsDocTags"]
1392
+ })) && input["x-typia-jsDocTags"].every((elem, _index27) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1393
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index27 + "]",
1394
+ expected: "IJsDocTagInfo",
1395
+ value: elem
1396
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index27 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1397
+ path: _path + "[\"x-typia-required\"]",
1398
+ expected: "(boolean | undefined)",
1399
+ value: input["x-typia-required"]
1400
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1401
+ path: _path + "[\"x-typia-optional\"]",
1402
+ expected: "(boolean | undefined)",
1403
+ value: input["x-typia-optional"]
1404
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1405
+ path: _path + "[\"x-typia-rest\"]",
1406
+ expected: "(boolean | undefined)",
1407
+ value: input["x-typia-rest"]
1408
+ }));
1409
+ const $ao44 = (input, _path, _exceptionable = true) => (Array.isArray(input.oneOf) || $guard(_exceptionable, {
1410
+ path: _path + ".oneOf",
1411
+ expected: "Array<(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)>",
1412
+ value: input.oneOf
1413
+ })) && input.oneOf.every((elem, _index28) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || $guard(_exceptionable, {
1414
+ path: _path + ".oneOf[" + _index28 + "]",
1415
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)",
1416
+ value: elem
1417
+ })) && $au2(elem, _path + ".oneOf[" + _index28 + "]", true && _exceptionable)) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1418
+ path: _path + ".deprecated",
1419
+ expected: "(boolean | undefined)",
1420
+ value: input.deprecated
1421
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1422
+ path: _path + ".title",
1423
+ expected: "(string | undefined)",
1424
+ value: input.title
1425
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1426
+ path: _path + ".description",
1427
+ expected: "(string | undefined)",
1428
+ value: input.description
1429
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1430
+ path: _path + "[\"x-typia-metaTags\"]",
1431
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1432
+ value: input["x-typia-metaTags"]
1433
+ })) && input["x-typia-metaTags"].every((elem, _index29) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1434
+ path: _path + "[\"x-typia-metaTags\"][" + _index29 + "]",
1435
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1436
+ value: elem
1437
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index29 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1438
+ path: _path + "[\"x-typia-jsDocTags\"]",
1439
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1440
+ value: input["x-typia-jsDocTags"]
1441
+ })) && input["x-typia-jsDocTags"].every((elem, _index30) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1442
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index30 + "]",
1443
+ expected: "IJsDocTagInfo",
1444
+ value: elem
1445
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index30 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1446
+ path: _path + "[\"x-typia-required\"]",
1447
+ expected: "(boolean | undefined)",
1448
+ value: input["x-typia-required"]
1449
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1450
+ path: _path + "[\"x-typia-optional\"]",
1451
+ expected: "(boolean | undefined)",
1452
+ value: input["x-typia-optional"]
1453
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1454
+ path: _path + "[\"x-typia-rest\"]",
1455
+ expected: "(boolean | undefined)",
1456
+ value: input["x-typia-rest"]
1457
+ }));
1458
+ const $ao45 = (input, _path, _exceptionable = true) => ("string" === typeof input.$ref || $guard(_exceptionable, {
1459
+ path: _path + ".$ref",
1460
+ expected: "string",
1461
+ value: input.$ref
1462
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1463
+ path: _path + ".deprecated",
1464
+ expected: "(boolean | undefined)",
1465
+ value: input.deprecated
1466
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1467
+ path: _path + ".title",
1468
+ expected: "(string | undefined)",
1469
+ value: input.title
1470
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1471
+ path: _path + ".description",
1472
+ expected: "(string | undefined)",
1473
+ value: input.description
1474
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1475
+ path: _path + "[\"x-typia-metaTags\"]",
1476
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1477
+ value: input["x-typia-metaTags"]
1478
+ })) && input["x-typia-metaTags"].every((elem, _index31) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1479
+ path: _path + "[\"x-typia-metaTags\"][" + _index31 + "]",
1480
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1481
+ value: elem
1482
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index31 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1483
+ path: _path + "[\"x-typia-jsDocTags\"]",
1484
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1485
+ value: input["x-typia-jsDocTags"]
1486
+ })) && input["x-typia-jsDocTags"].every((elem, _index32) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1487
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index32 + "]",
1488
+ expected: "IJsDocTagInfo",
1489
+ value: elem
1490
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index32 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1491
+ path: _path + "[\"x-typia-required\"]",
1492
+ expected: "(boolean | undefined)",
1493
+ value: input["x-typia-required"]
1494
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1495
+ path: _path + "[\"x-typia-optional\"]",
1496
+ expected: "(boolean | undefined)",
1497
+ value: input["x-typia-optional"]
1498
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1499
+ path: _path + "[\"x-typia-rest\"]",
1500
+ expected: "(boolean | undefined)",
1501
+ value: input["x-typia-rest"]
1502
+ }));
1503
+ const $ao46 = (input, _path, _exceptionable = true) => ("string" === typeof input.$recursiveRef || $guard(_exceptionable, {
1504
+ path: _path + ".$recursiveRef",
1505
+ expected: "string",
1506
+ value: input.$recursiveRef
1507
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1508
+ path: _path + ".deprecated",
1509
+ expected: "(boolean | undefined)",
1510
+ value: input.deprecated
1511
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1512
+ path: _path + ".title",
1513
+ expected: "(string | undefined)",
1514
+ value: input.title
1515
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1516
+ path: _path + ".description",
1517
+ expected: "(string | undefined)",
1518
+ value: input.description
1519
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1520
+ path: _path + "[\"x-typia-metaTags\"]",
1521
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1522
+ value: input["x-typia-metaTags"]
1523
+ })) && input["x-typia-metaTags"].every((elem, _index33) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1524
+ path: _path + "[\"x-typia-metaTags\"][" + _index33 + "]",
1525
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1526
+ value: elem
1527
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index33 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1528
+ path: _path + "[\"x-typia-jsDocTags\"]",
1529
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1530
+ value: input["x-typia-jsDocTags"]
1531
+ })) && input["x-typia-jsDocTags"].every((elem, _index34) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1532
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index34 + "]",
1533
+ expected: "IJsDocTagInfo",
1534
+ value: elem
1535
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index34 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1536
+ path: _path + "[\"x-typia-required\"]",
1537
+ expected: "(boolean | undefined)",
1538
+ value: input["x-typia-required"]
1539
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1540
+ path: _path + "[\"x-typia-optional\"]",
1541
+ expected: "(boolean | undefined)",
1542
+ value: input["x-typia-optional"]
1543
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1544
+ path: _path + "[\"x-typia-rest\"]",
1545
+ expected: "(boolean | undefined)",
1546
+ value: input["x-typia-rest"]
1547
+ }));
1548
+ const $ao47 = (input, _path, _exceptionable = true) => ("null" === input.type || $guard(_exceptionable, {
1549
+ path: _path + ".type",
1550
+ expected: "\"null\"",
1551
+ value: input.type
1552
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1553
+ path: _path + ".deprecated",
1554
+ expected: "(boolean | undefined)",
1555
+ value: input.deprecated
1556
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1557
+ path: _path + ".title",
1558
+ expected: "(string | undefined)",
1559
+ value: input.title
1560
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1561
+ path: _path + ".description",
1562
+ expected: "(string | undefined)",
1563
+ value: input.description
1564
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1565
+ path: _path + "[\"x-typia-metaTags\"]",
1566
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1567
+ value: input["x-typia-metaTags"]
1568
+ })) && input["x-typia-metaTags"].every((elem, _index35) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1569
+ path: _path + "[\"x-typia-metaTags\"][" + _index35 + "]",
1570
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1571
+ value: elem
1572
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index35 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1573
+ path: _path + "[\"x-typia-jsDocTags\"]",
1574
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1575
+ value: input["x-typia-jsDocTags"]
1576
+ })) && input["x-typia-jsDocTags"].every((elem, _index36) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1577
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index36 + "]",
1578
+ expected: "IJsDocTagInfo",
1579
+ value: elem
1580
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index36 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1581
+ path: _path + "[\"x-typia-required\"]",
1582
+ expected: "(boolean | undefined)",
1583
+ value: input["x-typia-required"]
1584
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1585
+ path: _path + "[\"x-typia-optional\"]",
1586
+ expected: "(boolean | undefined)",
1587
+ value: input["x-typia-optional"]
1588
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1589
+ path: _path + "[\"x-typia-rest\"]",
1590
+ expected: "(boolean | undefined)",
1591
+ value: input["x-typia-rest"]
1592
+ }));
1593
+ const $ao48 = (input, _path, _exceptionable = true) => (null !== input.type || $guard(_exceptionable, {
1594
+ path: _path + ".type",
1595
+ expected: "undefined",
1596
+ value: input.type
1597
+ })) && (undefined === input.type || $guard(_exceptionable, {
1598
+ path: _path + ".type",
1599
+ expected: "undefined",
1600
+ value: input.type
1601
+ })) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || $guard(_exceptionable, {
1602
+ path: _path + ".deprecated",
1603
+ expected: "(boolean | undefined)",
1604
+ value: input.deprecated
1605
+ })) && (undefined === input.title || "string" === typeof input.title || $guard(_exceptionable, {
1606
+ path: _path + ".title",
1607
+ expected: "(string | undefined)",
1608
+ value: input.title
1609
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1610
+ path: _path + ".description",
1611
+ expected: "(string | undefined)",
1612
+ value: input.description
1613
+ })) && (undefined === input["x-typia-metaTags"] || (Array.isArray(input["x-typia-metaTags"]) || $guard(_exceptionable, {
1614
+ path: _path + "[\"x-typia-metaTags\"]",
1615
+ expected: "(Array<(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)> | undefined)",
1616
+ value: input["x-typia-metaTags"]
1617
+ })) && input["x-typia-metaTags"].every((elem, _index37) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1618
+ path: _path + "[\"x-typia-metaTags\"][" + _index37 + "]",
1619
+ expected: "(IMetadataTag.IExclusiveMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IFormat | IMetadataTag.IItems | IMetadataTag.ILength | IMetadataTag.IMaxItems | IMetadataTag.IMaxLength | IMetadataTag.IMaximum | IMetadataTag.IMinItems | IMetadataTag.IMinLength | IMetadataTag.IMinimum | IMetadataTag.IMultipleOf | IMetadataTag.IPattern | IMetadataTag.IStep | IMetadataTag.IType)",
1620
+ value: elem
1621
+ })) && $au1(elem, _path + "[\"x-typia-metaTags\"][" + _index37 + "]", true && _exceptionable))) && (undefined === input["x-typia-jsDocTags"] || (Array.isArray(input["x-typia-jsDocTags"]) || $guard(_exceptionable, {
1622
+ path: _path + "[\"x-typia-jsDocTags\"]",
1623
+ expected: "(Array<IJsDocTagInfo> | undefined)",
1624
+ value: input["x-typia-jsDocTags"]
1625
+ })) && input["x-typia-jsDocTags"].every((elem, _index38) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1626
+ path: _path + "[\"x-typia-jsDocTags\"][" + _index38 + "]",
1627
+ expected: "IJsDocTagInfo",
1628
+ value: elem
1629
+ })) && $ao34(elem, _path + "[\"x-typia-jsDocTags\"][" + _index38 + "]", true && _exceptionable))) && (undefined === input["x-typia-required"] || "boolean" === typeof input["x-typia-required"] || $guard(_exceptionable, {
1630
+ path: _path + "[\"x-typia-required\"]",
1631
+ expected: "(boolean | undefined)",
1632
+ value: input["x-typia-required"]
1633
+ })) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"] || $guard(_exceptionable, {
1634
+ path: _path + "[\"x-typia-optional\"]",
1635
+ expected: "(boolean | undefined)",
1636
+ value: input["x-typia-optional"]
1637
+ })) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"] || $guard(_exceptionable, {
1638
+ path: _path + "[\"x-typia-rest\"]",
1639
+ expected: "(boolean | undefined)",
1640
+ value: input["x-typia-rest"]
1641
+ }));
1642
+ const $ao49 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
1643
+ const value = input[key];
1644
+ if (undefined === value)
1645
+ return true;
1646
+ if (RegExp(/(.*)/).test(key))
1647
+ return (Array.isArray(value) || $guard(_exceptionable, {
1648
+ path: _path + $join(key),
1649
+ expected: "Array<string>",
1650
+ value: value
1651
+ })) && value.every((elem, _index39) => "string" === typeof elem || $guard(_exceptionable, {
1652
+ path: _path + $join(key) + "[" + _index39 + "]",
1653
+ expected: "string",
1654
+ value: elem
1655
+ }));
1656
+ return true;
1657
+ });
1658
+ const $ao50 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
1659
+ const value = input[key];
1660
+ if (undefined === value)
1661
+ return true;
1662
+ if (RegExp(/(.*)/).test(key))
1663
+ return ("object" === typeof value && null !== value && false === Array.isArray(value) || $guard(_exceptionable, {
1664
+ path: _path + $join(key),
1665
+ expected: "ISwaggerDocument.IPath",
1666
+ value: value
1667
+ })) && $ao51(value, _path + $join(key), true && _exceptionable);
1668
+ return true;
1669
+ });
1670
+ const $ao51 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
1671
+ const value = input[key];
1672
+ if (undefined === value)
1673
+ return true;
1674
+ if (RegExp(/(.*)/).test(key))
1675
+ return ("object" === typeof value && null !== value || $guard(_exceptionable, {
1676
+ path: _path + $join(key),
1677
+ expected: "ISwaggerDocument.IRoute",
1678
+ value: value
1679
+ })) && $ao52(value, _path + $join(key), true && _exceptionable);
1680
+ return true;
1681
+ });
1682
+ const $ao52 = (input, _path, _exceptionable = true) => (Array.isArray(input.tags) || $guard(_exceptionable, {
1683
+ path: _path + ".tags",
1684
+ expected: "Array<string>",
1685
+ value: input.tags
1686
+ })) && input.tags.every((elem, _index40) => "string" === typeof elem || $guard(_exceptionable, {
1687
+ path: _path + ".tags[" + _index40 + "]",
1688
+ expected: "string",
1689
+ value: elem
1690
+ })) && ((Array.isArray(input.parameters) || $guard(_exceptionable, {
1691
+ path: _path + ".parameters",
1692
+ expected: "Array<ISwaggerDocument.IParameter>",
1693
+ value: input.parameters
1694
+ })) && input.parameters.every((elem, _index41) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1695
+ path: _path + ".parameters[" + _index41 + "]",
1696
+ expected: "ISwaggerDocument.IParameter",
1697
+ value: elem
1698
+ })) && $ao53(elem, _path + ".parameters[" + _index41 + "]", true && _exceptionable))) && (undefined === input.requestBody || ("object" === typeof input.requestBody && null !== input.requestBody || $guard(_exceptionable, {
1699
+ path: _path + ".requestBody",
1700
+ expected: "(ISwaggerDocument.IRequestBody | undefined)",
1701
+ value: input.requestBody
1702
+ })) && $ao54(input.requestBody, _path + ".requestBody", true && _exceptionable)) && (("object" === typeof input.responses && null !== input.responses && false === Array.isArray(input.responses) || $guard(_exceptionable, {
1703
+ path: _path + ".responses",
1704
+ expected: "ISwaggerDocument.IResponseBody",
1705
+ value: input.responses
1706
+ })) && $ao57(input.responses, _path + ".responses", true && _exceptionable)) && (undefined === input.summary || "string" === typeof input.summary || $guard(_exceptionable, {
1707
+ path: _path + ".summary",
1708
+ expected: "(string | undefined)",
1709
+ value: input.summary
1710
+ })) && ("string" === typeof input.description || $guard(_exceptionable, {
1711
+ path: _path + ".description",
1712
+ expected: "string",
1713
+ value: input.description
1714
+ })) && ("string" === typeof input["x-nestia-namespace"] || $guard(_exceptionable, {
1715
+ path: _path + "[\"x-nestia-namespace\"]",
1716
+ expected: "string",
1717
+ value: input["x-nestia-namespace"]
1718
+ })) && ((Array.isArray(input["x-nestia-jsDocTags"]) || $guard(_exceptionable, {
1719
+ path: _path + "[\"x-nestia-jsDocTags\"]",
1720
+ expected: "Array<IJsDocTagInfo>",
1721
+ value: input["x-nestia-jsDocTags"]
1722
+ })) && input["x-nestia-jsDocTags"].every((elem, _index42) => ("object" === typeof elem && null !== elem || $guard(_exceptionable, {
1723
+ path: _path + "[\"x-nestia-jsDocTags\"][" + _index42 + "]",
1724
+ expected: "IJsDocTagInfo",
1725
+ value: elem
1726
+ })) && $ao34(elem, _path + "[\"x-nestia-jsDocTags\"][" + _index42 + "]", true && _exceptionable)));
1727
+ const $ao53 = (input, _path, _exceptionable = true) => ("string" === typeof input.name || $guard(_exceptionable, {
1728
+ path: _path + ".name",
1729
+ expected: "string",
1730
+ value: input.name
1731
+ })) && ("string" === typeof input["in"] || $guard(_exceptionable, {
1732
+ path: _path + "[\"in\"]",
1733
+ expected: "string",
1734
+ value: input["in"]
1735
+ })) && (("object" === typeof input.schema && null !== input.schema && false === Array.isArray(input.schema) || $guard(_exceptionable, {
1736
+ path: _path + ".schema",
1737
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)",
1738
+ value: input.schema
1739
+ })) && $au4(input.schema, _path + ".schema", true && _exceptionable)) && ("boolean" === typeof input.required || $guard(_exceptionable, {
1740
+ path: _path + ".required",
1741
+ expected: "boolean",
1742
+ value: input.required
1743
+ })) && ("string" === typeof input.description || $guard(_exceptionable, {
1744
+ path: _path + ".description",
1745
+ expected: "string",
1746
+ value: input.description
1747
+ }));
1748
+ const $ao54 = (input, _path, _exceptionable = true) => ("string" === typeof input.description || $guard(_exceptionable, {
1749
+ path: _path + ".description",
1750
+ expected: "string",
1751
+ value: input.description
1752
+ })) && (("object" === typeof input.content && null !== input.content || $guard(_exceptionable, {
1753
+ path: _path + ".content",
1754
+ expected: "ISwaggerDocument.IJsonContent",
1755
+ value: input.content
1756
+ })) && $ao55(input.content, _path + ".content", true && _exceptionable)) && (true === input.required || $guard(_exceptionable, {
1757
+ path: _path + ".required",
1758
+ expected: "true",
1759
+ value: input.required
1760
+ })) && ("boolean" === typeof input["x-nestia-encrypted"] || $guard(_exceptionable, {
1761
+ path: _path + "[\"x-nestia-encrypted\"]",
1762
+ expected: "boolean",
1763
+ value: input["x-nestia-encrypted"]
1764
+ }));
1765
+ const $ao55 = (input, _path, _exceptionable = true) => ("object" === typeof input["application/json"] && null !== input["application/json"] || $guard(_exceptionable, {
1766
+ path: _path + "[\"application/json\"]",
1767
+ expected: "__type",
1768
+ value: input["application/json"]
1769
+ })) && $ao56(input["application/json"], _path + "[\"application/json\"]", true && _exceptionable);
1770
+ const $ao56 = (input, _path, _exceptionable = true) => ("object" === typeof input.schema && null !== input.schema && false === Array.isArray(input.schema) || $guard(_exceptionable, {
1771
+ path: _path + ".schema",
1772
+ expected: "(IJsonSchema.IArray | IJsonSchema.IBoolean | IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IInteger | IJsonSchema.INullOnly | IJsonSchema.INumber | IJsonSchema.IOneOf | IJsonSchema.IRecursiveReference | IJsonSchema.IReference | IJsonSchema.IString | IJsonSchema.ITuple | IJsonSchema.IUnknown)",
1773
+ value: input.schema
1774
+ })) && $au4(input.schema, _path + ".schema", true && _exceptionable);
1775
+ const $ao57 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
1776
+ const value = input[key];
1777
+ if (undefined === value)
1778
+ return true;
1779
+ if (RegExp(/(.*)/).test(key))
1780
+ return ("object" === typeof value && null !== value || $guard(_exceptionable, {
1781
+ path: _path + $join(key),
1782
+ expected: "__type.o1",
1783
+ value: value
1784
+ })) && $ao58(value, _path + $join(key), true && _exceptionable);
1785
+ return true;
1786
+ });
1787
+ const $ao58 = (input, _path, _exceptionable = true) => ("string" === typeof input.description || $guard(_exceptionable, {
1788
+ path: _path + ".description",
1789
+ expected: "string",
1790
+ value: input.description
1791
+ })) && (undefined === input.content || ("object" === typeof input.content && null !== input.content || $guard(_exceptionable, {
1792
+ path: _path + ".content",
1793
+ expected: "(ISwaggerDocument.IJsonContent | undefined)",
1794
+ value: input.content
1795
+ })) && $ao55(input.content, _path + ".content", true && _exceptionable)) && (undefined === input["x-nestia-encrypted"] || "boolean" === typeof input["x-nestia-encrypted"] || $guard(_exceptionable, {
1796
+ path: _path + "[\"x-nestia-encrypted\"]",
1797
+ expected: "(boolean | undefined)",
1798
+ value: input["x-nestia-encrypted"]
1799
+ }));
1800
+ const $au0 = (input, _path, _exceptionable = true) => (() => {
1801
+ if (undefined !== input.schema)
1802
+ return $ao5(input, _path, true && _exceptionable);
1803
+ if (undefined !== input.scheme)
1804
+ return $ao6(input, _path, true && _exceptionable);
1805
+ if ("apiKey" === input.type)
1806
+ return $ao7(input, _path, true && _exceptionable);
1807
+ if ("openIdConnect" === input.type)
1808
+ return $ao8(input, _path, true && _exceptionable);
1809
+ if ("oauth2" === input.type)
1810
+ return $ao9(input, _path, true && _exceptionable);
1811
+ return $guard(_exceptionable, {
1812
+ path: _path,
1813
+ expected: "(ISwaggerDocument.ISecurityScheme.IHttpBasic | ISwaggerDocument.ISecurityScheme.IHttpBearer | ISwaggerDocument.ISecurityScheme.IApiKey | ISwaggerDocument.ISecurityScheme.IOpenId | ISwaggerDocument.ISecurityScheme.IOAuth2)",
1814
+ value: input
1815
+ });
1816
+ })();
1817
+ const $au1 = (input, _path, _exceptionable = true) => (() => {
1818
+ if ("type" === input.kind)
1819
+ return $ao19(input, _path, true && _exceptionable);
1820
+ if ("minimum" === input.kind)
1821
+ return $ao20(input, _path, true && _exceptionable);
1822
+ if ("maximum" === input.kind)
1823
+ return $ao21(input, _path, true && _exceptionable);
1824
+ if ("exclusiveMinimum" === input.kind)
1825
+ return $ao22(input, _path, true && _exceptionable);
1826
+ if ("exclusiveMaximum" === input.kind)
1827
+ return $ao23(input, _path, true && _exceptionable);
1828
+ if ("multipleOf" === input.kind)
1829
+ return $ao24(input, _path, true && _exceptionable);
1830
+ if ("step" === input.kind)
1831
+ return $ao25(input, _path, true && _exceptionable);
1832
+ if ("format" === input.kind)
1833
+ return $ao26(input, _path, true && _exceptionable);
1834
+ if ("pattern" === input.kind)
1835
+ return $ao27(input, _path, true && _exceptionable);
1836
+ if ("length" === input.kind)
1837
+ return $ao28(input, _path, true && _exceptionable);
1838
+ if ("minLength" === input.kind)
1839
+ return $ao29(input, _path, true && _exceptionable);
1840
+ if ("maxLength" === input.kind)
1841
+ return $ao30(input, _path, true && _exceptionable);
1842
+ if ("items" === input.kind)
1843
+ return $ao31(input, _path, true && _exceptionable);
1844
+ if ("minItems" === input.kind)
1845
+ return $ao32(input, _path, true && _exceptionable);
1846
+ if ("maxItems" === input.kind)
1847
+ return $ao33(input, _path, true && _exceptionable);
1848
+ return $guard(_exceptionable, {
1849
+ path: _path,
1850
+ expected: "(IMetadataTag.IType | IMetadataTag.IMinimum | IMetadataTag.IMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IExclusiveMaximum | IMetadataTag.IMultipleOf | IMetadataTag.IStep | IMetadataTag.IFormat | IMetadataTag.IPattern | IMetadataTag.ILength | IMetadataTag.IMinLength | IMetadataTag.IMaxLength | IMetadataTag.IItems | IMetadataTag.IMinItems | IMetadataTag.IMaxItems)",
1851
+ value: input
1852
+ });
1853
+ })();
1854
+ const $au2 = (input, _path, _exceptionable = true) => (() => {
1855
+ if ("integer" === input.type)
1856
+ return $ao39(input, _path, true && _exceptionable);
1857
+ if (undefined !== input.oneOf)
1858
+ return $ao44(input, _path, true && _exceptionable);
1859
+ if (Array.isArray(input.items) && input.items.every((elem, _index43) => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $au3(elem, _path + ".items[" + _index43 + "]", false && _exceptionable)))
1860
+ return $ao43(input, _path, true && _exceptionable);
1861
+ if ("object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $au4(input.items, _path + ".items", false && _exceptionable))
1862
+ return $ao42(input, _path, true && _exceptionable);
1863
+ if (undefined !== input.$ref)
1864
+ return $ao45(input, _path, true && _exceptionable);
1865
+ if (undefined !== input.$recursiveRef)
1866
+ return $ao46(input, _path, true && _exceptionable);
1867
+ if ("null" === input.type)
1868
+ return $ao47(input, _path, true && _exceptionable);
1869
+ return $ao18(input, _path, false && _exceptionable) || $ao36(input, _path, false && _exceptionable) || $ao37(input, _path, false && _exceptionable) || $ao38(input, _path, false && _exceptionable) || $ao40(input, _path, false && _exceptionable) || $ao41(input, _path, false && _exceptionable) || $ao48(input, _path, false && _exceptionable) || $guard(_exceptionable, {
1870
+ path: _path,
1871
+ expected: "(IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IBoolean | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IUnknown)",
1872
+ value: input
1873
+ });
1874
+ })();
1875
+ const $au3 = (input, _path, _exceptionable = true) => (() => {
1876
+ if ("integer" === input.type)
1877
+ return $ao39(input, _path, true && _exceptionable);
1878
+ if (Array.isArray(input.items) && input.items.every((elem, _index44) => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $au3(elem, _path + ".items[" + _index44 + "]", false && _exceptionable)))
1879
+ return $ao43(input, _path, true && _exceptionable);
1880
+ if ("object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $au4(input.items, _path + ".items", false && _exceptionable))
1881
+ return $ao42(input, _path, true && _exceptionable);
1882
+ if (undefined !== input.oneOf)
1883
+ return $ao44(input, _path, true && _exceptionable);
1884
+ if (undefined !== input.$ref)
1885
+ return $ao45(input, _path, true && _exceptionable);
1886
+ if (undefined !== input.$recursiveRef)
1887
+ return $ao46(input, _path, true && _exceptionable);
1888
+ if ("null" === input.type)
1889
+ return $ao47(input, _path, true && _exceptionable);
1890
+ return $ao18(input, _path, false && _exceptionable) || $ao36(input, _path, false && _exceptionable) || $ao37(input, _path, false && _exceptionable) || $ao38(input, _path, false && _exceptionable) || $ao40(input, _path, false && _exceptionable) || $ao41(input, _path, false && _exceptionable) || $ao48(input, _path, false && _exceptionable) || $guard(_exceptionable, {
1891
+ path: _path,
1892
+ expected: "(IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IBoolean | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IUnknown)",
1893
+ value: input
1894
+ });
1895
+ })();
1896
+ const $au4 = (input, _path, _exceptionable = true) => (() => {
1897
+ if ("integer" === input.type)
1898
+ return $ao39(input, _path, true && _exceptionable);
1899
+ if ("object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $au4(input.items, _path + ".items", false && _exceptionable))
1900
+ return $ao42(input, _path, true && _exceptionable);
1901
+ if (Array.isArray(input.items) && input.items.every((elem, _index45) => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $au3(elem, _path + ".items[" + _index45 + "]", false && _exceptionable)))
1902
+ return $ao43(input, _path, true && _exceptionable);
1903
+ if (undefined !== input.oneOf)
1904
+ return $ao44(input, _path, true && _exceptionable);
1905
+ if (undefined !== input.$ref)
1906
+ return $ao45(input, _path, true && _exceptionable);
1907
+ if (undefined !== input.$recursiveRef)
1908
+ return $ao46(input, _path, true && _exceptionable);
1909
+ if ("null" === input.type)
1910
+ return $ao47(input, _path, true && _exceptionable);
1911
+ return $ao18(input, _path, false && _exceptionable) || $ao36(input, _path, false && _exceptionable) || $ao37(input, _path, false && _exceptionable) || $ao38(input, _path, false && _exceptionable) || $ao40(input, _path, false && _exceptionable) || $ao41(input, _path, false && _exceptionable) || $ao48(input, _path, false && _exceptionable) || $guard(_exceptionable, {
1912
+ path: _path,
1913
+ expected: "(IJsonSchema.IEnumeration<\"boolean\"> | IJsonSchema.IEnumeration<\"number\"> | IJsonSchema.IEnumeration<\"string\"> | IJsonSchema.IBoolean | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IUnknown)",
1914
+ value: input
1915
+ });
1916
+ })();
1917
+ return ("object" === typeof input && null !== input || $guard(true, {
1918
+ path: _path + "",
1919
+ expected: "ISwaggerDocument",
1920
+ value: input
1921
+ })) && $ao0(input, _path + "", true);
1922
+ })(input, "$input", true);
1923
+ return input;
1924
+ }; input = JSON.parse(input); return assert(input); })(content);
1925
+ }
1926
+ catch (_q) { }
1927
+ const pack = new Singleton_1.Singleton(() => __awaiter(this, void 0, void 0, function* () {
1928
+ const location = yield FileRetriever_1.FileRetriever.file("package.json")(process.cwd());
1929
+ if (location === null)
1930
+ return null;
1931
+ try {
1932
+ const content = yield fs_1.default.promises.readFile(location, "utf8");
1933
+ const data = (input => { const assert = input => {
1934
+ const $guard = typia_1.default.assertParse.guard;
1935
+ const __is = input => {
1936
+ const $io0 = input => (undefined === input.name || "string" === typeof input.name) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.description || "string" === typeof input.description);
1937
+ return "object" === typeof input && null !== input && false === Array.isArray(input) && $io0(input);
1938
+ };
1939
+ if (false === __is(input))
1940
+ ((input, _path, _exceptionable = true) => {
1941
+ const $ao0 = (input, _path, _exceptionable = true) => (undefined === input.name || "string" === typeof input.name || $guard(_exceptionable, {
1942
+ path: _path + ".name",
1943
+ expected: "(string | undefined)",
1944
+ value: input.name
1945
+ })) && (undefined === input.version || "string" === typeof input.version || $guard(_exceptionable, {
1946
+ path: _path + ".version",
1947
+ expected: "(string | undefined)",
1948
+ value: input.version
1949
+ })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
1950
+ path: _path + ".description",
1951
+ expected: "(string | undefined)",
1952
+ value: input.description
1953
+ }));
1954
+ return ("object" === typeof input && null !== input && false === Array.isArray(input) || $guard(true, {
1955
+ path: _path + "",
1956
+ expected: "__type",
1957
+ value: input
1958
+ })) && $ao0(input, _path + "", true);
1959
+ })(input, "$input", true);
1960
+ return input;
1961
+ }; input = JSON.parse(input); return assert(input); })(content);
1962
+ return {
1963
+ title: data.name,
1964
+ version: data.version,
1965
+ description: data.description,
93
1966
  };
94
- // RETURNS
95
- return swagger;
96
- });
97
- }
1967
+ }
1968
+ catch (_r) {
1969
+ return null;
1970
+ }
1971
+ }));
1972
+ return {
1973
+ openapi: "3.0.1",
1974
+ servers: (_b = config.servers) !== null && _b !== void 0 ? _b : [
1975
+ {
1976
+ url: "https://github.com/samchon/nestia",
1977
+ description: "insert your server url",
1978
+ },
1979
+ ],
1980
+ info: {
1981
+ version: (_f = (_d = (_c = config.info) === null || _c === void 0 ? void 0 : _c.version) !== null && _d !== void 0 ? _d : (_e = (yield pack.get())) === null || _e === void 0 ? void 0 : _e.version) !== null && _f !== void 0 ? _f : "0.1.0",
1982
+ title: (_k = (_h = (_g = config.info) === null || _g === void 0 ? void 0 : _g.title) !== null && _h !== void 0 ? _h : (_j = (yield pack.get())) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : "Swagger Documents",
1983
+ description: (_p = (_m = (_l = config.info) === null || _l === void 0 ? void 0 : _l.description) !== null && _m !== void 0 ? _m : (_o = (yield pack.get())) === null || _o === void 0 ? void 0 : _o.description) !== null && _p !== void 0 ? _p : "Generated by nestia - https://github.com/samchon/nestia",
1984
+ },
1985
+ paths: {},
1986
+ components: {
1987
+ schemas: {},
1988
+ },
1989
+ };
1990
+ });
98
1991
  function get_path(path, parameters) {
99
1992
  const filtered = parameters.filter((param) => param.category === "param" && !!param.field);
100
1993
  for (const param of filtered)