typia 5.0.0-dev.20230818 → 5.0.0-dev.20230819

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.
@@ -9,4 +9,5 @@ export declare namespace ExpressionFactory {
9
9
  const isInstanceOf: (type: string) => (input: ts.Expression) => ts.Expression;
10
10
  const coalesce: (x: ts.Expression) => (y: ts.Expression) => ts.Expression;
11
11
  const currying: (target: ts.Expression) => (parameters: ts.Expression[]) => ts.CallExpression;
12
+ const selfCall: (body: ts.ConciseBody) => ts.CallExpression;
12
13
  }
@@ -72,5 +72,10 @@ var ExpressionFactory;
72
72
  }
73
73
  return prev;
74
74
  }; };
75
+ ExpressionFactory.selfCall = function (body) {
76
+ return typescript_1.default.isCallExpression(body)
77
+ ? body
78
+ : typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, body)), undefined, undefined);
79
+ };
75
80
  })(ExpressionFactory || (exports.ExpressionFactory = ExpressionFactory = {}));
76
81
  //# sourceMappingURL=ExpressionFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@ export declare class FunctionImporter {
8
8
  use(name: string): ts.Identifier;
9
9
  useLocal(name: string): string;
10
10
  hasLocal(name: string): boolean;
11
- declare(modulo: ts.LeftHandSideExpression): ts.Statement[];
11
+ declare(modulo: ts.LeftHandSideExpression, includeUnions?: boolean): ts.Statement[];
12
+ declareUnions(): ts.Statement[];
12
13
  increment(): number;
13
14
  emplaceUnion(prefix: string, name: string, factory: () => ts.ArrowFunction): string;
14
15
  trace(): void;
@@ -54,13 +54,22 @@ var FunctionImporter = (function () {
54
54
  FunctionImporter.prototype.hasLocal = function (name) {
55
55
  return this.local_.has(name);
56
56
  };
57
- FunctionImporter.prototype.declare = function (modulo) {
57
+ FunctionImporter.prototype.declare = function (modulo, includeUnions) {
58
+ if (includeUnions === void 0) { includeUnions = true; }
58
59
  return __spreadArray(__spreadArray([], __read(__spreadArray([], __read(this.used_), false).map(function (name) {
59
60
  return StatementFactory_1.StatementFactory.constant("$" + name, IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createAsExpression(modulo, TypeFactory_1.TypeFactory.keyword("any"))))(name));
60
- })), false), __read(__spreadArray([], __read(this.unions_.values()), false).map(function (_a) {
61
+ })), false), __read((includeUnions === true
62
+ ? __spreadArray([], __read(this.unions_.values()), false).map(function (_a) {
63
+ var _b = __read(_a, 2), key = _b[0], arrow = _b[1];
64
+ return StatementFactory_1.StatementFactory.constant(key, arrow);
65
+ })
66
+ : [])), false);
67
+ };
68
+ FunctionImporter.prototype.declareUnions = function () {
69
+ return __spreadArray([], __read(this.unions_.values()), false).map(function (_a) {
61
70
  var _b = __read(_a, 2), key = _b[0], arrow = _b[1];
62
71
  return StatementFactory_1.StatementFactory.constant(key, arrow);
63
- })), false);
72
+ });
64
73
  };
65
74
  FunctionImporter.prototype.increment = function () {
66
75
  return ++this.sequence_;
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionImporeter.js","sourceRoot":"","sources":["../../../src/programmers/helpers/FunctionImporeter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AACpE,2DAA0D;AAE1D;IAAA;QACqB,UAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC/B,WAAM,GAAgB,IAAI,GAAG,EAAE,CAAC;QAChC,YAAO,GACpB,IAAI,GAAG,EAAE,CAAC;QACN,cAAS,GAAW,CAAC,CAAC;IAkElC,CAAC;IAhEU,gCAAK,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IACjC,CAAC;IAEM,8BAAG,GAAV,UAAW,IAAY;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAEM,mCAAQ,GAAf,UAAgB,IAAY;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,mCAAQ,GAAf,UAAgB,IAAY;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,kCAAO,GAAd,UAAe,MAAiC;QAC5C,8CACO,yBAAI,IAAI,CAAC,KAAK,UAAE,GAAG,CAAC,UAAC,IAAI;YACxB,OAAA,mCAAgB,CAAC,QAAQ,CACrB,GAAG,GAAG,IAAI,EACV,qCAAiB,CAAC,MAAM,CACpB,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,MAAM,EACN,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,CACJ,CACJ,CAAC,IAAI,CAAC,CACV;QAVD,CAUC,CACJ,kBACE,yBAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAE,GAAG,CAAC,UAAC,EAAY;gBAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAC1C,OAAA,mCAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;QAArC,CAAqC,CACxC,UACH;IACN,CAAC;IAEM,oCAAS,GAAhB;QACI,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;IAC5B,CAAC;IAEM,uCAAY,GAAnB,UACI,MAAc,EACd,IAAY,EACZ,OAA+B;QAE/B,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAM,KAAK,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,IAAM,QAAQ,GAAW,UAAG,MAAM,cAAI,KAAK,CAAE,CAAC;QAE9C,IAAM,KAAK,GAAyC,CAAC,QAAQ,EAAE,IAAK,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,gCAAK,GAAZ;QACI,OAAO,CAAC,GAAG,OAAX,OAAO,2BAAQ,IAAI,CAAC,KAAK,WAAE;QAC3B,OAAO,CAAC,GAAG,OAAX,OAAO,2BAAQ,IAAI,CAAC,MAAM,WAAE;IAChC,CAAC;IACL,uBAAC;AAAD,CAAC,AAvED,IAuEC;AAvEY,4CAAgB"}
1
+ {"version":3,"file":"FunctionImporeter.js","sourceRoot":"","sources":["../../../src/programmers/helpers/FunctionImporeter.ts"],"names":[],"mappings":"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"}
@@ -26,15 +26,6 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  }
27
27
  return ar;
28
28
  };
29
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
- if (ar || !(i in from)) {
32
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
- ar[i] = from[i];
34
- }
35
- }
36
- return to.concat(ar || Array.prototype.slice.call(from));
37
- };
38
29
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
30
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
31
  };
@@ -60,27 +51,31 @@ var UnionExplorer;
60
51
  .join(" | "), ")");
61
52
  var specList = UnionPredicator_1.UnionPredicator.object(targets);
62
53
  if (specList.length === 0) {
63
- var condition = config.objector.unionizer(input, targets, __assign(__assign({}, explore), { tracable: false }), tags, jsDocTags);
54
+ var condition_1 = config.objector.unionizer(input, targets, __assign(__assign({}, explore), { tracable: false }), tags, jsDocTags);
64
55
  return config.objector.full
65
- ? config.objector.full(condition)(input, expected, explore)
66
- : condition;
56
+ ? config.objector.full(condition_1)(input, expected, explore)
57
+ : condition_1;
67
58
  }
68
59
  var remained = targets.filter(function (t) { return specList.find(function (s) { return s.object === t; }) === undefined; });
69
- var conditions = specList
60
+ var condition = specList
70
61
  .filter(function (spec) { return spec.property.key.getSoleLiteral() !== null; })
71
- .map(function (spec) {
62
+ .map(function (spec, i, array) {
72
63
  var key = spec.property.key.getSoleLiteral();
73
64
  var accessor = IdentifierFactory_1.IdentifierFactory.access(input)(key);
74
65
  var pred = spec.neighbour
75
66
  ? config.objector.checker()(accessor, spec.property.value, __assign(__assign({}, explore), { tracable: false, postfix: IdentifierFactory_1.IdentifierFactory.postfix(key) }), tags, jsDocTags)
76
67
  : (config.objector.required || (function (exp) { return exp; }))(ExpressionFactory_1.ExpressionFactory.isRequired(accessor));
77
- return typescript_1.default.factory.createIfStatement((config.objector.is || (function (exp) { return exp; }))(pred), typescript_1.default.factory.createReturnStatement(config.objector.decoder()(input, spec.object, explore, tags, jsDocTags)));
68
+ return typescript_1.default.factory.createIfStatement((config.objector.is || (function (exp) { return exp; }))(pred), typescript_1.default.factory.createReturnStatement(config.objector.decoder()(input, spec.object, explore, tags, jsDocTags)), i === array.length - 1
69
+ ? remained.length
70
+ ? typescript_1.default.factory.createReturnStatement(UnionExplorer.object(config, level + 1)(input, remained, explore, tags, jsDocTags))
71
+ : config.objector.failure(input, expected, explore)
72
+ : undefined);
73
+ })
74
+ .reverse()
75
+ .reduce(function (a, b) {
76
+ return typescript_1.default.factory.createIfStatement(b.expression, b.thenStatement, a);
78
77
  });
79
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(conditions), false), [
80
- remained.length
81
- ? typescript_1.default.factory.createReturnStatement(UnionExplorer.object(config, level + 1)(input, remained, explore, tags, jsDocTags))
82
- : config.objector.failure(input, expected, explore),
83
- ], false), true)), undefined, undefined);
78
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock([condition], true)), undefined, undefined);
84
79
  };
85
80
  };
86
81
  UnionExplorer.tuple = function (props) {
@@ -1 +1 @@
1
- {"version":3,"file":"UnionExplorer.js","sourceRoot":"","sources":["../../../src/programmers/helpers/UnionExplorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnionExplorer.js","sourceRoot":"","sources":["../../../src/programmers/helpers/UnionExplorer.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ var disable = function (importer) { return ({
9
9
  useLocal: function (name) { return importer.useLocal(name); },
10
10
  hasLocal: function (name) { return importer.hasLocal(name); },
11
11
  declare: function (_modulo) { return []; },
12
+ declareUnions: function () { return []; },
12
13
  increment: function () { return importer.increment(); },
13
14
  emplaceUnion: function (prefix, name, factory) { return importer.emplaceUnion(prefix, name, factory); },
14
15
  trace: function () { return importer.trace(); },
@@ -1 +1 @@
1
- {"version":3,"file":"disable_function_importer_declare.js","sourceRoot":"","sources":["../../../src/programmers/helpers/disable_function_importer_declare.ts"],"names":[],"mappings":";;;AAIO,IAAM,iCAAiC,GAAG,UAC7C,QAA0B,IACP,OAAA,OAAO,CAAC,QAAQ,CAAqB,EAArC,CAAqC,CAAC;AAFhD,QAAA,iCAAiC,qCAEe;AAE7D,IAAM,OAAO,GAAG,UAAC,QAA0B,IAAmC,OAAA,CAAC;IAC3E,KAAK,EAAE,cAAe,OAAA,QAAQ,CAAC,KAAK,EAAE,EAAhB,CAAgB;IACtC,GAAG,EAAE,UAAC,IAAY,IAAoB,OAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAlB,CAAkB;IACxD,QAAQ,EAAE,UAAC,IAAY,IAAa,OAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAvB,CAAuB;IAC3D,QAAQ,EAAE,UAAC,IAAY,IAAc,OAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAvB,CAAuB;IAC5D,OAAO,EAAE,UAAC,OAAkC,IAAqB,OAAA,EAAE,EAAF,CAAE;IACnE,SAAS,EAAE,cAAc,OAAA,QAAQ,CAAC,SAAS,EAAE,EAApB,CAAoB;IAC7C,YAAY,EAAE,UACV,MAAc,EACd,IAAY,EACZ,OAA+B,IACtB,OAAA,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAA5C,CAA4C;IACzD,KAAK,EAAE,cAAY,OAAA,QAAQ,CAAC,KAAK,EAAE,EAAhB,CAAgB;CACtC,CAAC,EAb4E,CAa5E,CAAC"}
1
+ {"version":3,"file":"disable_function_importer_declare.js","sourceRoot":"","sources":["../../../src/programmers/helpers/disable_function_importer_declare.ts"],"names":[],"mappings":";;;AAIO,IAAM,iCAAiC,GAAG,UAC7C,QAA0B,IACP,OAAA,OAAO,CAAC,QAAQ,CAAqB,EAArC,CAAqC,CAAC;AAFhD,QAAA,iCAAiC,qCAEe;AAE7D,IAAM,OAAO,GAAG,UAAC,QAA0B,IAAmC,OAAA,CAAC;IAC3E,KAAK,EAAE,cAAe,OAAA,QAAQ,CAAC,KAAK,EAAE,EAAhB,CAAgB;IACtC,GAAG,EAAE,UAAC,IAAY,IAAoB,OAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAlB,CAAkB;IACxD,QAAQ,EAAE,UAAC,IAAY,IAAa,OAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAvB,CAAuB;IAC3D,QAAQ,EAAE,UAAC,IAAY,IAAc,OAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAvB,CAAuB;IAC5D,OAAO,EAAE,UAAC,OAAkC,IAAqB,OAAA,EAAE,EAAF,CAAE;IACnE,aAAa,EAAE,cAAsB,OAAA,EAAE,EAAF,CAAE;IACvC,SAAS,EAAE,cAAc,OAAA,QAAQ,CAAC,SAAS,EAAE,EAApB,CAAoB;IAC7C,YAAY,EAAE,UACV,MAAc,EACd,IAAY,EACZ,OAA+B,IACtB,OAAA,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAA5C,CAA4C;IACzD,KAAK,EAAE,cAAY,OAAA,QAAQ,CAAC,KAAK,EAAE,EAAhB,CAAgB;CACtC,CAAC,EAd4E,CAc5E,CAAC"}
@@ -1,29 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
28
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
29
4
  };
@@ -48,11 +23,18 @@ var decode_union_object = function (checker) {
48
23
  exports.decode_union_object = decode_union_object;
49
24
  var iterate = function (escaper) {
50
25
  return function (input, unions, expected) {
51
- return typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(unions.map(function (u) {
52
- return typescript_1.default.factory.createIfStatement(u.is(), typescript_1.default.factory.createReturnStatement(u.value()));
53
- })), false), [
54
- escaper(input, expected),
55
- ], false), true);
26
+ return typescript_1.default.factory.createBlock([
27
+ unions
28
+ .map(function (u, i) {
29
+ return typescript_1.default.factory.createIfStatement(u.is(), typescript_1.default.factory.createReturnStatement(u.value()), i === unions.length - 1
30
+ ? escaper(input, expected)
31
+ : undefined);
32
+ })
33
+ .reverse()
34
+ .reduce(function (a, b) {
35
+ return typescript_1.default.factory.createIfStatement(b.expression, b.thenStatement, a);
36
+ }),
37
+ ], true);
56
38
  };
57
39
  };
58
40
  //# sourceMappingURL=decode_union_object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode_union_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/decode_union_object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AASrB,IAAM,mBAAmB,GAC5B,UACI,OAIkB;IAEtB,OAAA,UACI,OAIkB;QAEtB,OAAA,UAAC,OAA8C;YAC/C,OAAA,UAAC,OAAiE;gBAClE,OAAA,UACI,KAAoB,EACpB,OAAyB,EACzB,OAAmC;oBAEnC,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,CACZ,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAArC,CAAqC;wBAC/C,KAAK,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAA5B,CAA4B;qBAC5C,CAAC,EAJmB,CAInB,CAAC,EACH,WAAI,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAG,CAChD,CACJ,EACD,SAAS,EACT,SAAS,CACZ;gBAnBD,CAmBC;YAxBL,CAwBK;QAzBL,CAyBK;IA1BL,CA0BK;AAjCL,CAiCK,CAAC;AAzCG,QAAA,mBAAmB,uBAyCtB;AAEV,IAAM,OAAO,GACT,UAAC,OAAiE;IAClE,OAAA,UAAC,KAAoB,EAAE,MAAgB,EAAE,QAAgB;QACrD,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,wCAEX,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC;YACZ,OAAA,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,CAAC,CAAC,EAAE,EAAE,EACN,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAC9C;QAHD,CAGC,CACJ;YACD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;mBAE5B,IAAI,CACP;IAXD,CAWC;AAZL,CAYK,CAAC"}
1
+ {"version":3,"file":"decode_union_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/decode_union_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AASrB,IAAM,mBAAmB,GAC5B,UACI,OAIkB;IAEtB,OAAA,UACI,OAIkB;QAEtB,OAAA,UAAC,OAA8C;YAC/C,OAAA,UAAC,OAAiE;gBAClE,OAAA,UACI,KAAoB,EACpB,OAAyB,EACzB,OAAmC;oBAEnC,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,CACZ,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAArC,CAAqC;wBAC/C,KAAK,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAA5B,CAA4B;qBAC5C,CAAC,EAJmB,CAInB,CAAC,EACH,WAAI,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAG,CAChD,CACJ,EACD,SAAS,EACT,SAAS,CACZ;gBAnBD,CAmBC;YAxBL,CAwBK;QAzBL,CAyBK;IA1BL,CA0BK;AAjCL,CAiCK,CAAC;AAzCG,QAAA,mBAAmB,uBAyCtB;AAEV,IAAM,OAAO,GACT,UAAC,OAAiE;IAClE,OAAA,UAAC,KAAoB,EAAE,MAAgB,EAAE,QAAgB;QACrD,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB;YACI,MAAM;iBACD,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;gBACN,OAAA,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,CAAC,CAAC,EAAE,EAAE,EACN,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAC3C,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC;oBACnB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;oBAC1B,CAAC,CAAC,SAAS,CAClB;YAND,CAMC,CACJ;iBACA,OAAO,EAAE;iBACT,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC;gBACT,OAAA,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,aAAa,EACf,CAAC,CACJ;YAJD,CAIC,CACJ;SACR,EACD,IAAI,CACP;IAtBD,CAsBC;AAvBL,CAuBK,CAAC"}
@@ -52,6 +52,8 @@ var IsProgrammer_1 = require("../IsProgrammer");
52
52
  var FunctionImporeter_1 = require("../helpers/FunctionImporeter");
53
53
  var ProtobufUtil_1 = require("../helpers/ProtobufUtil");
54
54
  var UnionExplorer_1 = require("../helpers/UnionExplorer");
55
+ var UnionPredicator_1 = require("../helpers/UnionPredicator");
56
+ var decode_union_object_1 = require("../internal/decode_union_object");
55
57
  var ProtobufEncodeProgrammer;
56
58
  (function (ProtobufEncodeProgrammer) {
57
59
  ProtobufEncodeProgrammer.write = function (project) {
@@ -71,7 +73,7 @@ var ProtobufEncodeProgrammer;
71
73
  ];
72
74
  return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
73
75
  IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type))),
74
- ], typescript_1.default.factory.createTypeReferenceNode("Uint8Array"), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(block), false), true));
76
+ ], typescript_1.default.factory.createTypeReferenceNode("Uint8Array"), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(importer.declare(modulo, false)), false), __read(block), false), true));
75
77
  };
76
78
  };
77
79
  };
@@ -79,7 +81,7 @@ var ProtobufEncodeProgrammer;
79
81
  return function (importer) {
80
82
  return function (collection) {
81
83
  return function (meta) {
82
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("writer")], TypeFactory_1.TypeFactory.keyword("any"), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(collection
84
+ var functors = collection
83
85
  .objects()
84
86
  .filter(function (obj) { return obj._Messagable(); })
85
87
  .map(function (obj) {
@@ -89,12 +91,14 @@ var ProtobufEncodeProgrammer;
89
91
  tracable: false,
90
92
  postfix: "",
91
93
  }));
92
- })), false), __read(decode(project)(importer)(null)(typescript_1.default.factory.createIdentifier("input"), meta, {
94
+ });
95
+ var main = decode(project)(importer)(null)(typescript_1.default.factory.createIdentifier("input"), meta, {
93
96
  source: "top",
94
97
  from: "top",
95
98
  tracable: false,
96
99
  postfix: "",
97
- }, []).statements), false), [
100
+ }, []);
101
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("writer")], TypeFactory_1.TypeFactory.keyword("any"), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declareUnions()), false), __read(functors), false), __read(IsProgrammer_1.IsProgrammer.write_function_statements(project)(importer)(collection)), false), __read(main.statements), false), [
98
102
  typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("writer")),
99
103
  ], false), true));
100
104
  };
@@ -147,7 +151,7 @@ var ProtobufEncodeProgrammer;
147
151
  is: function () {
148
152
  return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(type), typescript_1.default.factory.createTypeOfExpression(input));
149
153
  },
150
- value: function () { return decode_atomic(index)(input, type, tags); },
154
+ value: function (index) { return decode_atomic(index)(input, type, tags); },
151
155
  }); });
152
156
  if (meta.natives.length)
153
157
  unions.push({
@@ -155,13 +159,13 @@ var ProtobufEncodeProgrammer;
155
159
  is: function () {
156
160
  return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Uint8Array")(input);
157
161
  },
158
- value: function () { return decode_bytes("bytes")(index)(input); },
162
+ value: function (index) { return decode_bytes("bytes")(index)(input); },
159
163
  });
160
164
  if (meta.maps.length)
161
165
  unions.push({
162
166
  type: "map",
163
167
  is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Map")(input); },
164
- value: function () {
168
+ value: function (index) {
165
169
  return decode_map(project)(importer)(index)(input, meta.maps[0], __assign(__assign({}, explore), { from: "array" }), tags);
166
170
  },
167
171
  });
@@ -169,7 +173,7 @@ var ProtobufEncodeProgrammer;
169
173
  unions.push({
170
174
  type: "array",
171
175
  is: function () { return ExpressionFactory_1.ExpressionFactory.isArray(input); },
172
- value: function () {
176
+ value: function (index) {
173
177
  return explore_arrays(project)(importer)(index)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), tags);
174
178
  },
175
179
  });
@@ -182,8 +186,8 @@ var ProtobufEncodeProgrammer;
182
186
  checkArray: false,
183
187
  })(input);
184
188
  },
185
- value: function () {
186
- return explore_objects(project)(index)(importer)(input, meta, __assign(__assign({}, explore), { from: "object" }), tags);
189
+ value: function (index) {
190
+ return explore_objects(project)(importer)(0)(index)(input, meta.objects, __assign(__assign({}, explore), { from: "object" }), tags);
187
191
  },
188
192
  });
189
193
  if (unions.length === 1)
@@ -199,11 +203,18 @@ var ProtobufEncodeProgrammer;
199
203
  return function (unions) {
200
204
  return function (expected) {
201
205
  return function (input) {
202
- return typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(unions.map(function (u) {
203
- return typescript_1.default.factory.createIfStatement(u.is(), u.value(index));
204
- })), false), [
205
- create_throw_error(importer)(expected)(input),
206
- ], false), true);
206
+ return typescript_1.default.factory.createBlock([
207
+ unions
208
+ .map(function (u, i) {
209
+ return typescript_1.default.factory.createIfStatement(u.is(), u.value(index ? index + i : null), i === unions.length - 1
210
+ ? create_throw_error(importer)(expected)(input)
211
+ : undefined);
212
+ })
213
+ .reverse()
214
+ .reduce(function (a, b) {
215
+ return typescript_1.default.factory.createIfStatement(b.expression, b.thenStatement, a);
216
+ }),
217
+ ], true);
207
218
  };
208
219
  };
209
220
  };
@@ -232,7 +243,7 @@ var ProtobufEncodeProgrammer;
232
243
  return function (input, object, explore, tags) {
233
244
  var top = object.properties[0];
234
245
  if (top.key.isSoleLiteral() === false)
235
- return decode_map(project)(importer)(index)(input, top, explore, tags);
246
+ return decode_map(project)(importer)(index)(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.entries"), [], [input]), top, explore, tags);
236
247
  return typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read((index !== null
237
248
  ? [
238
249
  decode_tag(2)(index),
@@ -341,15 +352,45 @@ var ProtobufEncodeProgrammer;
341
352
  return 0;
342
353
  };
343
354
  var explore_objects = function (project) {
344
- return function (index) {
345
- return function (importer) {
346
- return function (input, meta, explore, tags) {
347
- return meta.objects.length === 1
348
- ? decode_object(project)(importer)(index)(input, meta.objects[0], explore, tags)
349
- : StatementFactory_1.StatementFactory.block(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(PREFIX, "u").concat(meta.union_index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
350
- trace: false,
351
- path: false,
352
- })(explore)(input)));
355
+ return function (importer) {
356
+ return function (level) {
357
+ return function (index) {
358
+ return function (input, targets, explore, tags) {
359
+ if (targets.length === 1)
360
+ return decode_object(project)(importer)(index)(input, targets[0], explore, tags);
361
+ var expected = "(".concat(targets
362
+ .map(function (t) { return t.name; })
363
+ .join(" | "), ")");
364
+ var specList = UnionPredicator_1.UnionPredicator.object(targets);
365
+ if (specList.length === 0) {
366
+ var condition_1 = (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(importer))(function (i, o, e) {
367
+ return ExpressionFactory_1.ExpressionFactory.selfCall(decode_object(project)(importer)(index)(i, o, e, tags));
368
+ })(function (expr) { return expr; })(function (value, expected) {
369
+ return create_throw_error(importer)(expected)(value);
370
+ })(input, targets, explore);
371
+ return StatementFactory_1.StatementFactory.block(condition_1);
372
+ }
373
+ var remained = targets.filter(function (t) { return specList.find(function (s) { return s.object === t; }) === undefined; });
374
+ var condition = specList
375
+ .filter(function (spec) { return spec.property.key.getSoleLiteral() !== null; })
376
+ .map(function (spec, i, array) {
377
+ var key = spec.property.key.getSoleLiteral();
378
+ var accessor = IdentifierFactory_1.IdentifierFactory.access(input)(key);
379
+ var pred = spec.neighbour
380
+ ? IsProgrammer_1.IsProgrammer.decode(project)(importer)(accessor, spec.property.value, __assign(__assign({}, explore), { tracable: false, postfix: IdentifierFactory_1.IdentifierFactory.postfix(key) }), tags, [])
381
+ : ExpressionFactory_1.ExpressionFactory.isRequired(accessor);
382
+ return typescript_1.default.factory.createIfStatement(pred, typescript_1.default.factory.createReturnStatement(ExpressionFactory_1.ExpressionFactory.selfCall(decode_object(project)(importer)(index)(input, spec.object, explore, tags))), i === array.length - 1
383
+ ? remained.length
384
+ ? typescript_1.default.factory.createReturnStatement(ExpressionFactory_1.ExpressionFactory.selfCall(explore_objects(project)(importer)(level + 1)(index)(input, remained, explore, tags)))
385
+ : create_throw_error(importer)(expected)(input)
386
+ : undefined);
387
+ })
388
+ .reverse()
389
+ .reduce(function (a, b) {
390
+ return typescript_1.default.factory.createIfStatement(b.expression, b.thenStatement, a);
391
+ });
392
+ return typescript_1.default.factory.createBlock([condition], true);
393
+ };
353
394
  };
354
395
  };
355
396
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufEncodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufEncodeProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,uEAAsE;AACtE,yEAAwE;AACxE,mEAAkE;AAClE,qEAAoE;AACpE,2DAA0D;AAc1D,0DAAyD;AACzD,gDAA+C;AAC/C,kEAAgE;AAChE,wDAAuD;AAEvD,0DAAyD;AAEzD,IAAiB,wBAAwB,CA+wBxC;AA/wBD,WAAiB,wBAAwB;IACxB,8BAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa;gBACzB,IAAM,QAAQ,GAAG,IAAI,oCAAgB,EAAE,CAAC;gBACxC,IAAM,UAAU,GAAG,IAAI,uCAAkB,EAAE,CAAC;gBAC5C,IAAM,IAAI,GAAa,iCAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAC7D,OAAO,CAAC,OAAO,CAClB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEpB,IAAM,WAAW,GACb,UAAC,MAAc,IAAK,OAAA,UAAC,OAAyB;oBAC1C,OAAA,mCAAgB,CAAC,QAAQ,CACrB,MAAM,EACN,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACtC,SAAS,EACT,CAAC,OAAO,CAAC,CACZ,CACJ;gBAPD,CAOC,EARe,CAQf,CAAC;gBAEV,IAAM,KAAK,GAAmB;oBAC1B,mCAAgB,CAAC,QAAQ,CACrB,SAAS,EACT,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CACrD;oBACD,WAAW,CAAC,OAAO,CAAC,CAChB,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EACrB,SAAS,EACT,EAAE,CACL,CACJ;oBACD,WAAW,CAAC,QAAQ,CAAC,CACjB,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EACtB,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAC5C,SAAS,EACT,SAAS,CACZ,CACJ;iBACJ,CAAC;gBAGF,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,WAAW,wCACd,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAK,KAAK,WACtC,IAAI,CACP,CACJ,CAAC;YACN,CAAC;QAlED,CAkEC;IAnED,CAmEC,CAAC;IAEN,IAAM,aAAa,GACf,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,UAA8B;gBAC/B,OAAA,UAAC,IAAc;oBACX,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACvC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAC1B,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,sDAEX,UAAU;yBACR,OAAO,EAAE;yBACT,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,WAAW,EAAE,EAAjB,CAAiB,CAAC;yBAClC,GAAG,CAAC,UAAC,GAAG;wBACL,OAAA,mCAAgB,CAAC,QAAQ,CACrB,UAAG,MAAM,cAAI,GAAG,CAAC,KAAK,CAAE,EACxB,qBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,GAAG,EACH;4BACI,MAAM,EAAE,UAAU;4BAClB,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,KAAK;4BACf,OAAO,EAAE,EAAE;yBACd,CACJ,CACJ;oBAZD,CAYC,CACJ,kBACF,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAC9B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,IAAI,EACJ;wBACI,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,KAAK;wBACX,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,EAAE;qBACd,EACD,EAAE,CACL,CAAC,UAAU;wBACZ,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;+BAEL,IAAI,CACP,CACJ;gBA3CD,CA2CC;YA5CL,CA4CK;QA7CL,CA6CK;IA9CL,CA8CK,CAAC;IAEV,IAAM,qBAAqB,GACvB,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UACI,KAAoB,EACpB,GAAmB,EACnB,OAAmC;gBAEnC,IAAI,KAAK,GAAW,CAAC,CAAC;gBACtB,IAAM,IAAI,GAAmB,GAAG,CAAC,UAAU;qBACtC,GAAG,CAAC,UAAC,CAAC;oBACH,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAC1C,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CAAC,CAAC,GAAG,CAAC,cAAc,EAAG,CAC1B,EACD,CAAC,CAAC,KAAK,EACP,OAAO,EACP,CAAC,CAAC,IAAI,CACT,CAAC;oBACF,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC9B;wBACI,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,wBAAgB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAG,OAAG,CAC7C,CACJ;8BACE,KAAK,CAAC,UAAU,UACrB;gBACN,CAAC,CAAC;qBACD,IAAI,EAAE,CAAC;gBAEZ,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACjC,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAC1B,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CACrC,CAAC;YACN,CAAC;QApCD,CAoCC;IArCD,CAqCC,CAAC;IAKN,IAAM,MAAM,GACR,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,KAAoB;gBACrB,OAAA,UACI,KAAoB,EACpB,IAAc,EACd,OAAmC,EACnC,IAAoB;oBAEpB,IAAM,OAAO,GACT,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;wBACxC,CAAC,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;wBAClB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;4BACxD,CAAC,CAAC,UAAC,KAAK;gCACF,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB;oCACI,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,WAAW,CACd,EACD,KAAK,CACR,EACD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,KAAK,CACR,CACJ,EACD,KAAK,CACR;iCACJ,EACD,IAAI,CACP;4BAnBD,CAmBC;4BACP,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,KAAK;gCAC7B,CAAC,CAAC,UAAC,KAAK;oCACF,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB;wCACI,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,WAAW,CACd,EACD,KAAK,CACR,EACD,KAAK,CACR;qCACJ,EACD,IAAI,CACP;gCAbD,CAaC;gCACP,CAAC,CAAC,UAAC,KAAK;oCACF,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB;wCACI,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,KAAK,CACR,EACD,KAAK,CACR;qCACJ,EACD,IAAI,CACP;gCAXD,CAWC,CAAC;oBAGhB,IAAM,MAAM,GAAa,2BAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC;wBAC/D,IAAI,MAAA;wBACJ,IAAI,EAAE,cAAM,OAAA,IAAK,EAAL,CAAK;wBACjB,EAAE,EAAE;4BACA,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACpC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;wBAHD,CAGC;wBACL,KAAK,EAAE,cAAM,OAAA,aAAa,CAAC,KAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAxC,CAAwC;qBACxD,CAAC,EATgE,CAShE,CAAC,CAAC;oBAGJ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;wBACnB,MAAM,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,OAAO;4BACb,EAAE,EAAE;gCACA,OAAA,qCAAiB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;4BAAnD,CAAmD;4BACvD,KAAK,EAAE,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,CAAC,KAAM,CAAC,CAAC,KAAK,CAAC,EAApC,CAAoC;yBACpD,CAAC,CAAC;oBAGP,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;wBAChB,MAAM,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,KAAK;4BACX,EAAE,EAAE,cAAM,OAAA,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAA5C,CAA4C;4BACtD,KAAK,EAAE;gCACH,OAAA,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAM,CAAC,CACjC,KAAK,EACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,wBAEN,OAAO,KACV,IAAI,EAAE,OAAO,KAEjB,IAAI,CACP;4BARD,CAQC;yBACR,CAAC,CAAC;oBAGP,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;wBAClB,MAAM,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,OAAO;4BACb,EAAE,EAAE,cAAM,OAAA,qCAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAhC,CAAgC;4BAC1C,KAAK,EAAE;gCACH,OAAA,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAM,CAAC,CACrC,KAAK,EACL,IAAI,CAAC,MAAM,wBAEJ,OAAO,KACV,IAAI,EAAE,OAAO,KAEjB,IAAI,CACP;4BARD,CAQC;yBACR,CAAC,CAAC;oBAGP,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;wBACnB,MAAM,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,QAAQ;4BACd,EAAE,EAAE;gCACA,OAAA,qCAAiB,CAAC,QAAQ,CAAC;oCACvB,SAAS,EAAE,IAAI;oCACf,UAAU,EAAE,KAAK;iCACpB,CAAC,CAAC,KAAK,CAAC;4BAHT,CAGS;4BACb,KAAK,EAAE;gCACH,OAAA,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CACrC,KAAK,EACL,IAAI,wBAEG,OAAO,KACV,IAAI,EAAE,QAAQ,KAElB,IAAI,CACP;4BARD,CAQC;yBACR,CAAC,CAAC;oBAGP,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;;wBAE7D,OAAO,OAAO,CACV,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAC1D,CAAC;gBACV,CAAC;YA/ID,CA+IC;QAhJD,CAgJC;IAjJD,CAiJC,CAAC;IAEN,IAAM,OAAO,GACT,UAAC,QAA0B;QAC3B,OAAA,UAAC,KAAoB;YACrB,OAAA,UAAC,MAAgB;gBACjB,OAAA,UAAC,QAAgB;oBACjB,OAAA,UAAC,KAAoB;wBACjB,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,wCAEX,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC;4BACZ,OAAA,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAApD,CAAoD,CACvD;4BACD,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;mCAEjD,IAAI,CACP;oBARD,CAQC;gBATL,CASK;YAVL,CAUK;QAXL,CAWK;IAZL,CAYK,CAAC;IAEV,IAAM,UAAU,GACZ,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,KAAa;gBACd,OAAA,UACI,KAAoB,EACpB,GAAmB,EACnB,OAAmC,EACnC,IAAoB;oBAEpB,IAAM,IAAI;wBACN,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,UAAU,GAAkB,CAAC,KAAK,CAAC,CACtC;wBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAC1C,SAAS,EACT,SAAS,CACZ,CACJ;8BACE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,GAAG,CAAC,GAAG,EACP,OAAO,EACP,EAAE,CACL,CAAC,UAAU,kBACT,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,GAAG,CAAC,KAAK,EACT,OAAO,EACP,IAAI,CACP,CAAC,UAAU;wBACZ,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAC5C,SAAS,EACT,SAAS,CACZ,CACJ;6BACJ,CAAC;oBACF,OAAO,oBAAE,CAAC,OAAO,CAAC,WAAW,CACzB;wBACI,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,SAAS,EACT,mCAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EACtC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAC/B;qBACJ,EACD,IAAI,CACP,CAAC;gBACN,CAAC;YAhDD,CAgDC;QAjDD,CAiDC;IAlDD,CAkDC,CAAC;IAEN,IAAM,aAAa,GACf,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,KAAoB;gBACrB,OAAA,UACI,KAAoB,EACpB,MAAsB,EACtB,OAAmC,EACnC,IAAoB;oBAEpB,IAAM,GAAG,GAAqB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;oBACpD,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,KAAK;wBACjC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAM,CAAC,CACxC,KAAK,EACL,GAAG,EACH,OAAO,EACP,IAAI,CACP,CAAC;oBACN,OAAO,oBAAE,CAAC,OAAO,CAAC,WAAW,CACzB,qDACO,CAAC,KAAK,KAAK,IAAI;wBACd,CAAC,CAAC;4BACI,UAAU,GAAkB,CAAC,KAAK,CAAC;4BACnC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAC1C,SAAS,EACT,SAAS,CACZ;yBACJ;wBACH,CAAC,CAAC,EAAE,CAAC;wBACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,UAAG,MAAM,cAAI,MAAM,CAAC,KAAK,CAAE,CAC9B,EACD,EAAE,EACF,CAAC,KAAK,CAAC,CACV;sCACE,CAAC,KAAK,KAAK,IAAI;wBACd,CAAC,CAAC;4BACI,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAC5C,SAAS,EACT,SAAS,CACZ;yBACJ;wBACH,CAAC,CAAC,EAAE,CAAC,UACX,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAA1C,CAA0C,CAAC,EAC3D,IAAI,CACP,CAAC;gBACN,CAAC;YA7CD,CA6CC;QA9CD,CA8CC;IA/CD,CA+CC,CAAC;IAEN,IAAM,YAAY,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,KAAa;gBACd,OAAA,UACI,KAAoB,EACpB,KAAoB,EACpB,OAAmC,EACnC,IAAoB;oBAEpB,IAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACpD,IAAM,OAAO,GAAG,UAAC,KAAoB;wBACjC,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAC9C,oBAAE,CAAC,SAAS,CAAC,KAAK,CACrB,EACD,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,KAAK,CAAC,KAAK,EACX,OAAO,EACP,IAAI,CACP,CACJ;oBAbD,CAaC,CAAC;oBACN,IAAM,MAAM,GAAG,UAAC,KAAe;wBAC3B,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB;4BACI,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAC5C,EACD,KAAK,CACR;yBACJ,EACD,IAAI,CACP;oBAXD,CAWC,CAAC;oBAEN,IAAI,IAAI,MAAqB;wBACzB,OAAO,MAAM,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBAClE,OAAO,MAAM,CACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB;wBACI,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,UAAU,GAAkB,CAAC,KAAK,CAAC,CACtC;wBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAC1C,SAAS,EACT,SAAS,CACZ,CACJ;wBACD,OAAO,CAAC,IAAI,CAAC;wBACb,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAC5C,SAAS,EACT,SAAS,CACZ,CACJ;qBACJ,EACD,IAAI,CACP,CACJ,CAAC;gBACN,CAAC;YA/DD,CA+DC;QAhED,CAgEC;IAjED,CAiEC,CAAC;IAEN,IAAM,aAAa,GACf,UAAC,KAAoB;QACrB,OAAA,UACI,KAAoB,EACpB,MAAsB,EACtB,IAAoB;YAEpB,IAAI,MAAM,KAAK,QAAQ;gBACnB,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAEjD,IAAM,GAAG,GACL,UAAC,IAAkB;gBACnB,OAAA,UAAC,MAAc;oBACX,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB,uCACO,CAAC,KAAK,KAAK,IAAI;wBACd,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC3B,CAAC,CAAC,EAAE,CAAC;wBACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAC1C,SAAS,EACT,CAAC,KAAK,CAAC,CACV;8BACH,GAAG,CAAC,UAAC,GAAG;wBACN,OAAA,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC;oBAAzC,CAAyC,CAC5C,EACD,IAAI,CACP;gBAdD,CAcC;YAfL,CAeK,CAAC;YACV,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,GAAG,GAAsB,CAAC,MAAM,CAAC,CAAC;YAEnE,IAAM,IAAI,GAAyC,IAAI,CAAC,IAAI,CACxD,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,MAAM,EAAnB,CAAmB,CACS,CAAC;YAC1C,IAAI,MAAM,KAAK,QAAQ;gBACnB,OAAO,GAAG,GAAsB,CAC5B,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAChD,CAAC;iBACD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,QAAQ;gBACnD,OAAO,GAAG,GAAkB,CAAC,QAAQ,CAAC,CAAC;iBACtC,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;gBAC3B,OAAO,GAAG,GAAkB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,GAAG,GAAsB,CAC5B,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;gBAC5C,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;oBAChD,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO;wBACxB,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,QAAQ,CACjB,CAAC;QACN,CAAC;IAhDD,CAgDC,CAAC;IAEN,IAAM,YAAY,GACd,UAAC,MAA0B;QAC3B,OAAA,UAAC,KAAa;YACd,OAAA,UAAC,KAAoB;gBACjB,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,CAClB;oBACI,UAAU,GAAkB,CAAC,KAAK,CAAC;oBACnC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAC1C,SAAS,EACT,CAAC,KAAK,CAAC,CACV;iBACJ,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAA1C,CAA0C,CAAC,EAC3D,IAAI,CACP;YAVD,CAUC;QAXL,CAWK;IAZL,CAYK,CAAC;IAEV,IAAM,UAAU,GACZ,UAAC,IAAkB;QACnB,OAAA,UAAC,KAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAC5C,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CACzD;QAJD,CAIC;IALL,CAKK,CAAC;IAEV,IAAM,mBAAmB,GAAG,UACxB,IAAc,EACd,IAAoB;QAEpB,IACI,IAAI,CAAC,MAAM,CAAC,MAAM;YAClB,IAAI,CAAC,OAAO,CAAC,MAAM;YACnB,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM;YAEnB,SAAwB;QAE5B,IAAM,CAAC,GAAG,2BAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;QACzC,IAAI,CAAC,KAAK,QAAQ;YAAE,SAAwB;aACvC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,QAAQ;YAAE,SAA4B;QAExE,IAAM,IAAI,GAAyC,IAAI,CAAC,IAAI,CACxD,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,MAAM,EAAjB,CAAiB,CACa,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,SAAwB;aAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;YAAE,SAAwB;QACzD,SAA4B;IAChC,CAAC,CAAC;IAKF,IAAM,eAAe,GACjB,UAAC,OAAiB;QAClB,OAAA,UAAC,KAAoB;YACrB,OAAA,UAAC,QAA0B;gBAC3B,OAAA,UACI,KAAoB,EACpB,IAAc,EACd,OAAmC,EACnC,IAAoB;oBAEpB,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;wBACrB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CACnC,KAAK,EACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,EAChB,OAAO,EACP,IAAI,CACP;wBACH,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAClB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,QAAQ,CAAC,QAAQ,CACb,UAAG,MAAM,cAAI,IAAI,CAAC,WAAY,CAAE,CACnC,CACJ,EACD,SAAS,EACT,qCAAiB,CAAC,cAAc,CAAC;4BAC7B,KAAK,EAAE,KAAK;4BACZ,IAAI,EAAE,KAAK;yBACd,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CACrB,CACJ;gBApBP,CAoBO;YA1BX,CA0BW;QA3BX,CA2BW;IA5BX,CA4BW,CAAC;IAEhB,IAAM,cAAc,GAChB,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,KAAa;gBACd,OAAA,UACI,KAAoB,EACpB,QAAyB,EACzB,OAAmC,EACnC,IAAoB;oBAEpB,OAAA,QAAQ,CAAC,MAAM,KAAK,CAAC;wBACjB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAClC,KAAK,EACL,QAAQ,CAAC,CAAC,CAAE,EACZ,OAAO,EACP,IAAI,CACP;wBACH,CAAC,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CACpC,6BAAa,CAAC,KAAK,CAAC;4BAChB,OAAO,EAAE,2BAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;4BAC/C,OAAO,EAAE,UAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI;gCAClC,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAClC,KAAK,EACL,MAAM,EACN,OAAO,EACP,IAAI,CACP,CACJ,EACD,SAAS,EACT,SAAS,CACZ;4BAhBD,CAgBC;4BACL,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC;4BAC3C,OAAO,EAAE,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;4BAChC,OAAO,EAAE,UAAC,KAAK,EAAE,QAAQ;gCACrB,OAAA,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;4BAA7C,CAA6C;yBACpD,CAAC,CACL,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;gBAjCvC,CAiCuC;YAvC3C,CAuC2C;QAxC3C,CAwC2C;IAzC3C,CAyC2C,CAAC;IAEhD,IAAM,8BAA8B,GAChC,UAAC,QAA0B;QAC3B,OAAA,UACI,OAQqB;YAEzB,OAAA,UACI,KAAoB,EACpB,QAAa,EACb,OAAmC,EACnC,IAAoB;gBAEpB,IAAM,KAAK,GACP,UAAC,UAAqC;oBACtC,OAAA,UAAC,OAAmC;wBACpC,OAAA,UAAC,KAAoB;4BACjB,OAAA,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;wBAAvD,CAAuD;oBAD3D,CAC2D;gBAF3D,CAE2D,CAAC;gBAChE,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,SAAS,KAAK,KAAK,EAArB,CAAqB,CAAC;oBAC5C,OAAO,mCAAgB,CAAC,KAAK,CACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EACzB,SAAS,EACT,EAAE,CACL,CACJ,CAAC;gBAEN,OAAO,yBACA,OAAO,KACV,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,OAAO,GAChB,CAAC;gBACF,OAAO,mCAAgB,CAAC,KAAK,CACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,QAAQ,CAAC,YAAY,CACjB,MAAM,EACN,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACvC;oBACI,OAAA,KAAK,CACD,qCAAiB,CAAC,qBAAqB,CACnC,MAAM,CACT,CAAC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACzB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACvC,CACJ,uBACM,OAAO,KACV,OAAO,EAAE,EAAE,IACb,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBATxC,CASwC,CAC/C,CACJ,EACD,SAAS,EACT,qCAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAC3D,CACJ,CAAC;YACN,CAAC;QAhDD,CAgDC;IA3DD,CA2DC,CAAC;IAKN,IAAM,MAAM,GAAG,KAAK,CAAC;IACrB,IAAM,MAAM,GAAG;QACX,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;KACf,CAAC;IAEF,IAAM,kBAAkB,GACpB,UAAC,QAA0B;QAC3B,OAAA,UAAC,QAAgB;YACjB,OAAA,UAAC,KAAoB;gBACjB,OAAA,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EACtB,EAAE,EACF;oBACI,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC;wBACI,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC3C;wBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,OAAO,EACP,KAAK,CACR;qBACJ,EACD,IAAI,CACP;iBACJ,CACJ,CACJ;YApBD,CAoBC;QArBL,CAqBK;IAtBL,CAsBK,CAAC;AACd,CAAC,EA/wBgB,wBAAwB,wCAAxB,wBAAwB,QA+wBxC;AAED,IAAM,MAAM,GAAG,cAAM,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAArC,CAAqC,CAAC"}
1
+ {"version":3,"file":"ProtobufEncodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufEncodeProgrammer.ts"],"names":[],"mappings":"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"}
package/lib/protobuf.d.ts CHANGED
@@ -10,10 +10,10 @@ export declare function assertDecode(input: Uint8Array): never;
10
10
  export declare function assertDecode<T>(input: Uint8Array): Primitive<T>;
11
11
  export declare function validateDecode(input: Uint8Array): never;
12
12
  export declare function validateDecode<T>(input: Uint8Array): IValidation<Primitive<T>>;
13
- export declare function encode<T>(input: T): Uint16Array;
14
- export declare function isEncode<T>(input: T): Uint16Array | null;
15
- export declare function assertEncode<T>(input: T): Uint16Array;
16
- export declare function validateEncode<T>(input: T): IValidation<Uint16Array>;
13
+ export declare function encode<T>(input: T): Uint8Array;
14
+ export declare function isEncode<T>(input: T): Uint8Array | null;
15
+ export declare function assertEncode<T>(input: T): Uint8Array;
16
+ export declare function validateEncode<T>(input: T): IValidation<Uint8Array>;
17
17
  export declare function createDecode(): never;
18
18
  export declare function createDecode<T>(): (input: Uint8Array) => Primitive<T>;
19
19
  export declare function createIsDecode(): never;
package/lib/protobuf.js CHANGED
@@ -77,20 +77,20 @@ function createIsEncode() {
77
77
  halt("createIsEncode");
78
78
  }
79
79
  exports.createIsEncode = createIsEncode;
80
- Object.assign(createIsEncode, Namespace_1.Namespace.is);
81
- Object.assign(createIsEncode, Namespace_1.Namespace.protobuf.encode);
80
+ Object.assign(createIsEncode, Namespace_1.Namespace.is());
81
+ Object.assign(createIsEncode, Namespace_1.Namespace.protobuf.encode("createIsEncode"));
82
82
  function createAssertEncode() {
83
83
  halt("createAssertEncode");
84
84
  }
85
85
  exports.createAssertEncode = createAssertEncode;
86
- Object.assign(createAssertEncode, Namespace_1.Namespace.assert);
87
- Object.assign(createAssertEncode, Namespace_1.Namespace.protobuf.encode);
86
+ Object.assign(createAssertEncode, Namespace_1.Namespace.assert("createAssertEncode"));
87
+ Object.assign(createAssertEncode, Namespace_1.Namespace.protobuf.encode("createAssertEncode"));
88
88
  function createValidateEncode() {
89
89
  halt("createValidateEncode");
90
90
  }
91
91
  exports.createValidateEncode = createValidateEncode;
92
- Object.assign(createValidateEncode, Namespace_1.Namespace.validate);
93
- Object.assign(createValidateEncode, Namespace_1.Namespace.protobuf.encode);
92
+ Object.assign(createValidateEncode, Namespace_1.Namespace.validate());
93
+ Object.assign(createValidateEncode, Namespace_1.Namespace.protobuf.encode("createValidateEncode"));
94
94
  function halt(name) {
95
95
  throw new Error("Error on typia.protobuf.".concat(name, "(): no transform has been configured. Read and follow https://typia.io/docs/setup please."));
96
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../src/protobuf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../src/protobuf.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.0.0-dev.20230818",
3
+ "version": "5.0.0-dev.20230819",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -87,4 +87,22 @@ export namespace ExpressionFactory {
87
87
  ]);
88
88
  return prev;
89
89
  };
90
+
91
+ export const selfCall = (body: ts.ConciseBody) =>
92
+ ts.isCallExpression(body)
93
+ ? body
94
+ : ts.factory.createCallExpression(
95
+ ts.factory.createParenthesizedExpression(
96
+ ts.factory.createArrowFunction(
97
+ undefined,
98
+ undefined,
99
+ [],
100
+ undefined,
101
+ undefined,
102
+ body,
103
+ ),
104
+ ),
105
+ undefined,
106
+ undefined,
107
+ );
90
108
  }
@@ -29,7 +29,10 @@ export class FunctionImporter {
29
29
  return this.local_.has(name);
30
30
  }
31
31
 
32
- public declare(modulo: ts.LeftHandSideExpression): ts.Statement[] {
32
+ public declare(
33
+ modulo: ts.LeftHandSideExpression,
34
+ includeUnions: boolean = true,
35
+ ): ts.Statement[] {
33
36
  return [
34
37
  ...[...this.used_].map((name) =>
35
38
  StatementFactory.constant(
@@ -44,12 +47,20 @@ export class FunctionImporter {
44
47
  )(name),
45
48
  ),
46
49
  ),
47
- ...[...this.unions_.values()].map(([key, arrow]) =>
48
- StatementFactory.constant(key, arrow),
49
- ),
50
+ ...(includeUnions === true
51
+ ? [...this.unions_.values()].map(([key, arrow]) =>
52
+ StatementFactory.constant(key, arrow),
53
+ )
54
+ : []),
50
55
  ];
51
56
  }
52
57
 
58
+ public declareUnions(): ts.Statement[] {
59
+ return [...this.unions_.values()].map(([key, arrow]) =>
60
+ StatementFactory.constant(key, arrow),
61
+ );
62
+ }
63
+
53
64
  public increment(): number {
54
65
  return ++this.sequence_;
55
66
  }
@@ -73,9 +73,9 @@ export namespace UnionExplorer {
73
73
  );
74
74
 
75
75
  // DO SPECIALIZE
76
- const conditions: ts.IfStatement[] = specList
76
+ const condition: ts.IfStatement = specList
77
77
  .filter((spec) => spec.property.key.getSoleLiteral() !== null)
78
- .map((spec) => {
78
+ .map((spec, i, array) => {
79
79
  const key: string = spec.property.key.getSoleLiteral()!;
80
80
  const accessor: ts.Expression =
81
81
  IdentifierFactory.access(input)(key);
@@ -105,21 +105,8 @@ export namespace UnionExplorer {
105
105
  jsDocTags,
106
106
  ),
107
107
  ),
108
- );
109
- });
110
-
111
- // RETURNS WITH CONDITIONS
112
- return ts.factory.createCallExpression(
113
- ts.factory.createArrowFunction(
114
- undefined,
115
- undefined,
116
- [],
117
- undefined,
118
- undefined,
119
- ts.factory.createBlock(
120
- [
121
- ...conditions,
122
- remained.length
108
+ i === array.length - 1
109
+ ? remained.length
123
110
  ? ts.factory.createReturnStatement(
124
111
  object(config, level + 1)(
125
112
  input,
@@ -133,10 +120,28 @@ export namespace UnionExplorer {
133
120
  input,
134
121
  expected,
135
122
  explore,
136
- ),
137
- ],
138
- true,
123
+ )
124
+ : undefined,
125
+ );
126
+ })
127
+ .reverse()
128
+ .reduce((a, b) =>
129
+ ts.factory.createIfStatement(
130
+ b.expression,
131
+ b.thenStatement,
132
+ a,
139
133
  ),
134
+ );
135
+
136
+ // RETURNS WITH CONDITIONS
137
+ return ts.factory.createCallExpression(
138
+ ts.factory.createArrowFunction(
139
+ undefined,
140
+ undefined,
141
+ [],
142
+ undefined,
143
+ undefined,
144
+ ts.factory.createBlock([condition], true),
140
145
  ),
141
146
  undefined,
142
147
  undefined,
@@ -12,6 +12,7 @@ const disable = (importer: FunctionImporter): MethodOnly<FunctionImporter> => ({
12
12
  useLocal: (name: string): string => importer.useLocal(name),
13
13
  hasLocal: (name: string): boolean => importer.hasLocal(name),
14
14
  declare: (_modulo: ts.LeftHandSideExpression): ts.Statement[] => [],
15
+ declareUnions: (): ts.Statement[] => [],
15
16
  increment: (): number => importer.increment(),
16
17
  emplaceUnion: (
17
18
  prefix: string,
@@ -55,13 +55,24 @@ const iterate =
55
55
  (input: ts.Expression, unions: IUnion[], expected: string) =>
56
56
  ts.factory.createBlock(
57
57
  [
58
- ...unions.map((u) =>
59
- ts.factory.createIfStatement(
60
- u.is(),
61
- ts.factory.createReturnStatement(u.value()),
58
+ unions
59
+ .map((u, i) =>
60
+ ts.factory.createIfStatement(
61
+ u.is(),
62
+ ts.factory.createReturnStatement(u.value()),
63
+ i === unions.length - 1
64
+ ? escaper(input, expected)
65
+ : undefined,
66
+ ),
67
+ )
68
+ .reverse()
69
+ .reduce((a, b) =>
70
+ ts.factory.createIfStatement(
71
+ b.expression,
72
+ b.thenStatement,
73
+ a,
74
+ ),
62
75
  ),
63
- ),
64
- escaper(input, expected),
65
76
  ],
66
77
  true,
67
78
  );
@@ -25,6 +25,8 @@ import { FunctionImporter } from "../helpers/FunctionImporeter";
25
25
  import { ProtobufUtil } from "../helpers/ProtobufUtil";
26
26
  import { ProtobufWire } from "../helpers/ProtobufWire";
27
27
  import { UnionExplorer } from "../helpers/UnionExplorer";
28
+ import { UnionPredicator } from "../helpers/UnionPredicator";
29
+ import { decode_union_object } from "../internal/decode_union_object";
28
30
 
29
31
  export namespace ProtobufEncodeProgrammer {
30
32
  export const write =
@@ -92,7 +94,7 @@ export namespace ProtobufEncodeProgrammer {
92
94
  ts.factory.createTypeReferenceNode("Uint8Array"),
93
95
  undefined,
94
96
  ts.factory.createBlock(
95
- [...importer.declare(modulo), ...block],
97
+ [...importer.declare(modulo, false), ...block],
96
98
  true,
97
99
  ),
98
100
  );
@@ -102,8 +104,37 @@ export namespace ProtobufEncodeProgrammer {
102
104
  (project: IProject) =>
103
105
  (importer: FunctionImporter) =>
104
106
  (collection: MetadataCollection) =>
105
- (meta: Metadata): ts.ArrowFunction =>
106
- ts.factory.createArrowFunction(
107
+ (meta: Metadata): ts.ArrowFunction => {
108
+ const functors = collection
109
+ .objects()
110
+ .filter((obj) => obj._Messagable())
111
+ .map((obj) =>
112
+ StatementFactory.constant(
113
+ `${PREFIX}o${obj.index}`,
114
+ write_object_function(project)(importer)(
115
+ ts.factory.createIdentifier("input"),
116
+ obj,
117
+ {
118
+ source: "function",
119
+ from: "object",
120
+ tracable: false,
121
+ postfix: "",
122
+ },
123
+ ),
124
+ ),
125
+ );
126
+ const main = decode(project)(importer)(null)(
127
+ ts.factory.createIdentifier("input"),
128
+ meta,
129
+ {
130
+ source: "top",
131
+ from: "top",
132
+ tracable: false,
133
+ postfix: "",
134
+ },
135
+ [],
136
+ );
137
+ return ts.factory.createArrowFunction(
107
138
  undefined,
108
139
  undefined,
109
140
  [IdentifierFactory.parameter("writer")],
@@ -111,35 +142,12 @@ export namespace ProtobufEncodeProgrammer {
111
142
  undefined,
112
143
  ts.factory.createBlock(
113
144
  [
114
- ...collection
115
- .objects()
116
- .filter((obj) => obj._Messagable())
117
- .map((obj) =>
118
- StatementFactory.constant(
119
- `${PREFIX}o${obj.index}`,
120
- write_object_function(project)(importer)(
121
- ts.factory.createIdentifier("input"),
122
- obj,
123
- {
124
- source: "function",
125
- from: "object",
126
- tracable: false,
127
- postfix: "",
128
- },
129
- ),
130
- ),
131
- ),
132
- ...decode(project)(importer)(null)(
133
- ts.factory.createIdentifier("input"),
134
- meta,
135
- {
136
- source: "top",
137
- from: "top",
138
- tracable: false,
139
- postfix: "",
140
- },
141
- [],
142
- ).statements,
145
+ ...importer.declareUnions(),
146
+ ...functors,
147
+ ...IsProgrammer.write_function_statements(project)(
148
+ importer,
149
+ )(collection),
150
+ ...main.statements,
143
151
  ts.factory.createReturnStatement(
144
152
  ts.factory.createIdentifier("writer"),
145
153
  ),
@@ -147,6 +155,7 @@ export namespace ProtobufEncodeProgrammer {
147
155
  true,
148
156
  ),
149
157
  );
158
+ };
150
159
 
151
160
  const write_object_function =
152
161
  (project: IProject) =>
@@ -266,7 +275,7 @@ export namespace ProtobufEncodeProgrammer {
266
275
  ts.factory.createStringLiteral(type),
267
276
  ts.factory.createTypeOfExpression(input),
268
277
  ),
269
- value: () => decode_atomic(index!)(input, type, tags),
278
+ value: (index) => decode_atomic(index!)(input, type, tags),
270
279
  }));
271
280
 
272
281
  // CONSIDER BYTES
@@ -275,7 +284,7 @@ export namespace ProtobufEncodeProgrammer {
275
284
  type: "bytes",
276
285
  is: () =>
277
286
  ExpressionFactory.isInstanceOf("Uint8Array")(input),
278
- value: () => decode_bytes("bytes")(index!)(input),
287
+ value: (index) => decode_bytes("bytes")(index!)(input),
279
288
  });
280
289
 
281
290
  // CONSIDER MAPS
@@ -283,7 +292,7 @@ export namespace ProtobufEncodeProgrammer {
283
292
  unions.push({
284
293
  type: "map",
285
294
  is: () => ExpressionFactory.isInstanceOf("Map")(input),
286
- value: () =>
295
+ value: (index) =>
287
296
  decode_map(project)(importer)(index!)(
288
297
  input,
289
298
  meta.maps[0]!,
@@ -300,7 +309,7 @@ export namespace ProtobufEncodeProgrammer {
300
309
  unions.push({
301
310
  type: "array",
302
311
  is: () => ExpressionFactory.isArray(input),
303
- value: () =>
312
+ value: (index) =>
304
313
  explore_arrays(project)(importer)(index!)(
305
314
  input,
306
315
  meta.arrays,
@@ -321,10 +330,10 @@ export namespace ProtobufEncodeProgrammer {
321
330
  checkNull: true,
322
331
  checkArray: false,
323
332
  })(input),
324
- value: () =>
325
- explore_objects(project)(index)(importer)(
333
+ value: (index) =>
334
+ explore_objects(project)(importer)(0)(index)(
326
335
  input,
327
- meta,
336
+ meta.objects,
328
337
  {
329
338
  ...explore,
330
339
  from: "object",
@@ -349,10 +358,26 @@ export namespace ProtobufEncodeProgrammer {
349
358
  (input: ts.Expression) =>
350
359
  ts.factory.createBlock(
351
360
  [
352
- ...unions.map((u) =>
353
- ts.factory.createIfStatement(u.is(), u.value(index)),
354
- ),
355
- create_throw_error(importer)(expected)(input),
361
+ unions
362
+ .map((u, i) =>
363
+ ts.factory.createIfStatement(
364
+ u.is(),
365
+ u.value(index ? index + i : null),
366
+ i === unions.length - 1
367
+ ? create_throw_error(importer)(expected)(
368
+ input,
369
+ )
370
+ : undefined,
371
+ ),
372
+ )
373
+ .reverse()
374
+ .reduce((a, b) =>
375
+ ts.factory.createIfStatement(
376
+ b.expression,
377
+ b.thenStatement,
378
+ a,
379
+ ),
380
+ ),
356
381
  ],
357
382
  true,
358
383
  );
@@ -424,7 +449,11 @@ export namespace ProtobufEncodeProgrammer {
424
449
  const top: MetadataProperty = object.properties[0]!;
425
450
  if (top.key.isSoleLiteral() === false)
426
451
  return decode_map(project)(importer)(index!)(
427
- input,
452
+ ts.factory.createCallExpression(
453
+ ts.factory.createIdentifier("Object.entries"),
454
+ [],
455
+ [input],
456
+ ),
428
457
  top,
429
458
  explore,
430
459
  tags,
@@ -637,35 +666,107 @@ export namespace ProtobufEncodeProgrammer {
637
666
  ----------------------------------------------------------- */
638
667
  const explore_objects =
639
668
  (project: IProject) =>
640
- (index: number | null) =>
641
669
  (importer: FunctionImporter) =>
670
+ (level: number) =>
671
+ (index: number | null) =>
642
672
  (
643
673
  input: ts.Expression,
644
- meta: Metadata,
674
+ targets: MetadataObject[],
645
675
  explore: FeatureProgrammer.IExplore,
646
676
  tags: IMetadataTag[],
647
- ): ts.Block =>
648
- meta.objects.length === 1
649
- ? decode_object(project)(importer)(index)(
650
- input,
651
- meta.objects[0]!,
652
- explore,
653
- tags,
654
- )
655
- : StatementFactory.block(
656
- ts.factory.createCallExpression(
657
- ts.factory.createIdentifier(
658
- importer.useLocal(
659
- `${PREFIX}u${meta.union_index!}`,
660
- ),
661
- ),
662
- undefined,
663
- FeatureProgrammer.argumentsArray({
664
- trace: false,
665
- path: false,
666
- })(explore)(input),
667
- ),
668
- );
677
+ ): ts.Block => {
678
+ if (targets.length === 1)
679
+ return decode_object(project)(importer)(index)(
680
+ input,
681
+ targets[0]!,
682
+ explore,
683
+ tags,
684
+ );
685
+
686
+ const expected: string = `(${targets
687
+ .map((t) => t.name)
688
+ .join(" | ")})`;
689
+
690
+ // POSSIBLE TO SPECIALIZE?
691
+ const specList = UnionPredicator.object(targets);
692
+ if (specList.length === 0) {
693
+ const condition: ts.Expression = decode_union_object(
694
+ IsProgrammer.decode_object(importer),
695
+ )((i, o, e) =>
696
+ ExpressionFactory.selfCall(
697
+ decode_object(project)(importer)(index)(i, o, e, tags),
698
+ ),
699
+ )((expr) => expr)((value, expected) =>
700
+ create_throw_error(importer)(expected)(value),
701
+ )(input, targets, explore);
702
+ return StatementFactory.block(condition);
703
+ }
704
+ const remained: MetadataObject[] = targets.filter(
705
+ (t) => specList.find((s) => s.object === t) === undefined,
706
+ );
707
+
708
+ // DO SPECIALIZE
709
+ const condition: ts.IfStatement = specList
710
+ .filter((spec) => spec.property.key.getSoleLiteral() !== null)
711
+ .map((spec, i, array) => {
712
+ const key: string = spec.property.key.getSoleLiteral()!;
713
+ const accessor: ts.Expression =
714
+ IdentifierFactory.access(input)(key);
715
+ const pred: ts.Expression = spec.neighbour
716
+ ? IsProgrammer.decode(project)(importer)(
717
+ accessor,
718
+ spec.property.value,
719
+ {
720
+ ...explore,
721
+ tracable: false,
722
+ postfix: IdentifierFactory.postfix(key),
723
+ },
724
+ tags,
725
+ [],
726
+ )
727
+ : ExpressionFactory.isRequired(accessor);
728
+ return ts.factory.createIfStatement(
729
+ pred,
730
+ ts.factory.createReturnStatement(
731
+ ExpressionFactory.selfCall(
732
+ decode_object(project)(importer)(index)(
733
+ input,
734
+ spec.object,
735
+ explore,
736
+ tags,
737
+ ),
738
+ ),
739
+ ),
740
+ i === array.length - 1
741
+ ? remained.length
742
+ ? ts.factory.createReturnStatement(
743
+ ExpressionFactory.selfCall(
744
+ explore_objects(project)(importer)(
745
+ level + 1,
746
+ )(index)(
747
+ input,
748
+ remained,
749
+ explore,
750
+ tags,
751
+ ),
752
+ ),
753
+ )
754
+ : create_throw_error(importer)(expected)(input)
755
+ : undefined,
756
+ );
757
+ })
758
+ .reverse()
759
+ .reduce((a, b) =>
760
+ ts.factory.createIfStatement(
761
+ b.expression,
762
+ b.thenStatement,
763
+ a,
764
+ ),
765
+ );
766
+
767
+ // RETURNS WITH CONDITIONS
768
+ return ts.factory.createBlock([condition], true);
769
+ };
669
770
 
670
771
  const explore_arrays =
671
772
  (project: IProject) =>
package/src/protobuf.ts CHANGED
@@ -80,7 +80,7 @@ Object.assign(validateDecode, Namespace.protobuf.decode("validateDecode"));
80
80
  /* -----------------------------------------------------------
81
81
  ENCODE
82
82
  ----------------------------------------------------------- */
83
- export function encode<T>(input: T): Uint16Array;
83
+ export function encode<T>(input: T): Uint8Array;
84
84
 
85
85
  /**
86
86
  * @internal
@@ -90,7 +90,7 @@ export function encode(): never {
90
90
  }
91
91
  Object.assign(encode, Namespace.protobuf.encode("encode"));
92
92
 
93
- export function isEncode<T>(input: T): Uint16Array | null;
93
+ export function isEncode<T>(input: T): Uint8Array | null;
94
94
 
95
95
  /**
96
96
  * @internal
@@ -101,7 +101,7 @@ export function isEncode(): never {
101
101
  Object.assign(isEncode, Namespace.is());
102
102
  Object.assign(isEncode, Namespace.protobuf.encode("isEncode"));
103
103
 
104
- export function assertEncode<T>(input: T): Uint16Array;
104
+ export function assertEncode<T>(input: T): Uint8Array;
105
105
 
106
106
  /**
107
107
  * @internal
@@ -112,7 +112,7 @@ export function assertEncode(): never {
112
112
  Object.assign(assertEncode, Namespace.assert("assertEncode"));
113
113
  Object.assign(assertEncode, Namespace.protobuf.encode("assertEncode"));
114
114
 
115
- export function validateEncode<T>(input: T): IValidation<Uint16Array>;
115
+ export function validateEncode<T>(input: T): IValidation<Uint8Array>;
116
116
 
117
117
  /**
118
118
  * @internal
@@ -192,8 +192,8 @@ export function createIsEncode<T>(): (input: T) => Uint8Array | null;
192
192
  export function createIsEncode<T>(): (input: T) => Uint8Array | null {
193
193
  halt("createIsEncode");
194
194
  }
195
- Object.assign(createIsEncode, Namespace.is);
196
- Object.assign(createIsEncode, Namespace.protobuf.encode);
195
+ Object.assign(createIsEncode, Namespace.is());
196
+ Object.assign(createIsEncode, Namespace.protobuf.encode("createIsEncode"));
197
197
 
198
198
  export function createAssertEncode(): never;
199
199
  export function createAssertEncode<T>(): (input: T) => Uint8Array;
@@ -204,8 +204,11 @@ export function createAssertEncode<T>(): (input: T) => Uint8Array;
204
204
  export function createAssertEncode<T>(): (input: T) => Uint8Array {
205
205
  halt("createAssertEncode");
206
206
  }
207
- Object.assign(createAssertEncode, Namespace.assert);
208
- Object.assign(createAssertEncode, Namespace.protobuf.encode);
207
+ Object.assign(createAssertEncode, Namespace.assert("createAssertEncode"));
208
+ Object.assign(
209
+ createAssertEncode,
210
+ Namespace.protobuf.encode("createAssertEncode"),
211
+ );
209
212
 
210
213
  export function createValidateEncode(): never;
211
214
  export function createValidateEncode<T>(): (
@@ -220,8 +223,11 @@ export function createValidateEncode<T>(): (
220
223
  ) => IValidation<Uint8Array> {
221
224
  halt("createValidateEncode");
222
225
  }
223
- Object.assign(createValidateEncode, Namespace.validate);
224
- Object.assign(createValidateEncode, Namespace.protobuf.encode);
226
+ Object.assign(createValidateEncode, Namespace.validate());
227
+ Object.assign(
228
+ createValidateEncode,
229
+ Namespace.protobuf.encode("createValidateEncode"),
230
+ );
225
231
 
226
232
  /**
227
233
  * @internal