typia 3.5.0-dev.20230107 → 3.5.0-dev.20230125

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 (59) hide show
  1. package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +5 -0
  2. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +80 -0
  3. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +1 -1
  4. package/lib/factories/internal/protocols/emplace_protocol_object.js +0 -3
  5. package/lib/factories/internal/protocols/emplace_protocol_object.js.map +1 -1
  6. package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +2 -1
  7. package/lib/factories/internal/protocols/iterate_protocol_map.js +21 -17
  8. package/lib/factories/internal/protocols/iterate_protocol_map.js.map +1 -1
  9. package/lib/factories/internal/protocols/iterate_protocol_metadata.js +34 -36
  10. package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +1 -1
  11. package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +1 -0
  12. package/lib/factories/internal/protocols/iterate_protocol_never.js +6 -0
  13. package/lib/factories/internal/protocols/iterate_protocol_never.js.map +1 -0
  14. package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +4 -0
  15. package/lib/factories/internal/protocols/iterate_protocol_object.js +157 -0
  16. package/lib/factories/internal/protocols/iterate_protocol_object.js.map +1 -0
  17. package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +2 -1
  18. package/lib/factories/internal/protocols/iterate_protocol_repeated.js +5 -4
  19. package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +1 -1
  20. package/lib/factories/internal/protocols/iterate_protocol_tuple.js +1 -1
  21. package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +1 -1
  22. package/lib/messages/IProtocolMap.d.ts +5 -0
  23. package/lib/messages/IProtocolMap.js +3 -0
  24. package/lib/messages/IProtocolMap.js.map +1 -0
  25. package/lib/messages/IProtocolProperty.d.ts +2 -1
  26. package/lib/metadata/Metadata.d.ts +1 -0
  27. package/lib/metadata/Metadata.js +114 -23
  28. package/lib/metadata/Metadata.js.map +1 -1
  29. package/lib/programmers/MessageProgrammer.js +13 -6
  30. package/lib/programmers/MessageProgrammer.js.map +1 -1
  31. package/lib/programmers/internal/application_array.js +29 -27
  32. package/lib/programmers/internal/application_array.js.map +1 -1
  33. package/lib/programmers/internal/application_object.js +96 -31
  34. package/lib/programmers/internal/application_object.js.map +1 -1
  35. package/lib/programmers/internal/application_schema.js +28 -138
  36. package/lib/programmers/internal/application_schema.js.map +1 -1
  37. package/lib/programmers/internal/application_tuple.js +3 -2
  38. package/lib/programmers/internal/application_tuple.js.map +1 -1
  39. package/lib/schemas/IJsonComponents.d.ts +4 -2
  40. package/lib/schemas/IJsonSchema.d.ts +2 -0
  41. package/package.json +2 -1
  42. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +82 -0
  43. package/src/factories/internal/protocols/emplace_protocol_object.ts +1 -3
  44. package/src/factories/internal/protocols/iterate_protocol_map.ts +29 -9
  45. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +38 -18
  46. package/src/factories/internal/protocols/iterate_protocol_never.ts +1 -0
  47. package/src/factories/internal/protocols/iterate_protocol_object.ts +110 -0
  48. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +14 -5
  49. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +5 -1
  50. package/src/messages/IProtocolMap.ts +5 -0
  51. package/src/messages/IProtocolProperty.ts +3 -1
  52. package/src/metadata/Metadata.ts +56 -1
  53. package/src/programmers/MessageProgrammer.ts +17 -7
  54. package/src/programmers/internal/application_array.ts +2 -0
  55. package/src/programmers/internal/application_object.ts +70 -20
  56. package/src/programmers/internal/application_schema.ts +15 -73
  57. package/src/programmers/internal/application_tuple.ts +6 -2
  58. package/src/schemas/IJsonComponents.ts +5 -3
  59. package/src/schemas/IJsonSchema.ts +2 -0
@@ -1,4 +1,15 @@
1
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
+ };
2
13
  var __values = (this && this.__values) || function(o) {
3
14
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
15
  if (m) return m.call(o);
@@ -10,9 +21,26 @@ var __values = (this && this.__values) || function(o) {
10
21
  };
11
22
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
23
  };
24
+ var __read = (this && this.__read) || function (o, n) {
25
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
26
+ if (!m) return o;
27
+ var i = m.call(o), r, ar = [], e;
28
+ try {
29
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
+ }
31
+ catch (error) { e = { error: error }; }
32
+ finally {
33
+ try {
34
+ if (r && !r.done && (m = i["return"])) m.call(i);
35
+ }
36
+ finally { if (e) throw e.error; }
37
+ }
38
+ return ar;
39
+ };
13
40
  Object.defineProperty(exports, "__esModule", { value: true });
14
41
  exports.application_object = void 0;
15
42
  var CommentFactory_1 = require("../../factories/CommentFactory");
43
+ var Metadata_1 = require("../../metadata/Metadata");
16
44
  var PatternUtil_1 = require("../../utils/PatternUtil");
17
45
  var application_schema_1 = require("./application_schema");
18
46
  var metadata_to_pattern_1 = require("./metadata_to_pattern");
@@ -20,12 +48,15 @@ var application_object = function (options) {
20
48
  return function (components) {
21
49
  return function (id, obj, nullable) {
22
50
  var e_1, _a;
51
+ var _b;
23
52
  if (components.schemas[id] !== undefined)
24
53
  return;
25
54
  components.schemas[id] = {};
26
55
  var properties = {};
27
- var patternProperties = {};
28
- var additionalProperties = [];
56
+ var extraMeta = {
57
+ patternProperties: {},
58
+ additionalProperties: undefined,
59
+ };
29
60
  var required = [];
30
61
  var _loop_1 = function (property) {
31
62
  if (property.value.functional === true &&
@@ -34,7 +65,7 @@ var application_object = function (options) {
34
65
  property.value.size() === 0)
35
66
  return "continue";
36
67
  var key = property.key.getSoleLiteral();
37
- var value = (0, application_schema_1.application_schema)(options)(components)(true)(property.value, {
68
+ var schema_1 = (0, application_schema_1.application_schema)(options)(components)(true)(property.value, {
38
69
  deprecated: !!property.jsDocTags.find(function (tag) { return tag.name === "deprecated"; }) || undefined,
39
70
  title: (function () {
40
71
  var _a;
@@ -52,58 +83,92 @@ var application_object = function (options) {
52
83
  : undefined,
53
84
  "x-typia-required": property.value.required,
54
85
  });
55
- if (value === null)
86
+ if (schema_1 === null)
56
87
  return "continue";
57
88
  else if (key !== null) {
58
- properties[key] = value;
89
+ properties[key] = schema_1;
59
90
  if (property.value.required === true)
60
91
  required.push(key);
61
92
  }
62
93
  else {
63
94
  var pattern = (0, metadata_to_pattern_1.metadata_to_pattern)(true)(property.key);
64
- if (options.purpose === "swagger" ||
65
- pattern === PatternUtil_1.PatternUtil.STRING)
66
- additionalProperties.push(value);
95
+ if (pattern === PatternUtil_1.PatternUtil.STRING)
96
+ extraMeta.additionalProperties = [property.value, schema_1];
67
97
  else
68
- patternProperties[pattern] = value;
98
+ extraMeta.patternProperties[pattern] = [
99
+ property.value,
100
+ schema_1,
101
+ ];
69
102
  }
70
103
  };
71
104
  try {
72
- for (var _b = __values(obj.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
73
- var property = _c.value;
105
+ for (var _c = __values(obj.properties), _d = _c.next(); !_d.done; _d = _c.next()) {
106
+ var property = _d.value;
74
107
  _loop_1(property);
75
108
  }
76
109
  }
77
110
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
78
111
  finally {
79
112
  try {
80
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
113
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
81
114
  }
82
115
  finally { if (e_1) throw e_1.error; }
83
116
  }
84
- var schema = {
85
- $id: options.purpose === "ajv"
86
- ? options.prefix + "/" + id
87
- : undefined,
88
- $recursiveAnchor: (options.purpose === "ajv" && obj.recursive) || undefined,
89
- type: "object",
90
- properties: properties,
91
- patternProperties: Object.keys(patternProperties).length
92
- ? patternProperties
93
- : undefined,
94
- additionalProperties: additionalProperties.length
95
- ? additionalProperties.length === 1
96
- ? additionalProperties[0]
97
- : { oneOf: additionalProperties }
98
- : undefined,
99
- nullable: nullable,
100
- required: required.length ? required : undefined,
101
- description: obj.description,
102
- "x-typia_jsDocTags": obj.jsDocTags,
117
+ var extraProps = {
118
+ additionalProperties: (_b = extraMeta.additionalProperties) === null || _b === void 0 ? void 0 : _b[1],
119
+ patternProperties: (function () {
120
+ var e_2, _a;
121
+ if (Object.keys(extraMeta.patternProperties).length === 0)
122
+ return undefined;
123
+ var output = {};
124
+ try {
125
+ for (var _b = __values(Object.entries(extraMeta.patternProperties)), _c = _b.next(); !_c.done; _c = _b.next()) {
126
+ var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
127
+ output[key] = value[1];
128
+ }
129
+ }
130
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
131
+ finally {
132
+ try {
133
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
134
+ }
135
+ finally { if (e_2) throw e_2.error; }
136
+ }
137
+ return output;
138
+ })(),
103
139
  };
140
+ var schema = __assign({ $id: options.purpose === "ajv"
141
+ ? options.prefix + "/" + id
142
+ : undefined, $recursiveAnchor: (options.purpose === "ajv" && obj.recursive) || undefined, type: "object", properties: properties, nullable: nullable, required: required.length ? required : undefined, description: obj.description, "x-typia-jsDocTags": obj.jsDocTags }, (options.purpose === "ajv"
143
+ ? extraProps
144
+ : {
145
+ "x-typia-additionalProperties": extraProps.additionalProperties,
146
+ "x-typia-patternProperties": extraProps.patternProperties,
147
+ additionalProperties: join(options)(components)(extraMeta),
148
+ }));
104
149
  components.schemas[id] = schema;
105
150
  };
106
151
  };
107
152
  };
108
153
  exports.application_object = application_object;
154
+ var join = function (options) {
155
+ return function (components) {
156
+ return function (extra) {
157
+ var _a;
158
+ var elements = Object.values(extra.patternProperties || {});
159
+ if (extra.additionalProperties)
160
+ elements.push(extra.additionalProperties);
161
+ if (elements.length === 0)
162
+ return undefined;
163
+ else if (elements.length === 1)
164
+ return elements[0][1];
165
+ var meta = elements
166
+ .map(function (tuple) { return tuple[0]; })
167
+ .reduce(function (x, y) { return Metadata_1.Metadata.merge(x, y); });
168
+ return ((_a = (0, application_schema_1.application_schema)(options)(components)(true)(meta, {
169
+ "x-typia-required": false,
170
+ })) !== null && _a !== void 0 ? _a : undefined);
171
+ };
172
+ };
173
+ };
109
174
  //# sourceMappingURL=application_object.js.map
@@ -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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"}
@@ -21,35 +21,9 @@ var __values = (this && this.__values) || function(o) {
21
21
  };
22
22
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
23
  };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
- if (ar || !(i in from)) {
43
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
- ar[i] = from[i];
45
- }
46
- }
47
- return to.concat(ar || Array.prototype.slice.call(from));
48
- };
49
24
  Object.defineProperty(exports, "__esModule", { value: true });
50
25
  exports.application_schema = void 0;
51
26
  var Metadata_1 = require("../../metadata/Metadata");
52
- var ArrayUtil_1 = require("../../utils/ArrayUtil");
53
27
  var NameEncoder_1 = require("../../utils/NameEncoder");
54
28
  var AtomicPredicator_1 = require("../helpers/AtomicPredicator");
55
29
  var application_array_1 = require("./application_array");
@@ -66,6 +40,7 @@ var application_schema = function (options) {
66
40
  return function (blockNever) {
67
41
  return function (meta, attribute) {
68
42
  var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f;
43
+ var _g;
69
44
  if (meta.any === true)
70
45
  return {};
71
46
  else if (meta.nullable && meta.empty())
@@ -79,8 +54,8 @@ var application_schema = function (options) {
79
54
  if (meta.templates.length && AtomicPredicator_1.AtomicPredicator.template(meta))
80
55
  union.push((0, application_templates_1.application_templates)(meta, attribute));
81
56
  try {
82
- for (var _g = __values(meta.constants), _h = _g.next(); !_h.done; _h = _g.next()) {
83
- var constant = _h.value;
57
+ for (var _h = __values(meta.constants), _j = _h.next(); !_j.done; _j = _h.next()) {
58
+ var constant = _j.value;
84
59
  if (constant.type === "bigint")
85
60
  throw new Error(NO_BIGINT);
86
61
  else if ((constant.type === "string" && meta.templates.length) ||
@@ -92,13 +67,13 @@ var application_schema = function (options) {
92
67
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
93
68
  finally {
94
69
  try {
95
- if (_h && !_h.done && (_a = _g.return)) _a.call(_g);
70
+ if (_j && !_j.done && (_a = _h.return)) _a.call(_h);
96
71
  }
97
72
  finally { if (e_1) throw e_1.error; }
98
73
  }
99
74
  try {
100
- for (var _j = __values(meta.atomics), _k = _j.next(); !_k.done; _k = _j.next()) {
101
- var type = _k.value;
75
+ for (var _k = __values(meta.atomics), _l = _k.next(); !_l.done; _l = _k.next()) {
76
+ var type = _l.value;
102
77
  if (type === "bigint")
103
78
  throw new Error(NO_BIGINT);
104
79
  union.push(type === "string"
@@ -111,56 +86,57 @@ var application_schema = function (options) {
111
86
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
112
87
  finally {
113
88
  try {
114
- if (_k && !_k.done && (_b = _j.return)) _b.call(_j);
89
+ if (_l && !_l.done && (_b = _k.return)) _b.call(_k);
115
90
  }
116
91
  finally { if (e_2) throw e_2.error; }
117
92
  }
118
93
  try {
119
- for (var _l = __values(meta.arrays.values()), _m = _l.next(); !_m.done; _m = _l.next()) {
120
- var schema = _m.value;
121
- union.push((0, application_array_1.application_array)(options)(components)(schema, meta.nullable, attribute));
94
+ for (var _m = __values(meta.arrays.values()), _o = _m.next(); !_o.done; _o = _m.next()) {
95
+ var schema = _o.value;
96
+ union.push((0, application_array_1.application_array)(options)(components)()(schema, meta.nullable, attribute));
122
97
  }
123
98
  }
124
99
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
125
100
  finally {
126
101
  try {
127
- if (_m && !_m.done && (_c = _l.return)) _c.call(_l);
102
+ if (_o && !_o.done && (_c = _m.return)) _c.call(_m);
128
103
  }
129
104
  finally { if (e_3) throw e_3.error; }
130
105
  }
131
106
  try {
132
- for (var _o = __values(meta.tuples), _p = _o.next(); !_p.done; _p = _o.next()) {
133
- var items = _p.value;
134
- if (options.purpose === "ajv" &&
135
- items.every(function (i) { return i.rest === null; }))
136
- union.push((0, application_tuple_1.application_tuple)(options)(components)(items, meta.nullable, attribute));
107
+ for (var _p = __values(meta.tuples), _q = _p.next(); !_q.done; _q = _p.next()) {
108
+ var items = _q.value;
109
+ var tuple = (0, application_tuple_1.application_tuple)(options)(components)(items, meta.nullable, attribute);
110
+ if (options.purpose === "swagger" && items.length === 0)
111
+ throw new Error("Error on typia.application(): swagger does not support zero length tuple type.");
112
+ else if (options.purpose === "ajv" &&
113
+ !((_g = items[items.length - 1]) === null || _g === void 0 ? void 0 : _g.rest))
114
+ union.push(tuple);
137
115
  else {
138
- if (items.length === 0)
139
- throw new Error("Error on typia.application(): swagger does not support zero length tuple type.");
140
116
  var merged = items.reduce(function (x, y) {
141
- return merge_metadata(x, y);
117
+ return Metadata_1.Metadata.merge(x, y);
142
118
  });
143
- union.push((0, application_array_1.application_array)(options)(components)(merged, (merged === null || merged === void 0 ? void 0 : merged.nullable) || false, attribute));
119
+ union.push((0, application_array_1.application_array)(options)(components)(tuple)(merged, (merged === null || merged === void 0 ? void 0 : merged.nullable) || false, attribute));
144
120
  }
145
121
  }
146
122
  }
147
123
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
148
124
  finally {
149
125
  try {
150
- if (_p && !_p.done && (_d = _o.return)) _d.call(_o);
126
+ if (_q && !_q.done && (_d = _p.return)) _d.call(_p);
151
127
  }
152
128
  finally { if (e_4) throw e_4.error; }
153
129
  }
154
130
  try {
155
- for (var _q = __values(meta.natives), _r = _q.next(); !_r.done; _r = _q.next()) {
156
- var native = _r.value;
131
+ for (var _r = __values(meta.natives), _s = _r.next(); !_s.done; _s = _r.next()) {
132
+ var native = _s.value;
157
133
  union.push((0, application_native_1.application_native)(options)(components)(native)(meta.nullable, attribute));
158
134
  }
159
135
  }
160
136
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
161
137
  finally {
162
138
  try {
163
- if (_r && !_r.done && (_e = _q.return)) _e.call(_q);
139
+ if (_s && !_s.done && (_e = _r.return)) _e.call(_r);
164
140
  }
165
141
  finally { if (e_5) throw e_5.error; }
166
142
  }
@@ -169,8 +145,8 @@ var application_schema = function (options) {
169
145
  if (meta.maps.length)
170
146
  union.push((0, application_native_1.application_native)(options)(components)("Map")(meta.nullable, attribute));
171
147
  try {
172
- for (var _s = __values(meta.objects), _t = _s.next(); !_t.done; _t = _s.next()) {
173
- var obj = _t.value;
148
+ for (var _t = __values(meta.objects), _u = _t.next(); !_u.done; _u = _t.next()) {
149
+ var obj = _u.value;
174
150
  var id = NameEncoder_1.NameEncoder.encode(obj.name) +
175
151
  (meta.nullable ? ".Nullable" : "");
176
152
  (0, application_object_1.application_object)(options)(components)(id, obj, meta.nullable);
@@ -182,7 +158,7 @@ var application_schema = function (options) {
182
158
  catch (e_6_1) { e_6 = { error: e_6_1 }; }
183
159
  finally {
184
160
  try {
185
- if (_t && !_t.done && (_f = _s.return)) _f.call(_s);
161
+ if (_u && !_u.done && (_f = _t.return)) _f.call(_t);
186
162
  }
187
163
  finally { if (e_6) throw e_6.error; }
188
164
  }
@@ -198,91 +174,5 @@ var application_schema = function (options) {
198
174
  exports.application_schema = application_schema;
199
175
  var reference = function ($ref, attribute) { return (__assign({ $ref: $ref }, attribute)); };
200
176
  var recursive = function ($recursiveRef, attribute) { return (__assign({ $recursiveRef: $recursiveRef }, attribute)); };
201
- function merge_metadata(x, y) {
202
- var e_7, _a, e_8, _b, e_9, _c;
203
- var output = Metadata_1.Metadata.create({
204
- any: x.any || y.any,
205
- nullable: x.nullable || y.nullable,
206
- required: x.required && y.required,
207
- functional: x.functional || y.functional,
208
- resolved: x.resolved !== null && y.resolved !== null
209
- ? merge_metadata(x.resolved, y.resolved)
210
- : x.resolved || y.resolved,
211
- atomics: __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(x.atomics), false), __read(y.atomics), false))), false),
212
- constants: __spreadArray([], __read(x.constants), false),
213
- templates: x.templates.slice(),
214
- rest: null,
215
- arrays: x.arrays.slice(),
216
- tuples: x.tuples.slice(),
217
- objects: x.objects.slice(),
218
- natives: __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(x.natives), false), __read(y.natives), false))), false),
219
- sets: x.sets.slice(),
220
- maps: x.maps.slice(),
221
- });
222
- var _loop_1 = function (constant) {
223
- var e_10, _k;
224
- var target = ArrayUtil_1.ArrayUtil.take(output.constants, function (elem) { return elem.type === constant.type; }, function () { return ({
225
- type: constant.type,
226
- values: [],
227
- }); });
228
- try {
229
- for (var _l = (e_10 = void 0, __values(constant.values)), _m = _l.next(); !_m.done; _m = _l.next()) {
230
- var value = _m.value;
231
- ArrayUtil_1.ArrayUtil.add(target.values, value);
232
- }
233
- }
234
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
235
- finally {
236
- try {
237
- if (_m && !_m.done && (_k = _l.return)) _k.call(_l);
238
- }
239
- finally { if (e_10) throw e_10.error; }
240
- }
241
- };
242
- try {
243
- for (var _d = __values(y.constants), _e = _d.next(); !_e.done; _e = _d.next()) {
244
- var constant = _e.value;
245
- _loop_1(constant);
246
- }
247
- }
248
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
249
- finally {
250
- try {
251
- if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
252
- }
253
- finally { if (e_7) throw e_7.error; }
254
- }
255
- try {
256
- for (var _f = __values(y.arrays), _g = _f.next(); !_g.done; _g = _f.next()) {
257
- var array = _g.value;
258
- ArrayUtil_1.ArrayUtil.set(output.arrays, array, function (elem) { return elem.getName(); });
259
- }
260
- }
261
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
262
- finally {
263
- try {
264
- if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
265
- }
266
- finally { if (e_8) throw e_8.error; }
267
- }
268
- try {
269
- for (var _h = __values(y.objects), _j = _h.next(); !_j.done; _j = _h.next()) {
270
- var obj = _j.value;
271
- ArrayUtil_1.ArrayUtil.set(output.objects, obj, function (elem) { return elem.name; });
272
- }
273
- }
274
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
275
- finally {
276
- try {
277
- if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
278
- }
279
- finally { if (e_9) throw e_9.error; }
280
- }
281
- if (x.rest !== null)
282
- ArrayUtil_1.ArrayUtil.set(output.arrays, x.rest, function (elem) { return elem.getName(); });
283
- if (y.rest !== null)
284
- ArrayUtil_1.ArrayUtil.set(output.arrays, y.rest, function (elem) { return elem.getName(); });
285
- return output;
286
- }
287
177
  var NO_BIGINT = "Error on typia.application(): does not allow bigint type.";
288
178
  //# 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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"}
@@ -15,8 +15,9 @@ exports.application_tuple = void 0;
15
15
  var application_schema_1 = require("./application_schema");
16
16
  var application_tuple = function (options) {
17
17
  return function (components) {
18
- return function (items, nullable, attribute) { return (__assign({ type: "array", items: items.map(function (meta) {
19
- return (0, application_schema_1.application_schema)(options)(components)(false)(meta, attribute);
18
+ return function (items, nullable, attribute) { return (__assign({ type: "array", items: items.map(function (meta, i) {
19
+ var _a;
20
+ return (0, application_schema_1.application_schema)(options)(components)(false)((_a = meta.rest) !== null && _a !== void 0 ? _a : meta, __assign(__assign({}, attribute), { "x-typia-rest": i === items.length - 1 ? meta.rest !== null : undefined }));
20
21
  }), nullable: nullable }, attribute)); };
21
22
  };
22
23
  };
@@ -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,UACI,KAAsB,EACtB,QAAiB,EACjB,SAAiC,IACZ,OAAA,YACrB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;gBAClB,OAAA,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC;YAA/D,CAA+D,CAClE,EACD,QAAQ,UAAA,IACL,SAAS,EACd,EAPuB,CAOvB;IAXF,CAWE;AAZF,CAYE,CAAC;AAdM,QAAA,iBAAiB,qBAcvB"}
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,UACI,KAAsB,EACtB,QAAiB,EACjB,SAAiC,IACZ,OAAA,YACrB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;;gBACrB,OAAA,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,wBACzD,SAAS,KACZ,cAAc,EACV,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAA;aAAA,CACL,EACD,QAAQ,UAAA,IACL,SAAS,EACd,EAXuB,CAWvB;IAfF,CAeE;AAhBF,CAgBE,CAAC;AAlBM,QAAA,iBAAiB,qBAkBvB"}
@@ -6,6 +6,7 @@ export interface IJsonComponents {
6
6
  export declare namespace IJsonComponents {
7
7
  interface IObject {
8
8
  $id?: string;
9
+ $recursiveAnchor?: boolean;
9
10
  type: "object";
10
11
  nullable: boolean;
11
12
  properties: Record<string, IJsonSchema>;
@@ -13,7 +14,8 @@ export declare namespace IJsonComponents {
13
14
  additionalProperties?: IJsonSchema;
14
15
  required?: string[];
15
16
  description?: string;
16
- "x-typia_jsDocTags"?: IJsDocTagInfo[];
17
- $recursiveAnchor?: boolean;
17
+ "x-typia-jsDocTags"?: IJsDocTagInfo[];
18
+ "x-typia-patternProperties"?: Record<string, IJsonSchema>;
19
+ "x-typia-additionalProperties"?: IJsonSchema;
18
20
  }
19
21
  }
@@ -29,6 +29,7 @@ export declare namespace IJsonSchema {
29
29
  items: IJsonSchema;
30
30
  minItems?: number;
31
31
  maxItems?: number;
32
+ "x-typia-tuple"?: ITuple;
32
33
  }
33
34
  interface ITuple extends ISignificant<"array"> {
34
35
  items: IJsonSchema[];
@@ -58,5 +59,6 @@ export declare namespace IJsonSchema {
58
59
  "x-typia-metaTags"?: IMetadataTag[];
59
60
  "x-typia-jsDocTags"?: IJsDocTagInfo[];
60
61
  "x-typia-required"?: boolean;
62
+ "x-typia-rest"?: boolean;
61
63
  }
62
64
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.5.0-dev.20230107",
3
+ "version": "3.5.0-dev.20230125",
4
4
  "description": "Runtime type checkers and 5x faster JSON.stringify() function",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -101,6 +101,7 @@
101
101
  "source-map-support": "^0.5.21",
102
102
  "suppress-warnings": "^1.0.2",
103
103
  "ts-node": "^10.9.1",
104
+ "ts-proto": "^1.138.0",
104
105
  "ttypescript": "^1.5.15",
105
106
  "typescript": "^4.9.4",
106
107
  "uuid": "^8.3.2",