typia 3.8.9 → 3.9.0-dev.20230604

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 (239) hide show
  1. package/lib/IRandomGenerator.d.ts +1 -0
  2. package/lib/factories/IdentifierFactory.js +2 -1
  3. package/lib/factories/IdentifierFactory.js.map +1 -1
  4. package/lib/factories/MetadataCollection.d.ts +22 -4
  5. package/lib/factories/MetadataCollection.js +121 -28
  6. package/lib/factories/MetadataCollection.js.map +1 -1
  7. package/lib/factories/MetadataFactory.d.ts +1 -0
  8. package/lib/factories/MetadataFactory.js +6 -48
  9. package/lib/factories/MetadataFactory.js.map +1 -1
  10. package/lib/factories/MetadataTagFactory.js +5 -3
  11. package/lib/factories/MetadataTagFactory.js.map +1 -1
  12. package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +5 -0
  13. package/lib/factories/internal/metadata/emplace_metadata_array.js +38 -0
  14. package/lib/factories/internal/metadata/emplace_metadata_array.js.map +1 -0
  15. package/lib/factories/internal/metadata/emplace_metadata_definition.d.ts +5 -0
  16. package/lib/factories/internal/metadata/emplace_metadata_definition.js +38 -0
  17. package/lib/factories/internal/metadata/emplace_metadata_definition.js.map +1 -0
  18. package/lib/factories/internal/metadata/emplace_metadata_object.js +4 -4
  19. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  20. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +5 -0
  21. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +58 -0
  22. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -0
  23. package/lib/factories/internal/metadata/explore_metadata.d.ts +1 -1
  24. package/lib/factories/internal/metadata/explore_metadata.js +11 -34
  25. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  26. package/lib/factories/internal/metadata/iterate_metadata.d.ts +1 -1
  27. package/lib/factories/internal/metadata/iterate_metadata.js +5 -2
  28. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  29. package/lib/factories/internal/metadata/iterate_metadata_array.js +4 -5
  30. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  31. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +2 -0
  32. package/lib/factories/internal/metadata/iterate_metadata_collection.js +151 -0
  33. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -0
  34. package/lib/factories/internal/metadata/iterate_metadata_definition.d.ts +5 -0
  35. package/lib/factories/internal/metadata/iterate_metadata_definition.js +24 -0
  36. package/lib/factories/internal/metadata/iterate_metadata_definition.js.map +1 -0
  37. package/lib/factories/internal/metadata/iterate_metadata_object.js +1 -1
  38. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  39. package/lib/factories/internal/metadata/iterate_metadata_sort.d.ts +3 -0
  40. package/lib/factories/internal/metadata/iterate_metadata_sort.js +156 -0
  41. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -0
  42. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +3 -26
  43. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  44. package/lib/factories/internal/metadata/iterate_metadata_union.js +3 -3
  45. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  46. package/lib/metadata/IMetadata.d.ts +3 -2
  47. package/lib/metadata/IMetadataAlias.d.ts +10 -0
  48. package/lib/metadata/IMetadataAlias.js +3 -0
  49. package/lib/metadata/IMetadataAlias.js.map +1 -0
  50. package/lib/metadata/IMetadataApplication.d.ts +2 -2
  51. package/lib/metadata/IMetadataArray.d.ts +8 -0
  52. package/lib/metadata/IMetadataArray.js +3 -0
  53. package/lib/metadata/IMetadataArray.js.map +1 -0
  54. package/lib/metadata/IMetadataCollection.d.ts +10 -0
  55. package/lib/metadata/IMetadataCollection.js +3 -0
  56. package/lib/metadata/IMetadataCollection.js.map +1 -0
  57. package/lib/metadata/IMetadataDictionary.js +3 -0
  58. package/lib/metadata/IMetadataDictionary.js.map +1 -0
  59. package/lib/metadata/IMetadataObject.d.ts +3 -0
  60. package/lib/metadata/IMetadataProperty.d.ts +1 -1
  61. package/lib/metadata/IMetadataTuple.d.ts +8 -0
  62. package/lib/metadata/IMetadataTuple.js +3 -0
  63. package/lib/metadata/IMetadataTuple.js.map +1 -0
  64. package/lib/metadata/Metadata.d.ts +24 -21
  65. package/lib/metadata/Metadata.js +323 -262
  66. package/lib/metadata/Metadata.js.map +1 -1
  67. package/lib/metadata/MetadataAlias.d.ts +16 -0
  68. package/lib/metadata/MetadataAlias.js +39 -0
  69. package/lib/metadata/MetadataAlias.js.map +1 -0
  70. package/lib/metadata/MetadataArray.d.ts +12 -0
  71. package/lib/metadata/MetadataArray.js +36 -0
  72. package/lib/metadata/MetadataArray.js.map +1 -0
  73. package/lib/metadata/MetadataObject.d.ts +4 -0
  74. package/lib/metadata/MetadataObject.js +3 -5
  75. package/lib/metadata/MetadataObject.js.map +1 -1
  76. package/lib/metadata/MetadataProperty.d.ts +1 -1
  77. package/lib/metadata/MetadataProperty.js +3 -3
  78. package/lib/metadata/MetadataProperty.js.map +1 -1
  79. package/lib/metadata/MetadataTuple.d.ts +12 -0
  80. package/lib/metadata/MetadataTuple.js +36 -0
  81. package/lib/metadata/MetadataTuple.js.map +1 -0
  82. package/lib/programmers/ApplicationProgrammer.js +3 -3
  83. package/lib/programmers/ApplicationProgrammer.js.map +1 -1
  84. package/lib/programmers/AssertProgrammer.js +13 -21
  85. package/lib/programmers/AssertProgrammer.js.map +1 -1
  86. package/lib/programmers/CheckerProgrammer.d.ts +6 -7
  87. package/lib/programmers/CheckerProgrammer.js +276 -185
  88. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  89. package/lib/programmers/CloneProgrammer.js +312 -204
  90. package/lib/programmers/CloneProgrammer.js.map +1 -1
  91. package/lib/programmers/FeatureProgrammer.d.ts +21 -27
  92. package/lib/programmers/FeatureProgrammer.js +60 -63
  93. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  94. package/lib/programmers/IsProgrammer.d.ts +3 -3
  95. package/lib/programmers/IsProgrammer.js +43 -28
  96. package/lib/programmers/IsProgrammer.js.map +1 -1
  97. package/lib/programmers/LiteralsProgrammer.js +1 -0
  98. package/lib/programmers/LiteralsProgrammer.js.map +1 -1
  99. package/lib/programmers/PruneProgrammer.js +270 -176
  100. package/lib/programmers/PruneProgrammer.js.map +1 -1
  101. package/lib/programmers/RandomProgrammer.js +124 -32
  102. package/lib/programmers/RandomProgrammer.js.map +1 -1
  103. package/lib/programmers/StringifyProgrammer.js +462 -356
  104. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  105. package/lib/programmers/ValidateProgrammer.js +9 -9
  106. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  107. package/lib/programmers/helpers/FunctionImporeter.d.ts +2 -0
  108. package/lib/programmers/helpers/FunctionImporeter.js +17 -2
  109. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  110. package/lib/programmers/helpers/RandomJoiner.d.ts +6 -1
  111. package/lib/programmers/helpers/RandomJoiner.js +11 -14
  112. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  113. package/lib/programmers/helpers/UnionExplorer.d.ts +12 -10
  114. package/lib/programmers/helpers/UnionExplorer.js +47 -12
  115. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  116. package/lib/programmers/helpers/UnionPredicator.js +1 -1
  117. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  118. package/lib/programmers/helpers/disable_function_importer_declare.js +1 -0
  119. package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
  120. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.d.ts +1 -1
  121. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js +2 -2
  122. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js.map +1 -1
  123. package/lib/programmers/internal/application_array.js +41 -21
  124. package/lib/programmers/internal/application_array.js.map +1 -1
  125. package/lib/programmers/internal/application_boolean.js +1 -1
  126. package/lib/programmers/internal/application_boolean.js.map +1 -1
  127. package/lib/programmers/internal/application_constant.js +2 -2
  128. package/lib/programmers/internal/application_constant.js.map +1 -1
  129. package/lib/programmers/internal/application_default.js +3 -3
  130. package/lib/programmers/internal/application_default.js.map +1 -1
  131. package/lib/programmers/internal/application_definition.d.ts +5 -0
  132. package/lib/programmers/internal/application_definition.js +45 -0
  133. package/lib/programmers/internal/application_definition.js.map +1 -0
  134. package/lib/programmers/internal/application_native.js +14 -11
  135. package/lib/programmers/internal/application_native.js.map +1 -1
  136. package/lib/programmers/internal/application_object.js +19 -14
  137. package/lib/programmers/internal/application_object.js.map +1 -1
  138. package/lib/programmers/internal/application_schema.js +28 -31
  139. package/lib/programmers/internal/application_schema.js.map +1 -1
  140. package/lib/programmers/internal/application_tuple.js +34 -5
  141. package/lib/programmers/internal/application_tuple.js.map +1 -1
  142. package/lib/programmers/internal/check_union_array_like.js +54 -63
  143. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  144. package/lib/programmers/internal/feature_object_entries.js +2 -2
  145. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  146. package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +2 -0
  147. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +18 -0
  148. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -0
  149. package/lib/schemas/IJsonApplication.d.ts +0 -4
  150. package/lib/schemas/IJsonComponents.d.ts +16 -4
  151. package/lib/schemas/IJsonSchema.d.ts +1 -1
  152. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  153. package/lib/transformers/FileTransformer.js +3 -3
  154. package/lib/transformers/FileTransformer.js.map +1 -1
  155. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +1 -0
  156. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
  157. package/lib/transformers/features/miscellaneous/MetadataTransformer.js +2 -1
  158. package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
  159. package/lib/utils/ArrayUtil.d.ts +1 -1
  160. package/lib/utils/ArrayUtil.js +2 -1
  161. package/lib/utils/ArrayUtil.js.map +1 -1
  162. package/lib/utils/RandomGenerator.js +2 -3
  163. package/lib/utils/RandomGenerator.js.map +1 -1
  164. package/package.json +6 -1
  165. package/src/IRandomGenerator.ts +1 -0
  166. package/src/factories/IdentifierFactory.ts +3 -1
  167. package/src/factories/MetadataCollection.ts +170 -34
  168. package/src/factories/MetadataFactory.ts +7 -29
  169. package/src/factories/MetadataTagFactory.ts +6 -3
  170. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -0
  171. package/src/factories/internal/metadata/emplace_metadata_definition.ts +35 -0
  172. package/src/factories/internal/metadata/emplace_metadata_object.ts +4 -4
  173. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -0
  174. package/src/factories/internal/metadata/explore_metadata.ts +18 -44
  175. package/src/factories/internal/metadata/iterate_metadata.ts +13 -3
  176. package/src/factories/internal/metadata/iterate_metadata_array.ts +7 -11
  177. package/src/factories/internal/metadata/iterate_metadata_collection.ts +130 -0
  178. package/src/factories/internal/metadata/iterate_metadata_definition.ts +30 -0
  179. package/src/factories/internal/metadata/iterate_metadata_object.ts +1 -0
  180. package/src/factories/internal/metadata/iterate_metadata_sort.ts +68 -0
  181. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +7 -31
  182. package/src/factories/internal/metadata/iterate_metadata_union.ts +13 -2
  183. package/src/metadata/IMetadata.ts +3 -2
  184. package/src/metadata/IMetadataAlias.ts +12 -0
  185. package/src/metadata/IMetadataApplication.ts +2 -2
  186. package/src/metadata/IMetadataArray.ts +10 -0
  187. package/src/metadata/IMetadataCollection.ts +11 -0
  188. package/src/metadata/IMetadataDictionary.ts +14 -0
  189. package/src/metadata/IMetadataObject.ts +2 -13
  190. package/src/metadata/IMetadataProperty.ts +1 -1
  191. package/src/metadata/IMetadataTuple.ts +10 -0
  192. package/src/metadata/Metadata.ts +180 -134
  193. package/src/metadata/MetadataAlias.ts +61 -0
  194. package/src/metadata/MetadataArray.ts +52 -0
  195. package/src/metadata/MetadataObject.ts +7 -20
  196. package/src/metadata/MetadataProperty.ts +5 -5
  197. package/src/metadata/MetadataTuple.ts +53 -0
  198. package/src/programmers/ApplicationProgrammer.ts +1 -2
  199. package/src/programmers/AssertProgrammer.ts +45 -39
  200. package/src/programmers/CheckerProgrammer.ts +612 -331
  201. package/src/programmers/CloneProgrammer.ts +344 -138
  202. package/src/programmers/FeatureProgrammer.ts +110 -115
  203. package/src/programmers/IsProgrammer.ts +86 -52
  204. package/src/programmers/LiteralsProgrammer.ts +1 -0
  205. package/src/programmers/PruneProgrammer.ts +304 -101
  206. package/src/programmers/RandomProgrammer.ts +227 -61
  207. package/src/programmers/StringifyProgrammer.ts +374 -182
  208. package/src/programmers/ValidateProgrammer.ts +41 -44
  209. package/src/programmers/helpers/FunctionImporeter.ts +35 -11
  210. package/src/programmers/helpers/RandomJoiner.ts +25 -13
  211. package/src/programmers/helpers/UnionExplorer.ts +76 -50
  212. package/src/programmers/helpers/UnionPredicator.ts +1 -1
  213. package/src/programmers/helpers/disable_function_importer_declare.ts +5 -0
  214. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  215. package/src/programmers/internal/application_array.ts +48 -16
  216. package/src/programmers/internal/application_boolean.ts +1 -1
  217. package/src/programmers/internal/application_constant.ts +2 -2
  218. package/src/programmers/internal/application_default.ts +3 -3
  219. package/src/programmers/internal/application_definition.ts +45 -0
  220. package/src/programmers/internal/application_native.ts +15 -12
  221. package/src/programmers/internal/application_object.ts +17 -12
  222. package/src/programmers/internal/application_schema.ts +31 -65
  223. package/src/programmers/internal/application_tuple.ts +63 -13
  224. package/src/programmers/internal/check_union_array_like.ts +249 -191
  225. package/src/programmers/internal/feature_object_entries.ts +2 -2
  226. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -0
  227. package/src/schemas/IJsonApplication.ts +0 -5
  228. package/src/schemas/IJsonComponents.ts +17 -5
  229. package/src/schemas/IJsonSchema.ts +1 -1
  230. package/src/transformers/CallExpressionTransformer.ts +2 -0
  231. package/src/transformers/FileTransformer.ts +8 -8
  232. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +1 -0
  233. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +2 -1
  234. package/src/utils/ArrayUtil.ts +3 -2
  235. package/src/utils/RandomGenerator.ts +3 -3
  236. package/lib/programmers/internal/check_union_tuple.js +0 -15
  237. package/lib/programmers/internal/check_union_tuple.js.map +0 -1
  238. package/src/programmers/internal/check_union_tuple.ts +0 -33
  239. /package/lib/{programmers/internal/check_union_tuple.d.ts → metadata/IMetadataDictionary.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JSON_SCHEMA_PREFIX = void 0;
4
- exports.JSON_SCHEMA_PREFIX = "#/components/schemas";
3
+ exports.JSON_COMPONENTS_PREFIX = void 0;
4
+ exports.JSON_COMPONENTS_PREFIX = "#/components";
5
5
  //# sourceMappingURL=JSON_SCHEMA_PREFIX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JSON_SCHEMA_PREFIX.js","sourceRoot":"","sources":["../../../src/programmers/internal/JSON_SCHEMA_PREFIX.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"JSON_SCHEMA_PREFIX.js","sourceRoot":"","sources":["../../../src/programmers/internal/JSON_SCHEMA_PREFIX.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,cAAc,CAAC"}
@@ -23,32 +23,52 @@ var __values = (this && this.__values) || function(o) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.application_array = void 0;
26
+ var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
26
27
  var application_schema_1 = require("./application_schema");
27
28
  var application_array = function (options) {
28
29
  return function (components) {
29
- return function (tuple) {
30
- return function (metadata) {
31
- return function (attribute) {
32
- var e_1, _a;
33
- var _b;
34
- var output = __assign(__assign({}, attribute), { type: "array", items: (0, application_schema_1.application_schema)(options)(false)(components)(metadata)(attribute), "x-typia-tuple": tuple });
35
- try {
36
- for (var _c = __values((_b = attribute["x-typia-metaTags"]) !== null && _b !== void 0 ? _b : []), _d = _c.next(); !_d.done; _d = _c.next()) {
37
- var tag = _d.value;
38
- if (tag.kind === "minItems")
39
- output.minItems = tag.value;
40
- else if (tag.kind === "maxItems")
41
- output.maxItems = tag.value;
30
+ return function (array) {
31
+ return function (attribute) {
32
+ return function (nullable) {
33
+ var _a, _b;
34
+ var generator = function () {
35
+ var e_1, _a;
36
+ var _b;
37
+ var schema = __assign(__assign({}, attribute), { type: "array", items: (0, application_schema_1.application_schema)(options)(false)(components)(array.value)(array.recursive ? {} : attribute) });
38
+ if (array.recursive === false) {
39
+ try {
40
+ for (var _c = __values((_b = attribute["x-typia-metaTags"]) !== null && _b !== void 0 ? _b : []), _d = _c.next(); !_d.done; _d = _c.next()) {
41
+ var tag = _d.value;
42
+ if (tag.kind === "minItems")
43
+ schema.minItems = tag.value;
44
+ else if (tag.kind === "maxItems")
45
+ schema.maxItems = tag.value;
46
+ }
47
+ }
48
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
49
+ finally {
50
+ try {
51
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
52
+ }
53
+ finally { if (e_1) throw e_1.error; }
54
+ }
42
55
  }
56
+ return schema;
57
+ };
58
+ if (array.recursive === false)
59
+ return generator();
60
+ var key = options.purpose === "ajv"
61
+ ? array.name
62
+ : "".concat(array.name).concat(nullable ? ".Nullable" : "");
63
+ var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/arrays/").concat(key);
64
+ if (((_a = components.arrays) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
65
+ (_b = components.arrays) !== null && _b !== void 0 ? _b : (components.arrays = {});
66
+ components.arrays[key] = {};
67
+ var repeated = __assign(__assign({}, generator()), { $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: options.purpose === "ajv" || undefined });
68
+ components.arrays[key] = repeated;
43
69
  }
44
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
45
- finally {
46
- try {
47
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
48
- }
49
- finally { if (e_1) throw e_1.error; }
50
- }
51
- return output;
70
+ return options.purpose === "ajv" && array.recursive
71
+ ? __assign(__assign({}, attribute), { $recursiveRef: $id }) : __assign(__assign({}, attribute), { $ref: $id });
52
72
  };
53
73
  };
54
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAA0B;YAC3B,OAAA,UAAC,QAAkB;gBACnB,OAAA,UAAC,SAAiC;;;oBAE9B,IAAM,MAAM,yBACL,SAAS,KACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAC3D,SAAS,CACZ,EACD,eAAe,EAAE,KAAK,GACzB,CAAC;;wBAGF,KAAkB,IAAA,KAAA,SAAA,MAAA,SAAS,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAA,gBAAA;4BAAhD,IAAM,GAAG,WAAA;4BACV,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;gCAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;iCACpD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;gCAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yBAAA;;;;;;;;;oBAClE,OAAO,MAAM,CAAC;gBAClB,CAAC;YAhBD,CAgBC;QAjBD,CAiBC;IAlBD,CAkBC;AAnBD,CAmBC,CAAC;AArBO,QAAA,iBAAiB,qBAqBxB"}
1
+ {"version":3,"file":"application_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,2DAA8D;AAC9D,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAoB;YACrB,OAAA,UAAC,SAAiC;gBAClC,OAAA,UACI,QAAiB;;oBAMjB,IAAM,SAAS,GAAG;;;wBACd,IAAM,MAAM,yBACL,SAAS,KACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CACjD,KAAK,CAAC,KAAK,CACd,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GACtC,CAAC;wBACF,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE;;gCAC3B,KAAkB,IAAA,KAAA,SAAA,MAAA,SAAS,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAA,gBAAA;oCAAhD,IAAM,GAAG,WAAA;oCACV,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wCAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yCACpD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wCAC5B,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;iCAAA;;;;;;;;;yBACvC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC,CAAC;oBACF,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;wBAAE,OAAO,SAAS,EAAE,CAAC;oBAGlD,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;wBACrB,CAAC,CAAC,KAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,UAAG,KAAK,CAAC,IAAI,SAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBACxD,IAAM,GAAG,GAAW,UAAG,2CAAsB,qBAAW,GAAG,CAAE,CAAC;oBAG9D,IAAI,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAG,GAAG,CAAC,MAAK,SAAS,EAAE;wBACxC,MAAA,UAAU,CAAC,MAAM,oCAAjB,UAAU,CAAC,MAAM,GAAK,EAAE,EAAC;wBACzB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAS,CAAC;wBAEnC,IAAM,QAAQ,yBACP,SAAS,EAAE,KACd,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAChD,gBAAgB,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,GAC3D,CAAC;wBACF,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;qBACrC;oBACD,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/C,CAAC,uBAAM,SAAS,KAAE,aAAa,EAAE,GAAG,IACpC,CAAC,uBAAM,SAAS,KAAE,IAAI,EAAE,GAAG,GAAE,CAAC;gBACtC,CAAC;YA/CD,CA+CC;QAhDD,CAgDC;IAjDD,CAiDC;AAlDD,CAkDC,CAAC;AApDO,QAAA,iBAAiB,qBAoDxB"}
@@ -13,6 +13,6 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.application_boolean = void 0;
15
15
  var application_default_1 = require("./application_default");
16
- var application_boolean = function (attribute) { return (__assign(__assign({}, attribute), { default: (0, application_default_1.application_default)(attribute)(function (def) { return def === "true" || def === "false"; })(function (str) { return Boolean(str); }), type: "boolean" })); };
16
+ var application_boolean = function (attribute) { return (__assign(__assign({}, attribute), { default: (0, application_default_1.application_default)(attribute)(function (alias) { return alias === "true" || alias === "false"; })(function (str) { return Boolean(str); }), type: "boolean" })); };
17
17
  exports.application_boolean = application_boolean;
18
18
  //# sourceMappingURL=application_boolean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application_boolean.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_boolean.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6DAA4D;AAKrD,IAAM,mBAAmB,GAAG,UAC/B,SAAiC,IACV,OAAA,uBACpB,SAAS,KACZ,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CACnC,UAAC,GAAG,IAAK,OAAA,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAjC,CAAiC,CAC7C,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,EAAZ,CAAY,CAAC,EACxB,IAAI,EAAE,SAAS,IACjB,EANyB,CAMzB,CAAC;AARU,QAAA,mBAAmB,uBAQ7B"}
1
+ {"version":3,"file":"application_boolean.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_boolean.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6DAA4D;AAKrD,IAAM,mBAAmB,GAAG,UAC/B,SAAiC,IACV,OAAA,uBACpB,SAAS,KACZ,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CACnC,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAArC,CAAqC,CACnD,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,EAAZ,CAAY,CAAC,EACxB,IAAI,EAAE,SAAS,IACjB,EANyB,CAMzB,CAAC;AARU,QAAA,mBAAmB,uBAQ7B"}
@@ -14,8 +14,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.application_constant = void 0;
15
15
  var application_default_1 = require("./application_default");
16
16
  var application_constant = function (constant) {
17
- return function (attribute) { return (__assign(__assign({}, attribute), { type: constant.type, enum: constant.values, default: (0, application_default_1.application_default)(attribute)(function (def) {
18
- return constant.values.some(function (v) { return v.toString() === def; });
17
+ return function (attribute) { return (__assign(__assign({}, attribute), { type: constant.type, enum: constant.values, default: (0, application_default_1.application_default)(attribute)(function (alias) {
18
+ return constant.values.some(function (v) { return v.toString() === alias; });
19
19
  })(constant.type === "string"
20
20
  ? function (str) { return str; }
21
21
  : constant.type === "number"
@@ -1 +1 @@
1
- {"version":3,"file":"application_constant.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_constant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,6DAA4D;AAKrD,IAAM,oBAAoB,GAC7B,UAAC,QAA0B;IAC3B,OAAA,UAAC,SAAiC,IAAoC,OAAA,uBAC/D,SAAS,KACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,MAAa,EAC5B,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CAAC,UAAC,GAAG;YACxC,OAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,EAApB,CAAoB,CAAC;QAAjD,CAAiD,CACpD,CACG,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,EAAH,CAAG;YACd,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,GAAG,CAAC,EAAX,CAAW;gBACtB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAC7B,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,EAAZ,CAAY;oBACvB,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,GAAG,CAAQ,EAAlB,CAAkB,CACpC,IACH,EAfoE,CAepE;AAfF,CAeE,CAAC;AAjBM,QAAA,oBAAoB,wBAiB1B"}
1
+ {"version":3,"file":"application_constant.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_constant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,6DAA4D;AAKrD,IAAM,oBAAoB,GAC7B,UAAC,QAA0B;IAC3B,OAAA,UAAC,SAAiC,IAAoC,OAAA,uBAC/D,SAAS,KACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,MAAa,EAC5B,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CAAC,UAAC,KAAK;YAC1C,OAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAtB,CAAsB,CAAC;QAAnD,CAAmD,CACtD,CACG,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,EAAH,CAAG;YACd,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,GAAG,CAAC,EAAX,CAAW;gBACtB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAC7B,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,EAAZ,CAAY;oBACvB,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,GAAG,CAAQ,EAAlB,CAAkB,CACpC,IACH,EAfoE,CAepE;AAfF,CAeE,CAAC;AAjBM,QAAA,oBAAoB,wBAiB1B"}
@@ -20,9 +20,9 @@ var application_default = function (attribute) {
20
20
  var defaults = ((_b = attribute["x-typia-jsDocTags"]) !== null && _b !== void 0 ? _b : []).filter(function (tag) { return tag.name === "default"; });
21
21
  try {
22
22
  for (var defaults_1 = __values(defaults), defaults_1_1 = defaults_1.next(); !defaults_1_1.done; defaults_1_1 = defaults_1.next()) {
23
- var def = defaults_1_1.value;
24
- if (((_c = def.text) === null || _c === void 0 ? void 0 : _c.length) && pred(def.text[0].text))
25
- return caster(def.text[0].text);
23
+ var alias = defaults_1_1.value;
24
+ if (((_c = alias.text) === null || _c === void 0 ? void 0 : _c.length) && pred(alias.text[0].text))
25
+ return caster(alias.text[0].text);
26
26
  }
27
27
  }
28
28
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1 +1 @@
1
- {"version":3,"file":"application_default.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,mBAAmB,GAC5B,UAAC,SAAiC;IAClC,OAAA,UAAC,IAAgC;QACjC,OAAA,UAAI,MAA0B;;;YAC1B,IAAM,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,mBAAmB,CAAC,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,SAAS,EAAtB,CAAsB,CAClC,CAAC;;gBACF,KAAkB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA;oBAArB,IAAM,GAAG,qBAAA;oBACV,IAAI,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,KAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;wBAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;iBAAA;;;;;;;;;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;IARD,CAQC;AATD,CASC,CAAC;AAXO,QAAA,mBAAmB,uBAW1B"}
1
+ {"version":3,"file":"application_default.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,mBAAmB,GAC5B,UAAC,SAAiC;IAClC,OAAA,UAAC,IAAgC;QACjC,OAAA,UAAI,MAA0B;;;YAC1B,IAAM,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,mBAAmB,CAAC,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,SAAS,EAAtB,CAAsB,CAClC,CAAC;;gBACF,KAAoB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA;oBAAvB,IAAM,KAAK,qBAAA;oBACZ,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,KAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;wBAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;iBAAA;;;;;;;;;YAC3C,OAAO,SAAS,CAAC;QACrB,CAAC;IARD,CAQC;AATD,CASC,CAAC;AAXO,QAAA,mBAAmB,uBAW1B"}
@@ -0,0 +1,5 @@
1
+ import { MetadataAlias } from "../../metadata/MetadataAlias";
2
+ import { IJsonComponents } from "../../schemas/IJsonComponents";
3
+ import { IJsonSchema } from "../../module";
4
+ import { ApplicationProgrammer } from "../ApplicationProgrammer";
5
+ export declare const application_definition: (options: ApplicationProgrammer.IOptions) => <BlockNever extends boolean>(blockNever: BlockNever) => (components: IJsonComponents) => (alias: MetadataAlias) => (nullable: boolean) => IJsonSchema.IReference | IJsonSchema.IRecursiveReference;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.application_definition = void 0;
15
+ var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
16
+ var application_schema_1 = require("./application_schema");
17
+ var application_definition = function (options) {
18
+ return function (blockNever) {
19
+ return function (components) {
20
+ return function (alias) {
21
+ return function (nullable) {
22
+ var _a, _b, _c;
23
+ var key = options.purpose === "ajv"
24
+ ? alias.name
25
+ : "".concat(alias.name).concat(nullable ? ".Nullable" : "");
26
+ var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/aliases/").concat(key);
27
+ if (((_a = components.aliases) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
28
+ (_b = components.aliases) !== null && _b !== void 0 ? _b : (components.aliases = {});
29
+ components.aliases[key] = {
30
+ $id: key,
31
+ };
32
+ var schema = (0, application_schema_1.application_schema)(options)(blockNever)(components)(alias.value)({});
33
+ (_c = components.aliases) !== null && _c !== void 0 ? _c : (components.aliases = {});
34
+ components.aliases[key] = __assign({ $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: (options.purpose === "ajv" && alias.recursive) || undefined }, schema);
35
+ }
36
+ return options.purpose === "ajv" && alias.recursive
37
+ ? { $recursiveRef: $id }
38
+ : { $ref: $id };
39
+ };
40
+ };
41
+ };
42
+ };
43
+ };
44
+ exports.application_definition = application_definition;
45
+ //# sourceMappingURL=application_definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application_definition.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_definition.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA8D;AAC9D,2DAA0D;AAEnD,IAAM,sBAAsB,GAC/B,UAAC,OAAuC;IACxC,OAAA,UAA6B,UAAsB;QACnD,OAAA,UAAC,UAA2B;YAC5B,OAAA,UAAC,KAAoB;gBACrB,OAAA,UACI,QAAiB;;oBAEjB,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;wBACrB,CAAC,CAAC,KAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,UAAG,KAAK,CAAC,IAAI,SAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBACxD,IAAM,GAAG,GAAW,UAAG,2CAAsB,sBAAY,GAAG,CAAE,CAAC;oBAG/D,IAAI,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,GAAG,CAAC,MAAK,SAAS,EAAE;wBACzC,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;4BACtB,GAAG,EAAE,GAAG;yBACJ,CAAC;wBAGT,IAAM,MAAM,GAAgB,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC/D,UAAU,CACb,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC;wBACpB,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cACnB,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAChD,gBAAgB,EACZ,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAC5D,MAAM,CACZ,CAAC;qBACL;oBACD,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/C,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE;wBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACxB,CAAC;YA/BD,CA+BC;QAhCD,CAgCC;IAjCD,CAiCC;AAlCD,CAkCC,CAAC;AApCO,QAAA,sBAAsB,0BAoC7B"}
@@ -17,20 +17,23 @@ var application_native = function (options) {
17
17
  return function (components) {
18
18
  return function (name) {
19
19
  return function (props) {
20
- var _a;
21
- var _b;
20
+ var _a, _b, _c;
21
+ var _d;
22
22
  var key = options.purpose === "ajv"
23
23
  ? name
24
24
  : "".concat(name).concat(props.nullable ? ".Nullable" : "");
25
- (_a = (_b = components.schemas)[key]) !== null && _a !== void 0 ? _a : (_b[key] = {
26
- type: "object",
27
- $id: options.purpose === "ajv"
28
- ? "".concat(JSON_SCHEMA_PREFIX_1.JSON_SCHEMA_PREFIX, "/").concat(key)
29
- : undefined,
30
- properties: {},
31
- nullable: options.purpose === "swagger" ? props.nullable : undefined,
32
- });
33
- return __assign(__assign({}, props.attribute), { $ref: "".concat(JSON_SCHEMA_PREFIX_1.JSON_SCHEMA_PREFIX, "/").concat(key) });
25
+ if (((_a = components.objects) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
26
+ (_b = components.objects) !== null && _b !== void 0 ? _b : (components.objects = {});
27
+ (_c = (_d = components.objects)[key]) !== null && _c !== void 0 ? _c : (_d[key] = {
28
+ type: "object",
29
+ $id: options.purpose === "ajv"
30
+ ? "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/objects/").concat(key)
31
+ : undefined,
32
+ properties: {},
33
+ nullable: options.purpose === "swagger" ? props.nullable : undefined,
34
+ });
35
+ }
36
+ return __assign(__assign({}, props.attribute), { $ref: "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/objects/").concat(key) });
34
37
  };
35
38
  };
36
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_native.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,2DAA0D;AAKnD,IAAM,kBAAkB,GAC3B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,IAAY;YACb,OAAA,UAAC,KAGA;;;gBACG,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;oBACrB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,UAAG,IAAI,SAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;gBACxD,YAAA,UAAU,CAAC,OAAO,EAAC,GAAG,wCAAH,GAAG,IAAM;oBACxB,IAAI,EAAE,QAAQ;oBACd,GAAG,EACC,OAAO,CAAC,OAAO,KAAK,KAAK;wBACrB,CAAC,CAAC,UAAG,uCAAkB,cAAI,GAAG,CAAE;wBAChC,CAAC,CAAC,SAAS;oBACnB,UAAU,EAAE,EAAE;oBACd,QAAQ,EACJ,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACjE,EAAC;gBACF,6BACO,KAAK,CAAC,SAAS,KAClB,IAAI,EAAE,UAAG,uCAAkB,cAAI,GAAG,CAAE,IACtC;YACN,CAAC;QAtBD,CAsBC;IAvBD,CAuBC;AAxBD,CAwBC,CAAC;AA1BO,QAAA,kBAAkB,sBA0BzB"}
1
+ {"version":3,"file":"application_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_native.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,2DAA8D;AAKvD,IAAM,kBAAkB,GAC3B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,IAAY;YACb,OAAA,UAAC,KAGA;;;gBACG,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;oBACrB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,UAAG,IAAI,SAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;gBACxD,IAAI,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,GAAG,CAAC,MAAK,SAAS,EAAE;oBACzC,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;oBAC1B,YAAA,UAAU,CAAC,OAAO,EAAC,GAAG,wCAAH,GAAG,IAAM;wBACxB,IAAI,EAAE,QAAQ;wBACd,GAAG,EACC,OAAO,CAAC,OAAO,KAAK,KAAK;4BACrB,CAAC,CAAC,UAAG,2CAAsB,sBAAY,GAAG,CAAE;4BAC5C,CAAC,CAAC,SAAS;wBACnB,UAAU,EAAE,EAAE;wBACd,QAAQ,EACJ,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;qBACjE,EAAC;iBACL;gBACD,6BACO,KAAK,CAAC,SAAS,KAClB,IAAI,EAAE,UAAG,2CAAsB,sBAAY,GAAG,CAAE,IAClD;YACN,CAAC;QAzBD,CAyBC;IA1BD,CA0BC;AA3BD,CA2BC,CAAC;AA7BO,QAAA,kBAAkB,sBA6BzB"}
@@ -50,13 +50,20 @@ var application_object = function (options) {
50
50
  return function (obj) {
51
51
  return function (nullable) {
52
52
  var e_1, _a;
53
- var _b;
53
+ var _b, _c, _d, _e;
54
54
  var key = options.purpose === "ajv"
55
55
  ? obj.name
56
56
  : "".concat(obj.name).concat(nullable ? ".Nullable" : "");
57
- if (components.schemas[key] !== undefined)
58
- return key;
59
- components.schemas[key] = {};
57
+ var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/objects/").concat(key);
58
+ var out = function () {
59
+ return options.purpose === "ajv" && obj.recursive
60
+ ? { $recursiveRef: $id }
61
+ : { $ref: $id };
62
+ };
63
+ if (((_b = components.objects) === null || _b === void 0 ? void 0 : _b[key]) !== undefined)
64
+ return out();
65
+ (_c = components.objects) !== null && _c !== void 0 ? _c : (components.objects = {});
66
+ components.objects[key] = {};
60
67
  var properties = {};
61
68
  var extraMeta = {
62
69
  patternProperties: {},
@@ -79,7 +86,7 @@ var application_object = function (options) {
79
86
  ? CommentFactory_1.CommentFactory.merge(info.text)
80
87
  : undefined;
81
88
  })(),
82
- description: property.description,
89
+ description: (_d = property.description) !== null && _d !== void 0 ? _d : undefined,
83
90
  "x-typia-metaTags": property.tags.length
84
91
  ? property.tags
85
92
  : undefined,
@@ -108,20 +115,20 @@ var application_object = function (options) {
108
115
  }
109
116
  };
110
117
  try {
111
- for (var _c = __values(obj.properties), _d = _c.next(); !_d.done; _d = _c.next()) {
112
- var property = _d.value;
118
+ for (var _f = __values(obj.properties), _g = _f.next(); !_g.done; _g = _f.next()) {
119
+ var property = _g.value;
113
120
  _loop_1(property);
114
121
  }
115
122
  }
116
123
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
117
124
  finally {
118
125
  try {
119
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
126
+ if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
120
127
  }
121
128
  finally { if (e_1) throw e_1.error; }
122
129
  }
123
130
  var extraProps = {
124
- additionalProperties: (_b = extraMeta.additionalProperties) === null || _b === void 0 ? void 0 : _b[1],
131
+ additionalProperties: (_e = extraMeta.additionalProperties) === null || _e === void 0 ? void 0 : _e[1],
125
132
  patternProperties: (function () {
126
133
  var e_2, _a;
127
134
  if (Object.keys(extraMeta.patternProperties).length === 0)
@@ -143,17 +150,15 @@ var application_object = function (options) {
143
150
  return output;
144
151
  })(),
145
152
  };
146
- var schema = __assign({ $id: options.purpose === "ajv"
147
- ? "".concat(JSON_SCHEMA_PREFIX_1.JSON_SCHEMA_PREFIX, "/").concat(key)
148
- : undefined, $recursiveAnchor: (options.purpose === "ajv" && obj.recursive) || undefined, type: "object", properties: properties, nullable: options.purpose === "swagger" ? nullable : undefined, required: required.length ? required : undefined, description: obj.description, "x-typia-jsDocTags": obj.jsDocTags }, (options.purpose === "ajv"
153
+ var schema = __assign({ $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: (options.purpose === "ajv" && obj.recursive) || undefined, type: "object", properties: properties, nullable: options.purpose === "swagger" ? nullable : undefined, required: required.length ? required : undefined, description: obj.description, "x-typia-jsDocTags": obj.jsDocTags }, (options.purpose === "ajv"
149
154
  ? extraProps
150
155
  : {
151
156
  "x-typia-additionalProperties": extraProps.additionalProperties,
152
157
  "x-typia-patternProperties": extraProps.patternProperties,
153
158
  additionalProperties: join(options)(components)(extraMeta),
154
159
  }));
155
- components.schemas[key] = schema;
156
- return key;
160
+ components.objects[key] = schema;
161
+ return out();
157
162
  };
158
163
  };
159
164
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_object.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,11 @@ var __values = (this && this.__values) || function(o) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.application_schema = void 0;
26
- var Metadata_1 = require("../../metadata/Metadata");
27
26
  var AtomicPredicator_1 = require("../helpers/AtomicPredicator");
28
- var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
29
27
  var application_array_1 = require("./application_array");
30
28
  var application_boolean_1 = require("./application_boolean");
31
29
  var application_constant_1 = require("./application_constant");
30
+ var application_definition_1 = require("./application_definition");
32
31
  var application_native_1 = require("./application_native");
33
32
  var application_number_1 = require("./application_number");
34
33
  var application_object_1 = require("./application_object");
@@ -40,8 +39,7 @@ var application_schema = function (options) {
40
39
  return function (components) {
41
40
  return function (meta) {
42
41
  return function (attribute) {
43
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f;
44
- var _g;
42
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g;
45
43
  if (meta.any === true)
46
44
  return __assign(__assign({}, attribute), { type: undefined });
47
45
  else if (meta.nullable && meta.empty())
@@ -50,8 +48,10 @@ var application_schema = function (options) {
50
48
  if (meta.nullable && options.purpose !== "swagger")
51
49
  union.push(__assign(__assign({}, attribute), { type: "null" }));
52
50
  var insert = meta.nullable && options.purpose === "swagger"
53
- ? function (significant) {
54
- return union.push(__assign(__assign({}, significant), { nullable: true }));
51
+ ? function (s) {
52
+ return union.push(__assign(__assign({}, s), { nullable: s.type
53
+ ? true
54
+ : undefined }));
55
55
  }
56
56
  : function (schema) { return union.push(schema); };
57
57
  if (meta.resolved !== null) {
@@ -103,9 +103,9 @@ var application_schema = function (options) {
103
103
  finally { if (e_2) throw e_2.error; }
104
104
  }
105
105
  try {
106
- for (var _m = __values(meta.arrays.values()), _o = _m.next(); !_o.done; _o = _m.next()) {
107
- var schema = _o.value;
108
- insert((0, application_array_1.application_array)(options)(components)()(schema)(attribute));
106
+ for (var _m = __values(meta.arrays), _o = _m.next(); !_o.done; _o = _m.next()) {
107
+ var array = _o.value;
108
+ insert((0, application_array_1.application_array)(options)(components)(array)(attribute)(meta.nullable));
109
109
  }
110
110
  }
111
111
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
@@ -117,19 +117,8 @@ var application_schema = function (options) {
117
117
  }
118
118
  try {
119
119
  for (var _p = __values(meta.tuples), _q = _p.next(); !_q.done; _q = _p.next()) {
120
- var items = _q.value;
121
- var tuple = (0, application_tuple_1.application_tuple)(options)(components)(items)(attribute);
122
- if (options.purpose === "swagger" && items.length === 0)
123
- throw new Error("Error on typia.application(): swagger does not support zero length tuple type.");
124
- else if (options.purpose === "ajv" &&
125
- !((_g = items[items.length - 1]) === null || _g === void 0 ? void 0 : _g.rest))
126
- insert(tuple);
127
- else {
128
- var merged = items.reduce(function (x, y) {
129
- return Metadata_1.Metadata.merge(x, y);
130
- });
131
- insert((0, application_array_1.application_array)(options)(components)(tuple)(merged)(attribute));
132
- }
120
+ var tuple = _q.value;
121
+ insert((0, application_tuple_1.application_tuple)(options)(components)(tuple)(attribute)(meta.nullable));
133
122
  }
134
123
  }
135
124
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
@@ -149,7 +138,7 @@ var application_schema = function (options) {
149
138
  ? (0, application_boolean_1.application_boolean)(attribute)
150
139
  : (0, application_number_1.application_number)(attribute));
151
140
  else
152
- union.push((0, application_native_1.application_native)(options)(components)(native)({
141
+ insert((0, application_native_1.application_native)(options)(components)(native)({
153
142
  nullable: meta.nullable,
154
143
  attribute: attribute,
155
144
  }));
@@ -163,22 +152,19 @@ var application_schema = function (options) {
163
152
  finally { if (e_5) throw e_5.error; }
164
153
  }
165
154
  if (meta.sets.length)
166
- union.push((0, application_native_1.application_native)(options)(components)("Set")({
155
+ insert((0, application_native_1.application_native)(options)(components)("Set")({
167
156
  nullable: meta.nullable,
168
157
  attribute: attribute,
169
158
  }));
170
159
  if (meta.maps.length)
171
- union.push((0, application_native_1.application_native)(options)(components)("Map")({
160
+ insert((0, application_native_1.application_native)(options)(components)("Map")({
172
161
  nullable: meta.nullable,
173
162
  attribute: attribute,
174
163
  }));
175
164
  try {
176
165
  for (var _t = __values(meta.objects), _u = _t.next(); !_u.done; _u = _t.next()) {
177
166
  var obj = _u.value;
178
- var key = (0, application_object_1.application_object)(options)(components)(obj)(meta.nullable);
179
- union.push((options.purpose === "ajv" && obj.recursive
180
- ? recursive
181
- : reference)("".concat(JSON_SCHEMA_PREFIX_1.JSON_SCHEMA_PREFIX, "/").concat(key), attribute));
167
+ insert((0, application_object_1.application_object)(options)(components)(obj)(meta.nullable));
182
168
  }
183
169
  }
184
170
  catch (e_6_1) { e_6 = { error: e_6_1 }; }
@@ -188,6 +174,19 @@ var application_schema = function (options) {
188
174
  }
189
175
  finally { if (e_6) throw e_6.error; }
190
176
  }
177
+ try {
178
+ for (var _v = __values(meta.aliases), _w = _v.next(); !_w.done; _w = _v.next()) {
179
+ var alias = _w.value;
180
+ insert((0, application_definition_1.application_definition)(options)(blockNever)(components)(alias)(meta.nullable));
181
+ }
182
+ }
183
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
184
+ finally {
185
+ try {
186
+ if (_w && !_w.done && (_g = _v.return)) _g.call(_v);
187
+ }
188
+ finally { if (e_7) throw e_7.error; }
189
+ }
191
190
  if (union.length === 0)
192
191
  return blockNever === true
193
192
  ? null
@@ -201,7 +200,5 @@ var application_schema = function (options) {
201
200
  };
202
201
  };
203
202
  exports.application_schema = application_schema;
204
- var reference = function ($ref, attribute) { return (__assign({ $ref: $ref }, attribute)); };
205
- var recursive = function ($recursiveRef, attribute) { return (__assign({ $recursiveRef: $recursiveRef }, attribute)); };
206
203
  var NO_BIGINT = "Error on typia.application(): does not allow bigint type.";
207
204
  //# sourceMappingURL=application_schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,43 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.application_tuple = void 0;
15
+ var Metadata_1 = require("../../metadata/Metadata");
16
+ var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
15
17
  var application_schema_1 = require("./application_schema");
16
18
  var application_tuple = function (options) {
17
19
  return function (components) {
18
- return function (items) {
19
- return function (attribute) { return (__assign({ type: "array", items: items.map(function (meta, i) {
20
- var _a;
21
- return (0, application_schema_1.application_schema)(options)(false)(components)((_a = meta.rest) !== null && _a !== void 0 ? _a : meta)(__assign(__assign({}, attribute), { "x-typia-rest": i === items.length - 1 ? meta.rest !== null : undefined, "x-typia-required": meta.required, "x-typia-optional": meta.optional }));
22
- }) }, attribute)); };
20
+ return function (tuple) {
21
+ return function (attribute) {
22
+ return function (nullable) {
23
+ var _a, _b, _c;
24
+ var generator = function () {
25
+ var _a, _b;
26
+ var schema = __assign(__assign({}, attribute), { type: "array", items: tuple.elements.map(function (elem) {
27
+ var _a;
28
+ return (0, application_schema_1.application_schema)(options)(false)(components)((_a = elem.rest) !== null && _a !== void 0 ? _a : elem)(tuple.recursive ? {} : attribute);
29
+ }), "x-typia-rest": !!((_a = tuple.elements.at(-1)) === null || _a === void 0 ? void 0 : _a.rest) });
30
+ var wrapper = options.purpose === "ajv" && !((_b = tuple.elements.at(-1)) === null || _b === void 0 ? void 0 : _b.rest)
31
+ ? schema
32
+ : __assign(__assign({}, schema), { items: (0, application_schema_1.application_schema)(options)(false)(components)(tuple.elements.reduce(function (x, y) { var _a, _b; return Metadata_1.Metadata.merge((_a = x.rest) !== null && _a !== void 0 ? _a : x, (_b = y.rest) !== null && _b !== void 0 ? _b : y); }, Metadata_1.Metadata.initialize()))(tuple.recursive ? {} : attribute), "x-typia-tuple": schema });
33
+ return wrapper;
34
+ };
35
+ if (tuple.recursive === false)
36
+ return generator();
37
+ var key = options.purpose === "ajv"
38
+ ? tuple.name
39
+ : "".concat(tuple.name).concat(nullable ? ".Nullable" : "");
40
+ var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/tuples/").concat(key);
41
+ if (((_a = components.tuples) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
42
+ (_b = components.tuples) !== null && _b !== void 0 ? _b : (components.tuples = {});
43
+ components.tuples[key] = {};
44
+ var repeated = __assign(__assign({}, generator()), { $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: options.purpose === "ajv" || undefined });
45
+ (_c = components.tuples) !== null && _c !== void 0 ? _c : (components.tuples = {});
46
+ components.tuples[key] = repeated;
47
+ }
48
+ return options.purpose === "ajv" && tuple.recursive
49
+ ? __assign(__assign({}, attribute), { $recursiveRef: $id }) : __assign(__assign({}, attribute), { $ref: $id });
50
+ };
51
+ };
23
52
  };
24
53
  };
25
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAsB;YACvB,OAAA,UAAC,SAAiC,IAAyB,OAAA,YACvD,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;;oBACrB,OAAA,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,uBAC1D,SAAS,KACZ,cAAc,EACV,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,EAC3D,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IACnC,CAAA;iBAAA,CACL,IACE,SAAS,EACd,EAZyD,CAYzD;QAZF,CAYE;IAbF,CAaE;AAdF,CAcE,CAAC;AAhBM,QAAA,iBAAiB,qBAgBvB"}
1
+ {"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":"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"}