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,4 +1,40 @@
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
+ };
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
+ };
2
38
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
40
  };
@@ -6,21 +42,233 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
42
  exports.ProtobufEncodeProgrammer = void 0;
7
43
  var typescript_1 = __importDefault(require("typescript"));
8
44
  var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
45
+ var MetadataCollection_1 = require("../../factories/MetadataCollection");
46
+ var ProtobufFactory_1 = require("../../factories/ProtobufFactory");
47
+ var StatementFactory_1 = require("../../factories/StatementFactory");
9
48
  var TypeFactory_1 = require("../../factories/TypeFactory");
49
+ var FeatureProgrammer_1 = require("../FeatureProgrammer");
50
+ var IsProgrammer_1 = require("../IsProgrammer");
51
+ var FunctionImporeter_1 = require("../helpers/FunctionImporeter");
52
+ var ProtobufUtil_1 = require("../helpers/ProtobufUtil");
53
+ var UnionExplorer_1 = require("../helpers/UnionExplorer");
10
54
  var ProtobufEncodeProgrammer;
11
55
  (function (ProtobufEncodeProgrammer) {
12
56
  ProtobufEncodeProgrammer.write = function (project) {
13
57
  return function (modulo) {
14
58
  return function (type, name) {
15
- project;
16
- modulo;
17
- type;
18
- name;
59
+ var importer = new FunctionImporeter_1.FunctionImporter();
60
+ var collection = new MetadataCollection_1.MetadataCollection();
61
+ var meta = ProtobufFactory_1.ProtobufFactory.metadata(modulo.getText())(project.checker)(collection)(type);
62
+ meta;
63
+ write_object_function_body;
64
+ write_map_function_body;
65
+ explore_objects;
66
+ explore_arrays;
67
+ var block = [
68
+ StatementFactory_1.StatementFactory.constant("writer", typescript_1.default.factory.createNewExpression(importer.use("Writer"), undefined, undefined)),
69
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(WRITER())("finish"), undefined, undefined)),
70
+ ];
19
71
  return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
20
72
  IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type))),
21
- ], typescript_1.default.factory.createTypeReferenceNode("Uint8Array"), undefined, typescript_1.default.factory.createIdentifier("new Uint8Array()"));
73
+ ], typescript_1.default.factory.createTypeReferenceNode("Uint8Array"), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(block), false), true));
74
+ };
75
+ };
76
+ };
77
+ var write_object_function_body = function (project) {
78
+ return function (config) {
79
+ return function (importer) {
80
+ return function (input, obj, explore, tags) {
81
+ var top = obj.properties[0];
82
+ if (top.key.isSoleLiteral() === false)
83
+ return write_map_function_body(project)(config)(importer)(input, top, explore, tags);
84
+ var index = 1;
85
+ return typescript_1.default.factory.createBlock(obj.properties
86
+ .map(function (property) {
87
+ var statements = decode(project)(config)(importer)(index)(input, property.value, explore, property.tags).statements;
88
+ index += property.value.binarySize();
89
+ return statements;
90
+ })
91
+ .flat(), true);
92
+ };
93
+ };
94
+ };
95
+ };
96
+ var write_map_function_body = function (project) {
97
+ return function (config) {
98
+ return function (importer) {
99
+ return function (input, entry, explore, tags) {
100
+ project;
101
+ config;
102
+ importer;
103
+ input;
104
+ entry;
105
+ explore;
106
+ tags;
107
+ return typescript_1.default.factory.createBlock([], true);
108
+ };
109
+ };
110
+ };
111
+ };
112
+ var decode = function (project) {
113
+ return function (config) {
114
+ return function (importer) {
115
+ return function (index) {
116
+ return function (input, meta, explore, tags) {
117
+ var unions = ProtobufUtil_1.ProtobufUtil.atomics(meta).map(function (type) { return ({
118
+ type: type,
119
+ wire: function () { return null; },
120
+ is: function () {
121
+ return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(type), typescript_1.default.factory.createTypeOfExpression(input));
122
+ },
123
+ value: function () { return decode_atomic(input, type, tags); },
124
+ }); });
125
+ project;
126
+ config;
127
+ importer;
128
+ index;
129
+ explore;
130
+ unions;
131
+ return typescript_1.default.factory.createBlock([]);
132
+ };
133
+ };
134
+ };
135
+ };
136
+ };
137
+ var decode_object = function (project) {
138
+ return function (config) {
139
+ return function (importer) {
140
+ return function (input, object, explore) {
141
+ project;
142
+ config;
143
+ importer;
144
+ input;
145
+ object;
146
+ explore;
147
+ return typescript_1.default.factory.createBlock([].map(function (exp) { return typescript_1.default.factory.createExpressionStatement(exp); }), true);
148
+ };
149
+ };
150
+ };
151
+ };
152
+ var decode_array = function (project) {
153
+ return function (config) {
154
+ return function (importer) {
155
+ return function (index) {
156
+ return function (input, array, explore, tags) {
157
+ return typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read((index !== null
158
+ ? [
159
+ typescript_1.default.factory.createExpressionStatement(decode_tag(2)(index)),
160
+ ]
161
+ : [])), false), [
162
+ typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([typescript_1.default.factory.createVariableDeclaration("elem")], undefined), input, decode(project)(config)(importer)(index)(typescript_1.default.factory.createIdentifier("elem"), array.value, explore, tags)),
163
+ ], false), true);
164
+ };
165
+ };
166
+ };
167
+ };
168
+ };
169
+ var decode_atomic = function (input, atomic, tags) {
170
+ if (atomic === "string")
171
+ return decode_bytes("string")(input);
172
+ var out = function (method) {
173
+ return typescript_1.default.factory.createBlock([
174
+ typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(WRITER())(method), undefined, [input]),
175
+ ].map(function (exp) { return typescript_1.default.factory.createExpressionStatement(exp); }), true);
176
+ };
177
+ if (atomic === "boolean")
178
+ return out("bool");
179
+ var type = tags.find(function (tag) { return tag.kind === "type"; });
180
+ if (atomic === "bigint")
181
+ return out((type === null || type === void 0 ? void 0 : type.value) === "uint64" ? "uint64" : "int64");
182
+ else if (type === undefined || (type === null || type === void 0 ? void 0 : type.value) === "double")
183
+ return out("double");
184
+ else if (type.value === "float")
185
+ return out("float");
186
+ return out(type.value === "uint32" || type.value === "uint"
187
+ ? "uint32"
188
+ : type.value === "int32" || type.value === "int"
189
+ ? "int32"
190
+ : type.value === "int64"
191
+ ? "int64"
192
+ : "uint64");
193
+ };
194
+ var decode_bytes = function (method) {
195
+ return function (input) {
196
+ return typescript_1.default.factory.createBlock([
197
+ typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(WRITER())("uint32"), undefined, [IdentifierFactory_1.IdentifierFactory.access(input)("length")]),
198
+ typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(WRITER())(method), undefined, [input]),
199
+ ].map(function (expr) { return typescript_1.default.factory.createExpressionStatement(expr); }), true);
200
+ };
201
+ };
202
+ var decode_tag = function (wire) {
203
+ return function (index) {
204
+ return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(WRITER())("uint32"), undefined, [typescript_1.default.factory.createNumericLiteral((index << 3) | wire)]);
205
+ };
206
+ };
207
+ var explore_objects = function (project) {
208
+ return function (config) {
209
+ return function (importer) {
210
+ return function (input, meta, explore) {
211
+ return meta.objects.length === 1
212
+ ? decode_object(project)(config)(importer)(input, meta.objects[0], explore)
213
+ : typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "u").concat(meta.union_index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(explore)(input));
214
+ };
215
+ };
216
+ };
217
+ };
218
+ var explore_arrays = function (project) {
219
+ return function (config) {
220
+ return function (importer) {
221
+ return function (index) {
222
+ return function (input, elements, explore, tags) {
223
+ return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.array({
224
+ checker: IsProgrammer_1.IsProgrammer.decode(project)(importer),
225
+ decoder: function (input, target, explore, tags) {
226
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, decode_array(project)(config)(importer)(index)(input, target, explore, tags)), undefined, undefined);
227
+ },
228
+ empty: typescript_1.default.factory.createStringLiteral("[]"),
229
+ success: typescript_1.default.factory.createTrue(),
230
+ failure: function (input, expected) {
231
+ return create_throw_error(importer)(expected)(input);
232
+ },
233
+ }))(input, elements, explore, tags);
234
+ };
235
+ };
236
+ };
237
+ };
238
+ };
239
+ var explore_array_like_union_types = function (config) {
240
+ return function (importer) {
241
+ return function (factory) {
242
+ return function (input, elements, explore, tags) {
243
+ var arrow = function (parameters) {
244
+ return function (explore) {
245
+ return function (input) {
246
+ return factory(parameters)(input, elements, explore, tags, []);
247
+ };
248
+ };
249
+ };
250
+ if (elements.every(function (e) { return e.recursive === false; }))
251
+ typescript_1.default.factory.createCallExpression(arrow([])(explore)(input), undefined, []);
252
+ explore = __assign(__assign({}, explore), { source: "function", from: "array" });
253
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.emplaceUnion(config.prefix, elements.map(function (e) { return e.name; }).join(" | "), function () {
254
+ return arrow(FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")))(__assign(__assign({}, explore), { postfix: "" }))(typescript_1.default.factory.createIdentifier("input"));
255
+ })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(explore)(input));
256
+ };
257
+ };
258
+ };
259
+ };
260
+ var create_throw_error = function (importer) {
261
+ return function (expected) {
262
+ return function (value) {
263
+ return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(importer.use("throws"), [], [
264
+ typescript_1.default.factory.createObjectLiteralExpression([
265
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
266
+ typescript_1.default.factory.createPropertyAssignment("value", value),
267
+ ], true),
268
+ ]));
22
269
  };
23
270
  };
24
271
  };
25
272
  })(ProtobufEncodeProgrammer || (exports.ProtobufEncodeProgrammer = ProtobufEncodeProgrammer = {}));
273
+ var WRITER = function () { return typescript_1.default.factory.createIdentifier("writer"); };
26
274
  //# sourceMappingURL=ProtobufEncodeProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufEncodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufEncodeProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,2DAA0D;AAI1D,IAAiB,wBAAwB,CA4BxC;AA5BD,WAAiB,wBAAwB;IACxB,8BAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa;gBACzB,OAAO,CAAC;gBACR,MAAM,CAAC;gBACP,IAAI,CAAC;gBACL,IAAI,CAAC;gBAGL,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACjC,SAAS,EACT,SAAS,EACT;oBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,IAAI,aAAJ,IAAI,cAAJ,IAAI,GACA,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CACrD,CACJ;iBACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAChD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAClD,CAAC;YACN,CAAC;QAvBD,CAuBC;IAxBD,CAwBC,CAAC;AACV,CAAC,EA5BgB,wBAAwB,wCAAxB,wBAAwB,QA4BxC"}
1
+ {"version":3,"file":"ProtobufEncodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufEncodeProgrammer.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ var MetadataCollection_1 = require("../../factories/MetadataCollection");
45
45
  var ProtobufFactory_1 = require("../../factories/ProtobufFactory");
46
46
  var MapUtil_1 = require("../../utils/MapUtil");
47
47
  var NameEncoder_1 = require("../../utils/NameEncoder");
48
+ var ProtobufUtil_1 = require("../helpers/ProtobufUtil");
48
49
  var ProtobufMessageProgrammer;
49
50
  (function (ProtobufMessageProgrammer) {
50
51
  ProtobufMessageProgrammer.write = function (_a) {
@@ -119,96 +120,81 @@ var ProtobufMessageProgrammer;
119
120
  var type = decode(ptr)(prop.tags)(prop.value);
120
121
  return type.indexOf("${name}") !== -1
121
122
  ? type.replace("${name}", key)
122
- : "".concat(prop.value.arrays.length || key.startsWith("map<")
123
+ : "".concat(prop.value.arrays.length || type.startsWith("map<")
123
124
  ? ""
124
125
  : !prop.value.isRequired() || prop.value.nullable
125
126
  ? "optional "
126
- : "required").concat(type, " ").concat(key, " = ").concat(++ptr.value, ";");
127
+ : "required ").concat(type, " ").concat(key, " = ").concat(++ptr.value, ";");
127
128
  })
128
129
  .join("\n");
129
130
  };
130
131
  var decode = function (ptr) {
131
132
  return function (tags) {
132
133
  return function (meta) {
133
- var e_2, _a, e_3, _b, e_4, _c, e_5, _d, e_6, _e;
134
+ var e_2, _a, e_3, _b, e_4, _c, e_5, _d;
134
135
  var elements = new Set();
135
136
  if (meta.natives.length)
136
137
  elements.add("bytes");
137
- if (meta.templates.length)
138
- elements.add("string");
139
138
  try {
140
- for (var _f = __values(meta.atomics), _g = _f.next(); !_g.done; _g = _f.next()) {
141
- var atomic = _g.value;
139
+ for (var _e = __values(ProtobufUtil_1.ProtobufUtil.atomics(meta)), _f = _e.next(); !_f.done; _f = _e.next()) {
140
+ var atomic = _f.value;
142
141
  elements.add(decode_atomic(tags)(atomic));
143
142
  }
144
143
  }
145
144
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
146
145
  finally {
147
146
  try {
148
- if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
147
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
149
148
  }
150
149
  finally { if (e_2) throw e_2.error; }
151
150
  }
152
151
  try {
153
- for (var _h = __values(meta.constants), _j = _h.next(); !_j.done; _j = _h.next()) {
154
- var constant = _j.value;
155
- elements.add(decode_atomic(tags)(constant.type));
152
+ for (var _g = __values(meta.arrays), _h = _g.next(); !_h.done; _h = _g.next()) {
153
+ var array = _h.value;
154
+ elements.add("repeated ".concat(decode(ptr)(tags)(array.value)));
156
155
  }
157
156
  }
158
157
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
159
158
  finally {
160
159
  try {
161
- if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
160
+ if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
162
161
  }
163
162
  finally { if (e_3) throw e_3.error; }
164
163
  }
165
164
  try {
166
- for (var _k = __values(meta.arrays), _l = _k.next(); !_l.done; _l = _k.next()) {
167
- var array = _l.value;
168
- elements.add("repeated ".concat(decode(ptr)(tags)(array.value)));
169
- }
170
- }
171
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
172
- finally {
173
- try {
174
- if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
175
- }
176
- finally { if (e_4) throw e_4.error; }
177
- }
178
- try {
179
- for (var _m = __values(meta.objects), _o = _m.next(); !_o.done; _o = _m.next()) {
180
- var obj = _o.value;
165
+ for (var _j = __values(meta.objects), _k = _j.next(); !_k.done; _k = _j.next()) {
166
+ var obj = _k.value;
181
167
  elements.add(is_dynamic_object(obj)
182
168
  ? decode_map(ptr)(tags)(obj.properties[0])
183
169
  : NameEncoder_1.NameEncoder.encode(obj.name));
184
170
  }
185
171
  }
186
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
172
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
187
173
  finally {
188
174
  try {
189
- if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
175
+ if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
190
176
  }
191
- finally { if (e_5) throw e_5.error; }
177
+ finally { if (e_4) throw e_4.error; }
192
178
  }
193
179
  try {
194
- for (var _p = __values(meta.maps), _q = _p.next(); !_q.done; _q = _p.next()) {
195
- var map = _q.value;
180
+ for (var _l = __values(meta.maps), _m = _l.next(); !_m.done; _m = _l.next()) {
181
+ var map = _m.value;
196
182
  elements.add(decode_map(ptr)(tags)(map));
197
183
  }
198
184
  }
199
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
185
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
200
186
  finally {
201
187
  try {
202
- if (_q && !_q.done && (_e = _p.return)) _e.call(_p);
188
+ if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
203
189
  }
204
- finally { if (e_6) throw e_6.error; }
190
+ finally { if (e_5) throw e_5.error; }
205
191
  }
206
192
  return elements.size === 1
207
193
  ? __spreadArray([], __read(elements), false)[0]
208
194
  : __spreadArray(__spreadArray([
209
195
  "oneof ${name} {"
210
- ], __read(__spreadArray([], __read(elements), false).map(function (str, i) {
211
- return "".concat(TAB).concat(str, " v").concat(i + 1, " = ").concat(++ptr.value, ";");
196
+ ], __read(__spreadArray([], __read(elements), false).map(function (str) {
197
+ return "".concat(TAB).concat(str, " v").concat(ptr.value + 1, " = ").concat(++ptr.value, ";");
212
198
  })), false), [
213
199
  "}",
214
200
  ], false).join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufMessageProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufMessageProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtobufMessageProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufMessageProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../transformers/IProject";
3
+ export declare namespace ProtobufSizeProgrammer {
4
+ const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string | undefined) => ts.ArrowFunction;
5
+ }