typia 3.4.10 → 3.5.0-dev.20221219

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 (213) hide show
  1. package/lib/factories/ExpressionFactory.d.ts +4 -1
  2. package/lib/factories/ExpressionFactory.js +7 -4
  3. package/lib/factories/ExpressionFactory.js.map +1 -1
  4. package/lib/factories/MetadataCollection.js +2 -0
  5. package/lib/factories/MetadataCollection.js.map +1 -1
  6. package/lib/factories/MetadataFactory.d.ts +1 -0
  7. package/lib/factories/MetadataFactory.js +1 -1
  8. package/lib/factories/MetadataFactory.js.map +1 -1
  9. package/lib/factories/ProtocolFactory.d.ts +9 -0
  10. package/lib/factories/ProtocolFactory.js +125 -0
  11. package/lib/factories/ProtocolFactory.js.map +1 -0
  12. package/lib/factories/internal/{MetadataHelper.d.ts → metadata/MetadataHelper.d.ts} +1 -1
  13. package/lib/factories/internal/{MetadataHelper.js → metadata/MetadataHelper.js} +1 -1
  14. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -0
  15. package/lib/factories/internal/{emplace_metadata_object.d.ts → metadata/emplace_metadata_object.d.ts} +3 -3
  16. package/lib/factories/internal/{emplace_metadata_object.js → metadata/emplace_metadata_object.js} +5 -5
  17. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -0
  18. package/lib/factories/internal/{explore_metadata.d.ts → metadata/explore_metadata.d.ts} +3 -3
  19. package/lib/factories/internal/{explore_metadata.js → metadata/explore_metadata.js} +5 -3
  20. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -0
  21. package/lib/factories/internal/{iterate_metadata.d.ts → metadata/iterate_metadata.d.ts} +3 -3
  22. package/lib/factories/internal/{iterate_metadata.js → metadata/iterate_metadata.js} +1 -1
  23. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -0
  24. package/lib/factories/internal/{iterate_metadata_array.d.ts → metadata/iterate_metadata_array.d.ts} +3 -3
  25. package/lib/factories/internal/{iterate_metadata_array.js → metadata/iterate_metadata_array.js} +1 -1
  26. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -0
  27. package/lib/factories/internal/{iterate_metadata_atomic.d.ts → metadata/iterate_metadata_atomic.d.ts} +1 -1
  28. package/lib/factories/internal/{iterate_metadata_atomic.js → metadata/iterate_metadata_atomic.js} +1 -1
  29. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -0
  30. package/lib/factories/internal/{iterate_metadata_coalesce.d.ts → metadata/iterate_metadata_coalesce.d.ts} +1 -1
  31. package/lib/factories/internal/{iterate_metadata_coalesce.js → metadata/iterate_metadata_coalesce.js} +2 -2
  32. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -0
  33. package/lib/factories/internal/{iterate_metadata_constant.d.ts → metadata/iterate_metadata_constant.d.ts} +2 -2
  34. package/lib/factories/internal/{iterate_metadata_constant.js → metadata/iterate_metadata_constant.js} +1 -1
  35. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -0
  36. package/lib/factories/internal/{iterate_metadata_map.d.ts → metadata/iterate_metadata_map.d.ts} +3 -3
  37. package/lib/factories/internal/{iterate_metadata_map.js → metadata/iterate_metadata_map.js} +2 -2
  38. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -0
  39. package/lib/factories/internal/{iterate_metadata_native.d.ts → metadata/iterate_metadata_native.d.ts} +1 -1
  40. package/lib/factories/internal/{iterate_metadata_native.js → metadata/iterate_metadata_native.js} +2 -2
  41. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -0
  42. package/lib/factories/internal/{iterate_metadata_object.d.ts → metadata/iterate_metadata_object.d.ts} +3 -3
  43. package/lib/factories/internal/{iterate_metadata_object.js → metadata/iterate_metadata_object.js} +3 -3
  44. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -0
  45. package/lib/factories/internal/{iterate_metadata_resolve.d.ts → metadata/iterate_metadata_resolve.d.ts} +3 -3
  46. package/lib/factories/internal/{iterate_metadata_resolve.js → metadata/iterate_metadata_resolve.js} +2 -2
  47. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -0
  48. package/lib/factories/internal/{iterate_metadata_set.d.ts → metadata/iterate_metadata_set.d.ts} +3 -3
  49. package/lib/factories/internal/{iterate_metadata_set.js → metadata/iterate_metadata_set.js} +2 -2
  50. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -0
  51. package/lib/factories/internal/{iterate_metadata_template.d.ts → metadata/iterate_metadata_template.d.ts} +3 -3
  52. package/lib/factories/internal/{iterate_metadata_template.js → metadata/iterate_metadata_template.js} +0 -0
  53. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -0
  54. package/lib/factories/internal/{iterate_metadata_tuple.d.ts → metadata/iterate_metadata_tuple.d.ts} +3 -3
  55. package/lib/factories/internal/{iterate_metadata_tuple.js → metadata/iterate_metadata_tuple.js} +3 -3
  56. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -0
  57. package/lib/factories/internal/{iterate_metadata_union.d.ts → metadata/iterate_metadata_union.d.ts} +3 -3
  58. package/lib/factories/internal/{iterate_metadata_union.js → metadata/iterate_metadata_union.js} +3 -3
  59. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -0
  60. package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +11 -0
  61. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +76 -0
  62. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +1 -0
  63. package/lib/factories/internal/protocols/emplace_protocol_object.d.ts +3 -0
  64. package/lib/factories/internal/protocols/emplace_protocol_object.js +47 -0
  65. package/lib/factories/internal/protocols/emplace_protocol_object.js.map +1 -0
  66. package/lib/factories/internal/protocols/emplace_protocol_property.d.ts +4 -0
  67. package/lib/factories/internal/protocols/emplace_protocol_property.js +20 -0
  68. package/lib/factories/internal/protocols/emplace_protocol_property.js.map +1 -0
  69. package/lib/factories/internal/protocols/iterate_protocol_atomic.d.ts +3 -0
  70. package/lib/factories/internal/protocols/iterate_protocol_atomic.js +69 -0
  71. package/lib/factories/internal/protocols/iterate_protocol_atomic.js.map +1 -0
  72. package/lib/factories/internal/protocols/iterate_protocol_constant.d.ts +2 -0
  73. package/lib/factories/internal/protocols/iterate_protocol_constant.js +30 -0
  74. package/lib/factories/internal/protocols/iterate_protocol_constant.js.map +1 -0
  75. package/lib/factories/internal/protocols/iterate_protocol_main.d.ts +3 -0
  76. package/lib/factories/internal/protocols/iterate_protocol_main.js +18 -0
  77. package/lib/factories/internal/protocols/iterate_protocol_main.js.map +1 -0
  78. package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +3 -0
  79. package/lib/factories/internal/protocols/iterate_protocol_map.js +72 -0
  80. package/lib/factories/internal/protocols/iterate_protocol_map.js.map +1 -0
  81. package/lib/factories/internal/protocols/iterate_protocol_metadata.d.ts +5 -0
  82. package/lib/factories/internal/protocols/iterate_protocol_metadata.js +190 -0
  83. package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +1 -0
  84. package/lib/factories/internal/protocols/iterate_protocol_native.d.ts +2 -0
  85. package/lib/factories/internal/protocols/iterate_protocol_native.js +33 -0
  86. package/lib/factories/internal/protocols/iterate_protocol_native.js.map +1 -0
  87. package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +4 -0
  88. package/lib/factories/internal/protocols/iterate_protocol_repeated.js +25 -0
  89. package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +1 -0
  90. package/lib/factories/internal/protocols/iterate_protocol_tuple.d.ts +3 -0
  91. package/lib/factories/internal/protocols/iterate_protocol_tuple.js +47 -0
  92. package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +1 -0
  93. package/lib/functional/$proto_bytes.d.ts +2 -0
  94. package/lib/functional/$proto_bytes.js +37 -0
  95. package/lib/functional/$proto_bytes.js.map +1 -0
  96. package/lib/functional/$proto_field.d.ts +10 -0
  97. package/lib/functional/$proto_field.js +42 -0
  98. package/lib/functional/$proto_field.js.map +1 -0
  99. package/lib/functional/$proto_float.d.ts +4 -0
  100. package/lib/functional/$proto_float.js +28 -0
  101. package/lib/functional/$proto_float.js.map +1 -0
  102. package/lib/functional/$proto_i32.d.ts +2 -0
  103. package/lib/functional/$proto_i32.js +23 -0
  104. package/lib/functional/$proto_i32.js.map +1 -0
  105. package/lib/functional/$proto_i64.d.ts +2 -0
  106. package/lib/functional/$proto_i64.js +31 -0
  107. package/lib/functional/$proto_i64.js.map +1 -0
  108. package/lib/functional/$proto_size.d.ts +6 -0
  109. package/lib/functional/$proto_size.js +76 -0
  110. package/lib/functional/$proto_size.js.map +1 -0
  111. package/lib/functional/$proto_string.d.ts +2 -0
  112. package/lib/functional/$proto_string.js +34 -0
  113. package/lib/functional/$proto_string.js.map +1 -0
  114. package/lib/functional/$varint.d.ts +6 -0
  115. package/lib/functional/$varint.js +99 -0
  116. package/lib/functional/$varint.js.map +1 -0
  117. package/lib/functional/$zigzag.d.ts +4 -0
  118. package/lib/functional/$zigzag.js +34 -0
  119. package/lib/functional/$zigzag.js.map +1 -0
  120. package/lib/messages/IProtocolMessage.d.ts +5 -0
  121. package/lib/messages/IProtocolMessage.js +3 -0
  122. package/lib/messages/IProtocolMessage.js.map +1 -0
  123. package/lib/messages/IProtocolProperty.d.ts +11 -0
  124. package/lib/messages/IProtocolProperty.js +3 -0
  125. package/lib/messages/IProtocolProperty.js.map +1 -0
  126. package/lib/metadata/IMetadataTag.d.ts +7 -3
  127. package/lib/metadata/Metadata.js +1 -1
  128. package/lib/metadata/Metadata.js.map +1 -1
  129. package/lib/module.d.ts +2 -0
  130. package/lib/module.js +5 -1
  131. package/lib/module.js.map +1 -1
  132. package/lib/programmers/CheckerProgrammer.js +9 -1
  133. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  134. package/lib/programmers/IsProgrammer.js +4 -1
  135. package/lib/programmers/IsProgrammer.js.map +1 -1
  136. package/lib/programmers/MessageProgrammer.d.ts +5 -0
  137. package/lib/programmers/MessageProgrammer.js +129 -0
  138. package/lib/programmers/MessageProgrammer.js.map +1 -0
  139. package/lib/programmers/StringifyProgrammer.js +11 -1
  140. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  141. package/lib/transformers/CallExpressionTransformer.js +3 -1
  142. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  143. package/lib/transformers/features/protocols/MessageTransformer.d.ts +5 -0
  144. package/lib/transformers/features/protocols/MessageTransformer.js +17 -0
  145. package/lib/transformers/features/protocols/MessageTransformer.js.map +1 -0
  146. package/package.json +4 -4
  147. package/src/factories/ExpressionFactory.ts +18 -12
  148. package/src/factories/MetadataCollection.ts +2 -0
  149. package/src/factories/MetadataFactory.ts +2 -1
  150. package/src/factories/ProtocolFactory.ts +97 -0
  151. package/src/factories/internal/{MetadataHelper.ts → metadata/MetadataHelper.ts} +1 -1
  152. package/src/factories/internal/{emplace_metadata_object.ts → metadata/emplace_metadata_object.ts} +9 -9
  153. package/src/factories/internal/{explore_metadata.ts → metadata/explore_metadata.ts} +7 -6
  154. package/src/factories/internal/{iterate_metadata.ts → metadata/iterate_metadata.ts} +4 -4
  155. package/src/factories/internal/{iterate_metadata_array.ts → metadata/iterate_metadata_array.ts} +4 -4
  156. package/src/factories/internal/{iterate_metadata_atomic.ts → metadata/iterate_metadata_atomic.ts} +3 -3
  157. package/src/factories/internal/{iterate_metadata_coalesce.ts → metadata/iterate_metadata_coalesce.ts} +3 -3
  158. package/src/factories/internal/{iterate_metadata_constant.ts → metadata/iterate_metadata_constant.ts} +4 -4
  159. package/src/factories/internal/{iterate_metadata_map.ts → metadata/iterate_metadata_map.ts} +5 -5
  160. package/src/factories/internal/{iterate_metadata_native.ts → metadata/iterate_metadata_native.ts} +3 -3
  161. package/src/factories/internal/{iterate_metadata_object.ts → metadata/iterate_metadata_object.ts} +5 -5
  162. package/src/factories/internal/{iterate_metadata_resolve.ts → metadata/iterate_metadata_resolve.ts} +5 -5
  163. package/src/factories/internal/{iterate_metadata_set.ts → metadata/iterate_metadata_set.ts} +5 -5
  164. package/src/factories/internal/{iterate_metadata_template.ts → metadata/iterate_metadata_template.ts} +3 -3
  165. package/src/factories/internal/{iterate_metadata_tuple.ts → metadata/iterate_metadata_tuple.ts} +5 -5
  166. package/src/factories/internal/{iterate_metadata_union.ts → metadata/iterate_metadata_union.ts} +5 -5
  167. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +81 -0
  168. package/src/factories/internal/protocols/emplace_protocol_object.ts +25 -0
  169. package/src/factories/internal/protocols/emplace_protocol_property.ts +12 -0
  170. package/src/factories/internal/protocols/iterate_protocol_atomic.ts +34 -0
  171. package/src/factories/internal/protocols/iterate_protocol_constant.ts +27 -0
  172. package/src/factories/internal/protocols/iterate_protocol_main.ts +20 -0
  173. package/src/factories/internal/protocols/iterate_protocol_map.ts +40 -0
  174. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +75 -0
  175. package/src/factories/internal/protocols/iterate_protocol_native.ts +34 -0
  176. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +28 -0
  177. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +28 -0
  178. package/src/functional/$proto_bytes.ts +25 -0
  179. package/src/functional/$proto_field.ts +30 -0
  180. package/src/functional/$proto_float.ts +37 -0
  181. package/src/functional/$proto_i32.ts +29 -0
  182. package/src/functional/$proto_i64.ts +37 -0
  183. package/src/functional/$proto_size.ts +82 -0
  184. package/src/functional/$proto_string.ts +24 -0
  185. package/src/functional/$varint.ts +130 -0
  186. package/src/functional/$zigzag.ts +39 -0
  187. package/src/messages/IProtocolMessage.ts +6 -0
  188. package/src/messages/IProtocolProperty.ts +11 -0
  189. package/src/metadata/IMetadataTag.ts +19 -4
  190. package/src/metadata/Metadata.ts +4 -2
  191. package/src/module.ts +12 -0
  192. package/src/programmers/CheckerProgrammer.ts +10 -4
  193. package/src/programmers/IsProgrammer.ts +4 -1
  194. package/src/programmers/MessageProgrammer.ts +110 -0
  195. package/src/programmers/StringifyProgrammer.ts +11 -1
  196. package/src/transformers/CallExpressionTransformer.ts +16 -9
  197. package/src/transformers/features/protocols/MessageTransformer.ts +32 -0
  198. package/lib/factories/internal/MetadataHelper.js.map +0 -1
  199. package/lib/factories/internal/emplace_metadata_object.js.map +0 -1
  200. package/lib/factories/internal/explore_metadata.js.map +0 -1
  201. package/lib/factories/internal/iterate_metadata.js.map +0 -1
  202. package/lib/factories/internal/iterate_metadata_array.js.map +0 -1
  203. package/lib/factories/internal/iterate_metadata_atomic.js.map +0 -1
  204. package/lib/factories/internal/iterate_metadata_coalesce.js.map +0 -1
  205. package/lib/factories/internal/iterate_metadata_constant.js.map +0 -1
  206. package/lib/factories/internal/iterate_metadata_map.js.map +0 -1
  207. package/lib/factories/internal/iterate_metadata_native.js.map +0 -1
  208. package/lib/factories/internal/iterate_metadata_object.js.map +0 -1
  209. package/lib/factories/internal/iterate_metadata_resolve.js.map +0 -1
  210. package/lib/factories/internal/iterate_metadata_set.js.map +0 -1
  211. package/lib/factories/internal/iterate_metadata_template.js.map +0 -1
  212. package/lib/factories/internal/iterate_metadata_tuple.js.map +0 -1
  213. package/lib/factories/internal/iterate_metadata_union.js.map +0 -1
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __values = (this && this.__values) || function(o) {
3
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
+ if (m) return m.call(o);
5
+ if (o && typeof o.length === "number") return {
6
+ next: function () {
7
+ if (o && i >= o.length) o = void 0;
8
+ return { value: o && o[i++], done: !o };
9
+ }
10
+ };
11
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.MessageProgrammer = void 0;
43
+ var typescript_1 = __importDefault(require("typescript"));
44
+ var ProtocolFactory_1 = require("../factories/ProtocolFactory");
45
+ var MapUtil_1 = require("../utils/MapUtil");
46
+ var MessageProgrammer;
47
+ (function (MessageProgrammer) {
48
+ MessageProgrammer.generate = function (_a) {
49
+ var checker = _a.checker;
50
+ return function (type) {
51
+ var e_1, _a;
52
+ var collection = ProtocolFactory_1.ProtocolFactory.collection();
53
+ var metadata = ProtocolFactory_1.ProtocolFactory.metadata(checker)(collection)(type);
54
+ var dict = new Map();
55
+ ProtocolFactory_1.ProtocolFactory.generate(collection)(dict)(metadata);
56
+ var hierarchies = new Map();
57
+ try {
58
+ for (var _b = __values(dict.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
59
+ var msg = _c.value;
60
+ emplace(hierarchies)(msg);
61
+ }
62
+ }
63
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
64
+ finally {
65
+ try {
66
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
67
+ }
68
+ finally { if (e_1) throw e_1.error; }
69
+ }
70
+ var content = "syntax = \"proto3\";\n\n" +
71
+ __spreadArray([], __read(hierarchies.values()), false).map(function (hier) { return stringify(hier); })
72
+ .join("\n\n");
73
+ return typescript_1.default.factory.createStringLiteral(content);
74
+ };
75
+ };
76
+ var stringify = function (hierarchy) {
77
+ var key = hierarchy.key, message = hierarchy.message, children = hierarchy.children;
78
+ var index = 1;
79
+ var elements = ["message ".concat(key, " {")];
80
+ if (message !== null)
81
+ elements.push.apply(elements, __spreadArray([], __read(message.properties.map(function (property) {
82
+ if (property.oneOf.length === 1)
83
+ return [
84
+ TAB,
85
+ property.required ? "" : "optional ",
86
+ property.repeated ? "repeated " : "",
87
+ property.oneOf[0].type + " ",
88
+ property.key + " ",
89
+ "= ",
90
+ "".concat(index++, ";"),
91
+ ].join("");
92
+ return ("".concat(TAB, "oneof ").concat(property.key, " {\n") +
93
+ property.oneOf
94
+ .map(function (o, i) {
95
+ return "".concat(TAB).concat(TAB).concat(o.type, " o").concat(i, " = ").concat(index++, ";");
96
+ })
97
+ .join("\n") +
98
+ "\n".concat(TAB, "}"));
99
+ })), false));
100
+ if (message !== null && children.size)
101
+ elements.push("\n");
102
+ if (children.size)
103
+ elements.push(__spreadArray([], __read(children.values()), false).map(function (child) { return stringify(child); })
104
+ .map(function (body) {
105
+ return body
106
+ .split("\n")
107
+ .map(function (line) { return "".concat(TAB).concat(line); })
108
+ .join("\n");
109
+ })
110
+ .join("\n\n"));
111
+ elements.push("}");
112
+ return elements.join("\n");
113
+ };
114
+ var emplace = function (dict) { return function (message) {
115
+ var accessors = message.name.split(".");
116
+ accessors.forEach(function (access, i) {
117
+ var hierarchy = MapUtil_1.MapUtil.take(dict, access, function () { return ({
118
+ key: access,
119
+ message: null,
120
+ children: new Map(),
121
+ }); });
122
+ dict = hierarchy.children;
123
+ if (i === accessors.length - 1)
124
+ hierarchy.message = message;
125
+ });
126
+ }; };
127
+ })(MessageProgrammer = exports.MessageProgrammer || (exports.MessageProgrammer = {}));
128
+ var TAB = " ".repeat(4);
129
+ //# sourceMappingURL=MessageProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageProgrammer.js","sourceRoot":"","sources":["../../src/programmers/MessageProgrammer.ts"],"names":[],"mappings":"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"}
@@ -312,7 +312,17 @@ var StringifyProgrammer;
312
312
  if (meta.objects.length)
313
313
  unions.push({
314
314
  type: "object",
315
- is: function () { return ExpressionFactory_1.ExpressionFactory.isObject(input, true); },
315
+ is: function () {
316
+ return ExpressionFactory_1.ExpressionFactory.isObject(input, {
317
+ checkNull: true,
318
+ checkArray: meta.objects.some(function (obj) {
319
+ return obj.properties.every(function (prop) {
320
+ return !prop.key.isSoleLiteral() ||
321
+ !prop.value.required;
322
+ });
323
+ }),
324
+ });
325
+ },
316
326
  value: function () {
317
327
  return meta.isParentResolved() === false &&
318
328
  meta.objects.length === 1 &&
@@ -1 +1 @@
1
- {"version":3,"file":"StringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/StringifyProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/StringifyProgrammer.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ var CreateIsParseTransformer_1 = require("./features/parsers/CreateIsParseTransf
13
13
  var CreateValidateParseTransformer_1 = require("./features/parsers/CreateValidateParseTransformer");
14
14
  var IsParseTransformer_1 = require("./features/parsers/IsParseTransformer");
15
15
  var ValidateParseTransformer_1 = require("./features/parsers/ValidateParseTransformer");
16
+ var MessageTransformer_1 = require("./features/protocols/MessageTransformer");
16
17
  var AssertStringifyTransformer_1 = require("./features/stringifiers/AssertStringifyTransformer");
17
18
  var CreateAssertStringifyTransformer_1 = require("./features/stringifiers/CreateAssertStringifyTransformer");
18
19
  var CreateIsStringifyTransformer_1 = require("./features/stringifiers/CreateIsStringifyTransformer");
@@ -55,6 +56,8 @@ var FUNCTORS = {
55
56
  assertEquals: function () { return AssertTransformer_1.AssertTransformer.transform(true); },
56
57
  equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
57
58
  validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
59
+ message: function () { return MessageTransformer_1.MessageTransformer.transform; },
60
+ application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
58
61
  isParse: function () { return IsParseTransformer_1.IsParseTransformer.transform; },
59
62
  assertParse: function () { return AssertParseTransformer_1.AssertParseTransformer.transform; },
60
63
  validateParse: function () { return ValidateParseTransformer_1.ValidateParseTransformer.transform; },
@@ -62,7 +65,6 @@ var FUNCTORS = {
62
65
  assertStringify: function () { return AssertStringifyTransformer_1.AssertStringifyTransformer.transform; },
63
66
  isStringify: function () { return IsStringifyTransformer_1.IsStringifyTransformer.transform; },
64
67
  validateStringify: function () { return ValidateStringifyTransformer_1.ValidateStringifyTransformer.transform; },
65
- application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
66
68
  metadata: function () { return MetadataTransformer_1.MetadataTransformer.transform; },
67
69
  createAssert: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
68
70
  createAssertType: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
@@ -1 +1 @@
1
- {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace MessageTransformer {
4
+ function transform(project: IProject, _modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageTransformer = void 0;
4
+ var MessageProgrammer_1 = require("../../../programmers/MessageProgrammer");
5
+ var MessageTransformer;
6
+ (function (MessageTransformer) {
7
+ function transform(project, _modulo, expression) {
8
+ if (!expression.typeArguments || !expression.typeArguments[0])
9
+ throw new Error("Error on typia.message(): generic argument is not specified.");
10
+ var type = project.checker.getTypeFromTypeNode(expression.typeArguments[0]);
11
+ if (type.isTypeParameter())
12
+ throw new Error("Error on typia.message(): non-specified generic argument.");
13
+ return MessageProgrammer_1.MessageProgrammer.generate(project)(type);
14
+ }
15
+ MessageTransformer.transform = transform;
16
+ })(MessageTransformer = exports.MessageTransformer || (exports.MessageTransformer = {}));
17
+ //# sourceMappingURL=MessageTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protocols/MessageTransformer.ts"],"names":[],"mappings":";;;AAEA,4EAA2E;AAI3E,IAAiB,kBAAkB,CAoBlC;AApBD,WAAiB,kBAAkB;IAC/B,SAAgB,SAAS,CACrB,OAAiB,EACjB,OAAkC,EAClC,UAA6B;QAG7B,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,gEAA6B,CAAC;QAGjD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACrD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,IAAI,KAAK,6DAAgC,CAAC;QAGpD,OAAO,qCAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAlBe,4BAAS,YAkBxB,CAAA;AACL,CAAC,EApBgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAoBlC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.4.10",
3
+ "version": "3.5.0-dev.20221219",
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",
@@ -18,12 +18,12 @@
18
18
  "eslint:fix": "eslint ./**/*.ts --fix",
19
19
  "issue": "node test/issue",
20
20
  "prettier": "prettier --write ./**/*.ts",
21
- "publish:latest": "ts-node build/publish.ts latest && npm deprecate typescript-json \"Renamed to typia\"",
21
+ "publish:latest": "ts-node build/publish.ts latest",
22
22
  "publish:next": "ts-node build/publish.ts next",
23
+ "publish:deprecate": "npm deprecate typescript-json \"Renamed to typia\"",
23
24
  "test": "node bin/test",
24
25
  "test:generate": "ts-node -P tsconfig.test.json build/test.ts",
25
- "test:manual": "node test/manual",
26
- "test:application:replace": "node test/features/application/replace && npm run prettier"
26
+ "test:manual": "node test/manual"
27
27
  },
28
28
  "repository": {
29
29
  "type": "git",
@@ -18,7 +18,10 @@ export namespace ExpressionFactory {
18
18
 
19
19
  export function isObject(
20
20
  input: ts.Expression,
21
- checkNull: boolean,
21
+ options: {
22
+ checkNull: boolean;
23
+ checkArray: boolean;
24
+ },
22
25
  ): ts.Expression {
23
26
  const conditions: ts.Expression[] = [
24
27
  ts.factory.createStrictEquality(
@@ -26,25 +29,28 @@ export namespace ExpressionFactory {
26
29
  ts.factory.createTypeOfExpression(input),
27
30
  ),
28
31
  ];
29
- if (checkNull === true)
32
+ if (options.checkNull === true)
30
33
  conditions.push(
31
34
  ts.factory.createStrictInequality(
32
35
  ts.factory.createNull(),
33
36
  input,
34
37
  ),
35
38
  );
36
- conditions.push(
37
- ts.factory.createStrictEquality(
38
- ts.factory.createFalse(),
39
- ts.factory.createCallExpression(
40
- ts.factory.createIdentifier("Array.isArray"),
41
- undefined,
42
- [input],
39
+ if (options.checkArray === true)
40
+ conditions.push(
41
+ ts.factory.createStrictEquality(
42
+ ts.factory.createFalse(),
43
+ ts.factory.createCallExpression(
44
+ ts.factory.createIdentifier("Array.isArray"),
45
+ undefined,
46
+ [input],
47
+ ),
43
48
  ),
44
- ),
45
- );
49
+ );
46
50
 
47
- return conditions.reduce((x, y) => ts.factory.createLogicalAnd(x, y));
51
+ return conditions.length === 1
52
+ ? conditions[0]!
53
+ : conditions.reduce((x, y) => ts.factory.createLogicalAnd(x, y));
48
54
  }
49
55
 
50
56
  export function isInstanceOf(
@@ -112,6 +112,8 @@ const REPLACERS: [string, string][] = [
112
112
  ["}", "_bgt_"],
113
113
  ["<", "_lt_"],
114
114
  [">", "_gt_"],
115
+ ["(", "_lp_"],
116
+ [")", "_rp_"],
115
117
  ["[", "_alt_"],
116
118
  ["]", "_agt_"],
117
119
  [",", "_comma_"],
@@ -1,16 +1,17 @@
1
1
  import ts from "typescript";
2
2
 
3
3
  import { Metadata } from "../metadata/Metadata";
4
+ import { explore_metadata } from "./internal/metadata/explore_metadata";
4
5
 
5
6
  import { ArrayUtil } from "../utils/ArrayUtil";
6
7
 
7
8
  import { MetadataCollection } from "./MetadataCollection";
8
- import { explore_metadata } from "./internal/explore_metadata";
9
9
 
10
10
  export namespace MetadataFactory {
11
11
  export interface IOptions {
12
12
  resolve: boolean;
13
13
  constant: boolean;
14
+ validate?: (meta: Metadata) => void;
14
15
  }
15
16
 
16
17
  export function generate(
@@ -0,0 +1,97 @@
1
+ import ts from "typescript";
2
+
3
+ import { Metadata } from "../metadata/Metadata";
4
+
5
+ import { IProtocolMessage } from "../messages/IProtocolMessage";
6
+ import { MetadataCollection } from "./MetadataCollection";
7
+ import { MetadataFactory } from "./MetadataFactory";
8
+ import { emplace_protocol_object } from "./internal/protocols/emplace_protocol_object";
9
+ import { iterate_protocol_main } from "./internal/protocols/iterate_protocol_main";
10
+
11
+ export namespace ProtocolFactory {
12
+ export const collection = () =>
13
+ new MetadataCollection({
14
+ replace: MetadataCollection.replace,
15
+ });
16
+
17
+ export const metadata =
18
+ (checker: ts.TypeChecker) =>
19
+ (collection: MetadataCollection) =>
20
+ (type: ts.Type) =>
21
+ MetadataFactory.generate(checker, collection, type, {
22
+ resolve: false,
23
+ constant: true,
24
+ validate: (meta) => {
25
+ if (meta.any) throw new Error(ErrorMessages.NO_ANY);
26
+ else if (meta.functional && meta.size() !== 1)
27
+ throw new Error(ErrorMessages.NO_FUNCTIONAL);
28
+ else if (meta.objects.find((o) => o.name === "__Main"))
29
+ throw new Error(ErrorMessages.NO_MAIN);
30
+ else if (meta.objects.find((o) => o.name === "__Timestamp"))
31
+ throw new Error(ErrorMessages.NO_TIMESTAMP);
32
+ else if (
33
+ meta.objects.some(
34
+ (o) =>
35
+ o.properties.filter((p) =>
36
+ p.key.isSoleLiteral(),
37
+ ).length &&
38
+ o.properties.filter(
39
+ (p) => !p.key.isSoleLiteral(),
40
+ ).length,
41
+ )
42
+ )
43
+ throw new Error(ErrorMessages.NO_SIMULATENOUS);
44
+ else if (
45
+ meta.objects.some((o) =>
46
+ o.properties.some((p) => !is_atomic_key(p.key)),
47
+ ) ||
48
+ meta.maps.some((m) => !is_atomic_key(m.key))
49
+ )
50
+ throw new Error(ErrorMessages.NOT_ALLOWED_KEY);
51
+ },
52
+ });
53
+
54
+ export const generate =
55
+ (collection: MetadataCollection) =>
56
+ (dict: Map<string, IProtocolMessage>) =>
57
+ (meta: Metadata) => {
58
+ // EMPLACE OBJECTS
59
+ for (const obj of collection.objects())
60
+ emplace_protocol_object(dict)(obj);
61
+
62
+ // WHEN NOT OBJECT, WRAP IT INTO A FAKE MAIN OBJECT
63
+ iterate_protocol_main(dict)(meta);
64
+ };
65
+
66
+ const is_atomic_key = (key: Metadata) => {
67
+ if (
68
+ key.required &&
69
+ key.nullable === false &&
70
+ key.functional === false &&
71
+ key.resolved === null &&
72
+ key.size() ===
73
+ key.atomics.length +
74
+ key.constants
75
+ .map((c) => c.values.length)
76
+ .reduce((a, b) => a + b, 0) +
77
+ key.templates.length
78
+ ) {
79
+ const set: Set<string> = new Set();
80
+ for (const atomic of key.atomics) set.add(atomic);
81
+ for (const constant of key.constants) set.add(constant.type);
82
+ if (key.templates.length) set.add("string");
83
+
84
+ return set.size === 1;
85
+ }
86
+ return false;
87
+ };
88
+ }
89
+
90
+ const enum ErrorMessages {
91
+ NO_ANY = `Error on typia.message(): any type is not supported in protocol buffer.`,
92
+ NO_FUNCTIONAL = `Error on typia.message(): functional type is not supported in protocol buffer.`,
93
+ NO_MAIN = `Error on typia.message(): reserved type "__Main" has been detected.`,
94
+ NO_TIMESTAMP = `Error on typia.message(): reserved type "__Timestamp" has been detected.`,
95
+ NOT_ALLOWED_KEY = `Error on typia.message(): only atomic key type is supported in protocol buffer.`,
96
+ NO_SIMULATENOUS = `Error on typia.message(): object can't have both regular and dynamic properties in protocol buffer.`,
97
+ }
@@ -1,4 +1,4 @@
1
- import { Metadata } from "../../metadata/Metadata";
1
+ import { Metadata } from "../../../metadata/Metadata";
2
2
 
3
3
  export namespace MetadataHelper {
4
4
  export function literal_to_metadata(key: string): Metadata {
@@ -1,17 +1,17 @@
1
1
  import ts from "typescript";
2
2
 
3
- import { Metadata } from "../../metadata/Metadata";
4
- import { MetadataObject } from "../../metadata/MetadataObject";
5
- import { MetadataProperty } from "../../metadata/MetadataProperty";
3
+ import { Metadata } from "../../../metadata/Metadata";
4
+ import { MetadataObject } from "../../../metadata/MetadataObject";
5
+ import { MetadataProperty } from "../../../metadata/MetadataProperty";
6
6
 
7
- import { Writable } from "../../typings/Writable";
7
+ import { Writable } from "../../../typings/Writable";
8
8
 
9
- import { ArrayUtil } from "../../utils/ArrayUtil";
9
+ import { ArrayUtil } from "../../../utils/ArrayUtil";
10
10
 
11
- import { CommentFactory } from "../CommentFactory";
12
- import { MetadataCollection } from "../MetadataCollection";
13
- import { MetadataFactory } from "../MetadataFactory";
14
- import { MetadataTagFactory } from "../MetadataTagFactory";
11
+ import { CommentFactory } from "../../CommentFactory";
12
+ import { MetadataCollection } from "../../MetadataCollection";
13
+ import { MetadataFactory } from "../../MetadataFactory";
14
+ import { MetadataTagFactory } from "../../MetadataTagFactory";
15
15
  import { MetadataHelper } from "./MetadataHelper";
16
16
  import { explore_metadata } from "./explore_metadata";
17
17
 
@@ -1,12 +1,12 @@
1
1
  import ts from "typescript";
2
2
 
3
- import { Metadata } from "../../metadata/Metadata";
4
- import { MetadataObject } from "../../metadata/MetadataObject";
3
+ import { Metadata } from "../../../metadata/Metadata";
4
+ import { MetadataObject } from "../../../metadata/MetadataObject";
5
5
 
6
- import { ArrayUtil } from "../../utils/ArrayUtil";
6
+ import { ArrayUtil } from "../../../utils/ArrayUtil";
7
7
 
8
- import { MetadataCollection } from "../MetadataCollection";
9
- import { MetadataFactory } from "../MetadataFactory";
8
+ import { MetadataCollection } from "../../MetadataCollection";
9
+ import { MetadataFactory } from "../../MetadataFactory";
10
10
  import { iterate_metadata } from "./iterate_metadata";
11
11
 
12
12
  export const explore_metadata =
@@ -86,6 +86,7 @@ export const explore_metadata =
86
86
  )
87
87
  meta.templates.splice(0, meta.templates.length);
88
88
 
89
- // RETURNS
89
+ // RETURNS WITH VALIDATION
90
+ if (options.validate) options.validate(meta);
90
91
  return meta;
91
92
  };
@@ -1,11 +1,11 @@
1
1
  import ts from "typescript";
2
2
 
3
- import { Metadata } from "../../metadata/Metadata";
3
+ import { Metadata } from "../../../metadata/Metadata";
4
4
 
5
- import { ArrayUtil } from "../../utils/ArrayUtil";
5
+ import { ArrayUtil } from "../../../utils/ArrayUtil";
6
6
 
7
- import { MetadataCollection } from "../MetadataCollection";
8
- import { MetadataFactory } from "../MetadataFactory";
7
+ import { MetadataCollection } from "../../MetadataCollection";
8
+ import { MetadataFactory } from "../../MetadataFactory";
9
9
  import { iterate_metadata_array } from "./iterate_metadata_array";
10
10
  import { iterate_metadata_atomic } from "./iterate_metadata_atomic";
11
11
  import { iterate_metadata_coalesce } from "./iterate_metadata_coalesce";
@@ -1,11 +1,11 @@
1
1
  import ts from "typescript";
2
2
 
3
- import { Metadata } from "../../metadata/Metadata";
3
+ import { Metadata } from "../../../metadata/Metadata";
4
4
 
5
- import { ArrayUtil } from "../../utils/ArrayUtil";
5
+ import { ArrayUtil } from "../../../utils/ArrayUtil";
6
6
 
7
- import { MetadataCollection } from "../MetadataCollection";
8
- import { MetadataFactory } from "../MetadataFactory";
7
+ import { MetadataCollection } from "../../MetadataCollection";
8
+ import { MetadataFactory } from "../../MetadataFactory";
9
9
  import { explore_metadata } from "./explore_metadata";
10
10
 
11
11
  export const iterate_metadata_array =
@@ -1,10 +1,10 @@
1
1
  import ts from "typescript";
2
2
 
3
- import { Metadata } from "../../metadata/Metadata";
3
+ import { Metadata } from "../../../metadata/Metadata";
4
4
 
5
- import { Atomic } from "../../typings/Atomic";
5
+ import { Atomic } from "../../../typings/Atomic";
6
6
 
7
- import { ArrayUtil } from "../../utils/ArrayUtil";
7
+ import { ArrayUtil } from "../../../utils/ArrayUtil";
8
8
 
9
9
  const same = (type: ts.Type | null) => {
10
10
  if (type === null) return () => false;