typia 5.0.0-dev.20230810 → 5.0.0-dev.20230814

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 (190) hide show
  1. package/lib/factories/MetadataCollection.js +1 -0
  2. package/lib/factories/MetadataCollection.js.map +1 -1
  3. package/lib/factories/MetadataFactory.js +27 -0
  4. package/lib/factories/MetadataFactory.js.map +1 -1
  5. package/lib/factories/ProtobufFactory.d.ts +0 -2
  6. package/lib/factories/ProtobufFactory.js +55 -111
  7. package/lib/factories/ProtobufFactory.js.map +1 -1
  8. package/lib/factories/StatementFactory.d.ts +1 -0
  9. package/lib/factories/StatementFactory.js +5 -0
  10. package/lib/factories/StatementFactory.js.map +1 -1
  11. package/lib/factories/internal/metadata/explore_metadata.js +3 -7
  12. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  13. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +1 -0
  14. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  15. package/lib/functional/$strlen.d.ts +1 -0
  16. package/lib/functional/$strlen.js +13 -0
  17. package/lib/functional/$strlen.js.map +1 -0
  18. package/lib/functional/Namespace.js +19 -3
  19. package/lib/functional/Namespace.js.map +1 -1
  20. package/lib/json.js +4 -4
  21. package/lib/json.js.map +1 -1
  22. package/lib/misc.js +8 -8
  23. package/lib/misc.js.map +1 -1
  24. package/lib/programmers/CheckerProgrammer.js +0 -5
  25. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  26. package/lib/programmers/FeatureProgrammer.d.ts +3 -3
  27. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  28. package/lib/programmers/helpers/ProtobufUtil.d.ts +5 -0
  29. package/lib/programmers/helpers/ProtobufUtil.js +82 -0
  30. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -0
  31. package/lib/programmers/helpers/ProtobufWire.d.ts +25 -0
  32. package/lib/{schemas/protobuf/IProtocolMap.js → programmers/helpers/ProtobufWire.js} +1 -1
  33. package/lib/programmers/helpers/ProtobufWire.js.map +1 -0
  34. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +253 -5
  35. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  36. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +23 -37
  37. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  38. package/lib/programmers/protobuf/ProtobufSizeProgrammer.d.ts +5 -0
  39. package/lib/programmers/protobuf/ProtobufSizeProgrammer.js +409 -0
  40. package/lib/programmers/protobuf/ProtobufSizeProgrammer.js.map +1 -0
  41. package/lib/protobuf.js +9 -1
  42. package/lib/protobuf.js.map +1 -1
  43. package/lib/schemas/metadata/Metadata.js +11 -0
  44. package/lib/schemas/metadata/Metadata.js.map +1 -1
  45. package/lib/transformers/CallExpressionTransformer.js +26 -22
  46. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  47. package/lib/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.js +1 -1
  48. package/lib/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.js.map +1 -1
  49. package/lib/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.js +1 -1
  50. package/lib/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.js.map +1 -1
  51. package/lib/transformers/features/protobuf/CreateProtobufDecodeTransformer.js +1 -3
  52. package/lib/transformers/features/protobuf/CreateProtobufDecodeTransformer.js.map +1 -1
  53. package/lib/transformers/features/protobuf/CreateProtobufEncodeTransformer.js +1 -3
  54. package/lib/transformers/features/protobuf/CreateProtobufEncodeTransformer.js.map +1 -1
  55. package/lib/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.js +1 -1
  56. package/lib/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.js.map +1 -1
  57. package/lib/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.js +1 -1
  58. package/lib/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.js.map +1 -1
  59. package/lib/transformers/features/protobuf/CreateProtobufSizeTransformer.d.ts +3 -0
  60. package/lib/transformers/features/protobuf/CreateProtobufSizeTransformer.js +10 -0
  61. package/lib/transformers/features/protobuf/CreateProtobufSizeTransformer.js.map +1 -0
  62. package/lib/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.js +1 -1
  63. package/lib/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.js.map +1 -1
  64. package/lib/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.js +1 -1
  65. package/lib/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.js.map +1 -1
  66. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js +1 -1
  67. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js.map +1 -1
  68. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js +1 -1
  69. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js.map +1 -1
  70. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js +1 -1
  71. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js.map +1 -1
  72. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js +1 -1
  73. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js.map +1 -1
  74. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js +1 -1
  75. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js.map +1 -1
  76. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js +1 -1
  77. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js.map +1 -1
  78. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.d.ts +1 -1
  79. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +7 -7
  80. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  81. package/lib/transformers/features/protobuf/ProtobufSizeTransformer.d.ts +3 -0
  82. package/lib/transformers/features/protobuf/ProtobufSizeTransformer.js +10 -0
  83. package/lib/transformers/features/protobuf/ProtobufSizeTransformer.js.map +1 -0
  84. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js +1 -1
  85. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js.map +1 -1
  86. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js +1 -1
  87. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js.map +1 -1
  88. package/package.json +2 -1
  89. package/src/factories/MetadataCollection.ts +5 -0
  90. package/src/factories/MetadataFactory.ts +4 -0
  91. package/src/factories/ProtobufFactory.ts +106 -90
  92. package/src/factories/StatementFactory.ts +16 -0
  93. package/src/factories/internal/metadata/explore_metadata.ts +4 -6
  94. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +1 -0
  95. package/src/functional/$strlen.ts +7 -0
  96. package/src/functional/Namespace.ts +32 -17
  97. package/src/json.ts +4 -4
  98. package/src/misc.ts +8 -8
  99. package/src/programmers/CheckerProgrammer.ts +0 -9
  100. package/src/programmers/FeatureProgrammer.ts +5 -3
  101. package/src/programmers/helpers/ProtobufUtil.ts +24 -0
  102. package/src/programmers/helpers/ProtobufWire.ts +28 -0
  103. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +446 -5
  104. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +12 -8
  105. package/src/programmers/protobuf/ProtobufSizeProgrammer.ts +716 -0
  106. package/src/protobuf.ts +29 -0
  107. package/src/schemas/metadata/Metadata.ts +26 -0
  108. package/src/transformers/CallExpressionTransformer.ts +32 -28
  109. package/src/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.ts +3 -1
  110. package/src/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.ts +3 -1
  111. package/src/transformers/features/protobuf/CreateProtobufDecodeTransformer.ts +3 -4
  112. package/src/transformers/features/protobuf/CreateProtobufEncodeTransformer.ts +3 -4
  113. package/src/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.ts +3 -1
  114. package/src/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.ts +3 -1
  115. package/src/transformers/features/protobuf/CreateProtobufSizeTransformer.ts +9 -0
  116. package/src/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.ts +3 -1
  117. package/src/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.ts +3 -1
  118. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +1 -1
  119. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +1 -1
  120. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +1 -1
  121. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +1 -1
  122. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +1 -1
  123. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +1 -1
  124. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +3 -3
  125. package/src/transformers/features/protobuf/ProtobufSizeTransformer.ts +9 -0
  126. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +3 -1
  127. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +3 -1
  128. package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +0 -16
  129. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +0 -173
  130. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +0 -1
  131. package/lib/factories/internal/protocols/emplace_protocol_object.d.ts +0 -3
  132. package/lib/factories/internal/protocols/emplace_protocol_object.js +0 -47
  133. package/lib/factories/internal/protocols/emplace_protocol_object.js.map +0 -1
  134. package/lib/factories/internal/protocols/emplace_protocol_property.d.ts +0 -4
  135. package/lib/factories/internal/protocols/emplace_protocol_property.js +0 -20
  136. package/lib/factories/internal/protocols/emplace_protocol_property.js.map +0 -1
  137. package/lib/factories/internal/protocols/iterate_protocol_atomic.d.ts +0 -3
  138. package/lib/factories/internal/protocols/iterate_protocol_atomic.js +0 -69
  139. package/lib/factories/internal/protocols/iterate_protocol_atomic.js.map +0 -1
  140. package/lib/factories/internal/protocols/iterate_protocol_constant.d.ts +0 -2
  141. package/lib/factories/internal/protocols/iterate_protocol_constant.js +0 -30
  142. package/lib/factories/internal/protocols/iterate_protocol_constant.js.map +0 -1
  143. package/lib/factories/internal/protocols/iterate_protocol_main.d.ts +0 -3
  144. package/lib/factories/internal/protocols/iterate_protocol_main.js +0 -17
  145. package/lib/factories/internal/protocols/iterate_protocol_main.js.map +0 -1
  146. package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +0 -4
  147. package/lib/factories/internal/protocols/iterate_protocol_map.js +0 -75
  148. package/lib/factories/internal/protocols/iterate_protocol_map.js.map +0 -1
  149. package/lib/factories/internal/protocols/iterate_protocol_metadata.d.ts +0 -5
  150. package/lib/factories/internal/protocols/iterate_protocol_metadata.js +0 -190
  151. package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +0 -1
  152. package/lib/factories/internal/protocols/iterate_protocol_native.d.ts +0 -2
  153. package/lib/factories/internal/protocols/iterate_protocol_native.js +0 -33
  154. package/lib/factories/internal/protocols/iterate_protocol_native.js.map +0 -1
  155. package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +0 -1
  156. package/lib/factories/internal/protocols/iterate_protocol_never.js +0 -6
  157. package/lib/factories/internal/protocols/iterate_protocol_never.js.map +0 -1
  158. package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +0 -4
  159. package/lib/factories/internal/protocols/iterate_protocol_object.js +0 -157
  160. package/lib/factories/internal/protocols/iterate_protocol_object.js.map +0 -1
  161. package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +0 -5
  162. package/lib/factories/internal/protocols/iterate_protocol_repeated.js +0 -25
  163. package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +0 -1
  164. package/lib/factories/internal/protocols/iterate_protocol_tuple.d.ts +0 -3
  165. package/lib/factories/internal/protocols/iterate_protocol_tuple.js +0 -46
  166. package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +0 -1
  167. package/lib/schemas/protobuf/IProtocolMap.d.ts +0 -5
  168. package/lib/schemas/protobuf/IProtocolMap.js.map +0 -1
  169. package/lib/schemas/protobuf/IProtocolMessage.d.ts +0 -5
  170. package/lib/schemas/protobuf/IProtocolMessage.js +0 -3
  171. package/lib/schemas/protobuf/IProtocolMessage.js.map +0 -1
  172. package/lib/schemas/protobuf/IProtocolProperty.d.ts +0 -12
  173. package/lib/schemas/protobuf/IProtocolProperty.js +0 -3
  174. package/lib/schemas/protobuf/IProtocolProperty.js.map +0 -1
  175. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +0 -180
  176. package/src/factories/internal/protocols/emplace_protocol_object.ts +0 -25
  177. package/src/factories/internal/protocols/emplace_protocol_property.ts +0 -12
  178. package/src/factories/internal/protocols/iterate_protocol_atomic.ts +0 -34
  179. package/src/factories/internal/protocols/iterate_protocol_constant.ts +0 -27
  180. package/src/factories/internal/protocols/iterate_protocol_main.ts +0 -19
  181. package/src/factories/internal/protocols/iterate_protocol_map.ts +0 -58
  182. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +0 -96
  183. package/src/factories/internal/protocols/iterate_protocol_native.ts +0 -34
  184. package/src/factories/internal/protocols/iterate_protocol_never.ts +0 -1
  185. package/src/factories/internal/protocols/iterate_protocol_object.ts +0 -110
  186. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +0 -34
  187. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +0 -29
  188. package/src/schemas/protobuf/IProtocolMap.ts +0 -5
  189. package/src/schemas/protobuf/IProtocolMessage.ts +0 -6
  190. package/src/schemas/protobuf/IProtocolProperty.ts +0 -13
@@ -1,157 +0,0 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- var __values = (this && this.__values) || function(o) {
28
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
29
- if (m) return m.call(o);
30
- if (o && typeof o.length === "number") return {
31
- next: function () {
32
- if (o && i >= o.length) o = void 0;
33
- return { value: o && o[i++], done: !o };
34
- }
35
- };
36
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.iterate_protocol_object = void 0;
40
- var Metadata_1 = require("../../../schemas/metadata/Metadata");
41
- var MapUtil_1 = require("../../../utils/MapUtil");
42
- var ProtocolMetadataUtil_1 = require("./ProtocolMetadataUtil");
43
- var emplace_protocol_object_1 = require("./emplace_protocol_object");
44
- var iterate_protocol_metadata_1 = require("./iterate_protocol_metadata");
45
- var iterate_protocol_object = function (sole) {
46
- return function (dict) {
47
- return function (obj) {
48
- var _a;
49
- var statics = obj.properties.filter(filter(true));
50
- var dynamics = aggregate(obj.properties.filter(filter(false)));
51
- if (dynamics.length === 0)
52
- return obj.name;
53
- var regular = statics.length
54
- ? (function () {
55
- var _a;
56
- var r = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(obj.name, ".__Regular"), dict.size);
57
- (_a = r.properties).push.apply(_a, __spreadArray([], __read(statics), false));
58
- (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(r);
59
- return r;
60
- })()
61
- : undefined;
62
- if (regular === undefined && dynamics.length === 1 && sole === true) {
63
- var _b = dynamics[0], key = _b.key, value_1 = _b.value;
64
- return {
65
- type: "map",
66
- key: key.getName(),
67
- value: ProtocolMetadataUtil_1.ProtocolMetadataUtil.standalone(value_1)
68
- ? (0, iterate_protocol_metadata_1.iterate_protocol_metadata)(dict)(value_1)([]).oneOf[0].type
69
- : (function () {
70
- var wrapper = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(obj.name, ".__Wrapper"), dict.size);
71
- wrapper.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("value", value_1, []));
72
- (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(wrapper);
73
- return wrapper.name;
74
- })(),
75
- };
76
- }
77
- var wrapper = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(obj.name, ".__Wrapper"), dict.size);
78
- if (regular !== undefined)
79
- wrapper.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("regular", ProtocolMetadataUtil_1.ProtocolMetadataUtil.reference(regular), []));
80
- (_a = wrapper.properties).push.apply(_a, __spreadArray([], __read(dynamics.map(function (map, i) {
81
- return ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("__map_".concat(i), ProtocolMetadataUtil_1.ProtocolMetadataUtil.map(map), []);
82
- })), false));
83
- (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(wrapper);
84
- return wrapper.name;
85
- };
86
- };
87
- };
88
- exports.iterate_protocol_object = iterate_protocol_object;
89
- var filter = function (regular) { return function (prop) {
90
- return regular === prop.key.isSoleLiteral();
91
- }; };
92
- var aggregate = function (properties) {
93
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
94
- var unique = new Map();
95
- try {
96
- for (var properties_1 = __values(properties), properties_1_1 = properties_1.next(); !properties_1_1.done; properties_1_1 = properties_1.next()) {
97
- var prop = properties_1_1.value;
98
- if (prop.key.templates)
99
- MapUtil_1.MapUtil.take(unique)("string", function () { return []; }).push(prop);
100
- try {
101
- for (var _e = (e_2 = void 0, __values(prop.key.atomics)), _f = _e.next(); !_f.done; _f = _e.next()) {
102
- var type = _f.value;
103
- MapUtil_1.MapUtil.take(unique)(type, function () { return []; }).push(prop);
104
- }
105
- }
106
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
107
- finally {
108
- try {
109
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
110
- }
111
- finally { if (e_2) throw e_2.error; }
112
- }
113
- try {
114
- for (var _g = (e_3 = void 0, __values(prop.key.constants)), _h = _g.next(); !_h.done; _h = _g.next()) {
115
- var type = _h.value.type;
116
- MapUtil_1.MapUtil.take(unique)(type, function () { return []; }).push(prop);
117
- }
118
- }
119
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
120
- finally {
121
- try {
122
- if (_h && !_h.done && (_c = _g.return)) _c.call(_g);
123
- }
124
- finally { if (e_3) throw e_3.error; }
125
- }
126
- }
127
- }
128
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
129
- finally {
130
- try {
131
- if (properties_1_1 && !properties_1_1.done && (_a = properties_1.return)) _a.call(properties_1);
132
- }
133
- finally { if (e_1) throw e_1.error; }
134
- }
135
- var output = [];
136
- try {
137
- for (var unique_1 = __values(unique), unique_1_1 = unique_1.next(); !unique_1_1.done; unique_1_1 = unique_1.next()) {
138
- var _j = __read(unique_1_1.value, 2), key = _j[0], properties_2 = _j[1];
139
- var value = properties_2
140
- .map(function (x) { return x.value; })
141
- .reduce(function (x, y) { return Metadata_1.Metadata.merge(x, y); });
142
- output.push({
143
- key: ProtocolMetadataUtil_1.ProtocolMetadataUtil.atomic(key),
144
- value: value,
145
- });
146
- }
147
- }
148
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
149
- finally {
150
- try {
151
- if (unique_1_1 && !unique_1_1.done && (_d = unique_1.return)) _d.call(unique_1);
152
- }
153
- finally { if (e_4) throw e_4.error; }
154
- }
155
- return output;
156
- };
157
- //# sourceMappingURL=iterate_protocol_object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iterate_protocol_object.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_object.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { IMetadataTag } from "../../../schemas/metadata/IMetadataTag";
2
- import { Metadata } from "../../../schemas/metadata/Metadata";
3
- import { IProtocolMap } from "../../../schemas/protobuf/IProtocolMap";
4
- import { IProtocolMessage } from "../../../schemas/protobuf/IProtocolMessage";
5
- export declare const iterate_protocol_repeated: (container: "Array" | "Set") => (sole: boolean, bucket: boolean) => (dict: Map<string, IProtocolMessage>) => (meta: Metadata) => (tags: IMetadataTag[]) => string | IProtocolMap;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.iterate_protocol_repeated = void 0;
4
- var ProtocolMetadataUtil_1 = require("./ProtocolMetadataUtil");
5
- var emplace_protocol_object_1 = require("./emplace_protocol_object");
6
- var iterate_protocol_metadata_1 = require("./iterate_protocol_metadata");
7
- var iterate_protocol_repeated = function (container) {
8
- return function (sole, bucket) {
9
- return function (dict) {
10
- return function (meta) {
11
- return function (tags) {
12
- sole && (sole = ProtocolMetadataUtil_1.ProtocolMetadataUtil.standalone(meta));
13
- if (sole === true)
14
- return (0, iterate_protocol_metadata_1.iterate_protocol_metadata)(dict)(meta)(tags).oneOf[0].type;
15
- var obj = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(container, ".").concat(bucket ? "Element" : "Wrapper", "<").concat(meta.getName(), ">"), dict.size);
16
- obj.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("value", bucket ? meta : ProtocolMetadataUtil_1.ProtocolMetadataUtil.array(meta), tags));
17
- (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(obj);
18
- return obj.name;
19
- };
20
- };
21
- };
22
- };
23
- };
24
- exports.iterate_protocol_repeated = iterate_protocol_repeated;
25
- //# sourceMappingURL=iterate_protocol_repeated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iterate_protocol_repeated.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_repeated.ts"],"names":[],"mappings":";;;AAMA,+DAA8D;AAC9D,qEAAoE;AACpE,yEAAwE;AAEjE,IAAM,yBAAyB,GAClC,UAAC,SAA0B;IAC3B,OAAA,UAAC,IAAa,EAAE,MAAe;QAC/B,OAAA,UAAC,IAAmC;YACpC,OAAA,UAAC,IAAc;gBACf,OAAA,UAAC,IAAoB;oBACjB,IAAI,KAAJ,IAAI,GAAK,2CAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC;oBAC/C,IAAI,IAAI,KAAK,IAAI;wBACb,OAAO,IAAA,qDAAyB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;oBAEtE,IAAM,GAAG,GAAmB,2CAAoB,CAAC,MAAM,CACnD,UAAG,SAAS,cAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,cAAI,IAAI,CAAC,OAAO,EAAE,MAAG,EACnE,IAAI,CAAC,IAAI,CACZ,CAAC;oBACF,GAAG,CAAC,UAAU,CAAC,IAAI,CACf,2CAAoB,CAAC,QAAQ,CACzB,OAAO,EACP,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2CAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,EAChD,IAAI,CACP,CACJ,CAAC;oBACF,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnC,OAAO,GAAG,CAAC,IAAI,CAAC;gBACpB,CAAC;YAlBD,CAkBC;QAnBD,CAmBC;IApBD,CAoBC;AArBD,CAqBC,CAAC;AAvBO,QAAA,yBAAyB,6BAuBhC"}
@@ -1,3 +0,0 @@
1
- import { Metadata } from "../../../schemas/metadata/Metadata";
2
- import { IProtocolMessage } from "../../../schemas/protobuf/IProtocolMessage";
3
- export declare const iterate_protocol_tuple: (dict: Map<string, IProtocolMessage>) => (tuple: Metadata[]) => string;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.iterate_protocol_tuple = void 0;
29
- var ProtocolMetadataUtil_1 = require("./ProtocolMetadataUtil");
30
- var emplace_protocol_object_1 = require("./emplace_protocol_object");
31
- var iterate_protocol_tuple = function (dict) {
32
- return function (tuple) {
33
- var _a;
34
- var name = "[".concat(tuple.map(function (m) { return m.getName(); }).join(", "), "]");
35
- if (dict.has(name))
36
- return name;
37
- var obj = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object(name, dict.size);
38
- (_a = obj.properties).push.apply(_a, __spreadArray([], __read(tuple.map(function (value, i) {
39
- return ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("v".concat(i), value.rest ? ProtocolMetadataUtil_1.ProtocolMetadataUtil.array(value.rest) : value, []);
40
- })), false));
41
- (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(obj);
42
- return obj.name;
43
- };
44
- };
45
- exports.iterate_protocol_tuple = iterate_protocol_tuple;
46
- //# sourceMappingURL=iterate_protocol_tuple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iterate_protocol_tuple.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,+DAA8D;AAC9D,qEAAoE;AAE7D,IAAM,sBAAsB,GAC/B,UAAC,IAAmC;IACpC,OAAA,UAAC,KAAiB;;QACd,IAAM,IAAI,GAAW,WAAI,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAE,EAAX,CAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;QACrE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhC,IAAM,GAAG,GAAmB,2CAAoB,CAAC,MAAM,CACnD,IAAI,EACJ,IAAI,CAAC,IAAI,CACZ,CAAC;QACF,CAAA,KAAA,GAAG,CAAC,UAAU,CAAA,CAAC,IAAI,oCACZ,KAAK,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,CAAC;YAClB,OAAA,2CAAoB,CAAC,QAAQ,CACzB,WAAI,CAAC,CAAE,EACP,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,2CAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAC3D,EAAE,CACL;QAJD,CAIC,CACJ,WACH;QACF,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;AAnBD,CAmBC,CAAC;AArBO,QAAA,sBAAsB,0BAqB7B"}
@@ -1,5 +0,0 @@
1
- export interface IProtocolMap {
2
- type: "map";
3
- key: string;
4
- value: string | IProtocolMap;
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IProtocolMap.js","sourceRoot":"","sources":["../../../src/schemas/protobuf/IProtocolMap.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { IProtocolProperty } from "./IProtocolProperty";
2
- export interface IProtocolMessage {
3
- name: string;
4
- properties: IProtocolProperty[];
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IProtocolMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IProtocolMessage.js","sourceRoot":"","sources":["../../../src/schemas/protobuf/IProtocolMessage.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { IProtocolMap } from "./IProtocolMap";
2
- export interface IProtocolProperty {
3
- key: string;
4
- oneOf: IProtocolProperty.IOneOf[];
5
- required: boolean;
6
- repeated: boolean;
7
- }
8
- export declare namespace IProtocolProperty {
9
- interface IOneOf {
10
- type: string | IProtocolMap;
11
- }
12
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IProtocolProperty.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IProtocolProperty.js","sourceRoot":"","sources":["../../../src/schemas/protobuf/IProtocolProperty.ts"],"names":[],"mappings":""}
@@ -1,180 +0,0 @@
1
- import { IMetadataTag } from "../../../schemas/metadata/IMetadataTag";
2
- import { Metadata } from "../../../schemas/metadata/Metadata";
3
- import { MetadataArray } from "../../../schemas/metadata/MetadataArray";
4
- import { MetadataObject } from "../../../schemas/metadata/MetadataObject";
5
- import { MetadataProperty } from "../../../schemas/metadata/MetadataProperty";
6
-
7
- import { Atomic } from "../../../typings/Atomic";
8
-
9
- export namespace ProtocolMetadataUtil {
10
- export function size(meta: Metadata): number {
11
- return (
12
- meta.atomics.length +
13
- meta.constants.filter(
14
- (c) =>
15
- meta.atomics.find((type) => c.type === type) === undefined,
16
- ).length +
17
- (meta.templates.length !== 0 &&
18
- meta.atomics.find((type) => type === "string") === undefined &&
19
- meta.constants.find((c) => c.type === "string") === undefined
20
- ? 1
21
- : 0) +
22
- meta.tuples.length +
23
- meta.arrays.length +
24
- meta.sets.length +
25
- meta.maps.length +
26
- meta.objects.length +
27
- meta.natives.filter((n) => n === "Date").length +
28
- (meta.natives.filter((n) => n !== "Date").length ? 1 : 0)
29
- );
30
- }
31
-
32
- export function standalone(meta: Metadata): boolean {
33
- return (
34
- size(meta) === 1 &&
35
- meta.required === true &&
36
- meta.nullable === false &&
37
- meta.tuples.length === 0 &&
38
- meta.arrays.length === 0 &&
39
- meta.sets.length === 0 &&
40
- meta.maps.length === 0 &&
41
- meta.objects.every((obj) =>
42
- obj.properties.every((p) => p.key.isSoleLiteral()),
43
- )
44
- );
45
- }
46
-
47
- export function regular(obj: MetadataObject): boolean {
48
- return obj.properties.every((p) => p.key.isSoleLiteral());
49
- }
50
-
51
- export function object(name: string, index: number): MetadataObject {
52
- return MetadataObject.create({
53
- name,
54
- index,
55
- properties: [],
56
- description: undefined,
57
- jsDocTags: [],
58
- validated: false,
59
- recursive: false,
60
- nullables: [false],
61
- });
62
- }
63
-
64
- export function property(
65
- key: string,
66
- value: Metadata,
67
- tags: IMetadataTag[],
68
- ): MetadataProperty {
69
- return MetadataProperty.create({
70
- key: (() => {
71
- const meta: Metadata = Metadata.initialize();
72
- meta.constants.push({
73
- type: "string",
74
- values: [key],
75
- });
76
- return meta;
77
- })(),
78
- value: value,
79
- description: null,
80
- tags,
81
- jsDocTags: [],
82
- });
83
- }
84
-
85
- export function array(meta: Metadata): Metadata {
86
- return Metadata.create({
87
- any: false,
88
- required: true,
89
- optional: false,
90
- nullable: false,
91
- functional: false,
92
- resolved: null,
93
- aliases: [],
94
- atomics: [],
95
- constants: [],
96
- templates: [],
97
- rest: null,
98
- arrays: [
99
- MetadataArray.create({
100
- name: meta.getName(),
101
- value: meta,
102
- nullables: [false],
103
- recursive: false,
104
- index: null,
105
- }),
106
- ],
107
- tuples: [],
108
- objects: [],
109
- natives: [],
110
- sets: [],
111
- maps: [],
112
- });
113
- }
114
-
115
- export function atomic(type: Atomic.Literal): Metadata {
116
- return Metadata.create({
117
- any: false,
118
- required: true,
119
- optional: false,
120
- nullable: false,
121
- functional: false,
122
- resolved: null,
123
- aliases: [],
124
- atomics: [type],
125
- constants: [],
126
- templates: [],
127
- rest: null,
128
- arrays: [],
129
- tuples: [],
130
- objects: [],
131
- natives: [],
132
- sets: [],
133
- maps: [],
134
- });
135
- }
136
-
137
- export function reference(obj: MetadataObject): Metadata {
138
- return Metadata.create({
139
- any: false,
140
- required: true,
141
- optional: false,
142
- nullable: false,
143
- functional: false,
144
- resolved: null,
145
- aliases: [],
146
- atomics: [],
147
- constants: [],
148
- templates: [],
149
- rest: null,
150
- arrays: [],
151
- tuples: [],
152
- objects: [obj],
153
- natives: [],
154
- sets: [],
155
- maps: [],
156
- });
157
- }
158
-
159
- export function map(elem: Metadata.Entry): Metadata {
160
- return Metadata.create({
161
- any: false,
162
- required: true,
163
- optional: false,
164
- nullable: false,
165
- functional: false,
166
- resolved: null,
167
- aliases: [],
168
- atomics: [],
169
- constants: [],
170
- templates: [],
171
- rest: null,
172
- arrays: [],
173
- tuples: [],
174
- objects: [],
175
- natives: [],
176
- sets: [],
177
- maps: [elem],
178
- });
179
- }
180
- }
@@ -1,25 +0,0 @@
1
- import { MetadataObject } from "../../../schemas/metadata/MetadataObject";
2
- import { IProtocolMessage } from "../../../schemas/protobuf/IProtocolMessage";
3
-
4
- import { emplace_protocol_property } from "./emplace_protocol_property";
5
-
6
- export const emplace_protocol_object =
7
- (dict: Map<string, IProtocolMessage>) => (object: MetadataObject) => {
8
- if (dict.has(object.name)) return;
9
-
10
- const regular = object.properties.filter((p) => p.key.isSoleLiteral());
11
- const dynamic = object.properties.filter((p) => !p.key.isSoleLiteral());
12
-
13
- if (dynamic.length) return;
14
-
15
- const output: IProtocolMessage = {
16
- name: object.name,
17
- properties: [],
18
- };
19
- dict.set(object.name, output);
20
-
21
- output.properties.push(
22
- ...regular.map((prop) => emplace_protocol_property(dict)(prop)),
23
- );
24
- return output;
25
- };
@@ -1,12 +0,0 @@
1
- import { MetadataProperty } from "../../../schemas/metadata/MetadataProperty";
2
- import { IProtocolMessage } from "../../../schemas/protobuf/IProtocolMessage";
3
- import { IProtocolProperty } from "../../../schemas/protobuf/IProtocolProperty";
4
-
5
- import { iterate_protocol_metadata } from "./iterate_protocol_metadata";
6
-
7
- export const emplace_protocol_property =
8
- (dict: Map<string, IProtocolMessage>) =>
9
- (property: MetadataProperty): IProtocolProperty => ({
10
- key: property.key.getSoleLiteral()!,
11
- ...iterate_protocol_metadata(dict)(property.value)(property.tags),
12
- });
@@ -1,34 +0,0 @@
1
- import { IMetadataTag } from "../../../schemas/metadata/IMetadataTag";
2
-
3
- import { Atomic } from "../../../typings/Atomic";
4
-
5
- export const iterate_protocol_atomic =
6
- (tags: IMetadataTag[]) => (type: Atomic.Literal) => {
7
- if (type === "boolean") return "bool";
8
- else if (type === "number") return number(tags);
9
- else if (type === "bigint") return bigint(tags);
10
- else return "string";
11
- };
12
-
13
- const number = (tagList: IMetadataTag[]) => {
14
- const filtered: IMetadataTag.INumberType[] = tagList.filter(
15
- (tag) => tag.kind === "type",
16
- ) as IMetadataTag.INumberType[];
17
-
18
- for (const { value } of filtered)
19
- if (value === "int") return "int32";
20
- else if (value === "uint") return "uint32";
21
- return "double";
22
- };
23
-
24
- const bigint = (tagList: IMetadataTag[]) => {
25
- const filtered: IMetadataTag.INumberType[] = tagList.filter(
26
- (tag) =>
27
- tag.kind === "type" &&
28
- (tag.value === "int64" || tag.value === "uint64"),
29
- ) as IMetadataTag.INumberType[];
30
-
31
- for (const { value } of filtered)
32
- if (value === "int64" || value === "uint64") return value;
33
- return "int64";
34
- };
@@ -1,27 +0,0 @@
1
- import { MetadataConstant } from "../../../schemas/metadata/MetadataConstant";
2
-
3
- export const iterate_protocol_constant = ({
4
- type,
5
- values,
6
- }: MetadataConstant) => {
7
- if (type === "boolean") return "bool";
8
- else if (type === "number") return number(values);
9
- else if (type === "bigint") return bigint(values);
10
- else return "string";
11
- };
12
-
13
- const bigint = (values: bigint[]): string => {
14
- return values.every((v) => v >= BigInt(0)) ? "uint64" : "int64";
15
- };
16
-
17
- const number = (values: number[]): string => {
18
- return values.some((v) => Math.floor(v) !== v)
19
- ? "double"
20
- : values.every((v) => v >= 0)
21
- ? values.every((v) => v <= 2 ** 64 - 1)
22
- ? "uint32"
23
- : "uint64"
24
- : values.every((v) => -(2 ** 31) <= v && v <= 2 ** 31 - 1)
25
- ? "int32"
26
- : "int64";
27
- };
@@ -1,19 +0,0 @@
1
- import { Metadata } from "../../../schemas/metadata/Metadata";
2
- import { IProtocolMessage } from "../../../schemas/protobuf/IProtocolMessage";
3
-
4
- import { ProtocolMetadataUtil } from "./ProtocolMetadataUtil";
5
- import { emplace_protocol_object } from "./emplace_protocol_object";
6
-
7
- export const iterate_protocol_main =
8
- (dict: Map<string, IProtocolMessage>) =>
9
- (meta: Metadata): string => {
10
- // ONLY ONE OBJECT TYPE
11
- if (ProtocolMetadataUtil.standalone(meta) && meta.objects.length === 1)
12
- return meta.getName();
13
-
14
- const obj = ProtocolMetadataUtil.object("__Main", dict.size);
15
- obj.properties.push(ProtocolMetadataUtil.property("value", meta, []));
16
- emplace_protocol_object(dict)(obj);
17
-
18
- return obj.name;
19
- };