@nestia/sdk 1.2.5 → 1.2.6-dev.20230512-2

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