typia 5.0.0-dev.20230814 → 5.0.0-dev.20230818
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/lib/factories/ExpressionFactory.d.ts +1 -0
- package/lib/factories/ExpressionFactory.js +33 -0
- package/lib/factories/ExpressionFactory.js.map +1 -1
- package/lib/factories/StatementFactory.d.ts +2 -0
- package/lib/factories/StatementFactory.js +11 -0
- package/lib/factories/StatementFactory.js.map +1 -1
- package/lib/functional/$ProtobufReader.d.ts +33 -0
- package/lib/functional/$ProtobufReader.js +155 -0
- package/lib/functional/$ProtobufReader.js.map +1 -0
- package/lib/functional/$ProtobufSizer.d.ts +36 -0
- package/lib/functional/$ProtobufSizer.js +105 -0
- package/lib/functional/$ProtobufSizer.js.map +1 -0
- package/lib/functional/$ProtobufWriter.d.ts +45 -0
- package/lib/functional/$ProtobufWriter.js +107 -0
- package/lib/functional/$ProtobufWriter.js.map +1 -0
- package/lib/functional/IProtobufWriter.d.ts +15 -0
- package/lib/functional/IProtobufWriter.js +3 -0
- package/lib/functional/IProtobufWriter.js.map +1 -0
- package/lib/functional/Namespace.js +13 -6
- package/lib/functional/Namespace.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.js +2 -2
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/helpers/CloneJoiner.js +1 -7
- package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
- package/lib/programmers/helpers/ProtobufWire.d.ts +16 -12
- package/lib/programmers/helpers/RandomRanger.js +1 -1
- package/lib/programmers/helpers/RandomRanger.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +3 -0
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +269 -127
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +8 -2
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/protobuf.js +23 -9
- package/lib/protobuf.js.map +1 -1
- package/lib/schemas/metadata/MetadataObject.js +4 -0
- package/lib/schemas/metadata/MetadataObject.js.map +1 -1
- package/lib/transformers/CallExpressionTransformer.js +0 -4
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonApplicationTransformer.js +6 -3
- package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/factories/ExpressionFactory.ts +20 -0
- package/src/factories/StatementFactory.ts +32 -0
- package/src/functional/$ProtobufReader.ts +189 -0
- package/src/functional/$ProtobufSizer.ts +144 -0
- package/src/functional/$ProtobufWriter.ts +152 -0
- package/src/functional/IProtobufWriter.ts +18 -0
- package/src/functional/Namespace.ts +14 -7
- package/src/programmers/FeatureProgrammer.ts +2 -2
- package/src/programmers/helpers/CloneJoiner.ts +1 -25
- package/src/programmers/helpers/ProtobufWire.ts +18 -12
- package/src/programmers/helpers/RandomRanger.ts +1 -1
- package/src/programmers/json/JsonStringifyProgrammer.ts +8 -0
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +544 -201
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +4 -1
- package/src/protobuf.ts +23 -29
- package/src/schemas/metadata/MetadataObject.ts +10 -0
- package/src/transformers/CallExpressionTransformer.ts +0 -4
- package/src/transformers/features/json/JsonApplicationTransformer.ts +12 -3
- package/lib/programmers/protobuf/ProtobufSizeProgrammer.d.ts +0 -5
- package/lib/programmers/protobuf/ProtobufSizeProgrammer.js +0 -409
- package/lib/programmers/protobuf/ProtobufSizeProgrammer.js.map +0 -1
- package/lib/transformers/features/protobuf/CreateProtobufSizeTransformer.d.ts +0 -3
- package/lib/transformers/features/protobuf/CreateProtobufSizeTransformer.js +0 -10
- package/lib/transformers/features/protobuf/CreateProtobufSizeTransformer.js.map +0 -1
- package/lib/transformers/features/protobuf/ProtobufSizeTransformer.d.ts +0 -3
- package/lib/transformers/features/protobuf/ProtobufSizeTransformer.js +0 -10
- package/lib/transformers/features/protobuf/ProtobufSizeTransformer.js.map +0 -1
- package/src/programmers/protobuf/ProtobufSizeProgrammer.ts +0 -716
- package/src/transformers/features/protobuf/CreateProtobufSizeTransformer.ts +0 -9
- package/src/transformers/features/protobuf/ProtobufSizeTransformer.ts +0 -9
package/lib/protobuf.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createValidateEncode = exports.createAssertEncode = exports.createIsEncode = exports.createEncode = exports.
|
|
3
|
+
exports.createValidateEncode = exports.createAssertEncode = exports.createIsEncode = exports.createEncode = exports.createValidateDecode = exports.createAssertDecode = exports.createIsDecode = exports.createDecode = exports.validateEncode = exports.assertEncode = exports.isEncode = exports.encode = exports.validateDecode = exports.assertDecode = exports.isDecode = exports.decode = exports.message = void 0;
|
|
4
|
+
var Namespace_1 = require("./functional/Namespace");
|
|
4
5
|
function message() {
|
|
5
6
|
halt("message");
|
|
6
7
|
}
|
|
@@ -9,38 +10,48 @@ function decode() {
|
|
|
9
10
|
halt("decode");
|
|
10
11
|
}
|
|
11
12
|
exports.decode = decode;
|
|
13
|
+
Object.assign(decode, Namespace_1.Namespace.protobuf.decode("decode"));
|
|
12
14
|
function isDecode() {
|
|
13
15
|
halt("isDecode");
|
|
14
16
|
}
|
|
15
17
|
exports.isDecode = isDecode;
|
|
18
|
+
Object.assign(isDecode, Namespace_1.Namespace.is());
|
|
19
|
+
Object.assign(isDecode, Namespace_1.Namespace.protobuf.decode("isDecode"));
|
|
16
20
|
function assertDecode() {
|
|
17
21
|
halt("assertDecode");
|
|
18
22
|
}
|
|
19
23
|
exports.assertDecode = assertDecode;
|
|
24
|
+
Object.assign(assertDecode, Namespace_1.Namespace.assert("assertDecode"));
|
|
25
|
+
Object.assign(assertDecode, Namespace_1.Namespace.protobuf.decode("assertDecode"));
|
|
20
26
|
function validateDecode() {
|
|
21
27
|
halt("validateDecode");
|
|
22
28
|
}
|
|
23
29
|
exports.validateDecode = validateDecode;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
exports.size = size;
|
|
30
|
+
Object.assign(validateDecode, Namespace_1.Namespace.validate());
|
|
31
|
+
Object.assign(validateDecode, Namespace_1.Namespace.protobuf.decode("validateDecode"));
|
|
28
32
|
function encode() {
|
|
29
33
|
halt("encode");
|
|
30
34
|
}
|
|
31
35
|
exports.encode = encode;
|
|
36
|
+
Object.assign(encode, Namespace_1.Namespace.protobuf.encode("encode"));
|
|
32
37
|
function isEncode() {
|
|
33
38
|
halt("isEncode");
|
|
34
39
|
}
|
|
35
40
|
exports.isEncode = isEncode;
|
|
41
|
+
Object.assign(isEncode, Namespace_1.Namespace.is());
|
|
42
|
+
Object.assign(isEncode, Namespace_1.Namespace.protobuf.encode("isEncode"));
|
|
36
43
|
function assertEncode() {
|
|
37
44
|
halt("assertEncode");
|
|
38
45
|
}
|
|
39
46
|
exports.assertEncode = assertEncode;
|
|
47
|
+
Object.assign(assertEncode, Namespace_1.Namespace.assert("assertEncode"));
|
|
48
|
+
Object.assign(assertEncode, Namespace_1.Namespace.protobuf.encode("assertEncode"));
|
|
40
49
|
function validateEncode() {
|
|
41
50
|
halt("validateEncode");
|
|
42
51
|
}
|
|
43
52
|
exports.validateEncode = validateEncode;
|
|
53
|
+
Object.assign(validateEncode, Namespace_1.Namespace.validate());
|
|
54
|
+
Object.assign(validateEncode, Namespace_1.Namespace.protobuf.encode("validateEncode"));
|
|
44
55
|
function createDecode() {
|
|
45
56
|
halt("createDecode");
|
|
46
57
|
}
|
|
@@ -57,26 +68,29 @@ function createValidateDecode() {
|
|
|
57
68
|
halt("createValidateDecode");
|
|
58
69
|
}
|
|
59
70
|
exports.createValidateDecode = createValidateDecode;
|
|
60
|
-
function createSize() {
|
|
61
|
-
halt("createEncode");
|
|
62
|
-
}
|
|
63
|
-
exports.createSize = createSize;
|
|
64
71
|
function createEncode() {
|
|
65
72
|
halt("createEncode");
|
|
66
73
|
}
|
|
67
74
|
exports.createEncode = createEncode;
|
|
75
|
+
Object.assign(createEncode, Namespace_1.Namespace.protobuf.encode("createEncode"));
|
|
68
76
|
function createIsEncode() {
|
|
69
77
|
halt("createIsEncode");
|
|
70
78
|
}
|
|
71
79
|
exports.createIsEncode = createIsEncode;
|
|
80
|
+
Object.assign(createIsEncode, Namespace_1.Namespace.is);
|
|
81
|
+
Object.assign(createIsEncode, Namespace_1.Namespace.protobuf.encode);
|
|
72
82
|
function createAssertEncode() {
|
|
73
83
|
halt("createAssertEncode");
|
|
74
84
|
}
|
|
75
85
|
exports.createAssertEncode = createAssertEncode;
|
|
86
|
+
Object.assign(createAssertEncode, Namespace_1.Namespace.assert);
|
|
87
|
+
Object.assign(createAssertEncode, Namespace_1.Namespace.protobuf.encode);
|
|
76
88
|
function createValidateEncode() {
|
|
77
89
|
halt("createValidateEncode");
|
|
78
90
|
}
|
|
79
91
|
exports.createValidateEncode = createValidateEncode;
|
|
92
|
+
Object.assign(createValidateEncode, Namespace_1.Namespace.validate);
|
|
93
|
+
Object.assign(createValidateEncode, Namespace_1.Namespace.protobuf.encode);
|
|
80
94
|
function halt(name) {
|
|
81
95
|
throw new Error("Error on typia.protobuf.".concat(name, "(): no transform has been configured. Read and follow https://typia.io/docs/setup please."));
|
|
82
96
|
}
|
package/lib/protobuf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../src/protobuf.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../src/protobuf.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,10 @@ var MetadataObject = (function () {
|
|
|
30
30
|
nullables: obj.nullables.slice(),
|
|
31
31
|
});
|
|
32
32
|
};
|
|
33
|
+
MetadataObject.prototype._Messagable = function () {
|
|
34
|
+
return (this.properties.length >= 1 &&
|
|
35
|
+
this.properties.every(function (p) { return p.key.isSoleLiteral(); }));
|
|
36
|
+
};
|
|
33
37
|
MetadataObject.prototype._Is_simple = function (level) {
|
|
34
38
|
if (level === void 0) { level = 0; }
|
|
35
39
|
return (this.recursive === false &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataObject.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataObject.ts"],"names":[],"mappings":";;;AAMA;IAsBI,wBACI,KAAuD;QAdpD,cAAS,GAAc,EAAE,CAAC;QAK1B,YAAO,GAAY,KAAK,CAAC;QAW5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAEjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAKa,qBAAM,GAApB,UACI,KAAuD;QAEvD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAKa,uCAAwB,GAAtC,UACI,GAAoB;QAEpB,OAAO,IAAI,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;YAExB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;SACnC,CAAC,CAAC;IACP,CAAC;IAKM,mCAAU,GAAjB,UAAkB,KAAiB;QAAjB,sBAAA,EAAA,SAAiB;QAC/B,OAAO,CACH,IAAI,CAAC,SAAS,KAAK,KAAK;YACxB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CACjB,UAAC,QAAQ;gBACL,OAAA,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE;oBAC5B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;oBAC3B,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI;oBACpC,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK;oBACjC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;wBAChC,CAAC,KAAK,GAAG,CAAC;4BACN,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;4BACnC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAP1D,CAO0D,CACjE,CACJ,CAAC;IACN,CAAC;IAEM,+BAAM,GAAb;QACI,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,EAAE,EAAjB,CAAiB,CAAC;YAChE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YAEzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;SACpC,CAAC;IACN,CAAC;IACL,qBAAC;AAAD,CAAC,
|
|
1
|
+
{"version":3,"file":"MetadataObject.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,6 @@ var CreateProtobufDecodeTransformer_1 = require("./features/protobuf/CreateProto
|
|
|
52
52
|
var CreateProtobufEncodeTransformer_1 = require("./features/protobuf/CreateProtobufEncodeTransformer");
|
|
53
53
|
var CreateProtobufIsDecodeTransformer_1 = require("./features/protobuf/CreateProtobufIsDecodeTransformer");
|
|
54
54
|
var CreateProtobufIsEncodeTransformer_1 = require("./features/protobuf/CreateProtobufIsEncodeTransformer");
|
|
55
|
-
var CreateProtobufSizeTransformer_1 = require("./features/protobuf/CreateProtobufSizeTransformer");
|
|
56
55
|
var CreateProtobufValidateDecodeTransformer_1 = require("./features/protobuf/CreateProtobufValidateDecodeTransformer");
|
|
57
56
|
var CreateProtobufValidateEncodeTransformer_1 = require("./features/protobuf/CreateProtobufValidateEncodeTransformer");
|
|
58
57
|
var ProtobufAssertDecodeTransformer_1 = require("./features/protobuf/ProtobufAssertDecodeTransformer");
|
|
@@ -62,7 +61,6 @@ var ProtobufEncodeTransformer_1 = require("./features/protobuf/ProtobufEncodeTra
|
|
|
62
61
|
var ProtobufIsDecodeTransformer_1 = require("./features/protobuf/ProtobufIsDecodeTransformer");
|
|
63
62
|
var ProtobufIsEncodeTransformer_1 = require("./features/protobuf/ProtobufIsEncodeTransformer");
|
|
64
63
|
var ProtobufMessageTransformer_1 = require("./features/protobuf/ProtobufMessageTransformer");
|
|
65
|
-
var ProtobufSizeTransformer_1 = require("./features/protobuf/ProtobufSizeTransformer");
|
|
66
64
|
var ProtobufValidateDecodeTransformer_1 = require("./features/protobuf/ProtobufValidateDecodeTransformer");
|
|
67
65
|
var ProtobufValidateEncodeTransformer_1 = require("./features/protobuf/ProtobufValidateEncodeTransformer");
|
|
68
66
|
var CallExpressionTransformer;
|
|
@@ -141,7 +139,6 @@ var FUNCTORS = {
|
|
|
141
139
|
},
|
|
142
140
|
protobuf: {
|
|
143
141
|
message: function () { return ProtobufMessageTransformer_1.ProtobufMessageTransformer.transform; },
|
|
144
|
-
size: function () { return ProtobufSizeTransformer_1.ProtobufSizeTransformer.transform; },
|
|
145
142
|
encode: function () { return ProtobufEncodeTransformer_1.ProtobufEncodeTransformer.transform; },
|
|
146
143
|
assertEncode: function () { return ProtobufAssertEncodeTransformer_1.ProtobufAssertEncodeTransformer.transform; },
|
|
147
144
|
isEncode: function () { return ProtobufIsEncodeTransformer_1.ProtobufIsEncodeTransformer.transform; },
|
|
@@ -150,7 +147,6 @@ var FUNCTORS = {
|
|
|
150
147
|
assertDecode: function () { return ProtobufAssertDecodeTransformer_1.ProtobufAssertDecodeTransformer.transform; },
|
|
151
148
|
isDecode: function () { return ProtobufIsDecodeTransformer_1.ProtobufIsDecodeTransformer.transform; },
|
|
152
149
|
validateDecode: function () { return ProtobufValidateDecodeTransformer_1.ProtobufValidateDecodeTransformer.transform; },
|
|
153
|
-
createSize: function () { return CreateProtobufSizeTransformer_1.CreateProtobufSizeTransformer.transform; },
|
|
154
150
|
createEncode: function () { return CreateProtobufEncodeTransformer_1.CreateProtobufEncodeTransformer.transform; },
|
|
155
151
|
createAssertEncode: function () {
|
|
156
152
|
return CreateProtobufAssertEncodeTransformer_1.CreateProtobufAssertEncodeTransformer.transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AAIxB,kEAAiE;AACjE,8EAA6E;AAC7E,sEAAqE;AACrE,8EAA6E;AAC7E,kFAAiF;AACjF,0DAAyD;AACzD,kEAAiE;AACjE,sEAAqE;AACrE,yFAAwF;AACxF,yFAAwF;AACxF,iGAAgG;AAChG,qGAAoG;AACpG,6GAA4G;AAC5G,6FAA4F;AAC5F,qGAAoG;AACpG,iGAAgG;AAChG,yGAAwG;AACxG,+GAA+G;AAC/G,iFAAgF;AAChF,yFAAwF;AACxF,qFAAoF;AACpF,6FAA4F;AAC5F,qGAAoG;AACpG,2EAA0E;AAC1E,yFAAwF;AACxF,yFAAwF;AACxF,6EAA4E;AAC5E,qGAAoG;AACpG,qGAAoG;AACpG,yFAAwF;AACxF,6FAA4F;AAC5F,6FAA4F;AAC5F,yFAAwF;AACxF,yGAAwG;AACxG,yGAAwG;AACxG,iFAAgF;AAChF,iFAAgF;AAChF,mFAAkF;AAClF,6EAA4E;AAC5E,6FAA4F;AAC5F,6FAA4F;AAC5F,mHAAkH;AAClH,mHAAkH;AAClH,uGAAsG;AACtG,uGAAsG;AACtG,2GAA0G;AAC1G,2GAA0G;AAC1G,
|
|
1
|
+
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ var JsonApplicationTransformer;
|
|
|
37
37
|
validate: function (meta) {
|
|
38
38
|
if (meta.atomics.find(function (str) { return str === "bigint"; }))
|
|
39
39
|
throw new Error(NO_BIGIT);
|
|
40
|
+
else if (meta.arrays.some(function (array) { return array.value.isRequired() === false; }))
|
|
41
|
+
throw new Error(NO_UNDEFINED_IN_ARRAY);
|
|
40
42
|
},
|
|
41
43
|
})(collection)(type);
|
|
42
44
|
});
|
|
@@ -58,7 +60,8 @@ var JsonApplicationTransformer;
|
|
|
58
60
|
return value;
|
|
59
61
|
};
|
|
60
62
|
})(JsonApplicationTransformer || (exports.JsonApplicationTransformer = JsonApplicationTransformer = {}));
|
|
61
|
-
var NO_GENERIC_ARGUMENT = "Error on typia.application(): no generic argument.";
|
|
62
|
-
var GENERIC_ARGUMENT = "Error on typia.application(): non-specified generic argument(s).";
|
|
63
|
-
var NO_BIGIT = "Error on typia.application(): does not allow bigint type.";
|
|
63
|
+
var NO_GENERIC_ARGUMENT = "Error on typia.json.application(): no generic argument.";
|
|
64
|
+
var GENERIC_ARGUMENT = "Error on typia.json.application(): non-specified generic argument(s).";
|
|
65
|
+
var NO_BIGIT = "Error on typia.json.application(): does not allow bigint type.";
|
|
66
|
+
var NO_UNDEFINED_IN_ARRAY = "Error on typia.json.application(): does not allow undefined type in array.";
|
|
64
67
|
//# sourceMappingURL=JsonApplicationTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/json/JsonApplicationTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAKrE,iGAAgG;AAIhG,IAAiB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"JsonApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/json/JsonApplicationTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -67,4 +67,24 @@ export namespace ExpressionFactory {
|
|
|
67
67
|
ts.factory.createToken(ts.SyntaxKind.QuestionQuestionToken),
|
|
68
68
|
y,
|
|
69
69
|
);
|
|
70
|
+
|
|
71
|
+
export const currying =
|
|
72
|
+
(target: ts.Expression) => (parameters: ts.Expression[]) => {
|
|
73
|
+
if (parameters.length === 0)
|
|
74
|
+
return ts.factory.createCallExpression(
|
|
75
|
+
target,
|
|
76
|
+
undefined,
|
|
77
|
+
undefined,
|
|
78
|
+
);
|
|
79
|
+
let prev: ts.CallExpression = ts.factory.createCallExpression(
|
|
80
|
+
target,
|
|
81
|
+
undefined,
|
|
82
|
+
[parameters[0]!],
|
|
83
|
+
);
|
|
84
|
+
for (const param of parameters.slice(1))
|
|
85
|
+
prev = ts.factory.createCallExpression(prev, undefined, [
|
|
86
|
+
param,
|
|
87
|
+
]);
|
|
88
|
+
return prev;
|
|
89
|
+
};
|
|
70
90
|
}
|
|
@@ -33,8 +33,40 @@ export namespace StatementFactory {
|
|
|
33
33
|
),
|
|
34
34
|
);
|
|
35
35
|
|
|
36
|
+
export const entry = (key: string) => (value: string) =>
|
|
37
|
+
ts.factory.createVariableDeclarationList(
|
|
38
|
+
[
|
|
39
|
+
ts.factory.createVariableDeclaration(
|
|
40
|
+
ts.factory.createArrayBindingPattern([
|
|
41
|
+
ts.factory.createBindingElement(
|
|
42
|
+
undefined,
|
|
43
|
+
undefined,
|
|
44
|
+
ts.factory.createIdentifier(key),
|
|
45
|
+
undefined,
|
|
46
|
+
),
|
|
47
|
+
ts.factory.createBindingElement(
|
|
48
|
+
undefined,
|
|
49
|
+
undefined,
|
|
50
|
+
ts.factory.createIdentifier(value),
|
|
51
|
+
undefined,
|
|
52
|
+
),
|
|
53
|
+
]),
|
|
54
|
+
undefined,
|
|
55
|
+
undefined,
|
|
56
|
+
undefined,
|
|
57
|
+
),
|
|
58
|
+
],
|
|
59
|
+
ts.NodeFlags.Const,
|
|
60
|
+
);
|
|
61
|
+
|
|
36
62
|
export const transpile = (script: string) =>
|
|
37
63
|
ts.factory.createExpressionStatement(
|
|
38
64
|
ts.factory.createIdentifier(ts.transpile(script)),
|
|
39
65
|
);
|
|
66
|
+
|
|
67
|
+
export const block = (expression: ts.Expression) =>
|
|
68
|
+
ts.factory.createBlock(
|
|
69
|
+
[ts.factory.createExpressionStatement(expression)],
|
|
70
|
+
true,
|
|
71
|
+
);
|
|
40
72
|
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { ProtobufWire } from "../programmers/helpers/ProtobufWire";
|
|
2
|
+
|
|
3
|
+
export class $ProtobufReader {
|
|
4
|
+
/**
|
|
5
|
+
* Read buffer
|
|
6
|
+
*/
|
|
7
|
+
private buf: Uint8Array;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Read buffer pointer.
|
|
11
|
+
*/
|
|
12
|
+
private ptr: number;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* DataView for buffer.
|
|
16
|
+
*/
|
|
17
|
+
private view: DataView;
|
|
18
|
+
|
|
19
|
+
public constructor(buf: Uint8Array) {
|
|
20
|
+
this.buf = buf;
|
|
21
|
+
this.ptr = 0;
|
|
22
|
+
this.view = new DataView(buf.buffer);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// public reset(buf: Uint8Array): void {
|
|
26
|
+
// this.buf = buf;
|
|
27
|
+
// this.ptr = 0;
|
|
28
|
+
// this.view = new DataView(buf.buffer);
|
|
29
|
+
// }
|
|
30
|
+
|
|
31
|
+
public uint32(): number {
|
|
32
|
+
return this.varint32();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public int32(): number {
|
|
36
|
+
return this.varint32();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public sint32(): number {
|
|
40
|
+
const value: number = this.varint32();
|
|
41
|
+
return (value >>> 1) ^ -(value & 1);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public uint64(): bigint {
|
|
45
|
+
return this.varint64();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
public int64(): bigint {
|
|
49
|
+
return this.varint64();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public sint64(): bigint {
|
|
53
|
+
const value = this.varint64();
|
|
54
|
+
return (value >> N01) ^ -(value & N01);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public bool(): boolean {
|
|
58
|
+
return this.varint32() !== 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public float(): number {
|
|
62
|
+
const value: number = this.view.getFloat32(this.ptr, true);
|
|
63
|
+
this.ptr += 4;
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
public double(): number {
|
|
68
|
+
const value: number = this.view.getFloat64(this.ptr, true);
|
|
69
|
+
this.ptr += 8;
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public bytes(): Uint8Array {
|
|
74
|
+
const length: number = this.uint32();
|
|
75
|
+
return this.buf.subarray(this.ptr, (this.ptr += length));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public string(): string {
|
|
79
|
+
return utf8.decode(this.bytes());
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public skip(length: number): void {
|
|
83
|
+
if (length === 0) while (this.u8() & 0x80);
|
|
84
|
+
else this.ptr += length;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public skipType(wireType: ProtobufWire): void {
|
|
88
|
+
switch (wireType) {
|
|
89
|
+
case ProtobufWire.VARIANT:
|
|
90
|
+
this.skip(0);
|
|
91
|
+
break;
|
|
92
|
+
case ProtobufWire.I64:
|
|
93
|
+
this.skip(8);
|
|
94
|
+
break;
|
|
95
|
+
case ProtobufWire.LEN:
|
|
96
|
+
this.skip(this.uint32());
|
|
97
|
+
break;
|
|
98
|
+
case ProtobufWire.START_GROUP:
|
|
99
|
+
while (
|
|
100
|
+
(wireType = this.uint32() & 0x07) !== ProtobufWire.END_GROUP
|
|
101
|
+
)
|
|
102
|
+
this.skipType(wireType);
|
|
103
|
+
break;
|
|
104
|
+
case ProtobufWire.I32:
|
|
105
|
+
this.skip(4);
|
|
106
|
+
break;
|
|
107
|
+
default:
|
|
108
|
+
throw new Error("Invalid wire type " + wireType.toString());
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private varint32(): number {
|
|
113
|
+
let loaded: number;
|
|
114
|
+
let value: number;
|
|
115
|
+
|
|
116
|
+
value = (loaded = this.u8()) & 0x7f;
|
|
117
|
+
if (loaded < 0x80) return value;
|
|
118
|
+
|
|
119
|
+
value |= ((loaded = this.u8()) & 0x7f) << 7;
|
|
120
|
+
if (loaded < 0x80) return value;
|
|
121
|
+
|
|
122
|
+
value |= ((loaded = this.u8()) & 0x7f) << 14;
|
|
123
|
+
if (loaded < 0x80) return value;
|
|
124
|
+
|
|
125
|
+
value |= ((loaded = this.u8()) & 0x7f) << 21;
|
|
126
|
+
if (loaded < 0x80) return value;
|
|
127
|
+
|
|
128
|
+
value |= ((loaded = this.u8()) & 0xf) << 28;
|
|
129
|
+
if (loaded < 0x80) return value;
|
|
130
|
+
|
|
131
|
+
// increment position until there is no continuation bit or until we read 10 bytes
|
|
132
|
+
if (this.u8() < 0x80) return value;
|
|
133
|
+
if (this.u8() < 0x80) return value;
|
|
134
|
+
if (this.u8() < 0x80) return value;
|
|
135
|
+
if (this.u8() < 0x80) return value;
|
|
136
|
+
if (this.u8() < 0x80) return value;
|
|
137
|
+
|
|
138
|
+
return value;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
private varint64(): bigint {
|
|
142
|
+
let loaded: bigint;
|
|
143
|
+
let value: bigint;
|
|
144
|
+
|
|
145
|
+
value = (loaded = this.u8n()) & N7F;
|
|
146
|
+
if (loaded < N80) return value;
|
|
147
|
+
|
|
148
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(7);
|
|
149
|
+
if (loaded < N80) return value;
|
|
150
|
+
|
|
151
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(14);
|
|
152
|
+
if (loaded < N80) return value;
|
|
153
|
+
|
|
154
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(21);
|
|
155
|
+
if (loaded < N80) return value;
|
|
156
|
+
|
|
157
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(28);
|
|
158
|
+
if (loaded < N80) return value;
|
|
159
|
+
|
|
160
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(35);
|
|
161
|
+
if (loaded < N80) return value;
|
|
162
|
+
|
|
163
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(42);
|
|
164
|
+
if (loaded < N80) return value;
|
|
165
|
+
|
|
166
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(49);
|
|
167
|
+
if (loaded < N80) return value;
|
|
168
|
+
|
|
169
|
+
value |= ((loaded = this.u8n()) & N7F) << BigInt(56);
|
|
170
|
+
if (loaded < N80) return value;
|
|
171
|
+
|
|
172
|
+
value |= (this.u8n() & N01) << BigInt(63);
|
|
173
|
+
|
|
174
|
+
return value;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
private u8(): number {
|
|
178
|
+
return this.view.getUint8(this.ptr++);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
private u8n(): bigint {
|
|
182
|
+
return BigInt(this.u8());
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const utf8 = new TextDecoder();
|
|
187
|
+
const N01 = BigInt(0x01);
|
|
188
|
+
const N7F = BigInt(0x7f);
|
|
189
|
+
const N80 = BigInt(0x80);
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { $strlen } from "./$strlen";
|
|
2
|
+
import { IProtobufWriter } from "./IProtobufWriter";
|
|
3
|
+
|
|
4
|
+
export class $ProtobufSizer implements IProtobufWriter {
|
|
5
|
+
/**
|
|
6
|
+
* Total length.
|
|
7
|
+
*/
|
|
8
|
+
public len: number;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Position stack.
|
|
12
|
+
*/
|
|
13
|
+
public readonly pos: Array<number>;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Variable length list.
|
|
17
|
+
*/
|
|
18
|
+
public readonly varlen: Array<number>;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Variable length index stack.
|
|
22
|
+
*/
|
|
23
|
+
public readonly varlenidx: Array<number>;
|
|
24
|
+
|
|
25
|
+
public constructor(length: number = 0) {
|
|
26
|
+
this.len = length;
|
|
27
|
+
this.pos = [];
|
|
28
|
+
this.varlen = [];
|
|
29
|
+
this.varlenidx = [];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public bool(): void {
|
|
33
|
+
this.len += 1;
|
|
34
|
+
}
|
|
35
|
+
public int32(value: number): void {
|
|
36
|
+
if (value < 0) {
|
|
37
|
+
// 10 bytes to encode negative number
|
|
38
|
+
this.len += 10;
|
|
39
|
+
} else {
|
|
40
|
+
this.varint32(value);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
public sint32(value: number): void {
|
|
44
|
+
this.varint32((value << 1) ^ (value >> 31));
|
|
45
|
+
}
|
|
46
|
+
public uint32(value: number): void {
|
|
47
|
+
this.varint32(value);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public int64(value: bigint | number): void {
|
|
51
|
+
this.varint64(typeof value === "number" ? BigInt(value) : value);
|
|
52
|
+
}
|
|
53
|
+
public sint64(value: bigint | number): void {
|
|
54
|
+
if (typeof value === "number") value = BigInt(value);
|
|
55
|
+
this.varint64((value << BigInt(1)) ^ (value >> BigInt(63)));
|
|
56
|
+
}
|
|
57
|
+
public uint64(value: bigint | number): void {
|
|
58
|
+
this.varint64(typeof value === "number" ? BigInt(value) : value);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// public fixed32(_value: number): void {
|
|
62
|
+
// this.len += 4;
|
|
63
|
+
// }
|
|
64
|
+
// public sfixed32(_value: number): void {
|
|
65
|
+
// this.len += 4;
|
|
66
|
+
// }
|
|
67
|
+
// public fixed64(_value: number | bigint): void {
|
|
68
|
+
// this.len += 8;
|
|
69
|
+
// }
|
|
70
|
+
// public sfixed64(_value: number | bigint): void {
|
|
71
|
+
// this.len += 8;
|
|
72
|
+
// }
|
|
73
|
+
public float(_value: number): void {
|
|
74
|
+
this.len += 4;
|
|
75
|
+
}
|
|
76
|
+
public double(_value: number): void {
|
|
77
|
+
this.len += 8;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public bytes(value: Uint8Array): void {
|
|
81
|
+
this.uint32(value.byteLength);
|
|
82
|
+
this.len += value.byteLength;
|
|
83
|
+
}
|
|
84
|
+
public string(value: string): void {
|
|
85
|
+
const len: number = $strlen(value);
|
|
86
|
+
this.varlen.push(len);
|
|
87
|
+
this.uint32(len);
|
|
88
|
+
this.len += len;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
public fork(): void {
|
|
92
|
+
this.pos.push(this.len); // save current position
|
|
93
|
+
this.varlenidx.push(this.varlen.length); // save current index in varlen array
|
|
94
|
+
this.varlen.push(0); // add 0 length to varlen array (to be updated in ldelim())
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public ldelim(): void {
|
|
98
|
+
if (!(this.pos.length && this.varlenidx.length))
|
|
99
|
+
throw new Error("Missing fork() before ldelim() call.");
|
|
100
|
+
|
|
101
|
+
const endPos = this.len; // current position is end position
|
|
102
|
+
const startPos = this.pos.pop()!; // get start position from stack
|
|
103
|
+
const idx = this.varlenidx.pop()!; // get varlen index from stack
|
|
104
|
+
const len = endPos - startPos; // calculate length
|
|
105
|
+
|
|
106
|
+
this.varlen[idx] = len; // update variable length
|
|
107
|
+
this.uint32(len); // add uint32 that should be called in fork()
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
public reset(): void {
|
|
111
|
+
this.len = 0;
|
|
112
|
+
// re-use arrays
|
|
113
|
+
this.pos.length = 0;
|
|
114
|
+
this.varlen.length = 0;
|
|
115
|
+
this.varlenidx.length = 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
private varint32(value: number): void {
|
|
119
|
+
this.len +=
|
|
120
|
+
value < 0
|
|
121
|
+
? 10 // 10 bits with leading 1's
|
|
122
|
+
: value < 0x80
|
|
123
|
+
? 1
|
|
124
|
+
: value < 0x4000
|
|
125
|
+
? 2
|
|
126
|
+
: value < 0x200000
|
|
127
|
+
? 3
|
|
128
|
+
: value < 0x10000000
|
|
129
|
+
? 4
|
|
130
|
+
: 5;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
private varint64(val: bigint): void {
|
|
134
|
+
val = BigInt.asUintN(64, val);
|
|
135
|
+
while (val > NX7F) {
|
|
136
|
+
++this.len;
|
|
137
|
+
val = val >> ND07;
|
|
138
|
+
}
|
|
139
|
+
++this.len;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
const ND07 = BigInt(7);
|
|
144
|
+
const NX7F = BigInt(0x7f);
|