@nestia/migrate 0.2.14 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/lib/NestiaMigrateApplication.js +79 -140
  2. package/lib/NestiaMigrateApplication.js.map +1 -1
  3. package/lib/bundles/TEMPLATE.js +3 -3
  4. package/lib/bundles/TEMPLATE.js.map +1 -1
  5. package/lib/programmers/ControllerProgrammer.js +4 -14
  6. package/lib/programmers/ControllerProgrammer.js.map +1 -1
  7. package/lib/programmers/DtoProgrammer.js +8 -13
  8. package/lib/programmers/DtoProgrammer.js.map +1 -1
  9. package/lib/programmers/ImportProgrammer.d.ts +7 -3
  10. package/lib/programmers/ImportProgrammer.js +28 -7
  11. package/lib/programmers/ImportProgrammer.js.map +1 -1
  12. package/lib/programmers/MigrateProgrammer.js +5 -5
  13. package/lib/programmers/MigrateProgrammer.js.map +1 -1
  14. package/lib/programmers/RouteProgrammer.d.ts +2 -1
  15. package/lib/programmers/RouteProgrammer.js +19 -19
  16. package/lib/programmers/RouteProgrammer.js.map +1 -1
  17. package/lib/programmers/SchemaProgrammer.d.ts +2 -1
  18. package/lib/programmers/SchemaProgrammer.js +80 -51
  19. package/lib/programmers/SchemaProgrammer.js.map +1 -1
  20. package/lib/structures/IMigrateRoute.d.ts +1 -1
  21. package/lib/structures/ISwaggerRoute.d.ts +1 -1
  22. package/package.json +5 -5
  23. package/src/bundles/TEMPLATE.ts +3 -3
  24. package/src/programmers/ControllerProgrammer.ts +13 -29
  25. package/src/programmers/DtoProgrammer.ts +9 -17
  26. package/src/programmers/ImportProgrammer.ts +41 -13
  27. package/src/programmers/MigrateProgrammer.ts +5 -5
  28. package/src/programmers/RouteProgrammer.ts +31 -31
  29. package/src/programmers/SchemaProgrammer.ts +128 -61
  30. package/src/structures/IMigrateRoute.ts +1 -1
  31. package/src/structures/ISwaggerRoute.ts +1 -1
@@ -34,13 +34,10 @@ class NestiaMigrateApplication {
34
34
  };
35
35
  this.swagger = (input => {
36
36
  const __is = input => {
37
- const $is_url = typia_1.default.assert.is_url;
38
- const $is_email = typia_1.default.assert.is_email;
39
- const $join = typia_1.default.assert.join;
40
37
  const $io0 = input => "string" === typeof input.openapi && RegExp(/^3\.0\.[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$/).test(input.openapi) && ("object" === typeof input.info && null !== input.info && $io1(input.info)) && (Array.isArray(input.servers) && input.servers.every(elem => "object" === typeof elem && null !== elem && $io4(elem))) && ("object" === typeof input.components && null !== input.components && false === Array.isArray(input.components) && $io5(input.components)) && ("object" === typeof input.paths && null !== input.paths && false === Array.isArray(input.paths) && $io29(input.paths)) && (undefined === input.security || Array.isArray(input.security) && input.security.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $io39(elem)));
41
- const $io1 = input => "string" === typeof input.title && (undefined === input.description || "string" === typeof input.description) && (undefined === input.termsOfService || "string" === typeof input.termsOfService && $is_url(input.termsOfService)) && (undefined === input.contact || "object" === typeof input.contact && null !== input.contact && false === Array.isArray(input.contact) && $io2(input.contact)) && (undefined === input.license || "object" === typeof input.license && null !== input.license && $io3(input.license)) && "string" === typeof input.version;
42
- const $io2 = input => (undefined === input.name || "string" === typeof input.name) && (undefined === input.url || "string" === typeof input.url && $is_url(input.url)) && (undefined === input.email || "string" === typeof input.email && $is_email(input.email));
43
- const $io3 = input => "string" === typeof input.name && (undefined === input.url || "string" === typeof input.url && $is_url(input.url));
38
+ const $io1 = input => "string" === typeof input.title && (undefined === input.description || "string" === typeof input.description) && (undefined === input.termsOfService || "string" === typeof input.termsOfService && /^[a-zA-Z0-9]+:\/\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test(input.termsOfService)) && (undefined === input.contact || "object" === typeof input.contact && null !== input.contact && false === Array.isArray(input.contact) && $io2(input.contact)) && (undefined === input.license || "object" === typeof input.license && null !== input.license && $io3(input.license)) && "string" === typeof input.version;
39
+ const $io2 = input => (undefined === input.name || "string" === typeof input.name) && (undefined === input.url || "string" === typeof input.url && /^[a-zA-Z0-9]+:\/\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test(input.url)) && (undefined === input.email || "string" === typeof input.email && /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(input.email));
40
+ const $io3 = input => "string" === typeof input.name && (undefined === input.url || "string" === typeof input.url && /^[a-zA-Z0-9]+:\/\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test(input.url));
44
41
  const $io4 = input => "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description);
45
42
  const $io5 = input => (undefined === input.schemas || "object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && $io6(input.schemas)) && (undefined === input.securitySchemes || "object" === typeof input.securitySchemes && null !== input.securitySchemes && false === Array.isArray(input.securitySchemes) && $io18(input.securitySchemes));
46
43
  const $io6 = input => Object.keys(input).every(key => {
@@ -55,10 +52,10 @@ class NestiaMigrateApplication {
55
52
  const $io8 = input => Array.isArray(input.anyOf) && input.anyOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu0(elem)) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
56
53
  const $io9 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu0(elem)) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
57
54
  const $io10 = input => (undefined === input["default"] || "boolean" === typeof input["default"]) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => "boolean" === typeof elem)) && "boolean" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
58
- const $io11 = input => (undefined === input["default"] || "number" === typeof input["default"] && Math.floor(input["default"]) === input["default"] && (-2147483648 <= input["default"] && input["default"] <= 2147483647)) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => "number" === typeof elem && Math.floor(elem) === elem && (-2147483648 <= elem && elem <= 2147483647))) && (undefined === input.minimum || "number" === typeof input.minimum && Math.floor(input.minimum) === input.minimum && (-2147483648 <= input.minimum && input.minimum <= 2147483647)) && (undefined === input.maximum || "number" === typeof input.maximum && Math.floor(input.maximum) === input.maximum && (-2147483648 <= input.maximum && input.maximum <= 2147483647)) && (undefined === input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 4294967295) && "integer" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
55
+ const $io11 = input => (undefined === input["default"] || "number" === typeof input["default"] && (Math.floor(input["default"]) === input["default"] && -2147483648 <= input["default"] && input["default"] <= 2147483647)) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => "number" === typeof elem)) && (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -2147483648 <= input.minimum && input.minimum <= 2147483647)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -2147483648 <= input.maximum && input.maximum <= 2147483647)) && (undefined === input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 4294967295)) && "integer" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
59
56
  const $io12 = input => (undefined === input["default"] || "number" === typeof input["default"]) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => "number" === typeof elem)) && (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) && "number" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
60
- const $io13 = input => (undefined === input["default"] || "string" === typeof input["default"]) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => "string" === typeof elem)) && (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.minLength || "number" === typeof input.minLength && Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 4294967295) && (undefined === input.maxLength || "number" === typeof input.maxLength && Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 4294967295) && "string" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
61
- const $io14 = input => "object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $iu0(input.items) && (undefined === input.minItems || "number" === typeof input.minItems && Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 4294967295) && (undefined === input.maxItems || "number" === typeof input.maxItems && Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 4294967295) && (undefined === input["x-typia-tuple"] || "object" === typeof input["x-typia-tuple"] && null !== input["x-typia-tuple"] && $io17(input["x-typia-tuple"])) && "array" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
57
+ const $io13 = input => (undefined === input["default"] || "string" === typeof input["default"]) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => "string" === typeof elem)) && (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 4294967295)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 4294967295)) && "string" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
58
+ const $io14 = input => "object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && $iu0(input.items) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 4294967295)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 4294967295)) && (undefined === input["x-typia-tuple"] || "object" === typeof input["x-typia-tuple"] && null !== input["x-typia-tuple"] && $io17(input["x-typia-tuple"])) && "array" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
62
59
  const $io15 = input => (undefined === input.properties || "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && $io6(input.properties)) && (undefined === input.required || Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || "boolean" === typeof input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) && $iu0(input.additionalProperties))) && (undefined === input["x-typia-patternProperties"] || "object" === typeof input["x-typia-patternProperties"] && null !== input["x-typia-patternProperties"] && false === Array.isArray(input["x-typia-patternProperties"]) && $io6(input["x-typia-patternProperties"])) && "object" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
63
60
  const $io16 = input => "string" === typeof input.$ref && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
64
61
  const $io17 = input => Array.isArray(input.items) && input.items.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && $iu0(elem)) && "array" === input.type && (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && (undefined === input["x-typia-optional"] || "boolean" === typeof input["x-typia-optional"]) && (undefined === input["x-typia-rest"] || "boolean" === typeof input["x-typia-rest"]);
@@ -131,44 +128,44 @@ class NestiaMigrateApplication {
131
128
  const $iu0 = input => (() => {
132
129
  if (undefined !== input.anyOf)
133
130
  return $io8(input);
134
- if (undefined !== input.oneOf)
131
+ else if (undefined !== input.oneOf)
135
132
  return $io9(input);
136
- if ("boolean" === input.type)
133
+ else if ("boolean" === input.type)
137
134
  return $io10(input);
138
- if ("number" === input.type)
135
+ else if ("number" === input.type)
139
136
  return $io12(input);
140
- if ("integer" === input.type)
137
+ else if ("integer" === input.type)
141
138
  return $io11(input);
142
- if ("string" === input.type)
139
+ else if ("string" === input.type)
143
140
  return $io13(input);
144
- if ("array" === input.type)
141
+ else if ("array" === input.type)
145
142
  return $io14(input);
146
- if ("object" === input.type)
143
+ else if ("object" === input.type)
147
144
  return $io15(input);
148
- if (undefined !== input.$ref)
145
+ else if (undefined !== input.$ref)
149
146
  return $io16(input);
150
- return $io7(input);
147
+ else
148
+ return $io7(input);
151
149
  })();
152
150
  const $iu1 = input => (() => {
153
151
  if ("basic" === input.scheme)
154
152
  return $io19(input);
155
- if ("bearer" === input.scheme)
153
+ else if ("bearer" === input.scheme)
156
154
  return $io20(input);
157
- if ("apiKey" === input.type)
155
+ else if ("apiKey" === input.type)
158
156
  return $io21(input);
159
- if ("openIdConnect" === input.type)
157
+ else if ("openIdConnect" === input.type)
160
158
  return $io22(input);
161
- if ("oauth2" === input.type)
159
+ else if ("oauth2" === input.type)
162
160
  return $io23(input);
163
- return false;
161
+ else
162
+ return false;
164
163
  })();
165
164
  return "object" === typeof input && null !== input && $io0(input);
166
165
  };
167
166
  if (false === __is(input))
168
167
  ((input, _path, _exceptionable = true) => {
169
168
  const $guard = typia_1.default.assert.guard;
170
- const $is_url = typia_1.default.assert.is_url;
171
- const $is_email = typia_1.default.assert.is_email;
172
169
  const $join = typia_1.default.assert.join;
173
170
  const $ao0 = (input, _path, _exceptionable = true) => ("string" === typeof input.openapi && RegExp(/^3\.0\.[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$/).test(input.openapi) || $guard(_exceptionable, {
174
171
  path: _path + ".openapi",
@@ -239,13 +236,13 @@ class NestiaMigrateApplication {
239
236
  path: _path + ".description",
240
237
  expected: "(string | undefined)",
241
238
  value: input.description
242
- })) && (undefined === input.termsOfService || "string" === typeof input.termsOfService && ($is_url(input.termsOfService) || $guard(_exceptionable, {
239
+ })) && (undefined === input.termsOfService || "string" === typeof input.termsOfService && (/^[a-zA-Z0-9]+:\/\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test(input.termsOfService) || $guard(_exceptionable, {
243
240
  path: _path + ".termsOfService",
244
- expected: "string (@format url)",
241
+ expected: "string & Format<url>",
245
242
  value: input.termsOfService
246
243
  })) || $guard(_exceptionable, {
247
244
  path: _path + ".termsOfService",
248
- expected: "(string | undefined)",
245
+ expected: "((string & Format<url>) | undefined)",
249
246
  value: input.termsOfService
250
247
  })) && (undefined === input.contact || ("object" === typeof input.contact && null !== input.contact && false === Array.isArray(input.contact) || $guard(_exceptionable, {
251
248
  path: _path + ".contact",
@@ -272,34 +269,34 @@ class NestiaMigrateApplication {
272
269
  path: _path + ".name",
273
270
  expected: "(string | undefined)",
274
271
  value: input.name
275
- })) && (undefined === input.url || "string" === typeof input.url && ($is_url(input.url) || $guard(_exceptionable, {
272
+ })) && (undefined === input.url || "string" === typeof input.url && (/^[a-zA-Z0-9]+:\/\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test(input.url) || $guard(_exceptionable, {
276
273
  path: _path + ".url",
277
- expected: "string (@format url)",
274
+ expected: "string & Format<url>",
278
275
  value: input.url
279
276
  })) || $guard(_exceptionable, {
280
277
  path: _path + ".url",
281
- expected: "(string | undefined)",
278
+ expected: "((string & Format<url>) | undefined)",
282
279
  value: input.url
283
- })) && (undefined === input.email || "string" === typeof input.email && ($is_email(input.email) || $guard(_exceptionable, {
280
+ })) && (undefined === input.email || "string" === typeof input.email && (/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(input.email) || $guard(_exceptionable, {
284
281
  path: _path + ".email",
285
- expected: "string (@format email)",
282
+ expected: "string & Format<email>",
286
283
  value: input.email
287
284
  })) || $guard(_exceptionable, {
288
285
  path: _path + ".email",
289
- expected: "(string | undefined)",
286
+ expected: "((string & Format<email>) | undefined)",
290
287
  value: input.email
291
288
  }));
292
289
  const $ao3 = (input, _path, _exceptionable = true) => ("string" === typeof input.name || $guard(_exceptionable, {
293
290
  path: _path + ".name",
294
291
  expected: "string",
295
292
  value: input.name
296
- })) && (undefined === input.url || "string" === typeof input.url && ($is_url(input.url) || $guard(_exceptionable, {
293
+ })) && (undefined === input.url || "string" === typeof input.url && (/^[a-zA-Z0-9]+:\/\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test(input.url) || $guard(_exceptionable, {
297
294
  path: _path + ".url",
298
- expected: "string (@format url)",
295
+ expected: "string & Format<url>",
299
296
  value: input.url
300
297
  })) || $guard(_exceptionable, {
301
298
  path: _path + ".url",
302
- expected: "(string | undefined)",
299
+ expected: "((string & Format<url>) | undefined)",
303
300
  value: input.url
304
301
  }));
305
302
  const $ao4 = (input, _path, _exceptionable = true) => ("string" === typeof input.url || $guard(_exceptionable, {
@@ -492,31 +489,19 @@ class NestiaMigrateApplication {
492
489
  expected: "(boolean | undefined)",
493
490
  value: input["x-typia-rest"]
494
491
  }));
495
- const $ao11 = (input, _path, _exceptionable = true) => (undefined === input["default"] || "number" === typeof input["default"] && (Math.floor(input["default"]) === input["default"] || $guard(_exceptionable, {
496
- path: _path + "[\"default\"]",
497
- expected: "number (@type int)",
498
- value: input["default"]
499
- })) && (-2147483648 <= input["default"] && input["default"] <= 2147483647 || $guard(_exceptionable, {
492
+ const $ao11 = (input, _path, _exceptionable = true) => (undefined === input["default"] || "number" === typeof input["default"] && (Math.floor(input["default"]) === input["default"] && -2147483648 <= input["default"] && input["default"] <= 2147483647 || $guard(_exceptionable, {
500
493
  path: _path + "[\"default\"]",
501
- expected: "number (@type int)",
494
+ expected: "number & Type<int32>",
502
495
  value: input["default"]
503
496
  })) || $guard(_exceptionable, {
504
497
  path: _path + "[\"default\"]",
505
- expected: "(number | undefined)",
498
+ expected: "((number & Type<int32>) | undefined)",
506
499
  value: input["default"]
507
500
  })) && (undefined === input["enum"] || (Array.isArray(input["enum"]) || $guard(_exceptionable, {
508
501
  path: _path + "[\"enum\"]",
509
502
  expected: "(Array<number> | undefined)",
510
503
  value: input["enum"]
511
- })) && input["enum"].every((elem, _index6) => "number" === typeof elem && (Math.floor(elem) === elem || $guard(_exceptionable, {
512
- path: _path + "[\"enum\"][" + _index6 + "]",
513
- expected: "number (@type int)",
514
- value: elem
515
- })) && (-2147483648 <= elem && elem <= 2147483647 || $guard(_exceptionable, {
516
- path: _path + "[\"enum\"][" + _index6 + "]",
517
- expected: "number (@type int)",
518
- value: elem
519
- })) || $guard(_exceptionable, {
504
+ })) && input["enum"].every((elem, _index6) => "number" === typeof elem || $guard(_exceptionable, {
520
505
  path: _path + "[\"enum\"][" + _index6 + "]",
521
506
  expected: "number",
522
507
  value: elem
@@ -524,29 +509,21 @@ class NestiaMigrateApplication {
524
509
  path: _path + "[\"enum\"]",
525
510
  expected: "(Array<number> | undefined)",
526
511
  value: input["enum"]
527
- })) && (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum || $guard(_exceptionable, {
528
- path: _path + ".minimum",
529
- expected: "number (@type int)",
530
- value: input.minimum
531
- })) && (-2147483648 <= input.minimum && input.minimum <= 2147483647 || $guard(_exceptionable, {
512
+ })) && (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -2147483648 <= input.minimum && input.minimum <= 2147483647 || $guard(_exceptionable, {
532
513
  path: _path + ".minimum",
533
- expected: "number (@type int)",
514
+ expected: "number & Type<int32>",
534
515
  value: input.minimum
535
516
  })) || $guard(_exceptionable, {
536
517
  path: _path + ".minimum",
537
- expected: "(number | undefined)",
518
+ expected: "((number & Type<int32>) | undefined)",
538
519
  value: input.minimum
539
- })) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum || $guard(_exceptionable, {
540
- path: _path + ".maximum",
541
- expected: "number (@type int)",
542
- value: input.maximum
543
- })) && (-2147483648 <= input.maximum && input.maximum <= 2147483647 || $guard(_exceptionable, {
520
+ })) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -2147483648 <= input.maximum && input.maximum <= 2147483647 || $guard(_exceptionable, {
544
521
  path: _path + ".maximum",
545
- expected: "number (@type int)",
522
+ expected: "number & Type<int32>",
546
523
  value: input.maximum
547
524
  })) || $guard(_exceptionable, {
548
525
  path: _path + ".maximum",
549
- expected: "(number | undefined)",
526
+ expected: "((number & Type<int32>) | undefined)",
550
527
  value: input.maximum
551
528
  })) && (undefined === input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum || $guard(_exceptionable, {
552
529
  path: _path + ".exclusiveMinimum",
@@ -556,21 +533,13 @@ class NestiaMigrateApplication {
556
533
  path: _path + ".exclusiveMaximum",
557
534
  expected: "(boolean | undefined)",
558
535
  value: input.exclusiveMaximum
559
- })) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf || $guard(_exceptionable, {
560
- path: _path + ".multipleOf",
561
- expected: "number (@type uint)",
562
- value: input.multipleOf
563
- })) && (0 <= input.multipleOf || $guard(_exceptionable, {
564
- path: _path + ".multipleOf",
565
- expected: "number (@type uint)",
566
- value: input.multipleOf
567
- })) && (input.multipleOf <= 4294967295 || $guard(_exceptionable, {
536
+ })) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 4294967295 || $guard(_exceptionable, {
568
537
  path: _path + ".multipleOf",
569
- expected: "number (@type uint)",
538
+ expected: "number & Type<uint32>",
570
539
  value: input.multipleOf
571
540
  })) || $guard(_exceptionable, {
572
541
  path: _path + ".multipleOf",
573
- expected: "(number | undefined)",
542
+ expected: "((number & Type<uint32>) | undefined)",
574
543
  value: input.multipleOf
575
544
  })) && ("integer" === input.type || $guard(_exceptionable, {
576
545
  path: _path + ".type",
@@ -690,37 +659,21 @@ class NestiaMigrateApplication {
690
659
  path: _path + ".pattern",
691
660
  expected: "(string | undefined)",
692
661
  value: input.pattern
693
- })) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength || $guard(_exceptionable, {
694
- path: _path + ".minLength",
695
- expected: "number (@type uint)",
696
- value: input.minLength
697
- })) && (0 <= input.minLength || $guard(_exceptionable, {
662
+ })) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 4294967295 || $guard(_exceptionable, {
698
663
  path: _path + ".minLength",
699
- expected: "number (@type uint)",
700
- value: input.minLength
701
- })) && (input.minLength <= 4294967295 || $guard(_exceptionable, {
702
- path: _path + ".minLength",
703
- expected: "number (@type uint)",
664
+ expected: "number & Type<uint32>",
704
665
  value: input.minLength
705
666
  })) || $guard(_exceptionable, {
706
667
  path: _path + ".minLength",
707
- expected: "(number | undefined)",
668
+ expected: "((number & Type<uint32>) | undefined)",
708
669
  value: input.minLength
709
- })) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength || $guard(_exceptionable, {
670
+ })) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 4294967295 || $guard(_exceptionable, {
710
671
  path: _path + ".maxLength",
711
- expected: "number (@type uint)",
712
- value: input.maxLength
713
- })) && (0 <= input.maxLength || $guard(_exceptionable, {
714
- path: _path + ".maxLength",
715
- expected: "number (@type uint)",
716
- value: input.maxLength
717
- })) && (input.maxLength <= 4294967295 || $guard(_exceptionable, {
718
- path: _path + ".maxLength",
719
- expected: "number (@type uint)",
672
+ expected: "number & Type<uint32>",
720
673
  value: input.maxLength
721
674
  })) || $guard(_exceptionable, {
722
675
  path: _path + ".maxLength",
723
- expected: "(number | undefined)",
676
+ expected: "((number & Type<uint32>) | undefined)",
724
677
  value: input.maxLength
725
678
  })) && ("string" === input.type || $guard(_exceptionable, {
726
679
  path: _path + ".type",
@@ -759,37 +712,21 @@ class NestiaMigrateApplication {
759
712
  path: _path + ".items",
760
713
  expected: "(ISwaggerSchema.IAnyOf | ISwaggerSchema.IArray | ISwaggerSchema.IBoolean | ISwaggerSchema.IInteger | ISwaggerSchema.INumber | ISwaggerSchema.IObject | ISwaggerSchema.IOneOf | ISwaggerSchema.IReference | ISwaggerSchema.IString | ISwaggerSchema.IUnknown)",
761
714
  value: input.items
762
- })) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems || $guard(_exceptionable, {
715
+ })) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 4294967295 || $guard(_exceptionable, {
763
716
  path: _path + ".minItems",
764
- expected: "number (@type uint)",
765
- value: input.minItems
766
- })) && (0 <= input.minItems || $guard(_exceptionable, {
767
- path: _path + ".minItems",
768
- expected: "number (@type uint)",
769
- value: input.minItems
770
- })) && (input.minItems <= 4294967295 || $guard(_exceptionable, {
771
- path: _path + ".minItems",
772
- expected: "number (@type uint)",
717
+ expected: "number & Type<uint32>",
773
718
  value: input.minItems
774
719
  })) || $guard(_exceptionable, {
775
720
  path: _path + ".minItems",
776
- expected: "(number | undefined)",
721
+ expected: "((number & Type<uint32>) | undefined)",
777
722
  value: input.minItems
778
- })) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems || $guard(_exceptionable, {
723
+ })) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 4294967295 || $guard(_exceptionable, {
779
724
  path: _path + ".maxItems",
780
- expected: "number (@type uint)",
781
- value: input.maxItems
782
- })) && (0 <= input.maxItems || $guard(_exceptionable, {
783
- path: _path + ".maxItems",
784
- expected: "number (@type uint)",
785
- value: input.maxItems
786
- })) && (input.maxItems <= 4294967295 || $guard(_exceptionable, {
787
- path: _path + ".maxItems",
788
- expected: "number (@type uint)",
725
+ expected: "number & Type<uint32>",
789
726
  value: input.maxItems
790
727
  })) || $guard(_exceptionable, {
791
728
  path: _path + ".maxItems",
792
- expected: "(number | undefined)",
729
+ expected: "((number & Type<uint32>) | undefined)",
793
730
  value: input.maxItems
794
731
  })) && (undefined === input["x-typia-tuple"] || ("object" === typeof input["x-typia-tuple"] && null !== input["x-typia-tuple"] || $guard(_exceptionable, {
795
732
  path: _path + "[\"x-typia-tuple\"]",
@@ -1432,40 +1369,42 @@ class NestiaMigrateApplication {
1432
1369
  const $au0 = (input, _path, _exceptionable = true) => (() => {
1433
1370
  if (undefined !== input.anyOf)
1434
1371
  return $ao8(input, _path, true && _exceptionable);
1435
- if (undefined !== input.oneOf)
1372
+ else if (undefined !== input.oneOf)
1436
1373
  return $ao9(input, _path, true && _exceptionable);
1437
- if ("boolean" === input.type)
1374
+ else if ("boolean" === input.type)
1438
1375
  return $ao10(input, _path, true && _exceptionable);
1439
- if ("number" === input.type)
1376
+ else if ("number" === input.type)
1440
1377
  return $ao12(input, _path, true && _exceptionable);
1441
- if ("integer" === input.type)
1378
+ else if ("integer" === input.type)
1442
1379
  return $ao11(input, _path, true && _exceptionable);
1443
- if ("string" === input.type)
1380
+ else if ("string" === input.type)
1444
1381
  return $ao13(input, _path, true && _exceptionable);
1445
- if ("array" === input.type)
1382
+ else if ("array" === input.type)
1446
1383
  return $ao14(input, _path, true && _exceptionable);
1447
- if ("object" === input.type)
1384
+ else if ("object" === input.type)
1448
1385
  return $ao15(input, _path, true && _exceptionable);
1449
- if (undefined !== input.$ref)
1386
+ else if (undefined !== input.$ref)
1450
1387
  return $ao16(input, _path, true && _exceptionable);
1451
- return $ao7(input, _path, true && _exceptionable);
1388
+ else
1389
+ return $ao7(input, _path, true && _exceptionable);
1452
1390
  })();
1453
1391
  const $au1 = (input, _path, _exceptionable = true) => (() => {
1454
1392
  if ("basic" === input.scheme)
1455
1393
  return $ao19(input, _path, true && _exceptionable);
1456
- if ("bearer" === input.scheme)
1394
+ else if ("bearer" === input.scheme)
1457
1395
  return $ao20(input, _path, true && _exceptionable);
1458
- if ("apiKey" === input.type)
1396
+ else if ("apiKey" === input.type)
1459
1397
  return $ao21(input, _path, true && _exceptionable);
1460
- if ("openIdConnect" === input.type)
1398
+ else if ("openIdConnect" === input.type)
1461
1399
  return $ao22(input, _path, true && _exceptionable);
1462
- if ("oauth2" === input.type)
1400
+ else if ("oauth2" === input.type)
1463
1401
  return $ao23(input, _path, true && _exceptionable);
1464
- return $guard(_exceptionable, {
1465
- path: _path,
1466
- expected: "(ISwaggerSecurity.IHttpBasic | ISwaggerSecurity.IHttpBearer | ISwaggerSecurity.IApiKey | ISwaggerSecurity.IOpenId | ISwaggerSecurity.IOAuth2)",
1467
- value: input
1468
- });
1402
+ else
1403
+ return $guard(_exceptionable, {
1404
+ path: _path,
1405
+ expected: "(ISwaggerSecurity.IHttpBasic | ISwaggerSecurity.IHttpBearer | ISwaggerSecurity.IApiKey | ISwaggerSecurity.IOpenId | ISwaggerSecurity.IOAuth2)",
1406
+ value: input
1407
+ });
1469
1408
  })();
1470
1409
  return ("object" === typeof input && null !== input || $guard(true, {
1471
1410
  path: _path + "",
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaMigrateApplication.js","sourceRoot":"","sources":["../src/NestiaMigrateApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestiaMigrateApplication.js","sourceRoot":"","sources":["../src/NestiaMigrateApplication.ts"],"names":[],"mappings":"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"}