typia 4.1.6-dev.20230213 → 5.0.0-dev.20230711
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.
- package/README.md +9 -1
- package/lib/factories/MetadataTagFactory.js +11 -4
- package/lib/factories/MetadataTagFactory.js.map +1 -1
- package/lib/factories/ProtocolFactory.d.ts +8 -0
- package/lib/factories/ProtocolFactory.js +113 -0
- package/lib/factories/ProtocolFactory.js.map +1 -0
- package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +16 -0
- package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +173 -0
- package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +1 -0
- package/lib/factories/internal/protocols/emplace_protocol_object.d.ts +3 -0
- package/lib/factories/internal/protocols/emplace_protocol_object.js +47 -0
- package/lib/factories/internal/protocols/emplace_protocol_object.js.map +1 -0
- package/lib/factories/internal/protocols/emplace_protocol_property.d.ts +4 -0
- package/lib/factories/internal/protocols/emplace_protocol_property.js +20 -0
- package/lib/factories/internal/protocols/emplace_protocol_property.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_atomic.d.ts +3 -0
- package/lib/factories/internal/protocols/iterate_protocol_atomic.js +69 -0
- package/lib/factories/internal/protocols/iterate_protocol_atomic.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_constant.d.ts +2 -0
- package/lib/factories/internal/protocols/iterate_protocol_constant.js +30 -0
- package/lib/factories/internal/protocols/iterate_protocol_constant.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_main.d.ts +3 -0
- package/lib/factories/internal/protocols/iterate_protocol_main.js +17 -0
- package/lib/factories/internal/protocols/iterate_protocol_main.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +4 -0
- package/lib/factories/internal/protocols/iterate_protocol_map.js +75 -0
- package/lib/factories/internal/protocols/iterate_protocol_map.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_metadata.d.ts +5 -0
- package/lib/factories/internal/protocols/iterate_protocol_metadata.js +190 -0
- package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_native.d.ts +2 -0
- package/lib/factories/internal/protocols/iterate_protocol_native.js +33 -0
- package/lib/factories/internal/protocols/iterate_protocol_native.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_never.js +6 -0
- package/lib/factories/internal/protocols/iterate_protocol_never.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +4 -0
- package/lib/factories/internal/protocols/iterate_protocol_object.js +157 -0
- package/lib/factories/internal/protocols/iterate_protocol_object.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +5 -0
- package/lib/factories/internal/protocols/iterate_protocol_repeated.js +25 -0
- package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +1 -0
- package/lib/factories/internal/protocols/iterate_protocol_tuple.d.ts +3 -0
- package/lib/factories/internal/protocols/iterate_protocol_tuple.js +46 -0
- package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +1 -0
- package/lib/functional/$proto_bytes.d.ts +2 -0
- package/lib/functional/$proto_bytes.js +37 -0
- package/lib/functional/$proto_bytes.js.map +1 -0
- package/lib/functional/$proto_field.d.ts +10 -0
- package/lib/functional/$proto_field.js +42 -0
- package/lib/functional/$proto_field.js.map +1 -0
- package/lib/functional/$proto_float.d.ts +4 -0
- package/lib/functional/$proto_float.js +28 -0
- package/lib/functional/$proto_float.js.map +1 -0
- package/lib/functional/$proto_i32.d.ts +2 -0
- package/lib/functional/$proto_i32.js +23 -0
- package/lib/functional/$proto_i32.js.map +1 -0
- package/lib/functional/$proto_i64.d.ts +2 -0
- package/lib/functional/$proto_i64.js +31 -0
- package/lib/functional/$proto_i64.js.map +1 -0
- package/lib/functional/$proto_size.d.ts +6 -0
- package/lib/functional/$proto_size.js +76 -0
- package/lib/functional/$proto_size.js.map +1 -0
- package/lib/functional/$proto_string.d.ts +2 -0
- package/lib/functional/$proto_string.js +34 -0
- package/lib/functional/$proto_string.js.map +1 -0
- package/lib/functional/$varint.d.ts +6 -0
- package/lib/functional/$varint.js +99 -0
- package/lib/functional/$varint.js.map +1 -0
- package/lib/functional/$zigzag.d.ts +4 -0
- package/lib/functional/$zigzag.js +34 -0
- package/lib/functional/$zigzag.js.map +1 -0
- package/lib/messages/IProtocolMap.d.ts +5 -0
- package/lib/messages/IProtocolMap.js +3 -0
- package/lib/messages/IProtocolMap.js.map +1 -0
- package/lib/messages/IProtocolMessage.d.ts +5 -0
- package/lib/messages/IProtocolMessage.js +3 -0
- package/lib/messages/IProtocolMessage.js.map +1 -0
- package/lib/messages/IProtocolProperty.d.ts +12 -0
- package/lib/messages/IProtocolProperty.js +3 -0
- package/lib/messages/IProtocolProperty.js.map +1 -0
- package/lib/metadata/IMetadataTag.d.ts +3 -3
- package/lib/metadata/Metadata.js.map +1 -1
- package/lib/module.d.ts +2 -0
- package/lib/module.js +6 -1
- package/lib/module.js.map +1 -1
- package/lib/programmers/MessageProgrammer.d.ts +5 -0
- package/lib/programmers/MessageProgrammer.js +141 -0
- package/lib/programmers/MessageProgrammer.js.map +1 -0
- package/lib/programmers/internal/application_number.js +8 -5
- package/lib/programmers/internal/application_number.js.map +1 -1
- package/lib/transformers/CallExpressionTransformer.js +5 -3
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +1 -3
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/protocols/MessageTransformer.d.ts +5 -0
- package/lib/transformers/features/protocols/MessageTransformer.js +20 -0
- package/lib/transformers/features/protocols/MessageTransformer.js.map +1 -0
- package/lib/utils/NameEncoder.d.ts +4 -0
- package/lib/utils/NameEncoder.js +89 -0
- package/lib/utils/NameEncoder.js.map +1 -0
- package/package.json +1 -1
- package/src/factories/MetadataTagFactory.ts +10 -3
- package/src/factories/ProtocolFactory.ts +80 -0
- package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +180 -0
- package/src/factories/internal/protocols/emplace_protocol_object.ts +25 -0
- package/src/factories/internal/protocols/emplace_protocol_property.ts +12 -0
- package/src/factories/internal/protocols/iterate_protocol_atomic.ts +34 -0
- package/src/factories/internal/protocols/iterate_protocol_constant.ts +27 -0
- package/src/factories/internal/protocols/iterate_protocol_main.ts +19 -0
- package/src/factories/internal/protocols/iterate_protocol_map.ts +58 -0
- package/src/factories/internal/protocols/iterate_protocol_metadata.ts +96 -0
- package/src/factories/internal/protocols/iterate_protocol_native.ts +34 -0
- package/src/factories/internal/protocols/iterate_protocol_never.ts +1 -0
- package/src/factories/internal/protocols/iterate_protocol_object.ts +110 -0
- package/src/factories/internal/protocols/iterate_protocol_repeated.ts +34 -0
- package/src/factories/internal/protocols/iterate_protocol_tuple.ts +29 -0
- package/src/functional/$proto_bytes.ts +25 -0
- package/src/functional/$proto_field.ts +30 -0
- package/src/functional/$proto_float.ts +37 -0
- package/src/functional/$proto_i32.ts +29 -0
- package/src/functional/$proto_i64.ts +37 -0
- package/src/functional/$proto_size.ts +82 -0
- package/src/functional/$proto_string.ts +24 -0
- package/src/functional/$varint.ts +130 -0
- package/src/functional/$zigzag.ts +39 -0
- package/src/messages/IProtocolMap.ts +5 -0
- package/src/messages/IProtocolMessage.ts +6 -0
- package/src/messages/IProtocolProperty.ts +13 -0
- package/src/metadata/IMetadataTag.ts +11 -3
- package/src/metadata/Metadata.ts +3 -0
- package/src/module.ts +11 -0
- package/src/programmers/MessageProgrammer.ts +126 -0
- package/src/programmers/internal/application_number.ts +10 -7
- package/src/transformers/CallExpressionTransformer.ts +17 -10
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +1 -3
- package/src/transformers/features/protocols/MessageTransformer.ts +31 -0
- package/src/utils/Escaper.ts +46 -46
- package/src/utils/NameEncoder.ts +32 -0
package/README.md
CHANGED
|
@@ -21,6 +21,13 @@ export function assertStringify<T>(input: T): string; // safe and faster
|
|
|
21
21
|
// +) isParse, validateParse
|
|
22
22
|
// +) stringify, isStringify, validateStringify
|
|
23
23
|
|
|
24
|
+
// PROTOCOL BUFFER
|
|
25
|
+
export function message<T>(): string; // Protocol Buffer message
|
|
26
|
+
export function assertDecode<T>(buffer: Buffer): T; // safe decoder
|
|
27
|
+
export function assertEncode<T>(input: T): Uint8Array; // safe encoder
|
|
28
|
+
// +) decode, isDecode, validateDecode
|
|
29
|
+
// +) encode, isEncode, validateEncode
|
|
30
|
+
|
|
24
31
|
// MISC
|
|
25
32
|
export function random<T>(g?: Partial<IRandomGenerator>): Primitive<T>;
|
|
26
33
|
```
|
|
@@ -29,7 +36,8 @@ Typia is a transformer library supporting below features:
|
|
|
29
36
|
|
|
30
37
|
- Super-fast Runtime Validators
|
|
31
38
|
- Safe JSON parse and fast stringify functions
|
|
32
|
-
-
|
|
39
|
+
- Protocol Buffer encoder and decoder
|
|
40
|
+
- Protobuf/JSON schema generator
|
|
33
41
|
- Random data generator
|
|
34
42
|
|
|
35
43
|
> **Note**
|
|
@@ -77,12 +77,19 @@ var MetadataTagFactory;
|
|
|
77
77
|
};
|
|
78
78
|
},
|
|
79
79
|
type: function (_identifier, metadata, text, _output) {
|
|
80
|
+
if (text.startsWith("{") && text.endsWith("}"))
|
|
81
|
+
text = text.substring(1, text.length - 1);
|
|
80
82
|
return has_atomic("number")(new Set())(metadata) &&
|
|
81
|
-
(text === "int" ||
|
|
83
|
+
(text === "int" ||
|
|
84
|
+
text === "uint" ||
|
|
85
|
+
text === "int32" ||
|
|
86
|
+
text === "uint32" ||
|
|
87
|
+
text === "int64" ||
|
|
88
|
+
text === "uint64" ||
|
|
89
|
+
text === "float" ||
|
|
90
|
+
text === "double")
|
|
82
91
|
? { kind: "type", value: text }
|
|
83
|
-
:
|
|
84
|
-
? { kind: "type", value: text.slice(1, -1) }
|
|
85
|
-
: null;
|
|
92
|
+
: null;
|
|
86
93
|
},
|
|
87
94
|
minimum: function (identifier, metadata, text, output) {
|
|
88
95
|
validate(identifier, metadata, output, "minimum", "number", [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataTagFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,IAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"MetadataTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataTagFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../metadata/Metadata";
|
|
3
|
+
import { IProtocolMessage } from "../messages/IProtocolMessage";
|
|
4
|
+
import { MetadataCollection } from "./MetadataCollection";
|
|
5
|
+
export declare namespace ProtocolFactory {
|
|
6
|
+
const metadata: (checker: ts.TypeChecker) => (collection: MetadataCollection) => (type: ts.Type) => Metadata;
|
|
7
|
+
const generate: (collection: MetadataCollection) => (dict: Map<string, IProtocolMessage>) => (meta: Metadata) => void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.ProtocolFactory = void 0;
|
|
15
|
+
var MetadataFactory_1 = require("./MetadataFactory");
|
|
16
|
+
var emplace_protocol_object_1 = require("./internal/protocols/emplace_protocol_object");
|
|
17
|
+
var iterate_protocol_main_1 = require("./internal/protocols/iterate_protocol_main");
|
|
18
|
+
var ProtocolFactory;
|
|
19
|
+
(function (ProtocolFactory) {
|
|
20
|
+
ProtocolFactory.metadata = function (checker) {
|
|
21
|
+
return function (collection) {
|
|
22
|
+
return function (type) {
|
|
23
|
+
return MetadataFactory_1.MetadataFactory.analyze(checker)({
|
|
24
|
+
resolve: false,
|
|
25
|
+
constant: true,
|
|
26
|
+
absorb: true,
|
|
27
|
+
validate: function (meta) {
|
|
28
|
+
if (meta.any)
|
|
29
|
+
throw new Error("Error on typia.message(): any type is not supported in protocol buffer.");
|
|
30
|
+
else if (meta.functional && meta.size() !== 1)
|
|
31
|
+
throw new Error("Error on typia.message(): functional type is not supported in protocol buffer.");
|
|
32
|
+
else if (meta.objects.find(function (o) { return o.name === "__Main"; }))
|
|
33
|
+
throw new Error("Error on typia.message(): reserved type \"__Main\" has been detected.");
|
|
34
|
+
else if (meta.objects.find(function (o) { return o.name === "__Timestamp"; }))
|
|
35
|
+
throw new Error("Error on typia.message(): reserved type \"__Timestamp\" has been detected.");
|
|
36
|
+
else if (meta.objects.some(function (o) {
|
|
37
|
+
return o.properties.some(function (p) { return !is_atomic_key(p.key); });
|
|
38
|
+
}) ||
|
|
39
|
+
meta.maps.some(function (m) { return !is_atomic_key(m.key); }))
|
|
40
|
+
throw new Error("Error on typia.message(): only atomic key type is supported in protocol buffer.");
|
|
41
|
+
},
|
|
42
|
+
})(collection)(type);
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
ProtocolFactory.generate = function (collection) {
|
|
47
|
+
return function (dict) {
|
|
48
|
+
return function (meta) {
|
|
49
|
+
var e_1, _a;
|
|
50
|
+
try {
|
|
51
|
+
for (var _b = __values(collection.objects()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
52
|
+
var obj = _c.value;
|
|
53
|
+
(0, emplace_protocol_object_1.emplace_protocol_object)(dict)(obj);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
57
|
+
finally {
|
|
58
|
+
try {
|
|
59
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
60
|
+
}
|
|
61
|
+
finally { if (e_1) throw e_1.error; }
|
|
62
|
+
}
|
|
63
|
+
(0, iterate_protocol_main_1.iterate_protocol_main)(dict)(meta);
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
var is_atomic_key = function (key) {
|
|
68
|
+
var e_2, _a, e_3, _b;
|
|
69
|
+
if (key.required &&
|
|
70
|
+
key.nullable === false &&
|
|
71
|
+
key.functional === false &&
|
|
72
|
+
key.resolved === null &&
|
|
73
|
+
key.size() ===
|
|
74
|
+
key.atomics.length +
|
|
75
|
+
key.constants
|
|
76
|
+
.map(function (c) { return c.values.length; })
|
|
77
|
+
.reduce(function (a, b) { return a + b; }, 0) +
|
|
78
|
+
key.templates.length) {
|
|
79
|
+
var set = new Set();
|
|
80
|
+
try {
|
|
81
|
+
for (var _c = __values(key.atomics), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
82
|
+
var atomic = _d.value;
|
|
83
|
+
set.add(atomic);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
87
|
+
finally {
|
|
88
|
+
try {
|
|
89
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
90
|
+
}
|
|
91
|
+
finally { if (e_2) throw e_2.error; }
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
for (var _e = __values(key.constants), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
95
|
+
var constant = _f.value;
|
|
96
|
+
set.add(constant.type);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
100
|
+
finally {
|
|
101
|
+
try {
|
|
102
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
103
|
+
}
|
|
104
|
+
finally { if (e_3) throw e_3.error; }
|
|
105
|
+
}
|
|
106
|
+
if (key.templates.length)
|
|
107
|
+
set.add("string");
|
|
108
|
+
return set.size === 1;
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
};
|
|
112
|
+
})(ProtocolFactory || (exports.ProtocolFactory = ProtocolFactory = {}));
|
|
113
|
+
//# sourceMappingURL=ProtocolFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtocolFactory.js","sourceRoot":"","sources":["../../src/factories/ProtocolFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IMetadataTag } from "../../../metadata/IMetadataTag";
|
|
2
|
+
import { Metadata } from "../../../metadata/Metadata";
|
|
3
|
+
import { MetadataObject } from "../../../metadata/MetadataObject";
|
|
4
|
+
import { MetadataProperty } from "../../../metadata/MetadataProperty";
|
|
5
|
+
import { Atomic } from "../../../typings/Atomic";
|
|
6
|
+
export declare namespace ProtocolMetadataUtil {
|
|
7
|
+
function size(meta: Metadata): number;
|
|
8
|
+
function standalone(meta: Metadata): boolean;
|
|
9
|
+
function regular(obj: MetadataObject): boolean;
|
|
10
|
+
function object(name: string, index: number): MetadataObject;
|
|
11
|
+
function property(key: string, value: Metadata, tags: IMetadataTag[]): MetadataProperty;
|
|
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;
|
|
16
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProtocolMetadataUtil = void 0;
|
|
4
|
+
var Metadata_1 = require("../../../metadata/Metadata");
|
|
5
|
+
var MetadataArray_1 = require("../../../metadata/MetadataArray");
|
|
6
|
+
var MetadataObject_1 = require("../../../metadata/MetadataObject");
|
|
7
|
+
var MetadataProperty_1 = require("../../../metadata/MetadataProperty");
|
|
8
|
+
var ProtocolMetadataUtil;
|
|
9
|
+
(function (ProtocolMetadataUtil) {
|
|
10
|
+
function size(meta) {
|
|
11
|
+
return (meta.atomics.length +
|
|
12
|
+
meta.constants.filter(function (c) {
|
|
13
|
+
return meta.atomics.find(function (type) { return c.type === type; }) === undefined;
|
|
14
|
+
}).length +
|
|
15
|
+
(meta.templates.length !== 0 &&
|
|
16
|
+
meta.atomics.find(function (type) { return type === "string"; }) === undefined &&
|
|
17
|
+
meta.constants.find(function (c) { return c.type === "string"; }) === undefined
|
|
18
|
+
? 1
|
|
19
|
+
: 0) +
|
|
20
|
+
meta.tuples.length +
|
|
21
|
+
meta.arrays.length +
|
|
22
|
+
meta.sets.length +
|
|
23
|
+
meta.maps.length +
|
|
24
|
+
meta.objects.length +
|
|
25
|
+
meta.natives.filter(function (n) { return n === "Date"; }).length +
|
|
26
|
+
(meta.natives.filter(function (n) { return n !== "Date"; }).length ? 1 : 0));
|
|
27
|
+
}
|
|
28
|
+
ProtocolMetadataUtil.size = size;
|
|
29
|
+
function standalone(meta) {
|
|
30
|
+
return (size(meta) === 1 &&
|
|
31
|
+
meta.required === true &&
|
|
32
|
+
meta.nullable === false &&
|
|
33
|
+
meta.tuples.length === 0 &&
|
|
34
|
+
meta.arrays.length === 0 &&
|
|
35
|
+
meta.sets.length === 0 &&
|
|
36
|
+
meta.maps.length === 0 &&
|
|
37
|
+
meta.objects.every(function (obj) {
|
|
38
|
+
return obj.properties.every(function (p) { return p.key.isSoleLiteral(); });
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
ProtocolMetadataUtil.standalone = standalone;
|
|
42
|
+
function regular(obj) {
|
|
43
|
+
return obj.properties.every(function (p) { return p.key.isSoleLiteral(); });
|
|
44
|
+
}
|
|
45
|
+
ProtocolMetadataUtil.regular = regular;
|
|
46
|
+
function object(name, index) {
|
|
47
|
+
return MetadataObject_1.MetadataObject.create({
|
|
48
|
+
name: name,
|
|
49
|
+
index: index,
|
|
50
|
+
properties: [],
|
|
51
|
+
description: undefined,
|
|
52
|
+
jsDocTags: [],
|
|
53
|
+
validated: false,
|
|
54
|
+
recursive: false,
|
|
55
|
+
nullables: [false],
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
ProtocolMetadataUtil.object = object;
|
|
59
|
+
function property(key, value, tags) {
|
|
60
|
+
return MetadataProperty_1.MetadataProperty.create({
|
|
61
|
+
key: (function () {
|
|
62
|
+
var meta = Metadata_1.Metadata.initialize();
|
|
63
|
+
meta.constants.push({
|
|
64
|
+
type: "string",
|
|
65
|
+
values: [key],
|
|
66
|
+
});
|
|
67
|
+
return meta;
|
|
68
|
+
})(),
|
|
69
|
+
value: value,
|
|
70
|
+
description: null,
|
|
71
|
+
tags: tags,
|
|
72
|
+
jsDocTags: [],
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
ProtocolMetadataUtil.property = property;
|
|
76
|
+
function array(meta) {
|
|
77
|
+
return Metadata_1.Metadata.create({
|
|
78
|
+
any: false,
|
|
79
|
+
required: true,
|
|
80
|
+
optional: false,
|
|
81
|
+
nullable: false,
|
|
82
|
+
functional: false,
|
|
83
|
+
resolved: null,
|
|
84
|
+
aliases: [],
|
|
85
|
+
atomics: [],
|
|
86
|
+
constants: [],
|
|
87
|
+
templates: [],
|
|
88
|
+
rest: null,
|
|
89
|
+
arrays: [
|
|
90
|
+
MetadataArray_1.MetadataArray.create({
|
|
91
|
+
name: meta.getName(),
|
|
92
|
+
value: meta,
|
|
93
|
+
nullables: [false],
|
|
94
|
+
recursive: false,
|
|
95
|
+
index: null,
|
|
96
|
+
}),
|
|
97
|
+
],
|
|
98
|
+
tuples: [],
|
|
99
|
+
objects: [],
|
|
100
|
+
natives: [],
|
|
101
|
+
sets: [],
|
|
102
|
+
maps: [],
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
ProtocolMetadataUtil.array = array;
|
|
106
|
+
function atomic(type) {
|
|
107
|
+
return Metadata_1.Metadata.create({
|
|
108
|
+
any: false,
|
|
109
|
+
required: true,
|
|
110
|
+
optional: false,
|
|
111
|
+
nullable: false,
|
|
112
|
+
functional: false,
|
|
113
|
+
resolved: null,
|
|
114
|
+
aliases: [],
|
|
115
|
+
atomics: [type],
|
|
116
|
+
constants: [],
|
|
117
|
+
templates: [],
|
|
118
|
+
rest: null,
|
|
119
|
+
arrays: [],
|
|
120
|
+
tuples: [],
|
|
121
|
+
objects: [],
|
|
122
|
+
natives: [],
|
|
123
|
+
sets: [],
|
|
124
|
+
maps: [],
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
ProtocolMetadataUtil.atomic = atomic;
|
|
128
|
+
function reference(obj) {
|
|
129
|
+
return Metadata_1.Metadata.create({
|
|
130
|
+
any: false,
|
|
131
|
+
required: true,
|
|
132
|
+
optional: false,
|
|
133
|
+
nullable: false,
|
|
134
|
+
functional: false,
|
|
135
|
+
resolved: null,
|
|
136
|
+
aliases: [],
|
|
137
|
+
atomics: [],
|
|
138
|
+
constants: [],
|
|
139
|
+
templates: [],
|
|
140
|
+
rest: null,
|
|
141
|
+
arrays: [],
|
|
142
|
+
tuples: [],
|
|
143
|
+
objects: [obj],
|
|
144
|
+
natives: [],
|
|
145
|
+
sets: [],
|
|
146
|
+
maps: [],
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
ProtocolMetadataUtil.reference = reference;
|
|
150
|
+
function map(elem) {
|
|
151
|
+
return Metadata_1.Metadata.create({
|
|
152
|
+
any: false,
|
|
153
|
+
required: true,
|
|
154
|
+
optional: false,
|
|
155
|
+
nullable: false,
|
|
156
|
+
functional: false,
|
|
157
|
+
resolved: null,
|
|
158
|
+
aliases: [],
|
|
159
|
+
atomics: [],
|
|
160
|
+
constants: [],
|
|
161
|
+
templates: [],
|
|
162
|
+
rest: null,
|
|
163
|
+
arrays: [],
|
|
164
|
+
tuples: [],
|
|
165
|
+
objects: [],
|
|
166
|
+
natives: [],
|
|
167
|
+
sets: [],
|
|
168
|
+
maps: [elem],
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
ProtocolMetadataUtil.map = map;
|
|
172
|
+
})(ProtocolMetadataUtil || (exports.ProtocolMetadataUtil = ProtocolMetadataUtil = {}));
|
|
173
|
+
//# sourceMappingURL=ProtocolMetadataUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtocolMetadataUtil.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/ProtocolMetadataUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { MetadataObject } from "../../../metadata/MetadataObject";
|
|
2
|
+
import { IProtocolMessage } from "../../../messages/IProtocolMessage";
|
|
3
|
+
export declare const emplace_protocol_object: (dict: Map<string, IProtocolMessage>) => (object: MetadataObject) => IProtocolMessage | undefined;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.emplace_protocol_object = void 0;
|
|
29
|
+
var emplace_protocol_property_1 = require("./emplace_protocol_property");
|
|
30
|
+
var emplace_protocol_object = function (dict) { return function (object) {
|
|
31
|
+
var _a;
|
|
32
|
+
if (dict.has(object.name))
|
|
33
|
+
return;
|
|
34
|
+
var regular = object.properties.filter(function (p) { return p.key.isSoleLiteral(); });
|
|
35
|
+
var dynamic = object.properties.filter(function (p) { return !p.key.isSoleLiteral(); });
|
|
36
|
+
if (dynamic.length)
|
|
37
|
+
return;
|
|
38
|
+
var output = {
|
|
39
|
+
name: object.name,
|
|
40
|
+
properties: [],
|
|
41
|
+
};
|
|
42
|
+
dict.set(object.name, output);
|
|
43
|
+
(_a = output.properties).push.apply(_a, __spreadArray([], __read(regular.map(function (prop) { return (0, emplace_protocol_property_1.emplace_protocol_property)(dict)(prop); })), false));
|
|
44
|
+
return output;
|
|
45
|
+
}; };
|
|
46
|
+
exports.emplace_protocol_object = emplace_protocol_object;
|
|
47
|
+
//# sourceMappingURL=emplace_protocol_object.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MetadataProperty } from "../../../metadata/MetadataProperty";
|
|
2
|
+
import { IProtocolMessage } from "../../../messages/IProtocolMessage";
|
|
3
|
+
import { IProtocolProperty } from "../../../messages/IProtocolProperty";
|
|
4
|
+
export declare const emplace_protocol_property: (dict: Map<string, IProtocolMessage>) => (property: MetadataProperty) => IProtocolProperty;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.emplace_protocol_property = void 0;
|
|
15
|
+
var iterate_protocol_metadata_1 = require("./iterate_protocol_metadata");
|
|
16
|
+
var emplace_protocol_property = function (dict) {
|
|
17
|
+
return function (property) { return (__assign({ key: property.key.getSoleLiteral() }, (0, iterate_protocol_metadata_1.iterate_protocol_metadata)(dict)(property.value)(property.tags))); };
|
|
18
|
+
};
|
|
19
|
+
exports.emplace_protocol_property = emplace_protocol_property;
|
|
20
|
+
//# sourceMappingURL=emplace_protocol_property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emplace_protocol_property.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/emplace_protocol_property.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,yEAAwE;AAEjE,IAAM,yBAAyB,GAClC,UAAC,IAAmC;IACpC,OAAA,UAAC,QAA0B,IAAwB,OAAA,YAC/C,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAG,IAChC,IAAA,qDAAyB,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnE,EAHiD,CAGjD;AAHF,CAGE,CAAC;AALM,QAAA,yBAAyB,6BAK/B"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IMetadataTag } from "../../../metadata/IMetadataTag";
|
|
2
|
+
import { Atomic } from "../../../typings/Atomic";
|
|
3
|
+
export declare const iterate_protocol_atomic: (tags: IMetadataTag[]) => (type: Atomic.Literal) => "string" | "int32" | "uint32" | "int64" | "uint64" | "double" | "bool";
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.iterate_protocol_atomic = void 0;
|
|
15
|
+
var iterate_protocol_atomic = function (tags) { return function (type) {
|
|
16
|
+
if (type === "boolean")
|
|
17
|
+
return "bool";
|
|
18
|
+
else if (type === "number")
|
|
19
|
+
return number(tags);
|
|
20
|
+
else if (type === "bigint")
|
|
21
|
+
return bigint(tags);
|
|
22
|
+
else
|
|
23
|
+
return "string";
|
|
24
|
+
}; };
|
|
25
|
+
exports.iterate_protocol_atomic = iterate_protocol_atomic;
|
|
26
|
+
var number = function (tagList) {
|
|
27
|
+
var e_1, _a;
|
|
28
|
+
var filtered = tagList.filter(function (tag) { return tag.kind === "type"; });
|
|
29
|
+
try {
|
|
30
|
+
for (var filtered_1 = __values(filtered), filtered_1_1 = filtered_1.next(); !filtered_1_1.done; filtered_1_1 = filtered_1.next()) {
|
|
31
|
+
var value = filtered_1_1.value.value;
|
|
32
|
+
if (value === "int")
|
|
33
|
+
return "int32";
|
|
34
|
+
else if (value === "uint")
|
|
35
|
+
return "uint32";
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
39
|
+
finally {
|
|
40
|
+
try {
|
|
41
|
+
if (filtered_1_1 && !filtered_1_1.done && (_a = filtered_1.return)) _a.call(filtered_1);
|
|
42
|
+
}
|
|
43
|
+
finally { if (e_1) throw e_1.error; }
|
|
44
|
+
}
|
|
45
|
+
return "double";
|
|
46
|
+
};
|
|
47
|
+
var bigint = function (tagList) {
|
|
48
|
+
var e_2, _a;
|
|
49
|
+
var filtered = tagList.filter(function (tag) {
|
|
50
|
+
return tag.kind === "type" &&
|
|
51
|
+
(tag.value === "int64" || tag.value === "uint64");
|
|
52
|
+
});
|
|
53
|
+
try {
|
|
54
|
+
for (var filtered_2 = __values(filtered), filtered_2_1 = filtered_2.next(); !filtered_2_1.done; filtered_2_1 = filtered_2.next()) {
|
|
55
|
+
var value = filtered_2_1.value.value;
|
|
56
|
+
if (value === "int64" || value === "uint64")
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
61
|
+
finally {
|
|
62
|
+
try {
|
|
63
|
+
if (filtered_2_1 && !filtered_2_1.done && (_a = filtered_2.return)) _a.call(filtered_2);
|
|
64
|
+
}
|
|
65
|
+
finally { if (e_2) throw e_2.error; }
|
|
66
|
+
}
|
|
67
|
+
return "int64";
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=iterate_protocol_atomic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_protocol_atomic.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_atomic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIO,IAAM,uBAAuB,GAChC,UAAC,IAAoB,IAAK,OAAA,UAAC,IAAoB;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;SACjC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;;QAC3C,OAAO,QAAQ,CAAC;AACzB,CAAC,EALyB,CAKzB,CAAC;AANO,QAAA,uBAAuB,2BAM9B;AAEN,IAAM,MAAM,GAAG,UAAC,OAAuB;;IACnC,IAAM,QAAQ,GAA+B,OAAO,CAAC,MAAM,CACvD,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,MAAM,EAAnB,CAAmB,CACD,CAAC;;QAEhC,KAAwB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA;YAAnB,IAAA,KAAK,2BAAA;YACd,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC;iBAC/B,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,QAAQ,CAAC;SAAA;;;;;;;;;IAC/C,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,UAAC,OAAuB;;IACnC,IAAM,QAAQ,GAA+B,OAAO,CAAC,MAAM,CACvD,UAAC,GAAG;QACA,OAAA,GAAG,CAAC,IAAI,KAAK,MAAM;YACnB,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC;IADjD,CACiD,CAC1B,CAAC;;QAEhC,KAAwB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA;YAAnB,IAAA,KAAK,2BAAA;YACd,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;SAAA;;;;;;;;;IAC9D,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iterate_protocol_constant = void 0;
|
|
4
|
+
var iterate_protocol_constant = function (_a) {
|
|
5
|
+
var type = _a.type, values = _a.values;
|
|
6
|
+
if (type === "boolean")
|
|
7
|
+
return "bool";
|
|
8
|
+
else if (type === "number")
|
|
9
|
+
return number(values);
|
|
10
|
+
else if (type === "bigint")
|
|
11
|
+
return bigint(values);
|
|
12
|
+
else
|
|
13
|
+
return "string";
|
|
14
|
+
};
|
|
15
|
+
exports.iterate_protocol_constant = iterate_protocol_constant;
|
|
16
|
+
var bigint = function (values) {
|
|
17
|
+
return values.every(function (v) { return v >= BigInt(0); }) ? "uint64" : "int64";
|
|
18
|
+
};
|
|
19
|
+
var number = function (values) {
|
|
20
|
+
return values.some(function (v) { return Math.floor(v) !== v; })
|
|
21
|
+
? "double"
|
|
22
|
+
: values.every(function (v) { return v >= 0; })
|
|
23
|
+
? values.every(function (v) { return v <= Math.pow(2, 64) - 1; })
|
|
24
|
+
? "uint32"
|
|
25
|
+
: "uint64"
|
|
26
|
+
: values.every(function (v) { return -(Math.pow(2, 31)) <= v && v <= Math.pow(2, 31) - 1; })
|
|
27
|
+
? "int32"
|
|
28
|
+
: "int64";
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=iterate_protocol_constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_protocol_constant.js","sourceRoot":"","sources":["../../../../src/factories/internal/protocols/iterate_protocol_constant.ts"],"names":[],"mappings":";;;AAEO,IAAM,yBAAyB,GAAG,UAAC,EAGvB;QAFf,IAAI,UAAA,EACJ,MAAM,YAAA;IAEN,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;SACjC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;;QAC7C,OAAO,QAAQ,CAAC;AACzB,CAAC,CAAC;AARW,QAAA,yBAAyB,6BAQpC;AAEF,IAAM,MAAM,GAAG,UAAC,MAAgB;IAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAd,CAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACpE,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,UAAC,MAAgB;IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAnB,CAAmB,CAAC;QAC1C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,CAAC,EAAN,CAAM,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,SAAA,CAAC,EAAI,EAAE,CAAA,GAAG,CAAC,EAAhB,CAAgB,CAAC;gBACnC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,QAAQ;YACd,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAA,CAAC,EAAI,EAAE,CAAA,GAAG,CAAC,EAAnC,CAAmC,CAAC;gBAC1D,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC;AAClB,CAAC,CAAC"}
|