typia 7.0.0-dev.20241018 → 7.0.0-dev.20241019

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 (35) hide show
  1. package/lib/factories/ProtobufFactory.js +561 -128
  2. package/lib/factories/ProtobufFactory.js.map +1 -1
  3. package/lib/programmers/helpers/ProtobufUtil.d.ts +2 -0
  4. package/lib/programmers/helpers/ProtobufUtil.js +2 -2
  5. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  6. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +169 -223
  7. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  8. package/lib/programmers/protobuf/ProtobufMessageProgrammer.d.ts +1 -1
  9. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +48 -140
  10. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  11. package/lib/schemas/metadata/MetadataProperty.d.ts +2 -0
  12. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  13. package/lib/schemas/protobuf/IProtobufProperty.d.ts +5 -0
  14. package/lib/schemas/protobuf/IProtobufProperty.js +3 -0
  15. package/lib/schemas/protobuf/IProtobufProperty.js.map +1 -0
  16. package/lib/schemas/protobuf/IProtobufPropertyType.d.ts +28 -0
  17. package/lib/schemas/protobuf/IProtobufPropertyType.js +3 -0
  18. package/lib/schemas/protobuf/IProtobufPropertyType.js.map +1 -0
  19. package/lib/schemas/protobuf/IProtobufSchema.d.ts +38 -0
  20. package/lib/schemas/protobuf/IProtobufSchema.js +3 -0
  21. package/lib/schemas/protobuf/IProtobufSchema.js.map +1 -0
  22. package/lib/utils/{NameEncoder.d.ts → ProtobufNameEncoder.d.ts} +1 -1
  23. package/lib/utils/{NameEncoder.js → ProtobufNameEncoder.js} +7 -7
  24. package/lib/utils/ProtobufNameEncoder.js.map +1 -0
  25. package/package.json +1 -1
  26. package/src/factories/ProtobufFactory.ts +313 -14
  27. package/src/programmers/helpers/ProtobufUtil.ts +1 -1
  28. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +254 -315
  29. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +68 -115
  30. package/src/schemas/metadata/MetadataProperty.ts +2 -4
  31. package/src/schemas/protobuf/IProtobufProperty.ts +6 -0
  32. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -0
  33. package/src/schemas/protobuf/IProtobufSchema.ts +50 -0
  34. package/src/utils/{NameEncoder.ts → ProtobufNameEncoder.ts} +1 -1
  35. package/lib/utils/NameEncoder.js.map +0 -1
@@ -71,13 +71,442 @@ var ProtobufFactory;
71
71
  });
72
72
  return result.data;
73
73
  };
74
+ /**
75
+ * @internal
76
+ */
77
+ ProtobufFactory.emplaceObject = function (object) {
78
+ var e_1, _a;
79
+ try {
80
+ for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
81
+ var p = _c.value;
82
+ emplaceProperty(p);
83
+ }
84
+ }
85
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
86
+ finally {
87
+ try {
88
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
89
+ }
90
+ finally { if (e_1) throw e_1.error; }
91
+ }
92
+ var properties = object.properties
93
+ .map(function (p) { return p.of_protobuf_; })
94
+ .filter(function (p) { return p !== undefined; });
95
+ var unique = new Set(properties
96
+ .filter(function (p) { return p !== undefined; })
97
+ .filter(function (p) { return p.fixed === true; })
98
+ .map(function (p) { return p.union.map(function (u) { return u.index; }); })
99
+ .flat());
100
+ var index = 1;
101
+ properties.forEach(function (schema) {
102
+ var e_2, _a;
103
+ if (schema.fixed === true)
104
+ index = Math.max(index, Math.max.apply(Math, __spreadArray([], __read(schema.union.map(function (u) { return u.index; })), false)) + 1);
105
+ else {
106
+ try {
107
+ for (var _b = __values(schema.union), _c = _b.next(); !_c.done; _c = _b.next()) {
108
+ var u = _c.value;
109
+ while (unique.has(index) === true)
110
+ ++index;
111
+ u.index = index;
112
+ unique.add(index);
113
+ }
114
+ }
115
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
116
+ finally {
117
+ try {
118
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
119
+ }
120
+ finally { if (e_2) throw e_2.error; }
121
+ }
122
+ ++index;
123
+ }
124
+ });
125
+ };
126
+ var emplaceProperty = function (prop) {
127
+ var e_3, _a, e_4, _b, e_5, _c, e_6, _d;
128
+ var _e, _f, _g, _h, _j;
129
+ var union = [];
130
+ try {
131
+ for (var _k = __values(prop.value.natives), _l = _k.next(); !_l.done; _l = _k.next()) {
132
+ var native = _l.value;
133
+ if (native.name === "Uint8Array")
134
+ union.push({
135
+ type: "bytes",
136
+ index: ProtobufUtil_1.ProtobufUtil.getSequence((_e = native.tags[0]) !== null && _e !== void 0 ? _e : []),
137
+ });
138
+ }
139
+ }
140
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
141
+ finally {
142
+ try {
143
+ if (_l && !_l.done && (_a = _k.return)) _a.call(_k);
144
+ }
145
+ finally { if (e_3) throw e_3.error; }
146
+ }
147
+ union.push.apply(union, __spreadArray([], __read(emplaceAtomic(prop.value).values()), false));
148
+ try {
149
+ for (var _m = __values(prop.value.arrays), _o = _m.next(); !_o.done; _o = _m.next()) {
150
+ var array = _o.value;
151
+ union.push({
152
+ type: "array",
153
+ array: array.type,
154
+ value: emplaceSchema(array.type.value),
155
+ index: ProtobufUtil_1.ProtobufUtil.getSequence((_f = array.tags[0]) !== null && _f !== void 0 ? _f : []),
156
+ });
157
+ }
158
+ }
159
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
160
+ finally {
161
+ try {
162
+ if (_o && !_o.done && (_b = _m.return)) _b.call(_m);
163
+ }
164
+ finally { if (e_4) throw e_4.error; }
165
+ }
166
+ try {
167
+ for (var _p = __values(prop.value.objects), _q = _p.next(); !_q.done; _q = _p.next()) {
168
+ var obj = _q.value;
169
+ if (isDynamicObject(obj.type))
170
+ union.push({
171
+ type: "map",
172
+ map: obj.type,
173
+ key: emplaceSchema(obj.type.properties[0].key),
174
+ value: emplaceSchema(obj.type.properties[0].value),
175
+ index: ProtobufUtil_1.ProtobufUtil.getSequence((_g = obj.tags[0]) !== null && _g !== void 0 ? _g : []),
176
+ });
177
+ else
178
+ union.push({
179
+ type: "object",
180
+ object: obj.type,
181
+ index: ProtobufUtil_1.ProtobufUtil.getSequence((_h = obj.tags[0]) !== null && _h !== void 0 ? _h : []),
182
+ });
183
+ }
184
+ }
185
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
186
+ finally {
187
+ try {
188
+ if (_q && !_q.done && (_c = _p.return)) _c.call(_p);
189
+ }
190
+ finally { if (e_5) throw e_5.error; }
191
+ }
192
+ try {
193
+ for (var _r = __values(prop.value.maps), _s = _r.next(); !_s.done; _s = _r.next()) {
194
+ var map = _s.value;
195
+ union.push({
196
+ type: "map",
197
+ map: map,
198
+ key: emplaceSchema(map.key),
199
+ value: emplaceSchema(map.value),
200
+ index: ProtobufUtil_1.ProtobufUtil.getSequence((_j = map.tags[0]) !== null && _j !== void 0 ? _j : []),
201
+ });
202
+ }
203
+ }
204
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
205
+ finally {
206
+ try {
207
+ if (_s && !_s.done && (_d = _r.return)) _d.call(_r);
208
+ }
209
+ finally { if (e_6) throw e_6.error; }
210
+ }
211
+ prop.of_protobuf_ = {
212
+ union: union,
213
+ fixed: union.every(function (p) { return p.index !== null; }),
214
+ };
215
+ };
216
+ var emplaceSchema = function (metadata) {
217
+ var e_7, _a, e_8, _b, e_9, _c, e_10, _d;
218
+ try {
219
+ for (var _e = __values(metadata.natives), _f = _e.next(); !_f.done; _f = _e.next()) {
220
+ var native = _f.value;
221
+ if (native.name === "Uint8Array")
222
+ return {
223
+ type: "bytes",
224
+ };
225
+ }
226
+ }
227
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
228
+ finally {
229
+ try {
230
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
231
+ }
232
+ finally { if (e_7) throw e_7.error; }
233
+ }
234
+ var atomic = emplaceAtomic(metadata);
235
+ if (atomic.size)
236
+ return atomic.values().next().value;
237
+ try {
238
+ for (var _g = __values(metadata.arrays), _h = _g.next(); !_h.done; _h = _g.next()) {
239
+ var array = _h.value;
240
+ return {
241
+ type: "array",
242
+ array: array.type,
243
+ value: emplaceSchema(array.type.value),
244
+ };
245
+ }
246
+ }
247
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
248
+ finally {
249
+ try {
250
+ if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
251
+ }
252
+ finally { if (e_8) throw e_8.error; }
253
+ }
254
+ try {
255
+ for (var _j = __values(metadata.objects), _k = _j.next(); !_k.done; _k = _j.next()) {
256
+ var obj = _k.value;
257
+ if (isDynamicObject(obj.type))
258
+ return {
259
+ type: "map",
260
+ map: obj.type,
261
+ key: emplaceSchema(obj.type.properties[0].key),
262
+ value: emplaceSchema(obj.type.properties[0].value),
263
+ };
264
+ else
265
+ return {
266
+ type: "object",
267
+ object: obj.type,
268
+ };
269
+ }
270
+ }
271
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
272
+ finally {
273
+ try {
274
+ if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
275
+ }
276
+ finally { if (e_9) throw e_9.error; }
277
+ }
278
+ try {
279
+ for (var _l = __values(metadata.maps), _m = _l.next(); !_m.done; _m = _l.next()) {
280
+ var map = _m.value;
281
+ return {
282
+ type: "map",
283
+ map: map,
284
+ key: emplaceSchema(map.key),
285
+ value: emplaceSchema(map.value),
286
+ };
287
+ }
288
+ }
289
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
290
+ finally {
291
+ try {
292
+ if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
293
+ }
294
+ finally { if (e_10) throw e_10.error; }
295
+ }
296
+ throw new Error("Error on ProtobufFactory.emplaceSchema(): any type detected.");
297
+ };
298
+ var emplaceAtomic = function (meta) {
299
+ var e_11, _a, e_12, _b, e_13, _c, e_14, _d;
300
+ var _e, _f, _g, _h, _j, _k, _l, _m;
301
+ var map = new Map();
302
+ try {
303
+ // CONSTANTS
304
+ for (var _o = __values(meta.constants), _p = _o.next(); !_p.done; _p = _o.next()) {
305
+ var c = _p.value;
306
+ if (c.type === "boolean")
307
+ map.set("bool", {
308
+ type: "bool",
309
+ index: getSequence((_f = (_e = c.values[0]) === null || _e === void 0 ? void 0 : _e.tags[0]) !== null && _f !== void 0 ? _f : []),
310
+ });
311
+ else if (c.type === "bigint") {
312
+ var init = getBigintType(c.values.map(function (v) { return BigInt(v.value); }));
313
+ try {
314
+ for (var _q = (e_12 = void 0, __values(c.values)), _r = _q.next(); !_r.done; _r = _q.next()) {
315
+ var value = _r.value;
316
+ emplaceBigint({
317
+ map: map,
318
+ tags: value.tags,
319
+ init: init,
320
+ });
321
+ }
322
+ }
323
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
324
+ finally {
325
+ try {
326
+ if (_r && !_r.done && (_b = _q.return)) _b.call(_q);
327
+ }
328
+ finally { if (e_12) throw e_12.error; }
329
+ }
330
+ }
331
+ else if (c.type === "number") {
332
+ var init = getNumberType(c.values.map(function (v) { return v.value; }));
333
+ try {
334
+ for (var _s = (e_13 = void 0, __values(c.values)), _t = _s.next(); !_t.done; _t = _s.next()) {
335
+ var value = _t.value;
336
+ emplaceNumber({
337
+ map: map,
338
+ tags: value.tags,
339
+ init: init,
340
+ });
341
+ }
342
+ }
343
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
344
+ finally {
345
+ try {
346
+ if (_t && !_t.done && (_c = _s.return)) _c.call(_s);
347
+ }
348
+ finally { if (e_13) throw e_13.error; }
349
+ }
350
+ }
351
+ else if (c.type === "string")
352
+ map.set("string", {
353
+ type: "string",
354
+ index: getSequence((_h = (_g = c.values[0]) === null || _g === void 0 ? void 0 : _g.tags[0]) !== null && _h !== void 0 ? _h : []),
355
+ });
356
+ }
357
+ }
358
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
359
+ finally {
360
+ try {
361
+ if (_p && !_p.done && (_a = _o.return)) _a.call(_o);
362
+ }
363
+ finally { if (e_11) throw e_11.error; }
364
+ }
365
+ // TEMPLATE
366
+ if (meta.templates.length)
367
+ map.set("string", {
368
+ type: "string",
369
+ index: getSequence((_k = (_j = meta.templates[0]) === null || _j === void 0 ? void 0 : _j.tags[0]) !== null && _k !== void 0 ? _k : []),
370
+ });
371
+ try {
372
+ // ATOMICS
373
+ for (var _u = __values(meta.atomics), _v = _u.next(); !_v.done; _v = _u.next()) {
374
+ var atomic = _v.value;
375
+ if (atomic.type === "boolean")
376
+ map.set("bool", {
377
+ type: "bool",
378
+ index: getSequence((_l = atomic.tags[0]) !== null && _l !== void 0 ? _l : []),
379
+ });
380
+ else if (atomic.type === "bigint")
381
+ emplaceBigint({
382
+ map: map,
383
+ tags: atomic.tags,
384
+ init: "int64",
385
+ });
386
+ else if (atomic.type === "number")
387
+ emplaceNumber({
388
+ map: map,
389
+ tags: atomic.tags,
390
+ init: "double",
391
+ });
392
+ else if (atomic.type === "string")
393
+ map.set("string", {
394
+ type: "string",
395
+ index: getSequence((_m = atomic.tags[0]) !== null && _m !== void 0 ? _m : []),
396
+ });
397
+ }
398
+ }
399
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
400
+ finally {
401
+ try {
402
+ if (_v && !_v.done && (_d = _u.return)) _d.call(_u);
403
+ }
404
+ finally { if (e_14) throw e_14.error; }
405
+ }
406
+ // SORTING IF REQUIRED
407
+ if (map.size && map.values().next().value.index === null)
408
+ return new Map(Array.from(map).sort(function (x, y) { return ProtobufUtil_1.ProtobufUtil.compare(x[0], y[0]); }));
409
+ return map;
410
+ };
411
+ var emplaceBigint = function (next) {
412
+ var e_15, _a;
413
+ var _b, _c;
414
+ if (next.tags.length === 0) {
415
+ next.map.set(next.init, {
416
+ type: "bigint",
417
+ name: next.init,
418
+ index: null,
419
+ });
420
+ return;
421
+ }
422
+ try {
423
+ for (var _d = __values(next.tags), _e = _d.next(); !_e.done; _e = _d.next()) {
424
+ var row = _e.value;
425
+ var value = (_c = (_b = row.find(function (tag) {
426
+ return tag.kind === "type" &&
427
+ (tag.value === "int64" || tag.value === "uint64");
428
+ })) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : next.init;
429
+ next.map.set(next.init, {
430
+ type: "bigint",
431
+ name: value,
432
+ index: ProtobufUtil_1.ProtobufUtil.getSequence(row),
433
+ });
434
+ }
435
+ }
436
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
437
+ finally {
438
+ try {
439
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
440
+ }
441
+ finally { if (e_15) throw e_15.error; }
442
+ }
443
+ };
444
+ var emplaceNumber = function (next) {
445
+ var e_16, _a;
446
+ var _b, _c;
447
+ if (next.tags.length === 0) {
448
+ next.map.set(next.init, {
449
+ type: "number",
450
+ name: next.init,
451
+ index: null,
452
+ });
453
+ return;
454
+ }
455
+ try {
456
+ for (var _d = __values(next.tags), _e = _d.next(); !_e.done; _e = _d.next()) {
457
+ var row = _e.value;
458
+ var value = (_c = (_b = row.find(function (tag) {
459
+ return tag.kind === "type" &&
460
+ (tag.value === "int32" ||
461
+ tag.value === "uint32" ||
462
+ tag.value === "int64" ||
463
+ tag.value === "uint64" ||
464
+ tag.value === "float" ||
465
+ tag.value === "double");
466
+ })) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : next.init;
467
+ next.map.set(value, {
468
+ type: "number",
469
+ name: value,
470
+ index: ProtobufUtil_1.ProtobufUtil.getSequence(row),
471
+ });
472
+ }
473
+ }
474
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
475
+ finally {
476
+ try {
477
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
478
+ }
479
+ finally { if (e_16) throw e_16.error; }
480
+ }
481
+ };
482
+ var getBigintType = function (values) {
483
+ return values.some(function (v) { return v < 0; }) ? "int64" : "uint64";
484
+ };
485
+ var getNumberType = function (values) {
486
+ return values.every(function (v) { return Math.floor(v) === v; })
487
+ ? values.every(function (v) { return -2147483648 <= v && v <= 2147483647; })
488
+ ? "int32"
489
+ : "int64"
490
+ : "double";
491
+ };
492
+ var getSequence = function (tags) {
493
+ var sequence = tags.find(function (t) {
494
+ var _a;
495
+ return t.kind === "sequence" &&
496
+ typeof ((_a = t.schema) === null || _a === void 0 ? void 0 : _a["x-protobuf-sequence"]) === "number";
497
+ });
498
+ if (sequence === undefined)
499
+ return null;
500
+ var value = Number(sequence.schema["x-protobuf-sequence"]);
501
+ return Number.isNaN(value) ? null : value;
502
+ };
74
503
  /* -----------------------------------------------------------
75
504
  VALIDATORS
76
505
  ----------------------------------------------------------- */
77
506
  var validate = function () {
78
507
  var visited = new WeakSet();
79
508
  return function (meta, explore) {
80
- var e_1, _a, e_2, _b, e_3, _c;
509
+ var e_17, _a, e_18, _b;
81
510
  var errors = [];
82
511
  var insert = function (msg) { return errors.push(msg); };
83
512
  if (explore.top === true) {
@@ -93,26 +522,14 @@ var ProtobufFactory;
93
522
  }
94
523
  if (explore.object !== null && visited.has(explore.object) === false) {
95
524
  visited.add(explore.object);
96
- validateRegularObject({
525
+ validateObject({
97
526
  object: explore.object,
98
527
  errors: errors,
99
528
  });
100
529
  try {
101
- for (var _d = __values(explore.object.properties), _e = _d.next(); !_e.done; _e = _d.next()) {
102
- var p = _e.value;
103
- validateRegularProperty({
104
- value: p.value,
105
- errors: errors,
106
- });
107
- }
108
- }
109
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
110
- finally {
111
- try {
112
- if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
113
- }
114
- finally { if (e_1) throw e_1.error; }
530
+ ProtobufFactory.emplaceObject(explore.object);
115
531
  }
532
+ catch (_c) { }
116
533
  }
117
534
  //----
118
535
  // NOT SUPPORTED TYPES
@@ -133,8 +550,8 @@ var ProtobufFactory;
133
550
  // NATIVE TYPE, BUT NOT Uint8Array
134
551
  if (meta.natives.length)
135
552
  try {
136
- for (var _f = __values(meta.natives), _g = _f.next(); !_g.done; _g = _f.next()) {
137
- var native = _g.value;
553
+ for (var _d = __values(meta.natives), _e = _d.next(); !_e.done; _e = _d.next()) {
554
+ var native = _e.value;
138
555
  if (native.name === "Uint8Array")
139
556
  continue;
140
557
  var instead = BANNED_NATIVE_TYPES.get(native.name);
@@ -144,12 +561,12 @@ var ProtobufFactory;
144
561
  noSupport("".concat(native.name, " type. Use ").concat(instead, " type instead."));
145
562
  }
146
563
  }
147
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
564
+ catch (e_17_1) { e_17 = { error: e_17_1 }; }
148
565
  finally {
149
566
  try {
150
- if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
567
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
151
568
  }
152
- finally { if (e_2) throw e_2.error; }
569
+ finally { if (e_17) throw e_17.error; }
153
570
  }
154
571
  //----
155
572
  // ATOMIC CASES
@@ -158,18 +575,18 @@ var ProtobufFactory;
158
575
  var numbers = ProtobufUtil_1.ProtobufUtil.getNumbers(meta);
159
576
  var bigints = ProtobufUtil_1.ProtobufUtil.getBigints(meta);
160
577
  try {
161
- for (var _h = __values(["int64", "uint64"]), _j = _h.next(); !_j.done; _j = _h.next()) {
162
- var type = _j.value;
578
+ for (var _f = __values(["int64", "uint64"]), _g = _f.next(); !_g.done; _g = _f.next()) {
579
+ var type = _g.value;
163
580
  if (numbers.has(type) && bigints.has(type))
164
581
  insert("tags.Type<\"".concat(type, "\"> cannot be used in both number and bigint types. Recommend to remove from number type"));
165
582
  }
166
583
  }
167
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
584
+ catch (e_18_1) { e_18 = { error: e_18_1 }; }
168
585
  finally {
169
586
  try {
170
- if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
587
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
171
588
  }
172
- finally { if (e_3) throw e_3.error; }
589
+ finally { if (e_18) throw e_18.error; }
173
590
  }
174
591
  }
175
592
  //----
@@ -275,11 +692,27 @@ var ProtobufFactory;
275
692
  /* -----------------------------------------------------------
276
693
  SEQUENE VALIDATOR
277
694
  ----------------------------------------------------------- */
278
- var validateRegularObject = function (next) {
279
- var e_4, _a;
695
+ var validateObject = function (next) {
696
+ var e_19, _a, e_20, _b;
697
+ try {
698
+ for (var _c = __values(next.object.properties), _d = _c.next(); !_d.done; _d = _c.next()) {
699
+ var property = _d.value;
700
+ validateProperty({
701
+ metadata: property.value,
702
+ errors: next.errors,
703
+ });
704
+ }
705
+ }
706
+ catch (e_19_1) { e_19 = { error: e_19_1 }; }
707
+ finally {
708
+ try {
709
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
710
+ }
711
+ finally { if (e_19) throw e_19.error; }
712
+ }
280
713
  var entire = new Map();
281
714
  var visitProperty = function (p) {
282
- var e_5, _a, e_6, _b, e_7, _c, e_8, _d, e_9, _e, e_10, _f, e_11, _g;
715
+ var e_21, _a, e_22, _b, e_23, _c, e_24, _d, e_25, _e, e_26, _f, e_27, _g;
283
716
  var local = new Set();
284
717
  var tagger = function (matrix) {
285
718
  matrix.forEach(function (tags) {
@@ -292,26 +725,26 @@ var ProtobufFactory;
292
725
  for (var _h = __values(p.value.constants), _j = _h.next(); !_j.done; _j = _h.next()) {
293
726
  var c = _j.value;
294
727
  try {
295
- for (var _k = (e_6 = void 0, __values(c.values)), _l = _k.next(); !_l.done; _l = _k.next()) {
728
+ for (var _k = (e_22 = void 0, __values(c.values)), _l = _k.next(); !_l.done; _l = _k.next()) {
296
729
  var v = _l.value;
297
730
  tagger(v.tags);
298
731
  }
299
732
  }
300
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
733
+ catch (e_22_1) { e_22 = { error: e_22_1 }; }
301
734
  finally {
302
735
  try {
303
736
  if (_l && !_l.done && (_b = _k.return)) _b.call(_k);
304
737
  }
305
- finally { if (e_6) throw e_6.error; }
738
+ finally { if (e_22) throw e_22.error; }
306
739
  }
307
740
  }
308
741
  }
309
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
742
+ catch (e_21_1) { e_21 = { error: e_21_1 }; }
310
743
  finally {
311
744
  try {
312
745
  if (_j && !_j.done && (_a = _h.return)) _a.call(_h);
313
746
  }
314
- finally { if (e_5) throw e_5.error; }
747
+ finally { if (e_21) throw e_21.error; }
315
748
  }
316
749
  try {
317
750
  for (var _m = __values(p.value.atomics), _o = _m.next(); !_o.done; _o = _m.next()) {
@@ -319,12 +752,12 @@ var ProtobufFactory;
319
752
  tagger(a.tags);
320
753
  }
321
754
  }
322
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
755
+ catch (e_23_1) { e_23 = { error: e_23_1 }; }
323
756
  finally {
324
757
  try {
325
758
  if (_o && !_o.done && (_c = _m.return)) _c.call(_m);
326
759
  }
327
- finally { if (e_7) throw e_7.error; }
760
+ finally { if (e_23) throw e_23.error; }
328
761
  }
329
762
  try {
330
763
  for (var _p = __values(p.value.templates), _q = _p.next(); !_q.done; _q = _p.next()) {
@@ -332,12 +765,12 @@ var ProtobufFactory;
332
765
  tagger(t.tags);
333
766
  }
334
767
  }
335
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
768
+ catch (e_24_1) { e_24 = { error: e_24_1 }; }
336
769
  finally {
337
770
  try {
338
771
  if (_q && !_q.done && (_d = _p.return)) _d.call(_p);
339
772
  }
340
- finally { if (e_8) throw e_8.error; }
773
+ finally { if (e_24) throw e_24.error; }
341
774
  }
342
775
  try {
343
776
  for (var _r = __values(p.value.objects), _s = _r.next(); !_s.done; _s = _r.next()) {
@@ -345,12 +778,12 @@ var ProtobufFactory;
345
778
  tagger(o.tags);
346
779
  }
347
780
  }
348
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
781
+ catch (e_25_1) { e_25 = { error: e_25_1 }; }
349
782
  finally {
350
783
  try {
351
784
  if (_s && !_s.done && (_e = _r.return)) _e.call(_r);
352
785
  }
353
- finally { if (e_9) throw e_9.error; }
786
+ finally { if (e_25) throw e_25.error; }
354
787
  }
355
788
  try {
356
789
  for (var _t = __values(p.value.arrays), _u = _t.next(); !_u.done; _u = _t.next()) {
@@ -358,12 +791,12 @@ var ProtobufFactory;
358
791
  tagger(a.tags);
359
792
  }
360
793
  }
361
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
794
+ catch (e_26_1) { e_26 = { error: e_26_1 }; }
362
795
  finally {
363
796
  try {
364
797
  if (_u && !_u.done && (_f = _t.return)) _f.call(_t);
365
798
  }
366
- finally { if (e_10) throw e_10.error; }
799
+ finally { if (e_26) throw e_26.error; }
367
800
  }
368
801
  try {
369
802
  for (var local_1 = __values(local), local_1_1 = local_1.next(); !local_1_1.done; local_1_1 = local_1.next()) {
@@ -374,30 +807,30 @@ var ProtobufFactory;
374
807
  entire.set(s, p.key.getSoleLiteral());
375
808
  }
376
809
  }
377
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
810
+ catch (e_27_1) { e_27 = { error: e_27_1 }; }
378
811
  finally {
379
812
  try {
380
813
  if (local_1_1 && !local_1_1.done && (_g = local_1.return)) _g.call(local_1);
381
814
  }
382
- finally { if (e_11) throw e_11.error; }
815
+ finally { if (e_27) throw e_27.error; }
383
816
  }
384
817
  };
385
818
  try {
386
- for (var _b = __values(next.object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
387
- var p = _c.value;
819
+ for (var _e = __values(next.object.properties), _f = _e.next(); !_f.done; _f = _e.next()) {
820
+ var p = _f.value;
388
821
  visitProperty(p);
389
822
  }
390
823
  }
391
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
824
+ catch (e_20_1) { e_20 = { error: e_20_1 }; }
392
825
  finally {
393
826
  try {
394
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
827
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
395
828
  }
396
- finally { if (e_4) throw e_4.error; }
829
+ finally { if (e_20) throw e_20.error; }
397
830
  }
398
831
  };
399
- var validateRegularProperty = function (next) {
400
- var e_12, _a, e_13, _b, e_14, _c, e_15, _d, e_16, _e;
832
+ var validateProperty = function (next) {
833
+ var e_28, _a, e_29, _b, e_30, _c, e_31, _d, e_32, _e;
401
834
  var expected = 0;
402
835
  var sequences = new Set();
403
836
  var add = function (value) {
@@ -423,18 +856,18 @@ var ProtobufFactory;
423
856
  validateStringSequence,
424
857
  ]), _g = _f.next(); !_g.done; _g = _f.next()) {
425
858
  var validator = _g.value;
426
- validator({ metadata: next.value, errors: next.errors, add: add });
859
+ validator({ metadata: next.metadata, errors: next.errors, add: add });
427
860
  }
428
861
  }
429
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
862
+ catch (e_28_1) { e_28 = { error: e_28_1 }; }
430
863
  finally {
431
864
  try {
432
865
  if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
433
866
  }
434
- finally { if (e_12) throw e_12.error; }
867
+ finally { if (e_28) throw e_28.error; }
435
868
  }
436
869
  try {
437
- for (var _h = __values(next.value.arrays), _j = _h.next(); !_j.done; _j = _h.next()) {
870
+ for (var _h = __values(next.metadata.arrays), _j = _h.next(); !_j.done; _j = _h.next()) {
438
871
  var array = _j.value;
439
872
  validateInstanceSequence({
440
873
  type: "array",
@@ -444,15 +877,15 @@ var ProtobufFactory;
444
877
  });
445
878
  }
446
879
  }
447
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
880
+ catch (e_29_1) { e_29 = { error: e_29_1 }; }
448
881
  finally {
449
882
  try {
450
883
  if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
451
884
  }
452
- finally { if (e_13) throw e_13.error; }
885
+ finally { if (e_29) throw e_29.error; }
453
886
  }
454
887
  try {
455
- for (var _k = __values(next.value.objects), _l = _k.next(); !_l.done; _l = _k.next()) {
888
+ for (var _k = __values(next.metadata.objects), _l = _k.next(); !_l.done; _l = _k.next()) {
456
889
  var object = _l.value;
457
890
  validateInstanceSequence({
458
891
  type: "object",
@@ -462,15 +895,15 @@ var ProtobufFactory;
462
895
  });
463
896
  }
464
897
  }
465
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
898
+ catch (e_30_1) { e_30 = { error: e_30_1 }; }
466
899
  finally {
467
900
  try {
468
901
  if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
469
902
  }
470
- finally { if (e_14) throw e_14.error; }
903
+ finally { if (e_30) throw e_30.error; }
471
904
  }
472
905
  try {
473
- for (var _m = __values(next.value.maps), _o = _m.next(); !_o.done; _o = _m.next()) {
906
+ for (var _m = __values(next.metadata.maps), _o = _m.next(); !_o.done; _o = _m.next()) {
474
907
  var map = _o.value;
475
908
  validateInstanceSequence({
476
909
  type: "map",
@@ -480,15 +913,15 @@ var ProtobufFactory;
480
913
  });
481
914
  }
482
915
  }
483
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
916
+ catch (e_31_1) { e_31 = { error: e_31_1 }; }
484
917
  finally {
485
918
  try {
486
919
  if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
487
920
  }
488
- finally { if (e_15) throw e_15.error; }
921
+ finally { if (e_31) throw e_31.error; }
489
922
  }
490
923
  try {
491
- for (var _p = __values(next.value.natives), _q = _p.next(); !_q.done; _q = _p.next()) {
924
+ for (var _p = __values(next.metadata.natives), _q = _p.next(); !_q.done; _q = _p.next()) {
492
925
  var native = _q.value;
493
926
  if (native.name === "Uint8Array")
494
927
  validateInstanceSequence({
@@ -499,27 +932,27 @@ var ProtobufFactory;
499
932
  });
500
933
  }
501
934
  }
502
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
935
+ catch (e_32_1) { e_32 = { error: e_32_1 }; }
503
936
  finally {
504
937
  try {
505
938
  if (_q && !_q.done && (_e = _p.return)) _e.call(_p);
506
939
  }
507
- finally { if (e_16) throw e_16.error; }
940
+ finally { if (e_32) throw e_32.error; }
508
941
  }
509
942
  };
510
943
  var validateBooleanSequence = function (next) {
511
- var e_17, _a, e_18, _b, e_19, _c;
944
+ var e_33, _a, e_34, _b, e_35, _c;
512
945
  // PREPARE EMPLACER
513
946
  var unique = new Set();
514
947
  var expected = 0;
515
948
  var actual = 0;
516
949
  var emplace = function (matrix) {
517
- var e_20, _a, e_21, _b;
950
+ var e_36, _a, e_37, _b;
518
951
  try {
519
952
  for (var matrix_1 = __values(matrix), matrix_1_1 = matrix_1.next(); !matrix_1_1.done; matrix_1_1 = matrix_1.next()) {
520
953
  var tags = matrix_1_1.value;
521
954
  try {
522
- for (var tags_1 = (e_21 = void 0, __values(tags)), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
955
+ for (var tags_1 = (e_37 = void 0, __values(tags)), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
523
956
  var tag = tags_1_1.value;
524
957
  var sequence = ProtobufUtil_1.ProtobufUtil.getSequence([tag]);
525
958
  if (sequence !== null) {
@@ -529,21 +962,21 @@ var ProtobufFactory;
529
962
  ++expected;
530
963
  }
531
964
  }
532
- catch (e_21_1) { e_21 = { error: e_21_1 }; }
965
+ catch (e_37_1) { e_37 = { error: e_37_1 }; }
533
966
  finally {
534
967
  try {
535
968
  if (tags_1_1 && !tags_1_1.done && (_b = tags_1.return)) _b.call(tags_1);
536
969
  }
537
- finally { if (e_21) throw e_21.error; }
970
+ finally { if (e_37) throw e_37.error; }
538
971
  }
539
972
  }
540
973
  }
541
- catch (e_20_1) { e_20 = { error: e_20_1 }; }
974
+ catch (e_36_1) { e_36 = { error: e_36_1 }; }
542
975
  finally {
543
976
  try {
544
977
  if (matrix_1_1 && !matrix_1_1.done && (_a = matrix_1.return)) _a.call(matrix_1);
545
978
  }
546
- finally { if (e_20) throw e_20.error; }
979
+ finally { if (e_36) throw e_36.error; }
547
980
  }
548
981
  };
549
982
  try {
@@ -554,38 +987,38 @@ var ProtobufFactory;
554
987
  emplace(atomic.tags);
555
988
  }
556
989
  }
557
- catch (e_17_1) { e_17 = { error: e_17_1 }; }
990
+ catch (e_33_1) { e_33 = { error: e_33_1 }; }
558
991
  finally {
559
992
  try {
560
993
  if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
561
994
  }
562
- finally { if (e_17) throw e_17.error; }
995
+ finally { if (e_33) throw e_33.error; }
563
996
  }
564
997
  try {
565
998
  for (var _f = __values(next.metadata.constants), _g = _f.next(); !_g.done; _g = _f.next()) {
566
999
  var constant = _g.value;
567
1000
  if (constant.type === "boolean")
568
1001
  try {
569
- for (var _h = (e_19 = void 0, __values(constant.values)), _j = _h.next(); !_j.done; _j = _h.next()) {
1002
+ for (var _h = (e_35 = void 0, __values(constant.values)), _j = _h.next(); !_j.done; _j = _h.next()) {
570
1003
  var value = _j.value;
571
1004
  emplace(value.tags);
572
1005
  }
573
1006
  }
574
- catch (e_19_1) { e_19 = { error: e_19_1 }; }
1007
+ catch (e_35_1) { e_35 = { error: e_35_1 }; }
575
1008
  finally {
576
1009
  try {
577
1010
  if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
578
1011
  }
579
- finally { if (e_19) throw e_19.error; }
1012
+ finally { if (e_35) throw e_35.error; }
580
1013
  }
581
1014
  }
582
1015
  }
583
- catch (e_18_1) { e_18 = { error: e_18_1 }; }
1016
+ catch (e_34_1) { e_34 = { error: e_34_1 }; }
584
1017
  finally {
585
1018
  try {
586
1019
  if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
587
1020
  }
588
- finally { if (e_18) throw e_18.error; }
1021
+ finally { if (e_34) throw e_34.error; }
589
1022
  }
590
1023
  // PREDICATE
591
1024
  if (unique.size && actual !== expected)
@@ -600,7 +1033,7 @@ var ProtobufFactory;
600
1033
  };
601
1034
  var validateNumericSequences = function (config) {
602
1035
  return function (next) {
603
- var e_22, _a, e_23, _b, e_24, _c, e_25, _d;
1036
+ var e_38, _a, e_39, _b, e_40, _c, e_41, _d;
604
1037
  // FIND TYPE CATEGORIES
605
1038
  var categories = new Set();
606
1039
  var getType = function (tags) {
@@ -609,19 +1042,19 @@ var ProtobufFactory;
609
1042
  return (_a = found === null || found === void 0 ? void 0 : found.value) !== null && _a !== void 0 ? _a : config.default;
610
1043
  };
611
1044
  var exploreCategory = function (matrix) {
612
- var e_26, _a;
1045
+ var e_42, _a;
613
1046
  try {
614
1047
  for (var matrix_2 = __values(matrix), matrix_2_1 = matrix_2.next(); !matrix_2_1.done; matrix_2_1 = matrix_2.next()) {
615
1048
  var tags = matrix_2_1.value;
616
1049
  categories.add(getType(tags));
617
1050
  }
618
1051
  }
619
- catch (e_26_1) { e_26 = { error: e_26_1 }; }
1052
+ catch (e_42_1) { e_42 = { error: e_42_1 }; }
620
1053
  finally {
621
1054
  try {
622
1055
  if (matrix_2_1 && !matrix_2_1.done && (_a = matrix_2.return)) _a.call(matrix_2);
623
1056
  }
624
- finally { if (e_26) throw e_26.error; }
1057
+ finally { if (e_42) throw e_42.error; }
625
1058
  }
626
1059
  };
627
1060
  try {
@@ -631,41 +1064,41 @@ var ProtobufFactory;
631
1064
  exploreCategory(atomic.tags);
632
1065
  }
633
1066
  }
634
- catch (e_22_1) { e_22 = { error: e_22_1 }; }
1067
+ catch (e_38_1) { e_38 = { error: e_38_1 }; }
635
1068
  finally {
636
1069
  try {
637
1070
  if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
638
1071
  }
639
- finally { if (e_22) throw e_22.error; }
1072
+ finally { if (e_38) throw e_38.error; }
640
1073
  }
641
1074
  try {
642
1075
  for (var _g = __values(next.metadata.constants), _h = _g.next(); !_h.done; _h = _g.next()) {
643
1076
  var constant = _h.value;
644
1077
  if (constant.type === config.type)
645
1078
  try {
646
- for (var _j = (e_24 = void 0, __values(constant.values)), _k = _j.next(); !_k.done; _k = _j.next()) {
1079
+ for (var _j = (e_40 = void 0, __values(constant.values)), _k = _j.next(); !_k.done; _k = _j.next()) {
647
1080
  var value = _k.value;
648
1081
  exploreCategory(value.tags);
649
1082
  }
650
1083
  }
651
- catch (e_24_1) { e_24 = { error: e_24_1 }; }
1084
+ catch (e_40_1) { e_40 = { error: e_40_1 }; }
652
1085
  finally {
653
1086
  try {
654
1087
  if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
655
1088
  }
656
- finally { if (e_24) throw e_24.error; }
1089
+ finally { if (e_40) throw e_40.error; }
657
1090
  }
658
1091
  }
659
1092
  }
660
- catch (e_23_1) { e_23 = { error: e_23_1 }; }
1093
+ catch (e_39_1) { e_39 = { error: e_39_1 }; }
661
1094
  finally {
662
1095
  try {
663
1096
  if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
664
1097
  }
665
- finally { if (e_23) throw e_23.error; }
1098
+ finally { if (e_39) throw e_39.error; }
666
1099
  }
667
1100
  var _loop_1 = function (category) {
668
- var e_27, _l, e_28, _m, e_29, _o, e_30, _p, e_31, _q;
1101
+ var e_43, _l, e_44, _m, e_45, _o, e_46, _p, e_47, _q;
669
1102
  var unique = new Set();
670
1103
  var expected = 0;
671
1104
  var actual = 0;
@@ -678,70 +1111,70 @@ var ProtobufFactory;
678
1111
  ++expected;
679
1112
  };
680
1113
  try {
681
- for (var _r = (e_27 = void 0, __values(next.metadata.atomics)), _s = _r.next(); !_s.done; _s = _r.next()) {
1114
+ for (var _r = (e_43 = void 0, __values(next.metadata.atomics)), _s = _r.next(); !_s.done; _s = _r.next()) {
682
1115
  var atomic = _s.value;
683
1116
  if (atomic.type === config.type)
684
1117
  try {
685
- for (var _t = (e_28 = void 0, __values(atomic.tags)), _u = _t.next(); !_u.done; _u = _t.next()) {
1118
+ for (var _t = (e_44 = void 0, __values(atomic.tags)), _u = _t.next(); !_u.done; _u = _t.next()) {
686
1119
  var tags = _u.value;
687
1120
  if (getType(tags) === category)
688
1121
  emplace(tags);
689
1122
  }
690
1123
  }
691
- catch (e_28_1) { e_28 = { error: e_28_1 }; }
1124
+ catch (e_44_1) { e_44 = { error: e_44_1 }; }
692
1125
  finally {
693
1126
  try {
694
1127
  if (_u && !_u.done && (_m = _t.return)) _m.call(_t);
695
1128
  }
696
- finally { if (e_28) throw e_28.error; }
1129
+ finally { if (e_44) throw e_44.error; }
697
1130
  }
698
1131
  }
699
1132
  }
700
- catch (e_27_1) { e_27 = { error: e_27_1 }; }
1133
+ catch (e_43_1) { e_43 = { error: e_43_1 }; }
701
1134
  finally {
702
1135
  try {
703
1136
  if (_s && !_s.done && (_l = _r.return)) _l.call(_r);
704
1137
  }
705
- finally { if (e_27) throw e_27.error; }
1138
+ finally { if (e_43) throw e_43.error; }
706
1139
  }
707
1140
  try {
708
- for (var _v = (e_29 = void 0, __values(next.metadata.constants)), _w = _v.next(); !_w.done; _w = _v.next()) {
1141
+ for (var _v = (e_45 = void 0, __values(next.metadata.constants)), _w = _v.next(); !_w.done; _w = _v.next()) {
709
1142
  var constant = _w.value;
710
1143
  if (constant.type === config.type)
711
1144
  try {
712
- for (var _x = (e_30 = void 0, __values(constant.values)), _y = _x.next(); !_y.done; _y = _x.next()) {
1145
+ for (var _x = (e_46 = void 0, __values(constant.values)), _y = _x.next(); !_y.done; _y = _x.next()) {
713
1146
  var value = _y.value;
714
1147
  try {
715
- for (var _z = (e_31 = void 0, __values(value.tags)), _0 = _z.next(); !_0.done; _0 = _z.next()) {
1148
+ for (var _z = (e_47 = void 0, __values(value.tags)), _0 = _z.next(); !_0.done; _0 = _z.next()) {
716
1149
  var tags = _0.value;
717
1150
  if (getType(tags) === category)
718
1151
  emplace(tags);
719
1152
  }
720
1153
  }
721
- catch (e_31_1) { e_31 = { error: e_31_1 }; }
1154
+ catch (e_47_1) { e_47 = { error: e_47_1 }; }
722
1155
  finally {
723
1156
  try {
724
1157
  if (_0 && !_0.done && (_q = _z.return)) _q.call(_z);
725
1158
  }
726
- finally { if (e_31) throw e_31.error; }
1159
+ finally { if (e_47) throw e_47.error; }
727
1160
  }
728
1161
  }
729
1162
  }
730
- catch (e_30_1) { e_30 = { error: e_30_1 }; }
1163
+ catch (e_46_1) { e_46 = { error: e_46_1 }; }
731
1164
  finally {
732
1165
  try {
733
1166
  if (_y && !_y.done && (_p = _x.return)) _p.call(_x);
734
1167
  }
735
- finally { if (e_30) throw e_30.error; }
1168
+ finally { if (e_46) throw e_46.error; }
736
1169
  }
737
1170
  }
738
1171
  }
739
- catch (e_29_1) { e_29 = { error: e_29_1 }; }
1172
+ catch (e_45_1) { e_45 = { error: e_45_1 }; }
740
1173
  finally {
741
1174
  try {
742
1175
  if (_w && !_w.done && (_o = _v.return)) _o.call(_v);
743
1176
  }
744
- finally { if (e_29) throw e_29.error; }
1177
+ finally { if (e_45) throw e_45.error; }
745
1178
  }
746
1179
  if (unique.size && actual !== expected) {
747
1180
  console.log(category, actual, expected, unique);
@@ -762,27 +1195,27 @@ var ProtobufFactory;
762
1195
  _loop_1(category);
763
1196
  }
764
1197
  }
765
- catch (e_25_1) { e_25 = { error: e_25_1 }; }
1198
+ catch (e_41_1) { e_41 = { error: e_41_1 }; }
766
1199
  finally {
767
1200
  try {
768
1201
  if (categories_1_1 && !categories_1_1.done && (_d = categories_1.return)) _d.call(categories_1);
769
1202
  }
770
- finally { if (e_25) throw e_25.error; }
1203
+ finally { if (e_41) throw e_41.error; }
771
1204
  }
772
1205
  };
773
1206
  };
774
1207
  var validateStringSequence = function (next) {
775
- var e_32, _a, e_33, _b, e_34, _c, e_35, _d;
1208
+ var e_48, _a, e_49, _b, e_50, _c, e_51, _d;
776
1209
  var unique = new Set();
777
1210
  var expected = 0;
778
1211
  var actual = 0;
779
1212
  var emplace = function (matrix) {
780
- var e_36, _a, e_37, _b;
1213
+ var e_52, _a, e_53, _b;
781
1214
  try {
782
1215
  for (var matrix_3 = __values(matrix), matrix_3_1 = matrix_3.next(); !matrix_3_1.done; matrix_3_1 = matrix_3.next()) {
783
1216
  var tags = matrix_3_1.value;
784
1217
  try {
785
- for (var tags_2 = (e_37 = void 0, __values(tags)), tags_2_1 = tags_2.next(); !tags_2_1.done; tags_2_1 = tags_2.next()) {
1218
+ for (var tags_2 = (e_53 = void 0, __values(tags)), tags_2_1 = tags_2.next(); !tags_2_1.done; tags_2_1 = tags_2.next()) {
786
1219
  var tag = tags_2_1.value;
787
1220
  var sequence = ProtobufUtil_1.ProtobufUtil.getSequence([tag]);
788
1221
  if (sequence !== null) {
@@ -792,21 +1225,21 @@ var ProtobufFactory;
792
1225
  ++expected;
793
1226
  }
794
1227
  }
795
- catch (e_37_1) { e_37 = { error: e_37_1 }; }
1228
+ catch (e_53_1) { e_53 = { error: e_53_1 }; }
796
1229
  finally {
797
1230
  try {
798
1231
  if (tags_2_1 && !tags_2_1.done && (_b = tags_2.return)) _b.call(tags_2);
799
1232
  }
800
- finally { if (e_37) throw e_37.error; }
1233
+ finally { if (e_53) throw e_53.error; }
801
1234
  }
802
1235
  }
803
1236
  }
804
- catch (e_36_1) { e_36 = { error: e_36_1 }; }
1237
+ catch (e_52_1) { e_52 = { error: e_52_1 }; }
805
1238
  finally {
806
1239
  try {
807
1240
  if (matrix_3_1 && !matrix_3_1.done && (_a = matrix_3.return)) _a.call(matrix_3);
808
1241
  }
809
- finally { if (e_36) throw e_36.error; }
1242
+ finally { if (e_52) throw e_52.error; }
810
1243
  }
811
1244
  };
812
1245
  try {
@@ -816,38 +1249,38 @@ var ProtobufFactory;
816
1249
  emplace(atomic.tags);
817
1250
  }
818
1251
  }
819
- catch (e_32_1) { e_32 = { error: e_32_1 }; }
1252
+ catch (e_48_1) { e_48 = { error: e_48_1 }; }
820
1253
  finally {
821
1254
  try {
822
1255
  if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
823
1256
  }
824
- finally { if (e_32) throw e_32.error; }
1257
+ finally { if (e_48) throw e_48.error; }
825
1258
  }
826
1259
  try {
827
1260
  for (var _g = __values(next.metadata.constants), _h = _g.next(); !_h.done; _h = _g.next()) {
828
1261
  var constant = _h.value;
829
1262
  if (constant.type === "string")
830
1263
  try {
831
- for (var _j = (e_34 = void 0, __values(constant.values)), _k = _j.next(); !_k.done; _k = _j.next()) {
1264
+ for (var _j = (e_50 = void 0, __values(constant.values)), _k = _j.next(); !_k.done; _k = _j.next()) {
832
1265
  var value = _k.value;
833
1266
  emplace(value.tags);
834
1267
  }
835
1268
  }
836
- catch (e_34_1) { e_34 = { error: e_34_1 }; }
1269
+ catch (e_50_1) { e_50 = { error: e_50_1 }; }
837
1270
  finally {
838
1271
  try {
839
1272
  if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
840
1273
  }
841
- finally { if (e_34) throw e_34.error; }
1274
+ finally { if (e_50) throw e_50.error; }
842
1275
  }
843
1276
  }
844
1277
  }
845
- catch (e_33_1) { e_33 = { error: e_33_1 }; }
1278
+ catch (e_49_1) { e_49 = { error: e_49_1 }; }
846
1279
  finally {
847
1280
  try {
848
1281
  if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
849
1282
  }
850
- finally { if (e_33) throw e_33.error; }
1283
+ finally { if (e_49) throw e_49.error; }
851
1284
  }
852
1285
  try {
853
1286
  for (var _l = __values(next.metadata.templates), _m = _l.next(); !_m.done; _m = _l.next()) {
@@ -855,12 +1288,12 @@ var ProtobufFactory;
855
1288
  emplace(template.tags);
856
1289
  }
857
1290
  }
858
- catch (e_35_1) { e_35 = { error: e_35_1 }; }
1291
+ catch (e_51_1) { e_51 = { error: e_51_1 }; }
859
1292
  finally {
860
1293
  try {
861
1294
  if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
862
1295
  }
863
- finally { if (e_35) throw e_35.error; }
1296
+ finally { if (e_51) throw e_51.error; }
864
1297
  }
865
1298
  if (unique.size && actual !== expected)
866
1299
  next.errors.push("The sequence tag must be declared in every union type members");
@@ -873,7 +1306,7 @@ var ProtobufFactory;
873
1306
  }
874
1307
  };
875
1308
  var validateInstanceSequence = function (next) {
876
- var e_38, _a;
1309
+ var e_54, _a;
877
1310
  var unique = new Set();
878
1311
  var count = 0;
879
1312
  try {
@@ -886,12 +1319,12 @@ var ProtobufFactory;
886
1319
  ++count;
887
1320
  }
888
1321
  }
889
- catch (e_38_1) { e_38 = { error: e_38_1 }; }
1322
+ catch (e_54_1) { e_54 = { error: e_54_1 }; }
890
1323
  finally {
891
1324
  try {
892
1325
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
893
1326
  }
894
- finally { if (e_38) throw e_38.error; }
1327
+ finally { if (e_54) throw e_54.error; }
895
1328
  }
896
1329
  if (unique.size && count !== next.tags.length)
897
1330
  next.errors.push("The sequence tag must be declared in every union type members");