typia 3.5.0-dev.20230124 → 3.5.0-dev.20230126

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/ProtocolFactory.js +0 -7
  2. package/lib/factories/ProtocolFactory.js.map +1 -1
  3. package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +4 -0
  4. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +60 -0
  5. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +1 -1
  6. package/lib/factories/internal/protocols/emplace_protocol_object.js +1 -1
  7. package/lib/factories/internal/protocols/emplace_protocol_object.js.map +1 -1
  8. package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +1 -1
  9. package/lib/factories/internal/protocols/iterate_protocol_map.js +20 -19
  10. package/lib/factories/internal/protocols/iterate_protocol_map.js.map +1 -1
  11. package/lib/factories/internal/protocols/iterate_protocol_metadata.js +33 -35
  12. package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +1 -1
  13. package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +1 -0
  14. package/lib/factories/internal/protocols/iterate_protocol_never.js +6 -0
  15. package/lib/factories/internal/protocols/iterate_protocol_never.js.map +1 -0
  16. package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +4 -0
  17. package/lib/factories/internal/protocols/iterate_protocol_object.js +157 -0
  18. package/lib/factories/internal/protocols/iterate_protocol_object.js.map +1 -0
  19. package/lib/factories/internal/protocols/iterate_protocol_tuple.js +1 -1
  20. package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +1 -1
  21. package/lib/metadata/Metadata.js +1 -1
  22. package/lib/metadata/Metadata.js.map +1 -1
  23. package/lib/programmers/MessageProgrammer.js +7 -5
  24. package/lib/programmers/MessageProgrammer.js.map +1 -1
  25. package/package.json +2 -1
  26. package/src/factories/ProtocolFactory.ts +0 -13
  27. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +62 -0
  28. package/src/factories/internal/protocols/emplace_protocol_object.ts +1 -1
  29. package/src/factories/internal/protocols/iterate_protocol_map.ts +25 -11
  30. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +27 -20
  31. package/src/factories/internal/protocols/iterate_protocol_never.ts +1 -0
  32. package/src/factories/internal/protocols/iterate_protocol_object.ts +110 -0
  33. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +5 -1
  34. package/src/metadata/Metadata.ts +2 -1
  35. package/src/programmers/MessageProgrammer.ts +8 -5
@@ -32,13 +32,6 @@ var ProtocolFactory;
32
32
  throw new Error("Error on typia.message(): reserved type \"__Main\" has been detected.");
33
33
  else if (meta.objects.find(function (o) { return o.name === "__Timestamp"; }))
34
34
  throw new Error("Error on typia.message(): reserved type \"__Timestamp\" has been detected.");
35
- else if (meta.objects.some(function (o) {
36
- return o.properties.filter(function (p) {
37
- return p.key.isSoleLiteral();
38
- }).length &&
39
- o.properties.filter(function (p) { return !p.key.isSoleLiteral(); }).length;
40
- }))
41
- throw new Error("Error on typia.message(): object can't have both regular and dynamic properties in protocol buffer.");
42
35
  else if (meta.objects.some(function (o) {
43
36
  return o.properties.some(function (p) { return !is_atomic_key(p.key); });
44
37
  }) ||
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolFactory.js","sourceRoot":"","sources":["../../src/factories/ProtocolFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,qDAAoD;AACpD,wFAAuF;AACvF,oFAAmF;AAEnF,IAAiB,eAAe,CAwE/B;AAxED,WAAiB,eAAe;IACf,wBAAQ,GACjB,UAAC,OAAuB;QACxB,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAa;gBACV,OAAA,iCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;oBAChD,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,UAAC,IAAI;wBACX,IAAI,IAAI,CAAC,GAAG;4BAAE,MAAM,IAAI,KAAK,2EAAsB,CAAC;6BAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;4BACzC,MAAM,IAAI,KAAK,kFAA6B,CAAC;6BAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;4BAClD,MAAM,IAAI,KAAK,yEAAuB,CAAC;6BACtC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,aAAa,EAAxB,CAAwB,CAAC;4BACvD,MAAM,IAAI,KAAK,8EAA4B,CAAC;6BAC3C,IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,UAAC,CAAC;4BACE,OAAA,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC;gCAClB,OAAA,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE;4BAArB,CAAqB,CACxB,CAAC,MAAM;gCACR,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,EAAtB,CAAsB,CAChC,CAAC,MAAM;wBALR,CAKQ,CACf;4BAED,MAAM,IAAI,KAAK,uGAA+B,CAAC;6BAC9C,IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC;4BAChB,OAAA,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAArB,CAAqB,CAAC;wBAA/C,CAA+C,CAClD;4BACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAArB,CAAqB,CAAC;4BAE5C,MAAM,IAAI,KAAK,mFAA+B,CAAC;oBACvD,CAAC;iBACJ,CAAC;YA/BF,CA+BE;QAhCN,CAgCM;IAjCN,CAiCM,CAAC;IAEE,wBAAQ,GACjB,UAAC,UAA8B;QAC/B,OAAA,UAAC,IAAmC;YACpC,OAAA,UAAC,IAAc;;;oBAEX,KAAkB,IAAA,KAAA,SAAA,UAAU,CAAC,OAAO,EAAE,CAAA,gBAAA;wBAAjC,IAAM,GAAG,WAAA;wBACV,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;qBAAA;;;;;;;;;gBAGvC,IAAA,6CAAqB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QAPD,CAOC;IARD,CAQC,CAAC;IAEN,IAAM,aAAa,GAAG,UAAC,GAAa;;QAChC,IACI,GAAG,CAAC,QAAQ;YACZ,GAAG,CAAC,QAAQ,KAAK,KAAK;YACtB,GAAG,CAAC,UAAU,KAAK,KAAK;YACxB,GAAG,CAAC,QAAQ,KAAK,IAAI;YACrB,GAAG,CAAC,IAAI,EAAE;gBACN,GAAG,CAAC,OAAO,CAAC,MAAM;oBACd,GAAG,CAAC,SAAS;yBACR,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,MAAM,EAAf,CAAe,CAAC;yBAC3B,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC;oBAC/B,GAAG,CAAC,SAAS,CAAC,MAAM,EAC9B;YACE,IAAM,GAAG,GAAgB,IAAI,GAAG,EAAE,CAAC;;gBACnC,KAAqB,IAAA,KAAA,SAAA,GAAG,CAAC,OAAO,CAAA,gBAAA;oBAA3B,IAAM,MAAM,WAAA;oBAAiB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAAA;;;;;;;;;;gBAClD,KAAuB,IAAA,KAAA,SAAA,GAAG,CAAC,SAAS,CAAA,gBAAA;oBAA/B,IAAM,QAAQ,WAAA;oBAAmB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAAA;;;;;;;;;YAC7D,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM;gBAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE5C,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;SACzB;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;AACN,CAAC,EAxEgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAwE/B"}
1
+ {"version":3,"file":"ProtocolFactory.js","sourceRoot":"","sources":["../../src/factories/ProtocolFactory.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { IMetadataTag } from "../../../metadata/IMetadataTag";
2
2
  import { Metadata } from "../../../metadata/Metadata";
3
3
  import { MetadataObject } from "../../../metadata/MetadataObject";
4
4
  import { MetadataProperty } from "../../../metadata/MetadataProperty";
5
+ import { Atomic } from "../../../typings/Atomic";
5
6
  export declare namespace ProtocolMetadataUtil {
6
7
  function size(meta: Metadata): number;
7
8
  function standalone(meta: Metadata): boolean;
@@ -9,4 +10,7 @@ export declare namespace ProtocolMetadataUtil {
9
10
  function object(name: string, index: number): MetadataObject;
10
11
  function property(key: string, value: Metadata, tags: IMetadataTag[]): MetadataProperty;
11
12
  function array(meta: Metadata): Metadata;
13
+ function atomic(type: Atomic.Literal): Metadata;
14
+ function reference(obj: MetadataObject): Metadata;
15
+ function map(elem: Metadata.Entry): Metadata;
12
16
  }
@@ -92,5 +92,65 @@ var ProtocolMetadataUtil;
92
92
  });
93
93
  }
94
94
  ProtocolMetadataUtil.array = array;
95
+ function atomic(type) {
96
+ return Metadata_1.Metadata.create({
97
+ any: false,
98
+ required: true,
99
+ nullable: false,
100
+ functional: false,
101
+ resolved: null,
102
+ atomics: [type],
103
+ constants: [],
104
+ templates: [],
105
+ rest: null,
106
+ arrays: [],
107
+ tuples: [],
108
+ objects: [],
109
+ natives: [],
110
+ sets: [],
111
+ maps: [],
112
+ });
113
+ }
114
+ ProtocolMetadataUtil.atomic = atomic;
115
+ function reference(obj) {
116
+ return Metadata_1.Metadata.create({
117
+ any: false,
118
+ required: true,
119
+ nullable: false,
120
+ functional: false,
121
+ resolved: null,
122
+ atomics: [],
123
+ constants: [],
124
+ templates: [],
125
+ rest: null,
126
+ arrays: [],
127
+ tuples: [],
128
+ objects: [obj],
129
+ natives: [],
130
+ sets: [],
131
+ maps: [],
132
+ });
133
+ }
134
+ ProtocolMetadataUtil.reference = reference;
135
+ function map(elem) {
136
+ return Metadata_1.Metadata.create({
137
+ any: false,
138
+ required: true,
139
+ nullable: false,
140
+ functional: false,
141
+ resolved: null,
142
+ atomics: [],
143
+ constants: [],
144
+ templates: [],
145
+ rest: null,
146
+ arrays: [],
147
+ tuples: [],
148
+ objects: [],
149
+ natives: [],
150
+ sets: [],
151
+ maps: [elem],
152
+ });
153
+ }
154
+ ProtocolMetadataUtil.map = map;
95
155
  })(ProtocolMetadataUtil = exports.ProtocolMetadataUtil || (exports.ProtocolMetadataUtil = {}));
96
156
  //# sourceMappingURL=ProtocolMetadataUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolMetadataUtil.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/ProtocolMetadataUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtocolMetadataUtil.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/ProtocolMetadataUtil.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ var emplace_protocol_object = function (dict) { return function (object) {
33
33
  return;
34
34
  var regular = object.properties.filter(function (p) { return p.key.isSoleLiteral(); });
35
35
  var dynamic = object.properties.filter(function (p) { return !p.key.isSoleLiteral(); });
36
- if (!regular.length || dynamic.length)
36
+ if (dynamic.length)
37
37
  return;
38
38
  var output = {
39
39
  name: object.name,
@@ -1 +1 @@
1
- {"version":3,"file":"emplace_protocol_object.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/emplace_protocol_object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,yEAAwE;AAEjE,IAAM,uBAAuB,GAChC,UAAC,IAAmC,IAAK,OAAA,UAAC,MAAsB;;IAC5D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO;IAElC,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,EAArB,CAAqB,CAAC,CAAC;IACvE,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,EAAtB,CAAsB,CAAC,CAAC;IAExE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO;IAE9C,IAAM,MAAM,GAAqB;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE9B,CAAA,KAAA,MAAM,CAAC,UAAU,CAAA,CAAC,IAAI,oCACf,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAA,qDAAyB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAArC,CAAqC,CAAC,WACjE;IACF,OAAO,MAAM,CAAC;AAClB,CAAC,EAlBwC,CAkBxC,CAAC;AAnBO,QAAA,uBAAuB,2BAmB9B"}
1
+ {"version":3,"file":"emplace_protocol_object.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/emplace_protocol_object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,yEAAwE;AAEjE,IAAM,uBAAuB,GAChC,UAAC,IAAmC,IAAK,OAAA,UAAC,MAAsB;;IAC5D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO;IAElC,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,EAArB,CAAqB,CAAC,CAAC;IACvE,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,EAAtB,CAAsB,CAAC,CAAC;IAExE,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO;IAE3B,IAAM,MAAM,GAAqB;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE9B,CAAA,KAAA,MAAM,CAAC,UAAU,CAAA,CAAC,IAAI,oCACf,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAA,qDAAyB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAArC,CAAqC,CAAC,WACjE;IACF,OAAO,MAAM,CAAC;AAClB,CAAC,EAlBwC,CAkBxC,CAAC;AAnBO,QAAA,uBAAuB,2BAmB9B"}
@@ -1,4 +1,4 @@
1
1
  import { Metadata } from "../../../metadata/Metadata";
2
2
  import { IProtocolMap } from "../../../messages/IProtocolMap";
3
3
  import { IProtocolMessage } from "../../../messages/IProtocolMessage";
4
- export declare const iterate_protocol_map: (container: "Object" | "Map") => (dict: Map<string, IProtocolMessage>) => (key: Metadata) => (value: Metadata) => IProtocolMap;
4
+ export declare const iterate_protocol_map: (sole: boolean) => (dict: Map<string, IProtocolMessage>) => (prop: Metadata.Entry) => string | IProtocolMap;
@@ -17,14 +17,19 @@ var emplace_protocol_object_1 = require("./emplace_protocol_object");
17
17
  var iterate_protocol_atomic_1 = require("./iterate_protocol_atomic");
18
18
  var iterate_protocol_constant_1 = require("./iterate_protocol_constant");
19
19
  var iterate_protocol_metadata_1 = require("./iterate_protocol_metadata");
20
- var iterate_protocol_map = function (container) {
20
+ var iterate_protocol_map = function (sole) {
21
21
  return function (dict) {
22
- return function (key) {
23
- return function (value) { return ({
24
- type: "map",
25
- key: getKeyName(key),
26
- value: getValueName(container)(dict)(value),
27
- }); };
22
+ return function (prop) {
23
+ if (sole === true)
24
+ return {
25
+ type: "map",
26
+ key: getKeyName(prop.key),
27
+ value: getValueName(dict)(prop.value),
28
+ };
29
+ var obj = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("Map.Wrapper<".concat(prop.key.getName(), ", ").concat(prop.value.getName(), ">"), dict.size);
30
+ obj.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("value", ProtocolMetadataUtil_1.ProtocolMetadataUtil.map(prop), []));
31
+ (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(obj);
32
+ return obj.name;
28
33
  };
29
34
  };
30
35
  };
@@ -59,16 +64,12 @@ var getKeyName = function (meta) {
59
64
  }
60
65
  return "string";
61
66
  };
62
- var getValueName = function (container) {
63
- return function (dict) {
64
- return function (meta) {
65
- if (ProtocolMetadataUtil_1.ProtocolMetadataUtil.standalone(meta))
66
- return (0, iterate_protocol_metadata_1.iterate_protocol_metadata)(dict)(meta)([]).oneOf[0].type;
67
- var obj = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(container, ".Value<").concat(meta.getName(), ">"), dict.size);
68
- obj.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("value", meta, []));
69
- (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(obj);
70
- return obj.name;
71
- };
72
- };
73
- };
67
+ var getValueName = function (dict) { return function (meta) {
68
+ if (ProtocolMetadataUtil_1.ProtocolMetadataUtil.standalone(meta))
69
+ return (0, iterate_protocol_metadata_1.iterate_protocol_metadata)(dict)(meta)([]).oneOf[0].type;
70
+ var obj = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("Map.Value<".concat(meta.getName(), ">"), dict.size);
71
+ obj.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("value", meta, []));
72
+ (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(obj);
73
+ return obj.name;
74
+ }; };
74
75
  //# sourceMappingURL=iterate_protocol_map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_protocol_map.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_map.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,+DAA8D;AAC9D,qEAAoE;AACpE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AAEjE,IAAM,oBAAoB,GAC7B,UAAC,SAA2B;IAC5B,OAAA,UAAC,IAAmC;QACpC,OAAA,UAAC,GAAa;YACd,OAAA,UAAC,KAAe,IAAmB,OAAA,CAAC;gBAChC,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;gBACpB,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;aAC9C,CAAC,EAJiC,CAIjC;QAJF,CAIE;IALF,CAKE;AANF,CAME,CAAC;AARM,QAAA,oBAAoB,wBAQ1B;AAEP,IAAM,UAAU,GAAG,UAAC,IAAc;;;QAC9B,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;YAA5B,IAAM,MAAM,WAAA;YACb,OAAO,IAAA,iDAAuB,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;SAAA;;;;;;;;;;QAC/C,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;YAAhC,IAAM,QAAQ,WAAA;YACf,OAAO,IAAA,qDAAyB,EAAC,QAAQ,CAAC,CAAC;SAAA;;;;;;;;;IAC/C,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,IAAM,YAAY,GACd,UAAC,SAA2B;IAC5B,OAAA,UAAC,IAAmC;QACpC,OAAA,UAAC,IAAc;YACX,IAAI,2CAAoB,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrC,OAAO,IAAA,qDAAyB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;YAEpE,IAAM,GAAG,GAAmB,2CAAoB,CAAC,MAAM,CACnD,UAAG,SAAS,oBAAU,IAAI,CAAC,OAAO,EAAE,MAAG,EACvC,IAAI,CAAC,IAAI,CACZ,CAAC;YACF,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,2CAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACtE,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC,IAAI,CAAC;QACpB,CAAC;IAXD,CAWC;AAZD,CAYC,CAAC"}
1
+ {"version":3,"file":"iterate_protocol_map.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_map.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,+DAA8D;AAC9D,qEAAoE;AACpE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AAEjE,IAAM,oBAAoB,GAC7B,UAAC,IAAa;IACd,OAAA,UAAC,IAAmC;QACpC,OAAA,UAAC,IAAoB;YACjB,IAAI,IAAI,KAAK,IAAI;gBACb,OAAO;oBACH,IAAI,EAAE,KAAK;oBACX,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;oBACzB,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;iBACxC,CAAC;YAEN,IAAM,GAAG,GAAmB,2CAAoB,CAAC,MAAM,CACnD,sBAAe,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAG,EAC7D,IAAI,CAAC,IAAI,CACZ,CAAC;YACF,GAAG,CAAC,UAAU,CAAC,IAAI,CACf,2CAAoB,CAAC,QAAQ,CACzB,OAAO,EACP,2CAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAC9B,EAAE,CACL,CACJ,CAAC;YACF,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC,IAAI,CAAC;QACpB,CAAC;IArBD,CAqBC;AAtBD,CAsBC,CAAC;AAxBO,QAAA,oBAAoB,wBAwB3B;AAEN,IAAM,UAAU,GAAG,UAAC,IAAc;;;QAC9B,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;YAA5B,IAAM,MAAM,WAAA;YACb,OAAO,IAAA,iDAAuB,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;SAAA;;;;;;;;;;QAC/C,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;YAAhC,IAAM,QAAQ,WAAA;YACf,OAAO,IAAA,qDAAyB,EAAC,QAAQ,CAAC,CAAC;SAAA;;;;;;;;;IAC/C,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,IAAM,YAAY,GACd,UAAC,IAAmC,IAAK,OAAA,UAAC,IAAc;IACpD,IAAI,2CAAoB,CAAC,UAAU,CAAC,IAAI,CAAC;QACrC,OAAO,IAAA,qDAAyB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;IAEpE,IAAM,GAAG,GAAmB,2CAAoB,CAAC,MAAM,CACnD,oBAAa,IAAI,CAAC,OAAO,EAAE,MAAG,EAC9B,IAAI,CAAC,IAAI,CACZ,CAAC;IACF,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,2CAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACtE,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,CAAC,EAXwC,CAWxC,CAAC"}
@@ -32,13 +32,25 @@ var iterate_protocol_atomic_1 = require("./iterate_protocol_atomic");
32
32
  var iterate_protocol_constant_1 = require("./iterate_protocol_constant");
33
33
  var iterate_protocol_map_1 = require("./iterate_protocol_map");
34
34
  var iterate_protocol_native_1 = require("./iterate_protocol_native");
35
+ var iterate_protocol_never_1 = require("./iterate_protocol_never");
36
+ var iterate_protocol_object_1 = require("./iterate_protocol_object");
35
37
  var iterate_protocol_repeated_1 = require("./iterate_protocol_repeated");
36
38
  var iterate_protocol_tuple_1 = require("./iterate_protocol_tuple");
37
39
  var iterate_protocol_metadata = function (dict) {
38
40
  return function (meta) {
39
41
  return function (tags) {
40
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h, e_9, _j;
41
- var required = meta.required && !meta.nullable;
42
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h;
43
+ var _j;
44
+ var sole = meta.size() === 1;
45
+ var bucket = sole && meta.bucket() === 1;
46
+ var required = (meta.required && !meta.nullable) ||
47
+ (sole &&
48
+ (meta.arrays.length === 1 ||
49
+ meta.sets.length === 1 ||
50
+ meta.maps.length === 1 ||
51
+ (meta.objects.length === 1 &&
52
+ meta.objects[0].properties.length === 1 &&
53
+ !((_j = meta.objects[0].properties[0]) === null || _j === void 0 ? void 0 : _j.key.isSoleLiteral()))));
42
54
  var oneOf = [];
43
55
  var add = function (type) {
44
56
  if (oneOf.some(function (one) { return one.type === type; }))
@@ -47,7 +59,7 @@ var iterate_protocol_metadata = function (dict) {
47
59
  type: type,
48
60
  });
49
61
  };
50
- if (meta.size() === 1 && meta.arrays.length + meta.sets.length === 1) {
62
+ if (sole && meta.arrays.length + meta.sets.length === 1) {
51
63
  var _k = __read(meta.arrays.length === 1
52
64
  ? ["Array", meta.arrays[0]]
53
65
  : ["Set", meta.sets[0]], 2), container = _k[0], child = _k[1];
@@ -86,26 +98,12 @@ var iterate_protocol_metadata = function (dict) {
86
98
  }
87
99
  if (meta.templates.length)
88
100
  add("string");
101
+ if (meta.size() === 0)
102
+ add((0, iterate_protocol_never_1.iterate_protocol_never)());
89
103
  try {
90
104
  for (var _q = __values(meta.objects), _r = _q.next(); !_r.done; _r = _q.next()) {
91
105
  var obj = _r.value;
92
- if (obj.properties.some(function (p) { return !p.key.isSoleLiteral(); })) {
93
- try {
94
- for (var _s = (e_4 = void 0, __values(obj.properties)), _t = _s.next(); !_t.done; _t = _s.next()) {
95
- var prop = _t.value;
96
- add((0, iterate_protocol_map_1.iterate_protocol_map)("Object")(dict)(prop.key)(prop.value));
97
- }
98
- }
99
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
100
- finally {
101
- try {
102
- if (_t && !_t.done && (_d = _s.return)) _d.call(_s);
103
- }
104
- finally { if (e_4) throw e_4.error; }
105
- }
106
- }
107
- else
108
- add(obj.name);
106
+ add((0, iterate_protocol_object_1.iterate_protocol_object)(sole)(dict)(obj));
109
107
  }
110
108
  }
111
109
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
@@ -115,6 +113,19 @@ var iterate_protocol_metadata = function (dict) {
115
113
  }
116
114
  finally { if (e_3) throw e_3.error; }
117
115
  }
116
+ try {
117
+ for (var _s = __values(meta.maps), _t = _s.next(); !_t.done; _t = _s.next()) {
118
+ var map = _t.value;
119
+ add((0, iterate_protocol_map_1.iterate_protocol_map)(sole)(dict)(map));
120
+ }
121
+ }
122
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
123
+ finally {
124
+ try {
125
+ if (_t && !_t.done && (_d = _s.return)) _d.call(_s);
126
+ }
127
+ finally { if (e_4) throw e_4.error; }
128
+ }
118
129
  try {
119
130
  for (var _u = __values(meta.natives), _v = _u.next(); !_v.done; _v = _u.next()) {
120
131
  var native = _v.value;
@@ -144,7 +155,7 @@ var iterate_protocol_metadata = function (dict) {
144
155
  try {
145
156
  for (var _y = __values(meta.arrays), _z = _y.next(); !_z.done; _z = _y.next()) {
146
157
  var array = _z.value;
147
- add((0, iterate_protocol_repeated_1.iterate_protocol_repeated)("Array")(false, meta.bucket() === 1)(dict)(array)(tags));
158
+ add((0, iterate_protocol_repeated_1.iterate_protocol_repeated)("Array")(false, bucket)(dict)(array)(tags));
148
159
  }
149
160
  }
150
161
  catch (e_7_1) { e_7 = { error: e_7_1 }; }
@@ -157,7 +168,7 @@ var iterate_protocol_metadata = function (dict) {
157
168
  try {
158
169
  for (var _0 = __values(meta.sets), _1 = _0.next(); !_1.done; _1 = _0.next()) {
159
170
  var set = _1.value;
160
- add((0, iterate_protocol_repeated_1.iterate_protocol_repeated)("Set")(false, meta.bucket() === 1)(dict)(set)(tags));
171
+ add((0, iterate_protocol_repeated_1.iterate_protocol_repeated)("Set")(false, bucket)(dict)(set)(tags));
161
172
  }
162
173
  }
163
174
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
@@ -167,19 +178,6 @@ var iterate_protocol_metadata = function (dict) {
167
178
  }
168
179
  finally { if (e_8) throw e_8.error; }
169
180
  }
170
- try {
171
- for (var _2 = __values(meta.maps), _3 = _2.next(); !_3.done; _3 = _2.next()) {
172
- var map = _3.value;
173
- add((0, iterate_protocol_map_1.iterate_protocol_map)("Map")(dict)(map.key)(map.value));
174
- }
175
- }
176
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
177
- finally {
178
- try {
179
- if (_3 && !_3.done && (_j = _2.return)) _j.call(_2);
180
- }
181
- finally { if (e_9) throw e_9.error; }
182
- }
183
181
  return {
184
182
  required: required,
185
183
  oneOf: oneOf,
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_protocol_metadata.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,qEAAoE;AACpE,yEAAwE;AACxE,+DAA8D;AAC9D,qEAAoE;AACpE,yEAAwE;AACxE,mEAAkE;AAE3D,IAAM,yBAAyB,GAClC,UAAC,IAAmC;IACpC,OAAA,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;;YAEjB,IAAM,QAAQ,GAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1D,IAAM,KAAK,GAA+B,EAAE,CAAC;YAE7C,IAAM,GAAG,GAAG,UAAC,IAA2B;gBACpC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,IAAI,EAAjB,CAAiB,CAAC;oBAAE,OAAO;gBACnD,KAAK,CAAC,IAAI,CAAC;oBACP,IAAI,MAAA;iBACP,CAAC,CAAC;YACP,CAAC,CAAC;YAGF,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5D,IAAA,KAAA,OACF,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBACpB,CAAC,CAAE,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAW;oBACvC,CAAC,CAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAW,IAAA,EAHpC,SAAS,QAAA,EAAE,KAAK,QAGoB,CAAC;gBAC5C,GAAG,CACC,IAAA,qDAAyB,EAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CACzD,IAAI,CACP,CACJ,CAAC;gBACF,OAAO;oBACH,QAAQ,UAAA;oBACR,KAAK,OAAA;oBACL,QAAQ,EAAE,IAAI;iBACjB,CAAC;aACL;;gBAGD,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;oBAA1B,IAAM,IAAI,WAAA;oBACX,GAAG,CAAC,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBAC7C,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;oBAAhC,IAAM,QAAQ,WAAA;oBACf,GAAG,CAAC,IAAA,qDAAyB,EAAC,QAAQ,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;YAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;;gBAGzC,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;oBAAzB,IAAM,GAAG,WAAA;oBACV,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,EAAtB,CAAsB,CAAC,EAAE;;4BACpD,KAAmB,IAAA,oBAAA,SAAA,GAAG,CAAC,UAAU,CAAA,CAAA,gBAAA;gCAA5B,IAAM,IAAI,WAAA;gCACX,GAAG,CACC,IAAA,2CAAoB,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC1C,IAAI,CAAC,KAAK,CACb,CACJ,CAAC;6BAAA;;;;;;;;;qBACT;;wBAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAAA;;;;;;;;;;gBACzB,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;oBAA5B,IAAM,MAAM,WAAA;oBACb,GAAG,CAAC,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBAC/C,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA;oBAA1B,IAAM,KAAK,WAAA;oBACZ,GAAG,CAAC,IAAA,+CAAsB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBAC7C,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA;oBAA1B,IAAM,KAAK,WAAA;oBACZ,GAAG,CACC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC1D,IAAI,CACP,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CACjB,CAAC;iBAAA;;;;;;;;;;gBACN,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,IAAI,CAAA,gBAAA;oBAAtB,IAAM,GAAG,WAAA;oBACV,GAAG,CACC,IAAA,qDAAyB,EAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACxD,IAAI,CACP,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CACf,CAAC;iBAAA;;;;;;;;;;gBACN,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,IAAI,CAAA,gBAAA;oBAAtB,IAAM,GAAG,WAAA;oBACV,GAAG,CAAC,IAAA,2CAAoB,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;YAG/D,OAAO;gBACH,QAAQ,UAAA;gBACR,KAAK,OAAA;gBACL,QAAQ,EAAE,KAAK;aAClB,CAAC;QACN,CAAC;IAxED,CAwEC;AAzED,CAyEC,CAAC;AA3EO,QAAA,yBAAyB,6BA2EhC"}
1
+ {"version":3,"file":"iterate_protocol_metadata.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,qEAAoE;AACpE,yEAAwE;AACxE,+DAA8D;AAC9D,qEAAoE;AACpE,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,mEAAkE;AAE3D,IAAM,yBAAyB,GAClC,UAAC,IAAmC;IACpC,OAAA,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;;;YAEjB,IAAM,IAAI,GAAY,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxC,IAAM,MAAM,GAAY,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpD,IAAM,QAAQ,GACV,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjC,CAAC,IAAI;oBACD,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;wBACrB,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;wBACtB,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;wBACtB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;4BACtB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;4BACxC,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC,aAAa,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC;YAExE,IAAM,KAAK,GAA+B,EAAE,CAAC;YAC7C,IAAM,GAAG,GAAG,UAAC,IAA2B;gBACpC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,IAAI,EAAjB,CAAiB,CAAC;oBAAE,OAAO;gBACnD,KAAK,CAAC,IAAI,CAAC;oBACP,IAAI,MAAA;iBACP,CAAC,CAAC;YACP,CAAC,CAAC;YAGF,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/C,IAAA,KAAA,OACF,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBACpB,CAAC,CAAE,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAW;oBACvC,CAAC,CAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAW,IAAA,EAHpC,SAAS,QAAA,EAAE,KAAK,QAGoB,CAAC;gBAC5C,GAAG,CACC,IAAA,qDAAyB,EAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CACzD,IAAI,CACP,CACJ,CAAC;gBACF,OAAO;oBACH,QAAQ,UAAA;oBACR,KAAK,OAAA;oBACL,QAAQ,EAAE,IAAI;iBACjB,CAAC;aACL;;gBAGD,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;oBAA1B,IAAM,IAAI,WAAA;oBACX,GAAG,CAAC,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBAC7C,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;oBAAhC,IAAM,QAAQ,WAAA;oBACf,GAAG,CAAC,IAAA,qDAAyB,EAAC,QAAQ,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;YAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,GAAG,CAAC,IAAA,+CAAsB,GAAE,CAAC,CAAC;;gBAGrD,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;oBAAzB,IAAM,GAAG,WAAA;oBACV,GAAG,CAAC,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBAClD,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,IAAI,CAAA,gBAAA;oBAAtB,IAAM,GAAG,WAAA;oBAAe,GAAG,CAAC,IAAA,2CAAoB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBACxE,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;oBAA5B,IAAM,MAAM,WAAA;oBACb,GAAG,CAAC,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBAG/C,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA;oBAA1B,IAAM,KAAK,WAAA;oBACZ,GAAG,CAAC,IAAA,+CAAsB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBAAA;;;;;;;;;;gBAC7C,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA;oBAA1B,IAAM,KAAK,WAAA;oBACZ,GAAG,CACC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAC1D,IAAI,CACP,CACJ,CAAC;iBAAA;;;;;;;;;;gBACN,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,IAAI,CAAA,gBAAA;oBAAtB,IAAM,GAAG,WAAA;oBACV,GAAG,CACC,IAAA,qDAAyB,EAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CACtD,IAAI,CACP,CACJ,CAAC;iBAAA;;;;;;;;;YAGN,OAAO;gBACH,QAAQ,UAAA;gBACR,KAAK,OAAA;gBACL,QAAQ,EAAE,KAAK;aAClB,CAAC;QACN,CAAC;IA7ED,CA6EC;AA9ED,CA8EC,CAAC;AAhFO,QAAA,yBAAyB,6BAgFhC"}
@@ -0,0 +1 @@
1
+ export declare const iterate_protocol_never: () => string;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.iterate_protocol_never = void 0;
4
+ var iterate_protocol_never = function () { return "uint32"; };
5
+ exports.iterate_protocol_never = iterate_protocol_never;
6
+ //# sourceMappingURL=iterate_protocol_never.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterate_protocol_never.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_never.ts"],"names":[],"mappings":";;;AAAO,IAAM,sBAAsB,GAAG,cAAM,OAAA,QAAQ,EAAR,CAAQ,CAAC;AAAxC,QAAA,sBAAsB,0BAAkB"}
@@ -0,0 +1,4 @@
1
+ import { MetadataObject } from "../../../metadata/MetadataObject";
2
+ import { IProtocolMap } from "../../../messages/IProtocolMap";
3
+ import { IProtocolMessage } from "../../../messages/IProtocolMessage";
4
+ export declare const iterate_protocol_object: (sole: boolean) => (dict: Map<string, IProtocolMessage>) => (obj: MetadataObject) => string | IProtocolMap;
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ var __values = (this && this.__values) || function(o) {
28
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
29
+ if (m) return m.call(o);
30
+ if (o && typeof o.length === "number") return {
31
+ next: function () {
32
+ if (o && i >= o.length) o = void 0;
33
+ return { value: o && o[i++], done: !o };
34
+ }
35
+ };
36
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.iterate_protocol_object = void 0;
40
+ var Metadata_1 = require("../../../metadata/Metadata");
41
+ var MapUtil_1 = require("../../../utils/MapUtil");
42
+ var ProtocolMetadataUtil_1 = require("./ProtocolMetadataUtil");
43
+ var emplace_protocol_object_1 = require("./emplace_protocol_object");
44
+ var iterate_protocol_metadata_1 = require("./iterate_protocol_metadata");
45
+ var iterate_protocol_object = function (sole) {
46
+ return function (dict) {
47
+ return function (obj) {
48
+ var _a;
49
+ var statics = obj.properties.filter(filter(true));
50
+ var dynamics = aggregate(obj.properties.filter(filter(false)));
51
+ if (dynamics.length === 0)
52
+ return obj.name;
53
+ var regular = statics.length
54
+ ? (function () {
55
+ var _a;
56
+ var r = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(obj.name, ".__Regular"), dict.size);
57
+ (_a = r.properties).push.apply(_a, __spreadArray([], __read(statics), false));
58
+ (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(r);
59
+ return r;
60
+ })()
61
+ : undefined;
62
+ if (regular === undefined && dynamics.length === 1 && sole === true) {
63
+ var _b = dynamics[0], key = _b.key, value_1 = _b.value;
64
+ return {
65
+ type: "map",
66
+ key: key.getName(),
67
+ value: ProtocolMetadataUtil_1.ProtocolMetadataUtil.standalone(value_1)
68
+ ? (0, iterate_protocol_metadata_1.iterate_protocol_metadata)(dict)(value_1)([]).oneOf[0].type
69
+ : (function () {
70
+ var wrapper = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(obj.name, ".__Wrapper"), dict.size);
71
+ wrapper.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("value", value_1, []));
72
+ (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(wrapper);
73
+ return wrapper.name;
74
+ })(),
75
+ };
76
+ }
77
+ var wrapper = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object("".concat(obj.name, ".__Wrapper"), dict.size);
78
+ if (regular !== undefined)
79
+ wrapper.properties.push(ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("regular", ProtocolMetadataUtil_1.ProtocolMetadataUtil.reference(regular), []));
80
+ (_a = wrapper.properties).push.apply(_a, __spreadArray([], __read(dynamics.map(function (map, i) {
81
+ return ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("__map_".concat(i), ProtocolMetadataUtil_1.ProtocolMetadataUtil.map(map), []);
82
+ })), false));
83
+ (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(wrapper);
84
+ return wrapper.name;
85
+ };
86
+ };
87
+ };
88
+ exports.iterate_protocol_object = iterate_protocol_object;
89
+ var filter = function (regular) { return function (prop) {
90
+ return regular === prop.key.isSoleLiteral();
91
+ }; };
92
+ var aggregate = function (properties) {
93
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
94
+ var unique = new Map();
95
+ try {
96
+ for (var properties_1 = __values(properties), properties_1_1 = properties_1.next(); !properties_1_1.done; properties_1_1 = properties_1.next()) {
97
+ var prop = properties_1_1.value;
98
+ if (prop.key.templates)
99
+ MapUtil_1.MapUtil.take(unique, "string", function () { return []; }).push(prop);
100
+ try {
101
+ for (var _e = (e_2 = void 0, __values(prop.key.atomics)), _f = _e.next(); !_f.done; _f = _e.next()) {
102
+ var type = _f.value;
103
+ MapUtil_1.MapUtil.take(unique, type, function () { return []; }).push(prop);
104
+ }
105
+ }
106
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
107
+ finally {
108
+ try {
109
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
110
+ }
111
+ finally { if (e_2) throw e_2.error; }
112
+ }
113
+ try {
114
+ for (var _g = (e_3 = void 0, __values(prop.key.constants)), _h = _g.next(); !_h.done; _h = _g.next()) {
115
+ var type = _h.value.type;
116
+ MapUtil_1.MapUtil.take(unique, type, function () { return []; }).push(prop);
117
+ }
118
+ }
119
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
120
+ finally {
121
+ try {
122
+ if (_h && !_h.done && (_c = _g.return)) _c.call(_g);
123
+ }
124
+ finally { if (e_3) throw e_3.error; }
125
+ }
126
+ }
127
+ }
128
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
129
+ finally {
130
+ try {
131
+ if (properties_1_1 && !properties_1_1.done && (_a = properties_1.return)) _a.call(properties_1);
132
+ }
133
+ finally { if (e_1) throw e_1.error; }
134
+ }
135
+ var output = [];
136
+ try {
137
+ for (var unique_1 = __values(unique), unique_1_1 = unique_1.next(); !unique_1_1.done; unique_1_1 = unique_1.next()) {
138
+ var _j = __read(unique_1_1.value, 2), key = _j[0], properties_2 = _j[1];
139
+ var value = properties_2
140
+ .map(function (x) { return x.value; })
141
+ .reduce(function (x, y) { return Metadata_1.Metadata.merge(x, y); });
142
+ output.push({
143
+ key: ProtocolMetadataUtil_1.ProtocolMetadataUtil.atomic(key),
144
+ value: value,
145
+ });
146
+ }
147
+ }
148
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
149
+ finally {
150
+ try {
151
+ if (unique_1_1 && !unique_1_1.done && (_d = unique_1.return)) _d.call(unique_1);
152
+ }
153
+ finally { if (e_4) throw e_4.error; }
154
+ }
155
+ return output;
156
+ };
157
+ //# sourceMappingURL=iterate_protocol_object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterate_protocol_object.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_object.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ var iterate_protocol_tuple = function (dict) {
36
36
  return name;
37
37
  var obj = ProtocolMetadataUtil_1.ProtocolMetadataUtil.object(name, dict.size);
38
38
  (_a = obj.properties).push.apply(_a, __spreadArray([], __read(tuple.map(function (value, i) {
39
- return ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("v".concat(i), value, []);
39
+ return ProtocolMetadataUtil_1.ProtocolMetadataUtil.property("v".concat(i), value.rest ? ProtocolMetadataUtil_1.ProtocolMetadataUtil.array(value.rest) : value, []);
40
40
  })), false));
41
41
  (0, emplace_protocol_object_1.emplace_protocol_object)(dict)(obj);
42
42
  return obj.name;
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_protocol_tuple.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,+DAA8D;AAC9D,qEAAoE;AAE7D,IAAM,sBAAsB,GAC/B,UAAC,IAAmC;IACpC,OAAA,UAAC,KAAiB;;QACd,IAAM,IAAI,GAAW,WAAI,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAE,EAAX,CAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;QACrE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhC,IAAM,GAAG,GAAmB,2CAAoB,CAAC,MAAM,CACnD,IAAI,EACJ,IAAI,CAAC,IAAI,CACZ,CAAC;QACF,CAAA,KAAA,GAAG,CAAC,UAAU,CAAA,CAAC,IAAI,oCACZ,KAAK,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,CAAC;YAClB,OAAA,2CAAoB,CAAC,QAAQ,CAAC,WAAI,CAAC,CAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QAAjD,CAAiD,CACpD,WACH;QACF,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;AAfD,CAeC,CAAC;AAjBO,QAAA,sBAAsB,0BAiB7B"}
1
+ {"version":3,"file":"iterate_protocol_tuple.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,+DAA8D;AAC9D,qEAAoE;AAE7D,IAAM,sBAAsB,GAC/B,UAAC,IAAmC;IACpC,OAAA,UAAC,KAAiB;;QACd,IAAM,IAAI,GAAW,WAAI,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAE,EAAX,CAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;QACrE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhC,IAAM,GAAG,GAAmB,2CAAoB,CAAC,MAAM,CACnD,IAAI,EACJ,IAAI,CAAC,IAAI,CACZ,CAAC;QACF,CAAA,KAAA,GAAG,CAAC,UAAU,CAAA,CAAC,IAAI,oCACZ,KAAK,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,CAAC;YAClB,OAAA,2CAAoB,CAAC,QAAQ,CACzB,WAAI,CAAC,CAAE,EACP,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,2CAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAC3D,EAAE,CACL;QAJD,CAIC,CACJ,WACH;QACF,IAAA,iDAAuB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;AAnBD,CAmBC,CAAC;AArBO,QAAA,sBAAsB,0BAqB7B"}
@@ -707,7 +707,7 @@ function getName(metadata) {
707
707
  finally { if (e_26) throw e_26.error; }
708
708
  }
709
709
  if (metadata.rest !== null)
710
- elements.push("...".concat(metadata.rest.getName()));
710
+ elements.push("Rest<".concat(metadata.rest.getName(), ">"));
711
711
  try {
712
712
  for (var _0 = __values(metadata.tuples), _1 = _0.next(); !_1.done; _1 = _0.next()) {
713
713
  var tuple = _1.value;
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../src/metadata/Metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../src/metadata/Metadata.ts"],"names":[],"mappings":"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"}
@@ -82,22 +82,24 @@ var MessageProgrammer;
82
82
  var elements = ["message ".concat(NameEncoder_1.NameEncoder.encode(key), " {")];
83
83
  if (message !== null)
84
84
  elements.push.apply(elements, __spreadArray([], __read(message.properties.map(function (property) {
85
+ var key = Escaper_1.Escaper.variable(property.key) &&
86
+ property.key.indexOf("$") === -1
87
+ ? property.key
88
+ : "v".concat(index + 1);
85
89
  if (property.oneOf.length === 1)
86
90
  return [
87
91
  TAB,
88
92
  property.required ? "" : "optional ",
89
93
  property.repeated ? "repeated " : "",
90
94
  getTypeName(property.oneOf[0].type) + " ",
91
- Escaper_1.Escaper.variable(property.key)
92
- ? property.key
93
- : "v".concat(index + 1),
95
+ key,
94
96
  " = ",
95
97
  "".concat(index++, ";"),
96
98
  ].join("");
97
- return ("".concat(TAB, "oneof ").concat(property.key, " {\n") +
99
+ return ("".concat(TAB, "oneof ").concat(key, " {\n") +
98
100
  property.oneOf
99
101
  .map(function (o, i) {
100
- return "".concat(TAB).concat(TAB).concat(getTypeName(o.type), " o").concat(i, " = ").concat(index++, ";");
102
+ return "".concat(TAB).concat(TAB).concat(getTypeName(o.type), " ").concat(key, "_o").concat(i, " = ").concat(index++, ";");
101
103
  })
102
104
  .join("\n") +
103
105
  "\n".concat(TAB, "}"));
@@ -1 +1 @@
1
- {"version":3,"file":"MessageProgrammer.js","sourceRoot":"","sources":["../../src/programmers/MessageProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageProgrammer.js","sourceRoot":"","sources":["../../src/programmers/MessageProgrammer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.5.0-dev.20230124",
3
+ "version": "3.5.0-dev.20230126",
4
4
  "description": "Runtime type checkers and 5x faster JSON.stringify() function",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -101,6 +101,7 @@
101
101
  "source-map-support": "^0.5.21",
102
102
  "suppress-warnings": "^1.0.2",
103
103
  "ts-node": "^10.9.1",
104
+ "ts-proto": "^1.138.0",
104
105
  "ttypescript": "^1.5.15",
105
106
  "typescript": "^4.9.4",
106
107
  "uuid": "^8.3.2",
@@ -24,18 +24,6 @@ export namespace ProtocolFactory {
24
24
  throw new Error(ErrorMessages.NO_MAIN);
25
25
  else if (meta.objects.find((o) => o.name === "__Timestamp"))
26
26
  throw new Error(ErrorMessages.NO_TIMESTAMP);
27
- else if (
28
- meta.objects.some(
29
- (o) =>
30
- o.properties.filter((p) =>
31
- p.key.isSoleLiteral(),
32
- ).length &&
33
- o.properties.filter(
34
- (p) => !p.key.isSoleLiteral(),
35
- ).length,
36
- )
37
- )
38
- throw new Error(ErrorMessages.NO_SIMULATENOUS);
39
27
  else if (
40
28
  meta.objects.some((o) =>
41
29
  o.properties.some((p) => !is_atomic_key(p.key)),
@@ -88,5 +76,4 @@ const enum ErrorMessages {
88
76
  NO_MAIN = `Error on typia.message(): reserved type "__Main" has been detected.`,
89
77
  NO_TIMESTAMP = `Error on typia.message(): reserved type "__Timestamp" has been detected.`,
90
78
  NOT_ALLOWED_KEY = `Error on typia.message(): only atomic key type is supported in protocol buffer.`,
91
- NO_SIMULATENOUS = `Error on typia.message(): object can't have both regular and dynamic properties in protocol buffer.`,
92
79
  }
@@ -3,6 +3,8 @@ import { Metadata } from "../../../metadata/Metadata";
3
3
  import { MetadataObject } from "../../../metadata/MetadataObject";
4
4
  import { MetadataProperty } from "../../../metadata/MetadataProperty";
5
5
 
6
+ import { Atomic } from "../../../typings/Atomic";
7
+
6
8
  export namespace ProtocolMetadataUtil {
7
9
  export function size(meta: Metadata): number {
8
10
  return (
@@ -98,4 +100,64 @@ export namespace ProtocolMetadataUtil {
98
100
  maps: [],
99
101
  });
100
102
  }
103
+
104
+ export function atomic(type: Atomic.Literal): Metadata {
105
+ return Metadata.create({
106
+ any: false,
107
+ required: true,
108
+ nullable: false,
109
+ functional: false,
110
+ resolved: null,
111
+ atomics: [type],
112
+ constants: [],
113
+ templates: [],
114
+ rest: null,
115
+ arrays: [],
116
+ tuples: [],
117
+ objects: [],
118
+ natives: [],
119
+ sets: [],
120
+ maps: [],
121
+ });
122
+ }
123
+
124
+ export function reference(obj: MetadataObject): Metadata {
125
+ return Metadata.create({
126
+ any: false,
127
+ required: true,
128
+ nullable: false,
129
+ functional: false,
130
+ resolved: null,
131
+ atomics: [],
132
+ constants: [],
133
+ templates: [],
134
+ rest: null,
135
+ arrays: [],
136
+ tuples: [],
137
+ objects: [obj],
138
+ natives: [],
139
+ sets: [],
140
+ maps: [],
141
+ });
142
+ }
143
+
144
+ export function map(elem: Metadata.Entry): Metadata {
145
+ return Metadata.create({
146
+ any: false,
147
+ required: true,
148
+ nullable: false,
149
+ functional: false,
150
+ resolved: null,
151
+ atomics: [],
152
+ constants: [],
153
+ templates: [],
154
+ rest: null,
155
+ arrays: [],
156
+ tuples: [],
157
+ objects: [],
158
+ natives: [],
159
+ sets: [],
160
+ maps: [elem],
161
+ });
162
+ }
101
163
  }
@@ -10,7 +10,7 @@ export const emplace_protocol_object =
10
10
  const regular = object.properties.filter((p) => p.key.isSoleLiteral());
11
11
  const dynamic = object.properties.filter((p) => !p.key.isSoleLiteral());
12
12
 
13
- if (!regular.length || dynamic.length) return;
13
+ if (dynamic.length) return;
14
14
 
15
15
  const output: IProtocolMessage = {
16
16
  name: object.name,
@@ -10,14 +10,30 @@ import { iterate_protocol_constant } from "./iterate_protocol_constant";
10
10
  import { iterate_protocol_metadata } from "./iterate_protocol_metadata";
11
11
 
12
12
  export const iterate_protocol_map =
13
- (container: "Object" | "Map") =>
13
+ (sole: boolean) =>
14
14
  (dict: Map<string, IProtocolMessage>) =>
15
- (key: Metadata) =>
16
- (value: Metadata): IProtocolMap => ({
17
- type: "map",
18
- key: getKeyName(key),
19
- value: getValueName(container)(dict)(value),
20
- });
15
+ (prop: Metadata.Entry): string | IProtocolMap => {
16
+ if (sole === true)
17
+ return {
18
+ type: "map",
19
+ key: getKeyName(prop.key),
20
+ value: getValueName(dict)(prop.value),
21
+ };
22
+
23
+ const obj: MetadataObject = ProtocolMetadataUtil.object(
24
+ `Map.Wrapper<${prop.key.getName()}, ${prop.value.getName()}>`,
25
+ dict.size,
26
+ );
27
+ obj.properties.push(
28
+ ProtocolMetadataUtil.property(
29
+ "value",
30
+ ProtocolMetadataUtil.map(prop),
31
+ [],
32
+ ),
33
+ );
34
+ emplace_protocol_object(dict)(obj);
35
+ return obj.name;
36
+ };
21
37
 
22
38
  const getKeyName = (meta: Metadata) => {
23
39
  for (const atomic of meta.atomics)
@@ -28,14 +44,12 @@ const getKeyName = (meta: Metadata) => {
28
44
  };
29
45
 
30
46
  const getValueName =
31
- (container: "Object" | "Map") =>
32
- (dict: Map<string, IProtocolMessage>) =>
33
- (meta: Metadata) => {
47
+ (dict: Map<string, IProtocolMessage>) => (meta: Metadata) => {
34
48
  if (ProtocolMetadataUtil.standalone(meta))
35
49
  return iterate_protocol_metadata(dict)(meta)([]).oneOf[0]!.type;
36
50
 
37
51
  const obj: MetadataObject = ProtocolMetadataUtil.object(
38
- `${container}.Value<${meta.getName()}>`,
52
+ `Map.Value<${meta.getName()}>`,
39
53
  dict.size,
40
54
  );
41
55
  obj.properties.push(ProtocolMetadataUtil.property("value", meta, []));
@@ -8,6 +8,8 @@ import { iterate_protocol_atomic } from "./iterate_protocol_atomic";
8
8
  import { iterate_protocol_constant } from "./iterate_protocol_constant";
9
9
  import { iterate_protocol_map } from "./iterate_protocol_map";
10
10
  import { iterate_protocol_native } from "./iterate_protocol_native";
11
+ import { iterate_protocol_never } from "./iterate_protocol_never";
12
+ import { iterate_protocol_object } from "./iterate_protocol_object";
11
13
  import { iterate_protocol_repeated } from "./iterate_protocol_repeated";
12
14
  import { iterate_protocol_tuple } from "./iterate_protocol_tuple";
13
15
 
@@ -16,9 +18,19 @@ export const iterate_protocol_metadata =
16
18
  (meta: Metadata) =>
17
19
  (tags: IMetadataTag[]): Omit<IProtocolProperty, "key"> => {
18
20
  // PREPARE ASSETS
19
- const required: boolean = meta.required && !meta.nullable;
20
- const oneOf: IProtocolProperty.IOneOf[] = [];
21
+ const sole: boolean = meta.size() === 1;
22
+ const bucket: boolean = sole && meta.bucket() === 1;
23
+ const required: boolean =
24
+ (meta.required && !meta.nullable) ||
25
+ (sole &&
26
+ (meta.arrays.length === 1 ||
27
+ meta.sets.length === 1 ||
28
+ meta.maps.length === 1 ||
29
+ (meta.objects.length === 1 &&
30
+ meta.objects[0]!.properties.length === 1 &&
31
+ !meta.objects[0]!.properties[0]?.key.isSoleLiteral())));
21
32
 
33
+ const oneOf: IProtocolProperty.IOneOf[] = [];
22
34
  const add = (type: string | IProtocolMap) => {
23
35
  if (oneOf.some((one) => one.type === type)) return;
24
36
  oneOf.push({
@@ -27,7 +39,7 @@ export const iterate_protocol_metadata =
27
39
  };
28
40
 
29
41
  // WHEN SINGULAR ARRAY TYPE
30
- if (meta.size() === 1 && meta.arrays.length + meta.sets.length === 1) {
42
+ if (sole && meta.arrays.length + meta.sets.length === 1) {
31
43
  const [container, child] =
32
44
  meta.arrays.length === 1
33
45
  ? (["Array", meta.arrays[0]!] as const)
@@ -50,35 +62,30 @@ export const iterate_protocol_metadata =
50
62
  for (const constant of meta.constants)
51
63
  add(iterate_protocol_constant(constant));
52
64
  if (meta.templates.length) add("string");
65
+ if (meta.size() === 0) add(iterate_protocol_never());
53
66
 
54
- // INSTANCE TYPES
67
+ // OBJECT TYPES
55
68
  for (const obj of meta.objects)
56
- if (obj.properties.some((p) => !p.key.isSoleLiteral())) {
57
- for (const prop of obj.properties)
58
- add(
59
- iterate_protocol_map("Object")(dict)(prop.key)(
60
- prop.value,
61
- ),
62
- );
63
- } else add(obj.name);
69
+ add(iterate_protocol_object(sole)(dict)(obj));
70
+ for (const map of meta.maps) add(iterate_protocol_map(sole)(dict)(map));
64
71
  for (const native of meta.natives)
65
72
  add(iterate_protocol_native(dict)(native));
73
+
74
+ // ARRAY TYPES
66
75
  for (const tuple of meta.tuples)
67
76
  add(iterate_protocol_tuple(dict)(tuple));
68
77
  for (const array of meta.arrays)
69
78
  add(
70
- iterate_protocol_repeated("Array")(false, meta.bucket() === 1)(
71
- dict,
72
- )(array)(tags),
79
+ iterate_protocol_repeated("Array")(false, bucket)(dict)(array)(
80
+ tags,
81
+ ),
73
82
  );
74
83
  for (const set of meta.sets)
75
84
  add(
76
- iterate_protocol_repeated("Set")(false, meta.bucket() === 1)(
77
- dict,
78
- )(set)(tags),
85
+ iterate_protocol_repeated("Set")(false, bucket)(dict)(set)(
86
+ tags,
87
+ ),
79
88
  );
80
- for (const map of meta.maps)
81
- add(iterate_protocol_map("Map")(dict)(map.key)(map.value));
82
89
 
83
90
  // RETURNS
84
91
  return {
@@ -0,0 +1 @@
1
+ export const iterate_protocol_never = () => "uint32";
@@ -0,0 +1,110 @@
1
+ import { Metadata } from "../../../metadata/Metadata";
2
+ import { MetadataObject } from "../../../metadata/MetadataObject";
3
+ import { MetadataProperty } from "../../../metadata/MetadataProperty";
4
+
5
+ import { Atomic } from "../../../typings/Atomic";
6
+
7
+ import { MapUtil } from "../../../utils/MapUtil";
8
+
9
+ import { IProtocolMap } from "../../../messages/IProtocolMap";
10
+ import { IProtocolMessage } from "../../../messages/IProtocolMessage";
11
+ import { ProtocolMetadataUtil } from "./ProtocolMetadataUtil";
12
+ import { emplace_protocol_object } from "./emplace_protocol_object";
13
+ import { iterate_protocol_metadata } from "./iterate_protocol_metadata";
14
+
15
+ export const iterate_protocol_object =
16
+ (sole: boolean) =>
17
+ (dict: Map<string, IProtocolMessage>) =>
18
+ (obj: MetadataObject): string | IProtocolMap => {
19
+ // ONLY REGULAR PROPERTIES
20
+ const statics: MetadataProperty[] = obj.properties.filter(filter(true));
21
+ const dynamics: Metadata.Entry[] = aggregate(
22
+ obj.properties.filter(filter(false)),
23
+ );
24
+ if (dynamics.length === 0) return obj.name;
25
+
26
+ const regular: MetadataObject | undefined = statics.length
27
+ ? (() => {
28
+ const r: MetadataObject = ProtocolMetadataUtil.object(
29
+ `${obj.name}.__Regular`,
30
+ dict.size,
31
+ );
32
+ r.properties.push(...statics);
33
+ emplace_protocol_object(dict)(r);
34
+ return r;
35
+ })()
36
+ : undefined;
37
+
38
+ // ONLY ONE TYPED DYNAMIC PROPERTY EXISTS
39
+ if (regular === undefined && dynamics.length === 1 && sole === true) {
40
+ const { key, value } = dynamics[0]!;
41
+ return {
42
+ type: "map",
43
+ key: key.getName(),
44
+ value: ProtocolMetadataUtil.standalone(value)
45
+ ? iterate_protocol_metadata(dict)(value)([]).oneOf[0]!.type
46
+ : (() => {
47
+ const wrapper = ProtocolMetadataUtil.object(
48
+ `${obj.name}.__Wrapper`,
49
+ dict.size,
50
+ );
51
+ wrapper.properties.push(
52
+ ProtocolMetadataUtil.property("value", value, []),
53
+ );
54
+ emplace_protocol_object(dict)(wrapper);
55
+ return wrapper.name;
56
+ })(),
57
+ };
58
+ }
59
+
60
+ // DO WRAP
61
+ const wrapper: MetadataObject = ProtocolMetadataUtil.object(
62
+ `${obj.name}.__Wrapper`,
63
+ dict.size,
64
+ );
65
+ if (regular !== undefined)
66
+ wrapper.properties.push(
67
+ ProtocolMetadataUtil.property(
68
+ "regular",
69
+ ProtocolMetadataUtil.reference(regular),
70
+ [],
71
+ ),
72
+ );
73
+ wrapper.properties.push(
74
+ ...dynamics.map((map, i) =>
75
+ ProtocolMetadataUtil.property(
76
+ `__map_${i}`,
77
+ ProtocolMetadataUtil.map(map),
78
+ [],
79
+ ),
80
+ ),
81
+ );
82
+ emplace_protocol_object(dict)(wrapper);
83
+ return wrapper.name;
84
+ };
85
+
86
+ const filter = (regular: boolean) => (prop: MetadataProperty) =>
87
+ regular === prop.key.isSoleLiteral();
88
+
89
+ const aggregate = (properties: MetadataProperty[]): Metadata.Entry[] => {
90
+ const unique: Map<Atomic.Literal, MetadataProperty[]> = new Map();
91
+ for (const prop of properties) {
92
+ if (prop.key.templates)
93
+ MapUtil.take(unique, "string", () => []).push(prop);
94
+ for (const type of prop.key.atomics)
95
+ MapUtil.take(unique, type, () => []).push(prop);
96
+ for (const { type } of prop.key.constants)
97
+ MapUtil.take(unique, type, () => []).push(prop);
98
+ }
99
+ const output: Metadata.Entry[] = [];
100
+ for (const [key, properties] of unique) {
101
+ const value: Metadata = properties
102
+ .map((x) => x.value)
103
+ .reduce((x, y) => Metadata.merge(x, y));
104
+ output.push({
105
+ key: ProtocolMetadataUtil.atomic(key),
106
+ value,
107
+ });
108
+ }
109
+ return output;
110
+ };
@@ -17,7 +17,11 @@ export const iterate_protocol_tuple =
17
17
  );
18
18
  obj.properties.push(
19
19
  ...tuple.map((value, i) =>
20
- ProtocolMetadataUtil.property(`v${i}`, value, []),
20
+ ProtocolMetadataUtil.property(
21
+ `v${i}`,
22
+ value.rest ? ProtocolMetadataUtil.array(value.rest) : value,
23
+ [],
24
+ ),
21
25
  ),
22
26
  );
23
27
  emplace_protocol_object(dict)(obj);
@@ -511,7 +511,8 @@ function getName(metadata: Metadata): string {
511
511
  elements.push(`Map<${map.key.getName()}, ${map.value.getName()}>`);
512
512
 
513
513
  // ARRAY
514
- if (metadata.rest !== null) elements.push(`...${metadata.rest.getName()}`);
514
+ if (metadata.rest !== null)
515
+ elements.push(`Rest<${metadata.rest.getName()}>`);
515
516
  for (const tuple of metadata.tuples)
516
517
  elements.push(`[${tuple.map((elem) => elem.getName()).join(", ")}]`);
517
518
  for (const array of metadata.arrays)
@@ -49,26 +49,29 @@ export namespace MessageProgrammer {
49
49
  if (message !== null)
50
50
  elements.push(
51
51
  ...message.properties.map((property) => {
52
+ const key: string =
53
+ Escaper.variable(property.key) &&
54
+ property.key.indexOf("$") === -1
55
+ ? property.key
56
+ : `v${index + 1}`;
52
57
  if (property.oneOf.length === 1)
53
58
  return [
54
59
  TAB,
55
60
  property.required ? "" : "optional ",
56
61
  property.repeated ? "repeated " : "",
57
62
  getTypeName(property.oneOf[0]!.type) + " ",
58
- Escaper.variable(property.key)
59
- ? property.key
60
- : `v${index + 1}`,
63
+ key,
61
64
  " = ",
62
65
  `${index++};`,
63
66
  ].join("");
64
67
  return (
65
- `${TAB}oneof ${property.key} {\n` +
68
+ `${TAB}oneof ${key} {\n` +
66
69
  property.oneOf
67
70
  .map(
68
71
  (o, i) =>
69
72
  `${TAB}${TAB}${getTypeName(
70
73
  o.type,
71
- )} o${i} = ${index++};`,
74
+ )} ${key}_o${i} = ${index++};`,
72
75
  )
73
76
  .join("\n") +
74
77
  `\n${TAB}}`