typia 7.0.0-dev.20241002 → 7.0.0-dev.20241003
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/JsonMetadataFactory.js +4 -1
- package/lib/factories/JsonMetadataFactory.js.map +1 -1
- package/lib/factories/MetadataCollection.js +2 -2
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataCommentTagFactory.js +284 -205
- package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
- package/lib/factories/ProtobufFactory.js +4 -1
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +0 -24
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +9 -6
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +4 -1
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +4 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +0 -12
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +4 -1
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +4 -1
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +4 -1
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
- package/lib/programmers/helpers/UnionPredicator.js +1 -1
- package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js +4 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpHeadersProgrammer.js +5 -2
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpParameterProgrammer.js +4 -1
- package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.js +4 -1
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +4 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscLiteralsProgrammer.js +4 -1
- package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +4 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +24 -17
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/transformers/CallExpressionTransformer.d.ts +4 -1
- package/lib/transformers/CallExpressionTransformer.js +30 -32
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/FileTransformer.js +36 -30
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/NodeTransformer.d.ts +4 -1
- package/lib/transformers/NodeTransformer.js +7 -6
- package/lib/transformers/NodeTransformer.js.map +1 -1
- package/lib/transformers/TransformerError.d.ts +4 -1
- package/lib/transformers/TransformerError.js +21 -23
- package/lib/transformers/TransformerError.js.map +1 -1
- package/lib/transformers/features/json/JsonApplicationTransformer.js +4 -1
- package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +4 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmSchemaTransformer.js +4 -1
- package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
- package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +4 -1
- package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
- package/lib/transformers/features/reflect/ReflectNameTransformer.js +4 -1
- package/lib/transformers/features/reflect/ReflectNameTransformer.js.map +1 -1
- package/lib/utils/MapUtil.d.ts +1 -1
- package/lib/utils/MapUtil.js +7 -9
- package/lib/utils/MapUtil.js.map +1 -1
- package/lib/utils/NameEncoder.d.ts +2 -2
- package/lib/utils/NameEncoder.js +4 -6
- package/lib/utils/NameEncoder.js.map +1 -1
- package/lib/utils/StringUtil/StringUtil.d.ts +5 -1
- package/lib/utils/StringUtil/StringUtil.js +8 -4
- package/lib/utils/StringUtil/StringUtil.js.map +1 -1
- package/package.json +1 -1
- package/src/factories/JsonMetadataFactory.ts +4 -1
- package/src/factories/MetadataCollection.ts +3 -2
- package/src/factories/MetadataCommentTagFactory.ts +212 -133
- package/src/factories/ProtobufFactory.ts +4 -3
- package/src/programmers/AssertProgrammer.ts +0 -24
- package/src/programmers/CheckerProgrammer.ts +9 -8
- package/src/programmers/RandomProgrammer.ts +4 -3
- package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +4 -3
- package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +0 -12
- package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +4 -3
- package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +4 -3
- package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +4 -3
- package/src/programmers/helpers/UnionPredicator.ts +1 -1
- package/src/programmers/http/HttpFormDataProgrammer.ts +4 -3
- package/src/programmers/http/HttpHeadersProgrammer.ts +5 -4
- package/src/programmers/http/HttpParameterProgrammer.ts +4 -1
- package/src/programmers/http/HttpQueryProgrammer.ts +4 -3
- package/src/programmers/misc/MiscCloneProgrammer.ts +4 -3
- package/src/programmers/misc/MiscLiteralsProgrammer.ts +4 -1
- package/src/programmers/misc/MiscPruneProgrammer.ts +4 -3
- package/src/programmers/notations/NotationGeneralProgrammer.ts +28 -20
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +1 -1
- package/src/transformers/CallExpressionTransformer.ts +36 -36
- package/src/transformers/FileTransformer.ts +42 -32
- package/src/transformers/NodeTransformer.ts +10 -6
- package/src/transformers/TransformerError.ts +26 -27
- package/src/transformers/features/json/JsonApplicationTransformer.ts +4 -1
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +4 -1
- package/src/transformers/features/llm/LlmSchemaTransformer.ts +4 -1
- package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +4 -1
- package/src/transformers/features/reflect/ReflectNameTransformer.ts +4 -1
- package/src/utils/MapUtil.ts +11 -9
- package/src/utils/NameEncoder.ts +4 -4
- package/src/utils/StringUtil/StringUtil.ts +11 -4
- package/lib/functional/$varint.d.ts +0 -6
- package/lib/functional/$varint.js +0 -99
- package/lib/functional/$varint.js.map +0 -1
- package/lib/functional/$zigzag.d.ts +0 -4
- package/lib/functional/$zigzag.js +0 -35
- package/lib/functional/$zigzag.js.map +0 -1
- package/src/functional/$varint.ts +0 -130
- package/src/functional/$zigzag.ts +0 -39
|
@@ -52,7 +52,10 @@ export namespace ReflectMetadataTransformer {
|
|
|
52
52
|
type,
|
|
53
53
|
});
|
|
54
54
|
if (result.success === false)
|
|
55
|
-
throw TransformerError.from(
|
|
55
|
+
throw TransformerError.from({
|
|
56
|
+
code: "typia.reflect.metadata",
|
|
57
|
+
errors: result.errors,
|
|
58
|
+
});
|
|
56
59
|
return result.data;
|
|
57
60
|
});
|
|
58
61
|
|
|
@@ -74,6 +74,9 @@ const getMetadata = (props: {
|
|
|
74
74
|
type,
|
|
75
75
|
});
|
|
76
76
|
if (result.success === false)
|
|
77
|
-
throw TransformerError.from(
|
|
77
|
+
throw TransformerError.from({
|
|
78
|
+
code: "typia.reflect.name",
|
|
79
|
+
errors: result.errors,
|
|
80
|
+
});
|
|
78
81
|
return result.data;
|
|
79
82
|
};
|
package/src/utils/MapUtil.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export namespace MapUtil {
|
|
2
|
-
export const take =
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
export const take = <Key, T>(
|
|
3
|
+
dict: Map<Key, T>,
|
|
4
|
+
key: Key,
|
|
5
|
+
generator: () => T,
|
|
6
|
+
): T => {
|
|
7
|
+
const oldbie: T | undefined = dict.get(key);
|
|
8
|
+
if (oldbie) return oldbie;
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const value: T = generator();
|
|
11
|
+
dict.set(key, value);
|
|
12
|
+
return value;
|
|
13
|
+
};
|
|
12
14
|
}
|
package/src/utils/NameEncoder.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export namespace NameEncoder {
|
|
2
|
-
export
|
|
2
|
+
export const encode = (str: string): string => {
|
|
3
3
|
for (const [before, after] of REPLACERS)
|
|
4
4
|
str = str.split(before).join(after);
|
|
5
5
|
return str;
|
|
6
|
-
}
|
|
6
|
+
};
|
|
7
7
|
|
|
8
|
-
export
|
|
8
|
+
export const decode = (str: string): string => {
|
|
9
9
|
for (const [before, after] of REPLACERS)
|
|
10
10
|
if (after !== "") str = str.split(after).join(before);
|
|
11
11
|
return str;
|
|
12
|
-
}
|
|
12
|
+
};
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
const REPLACERS: [string, string][] = [
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
export const capitalize = (str: string) =>
|
|
2
2
|
str.length ? str[0]!.toUpperCase() + str.slice(1).toLowerCase() : str;
|
|
3
3
|
|
|
4
|
-
export const escapeDuplicate =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export const escapeDuplicate = (props: {
|
|
5
|
+
keep: string[];
|
|
6
|
+
input: string;
|
|
7
|
+
escape?: (str: string) => string;
|
|
8
|
+
}): string =>
|
|
9
|
+
props.keep.includes(props.input)
|
|
10
|
+
? escapeDuplicate({
|
|
11
|
+
keep: props.keep,
|
|
12
|
+
input: (props.escape ?? ((str) => `_${str}`))(props.input),
|
|
13
|
+
})
|
|
14
|
+
: props.input;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare function $varint_decode_i32(buf: Uint8Array, offset: number): [value: number, offset: number];
|
|
2
|
-
export declare function $varint_decode_u32(buf: Uint8Array, offset: number): [value: number, offset: number];
|
|
3
|
-
export declare function $varint_decode_i64(buf: Uint8Array, offset: number): [value: bigint, offset: number];
|
|
4
|
-
export declare function $varint_decode_u64(buf: Uint8Array, offset: number): [value: bigint, offset: number];
|
|
5
|
-
export declare function $varint_encode(dst: Uint8Array, offset: number, value: number): number;
|
|
6
|
-
export declare function $varint_encode(dst: Uint8Array, offset: number, value: bigint): number;
|
|
@@ -1,99 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.$varint_decode_i32 = $varint_decode_i32;
|
|
20
|
-
exports.$varint_decode_u32 = $varint_decode_u32;
|
|
21
|
-
exports.$varint_decode_i64 = $varint_decode_i64;
|
|
22
|
-
exports.$varint_decode_u64 = $varint_decode_u64;
|
|
23
|
-
exports.$varint_encode = $varint_encode;
|
|
24
|
-
function EncodeVarNumber(dst, offset, value) {
|
|
25
|
-
value = (value | 0) >>> 0; // 32-bit integer
|
|
26
|
-
while (value > 127) {
|
|
27
|
-
dst[offset++] = (value & 127) | 128;
|
|
28
|
-
value >>>= 7;
|
|
29
|
-
}
|
|
30
|
-
dst[offset++] = value;
|
|
31
|
-
return offset;
|
|
32
|
-
}
|
|
33
|
-
function DecodeVarNumber(buf, offset) {
|
|
34
|
-
var value = 0;
|
|
35
|
-
var shift = 0;
|
|
36
|
-
while (true) {
|
|
37
|
-
var byte = buf[offset++];
|
|
38
|
-
value |= (byte & 127) << shift;
|
|
39
|
-
if (byte < 128) {
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
shift += 7;
|
|
43
|
-
}
|
|
44
|
-
return [value | 0, offset];
|
|
45
|
-
}
|
|
46
|
-
function DecodeVarBigInt(buf, offset) {
|
|
47
|
-
var value = BigInt(0);
|
|
48
|
-
var shift = BigInt(0);
|
|
49
|
-
while (true) {
|
|
50
|
-
var byte = buf[offset++];
|
|
51
|
-
value |= BigInt(byte & 127) << shift;
|
|
52
|
-
if (byte < 128) {
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
shift += BigInt(7);
|
|
56
|
-
}
|
|
57
|
-
return [BigInt.asIntN(64, value), offset];
|
|
58
|
-
}
|
|
59
|
-
function $varint_decode_i32(buf, offset) {
|
|
60
|
-
var _a = __read(DecodeVarNumber(buf, offset), 2), v = _a[0], o = _a[1];
|
|
61
|
-
return [v, o];
|
|
62
|
-
}
|
|
63
|
-
function $varint_decode_u32(buf, offset) {
|
|
64
|
-
var _a = __read(DecodeVarNumber(buf, offset), 2), v = _a[0], o = _a[1];
|
|
65
|
-
return [v >>> 0, o];
|
|
66
|
-
}
|
|
67
|
-
function $varint_decode_i64(buf, offset) {
|
|
68
|
-
var _a = __read(DecodeVarBigInt(buf, offset), 2), v = _a[0], o = _a[1];
|
|
69
|
-
return [v, o];
|
|
70
|
-
}
|
|
71
|
-
function $varint_decode_u64(buf, offset) {
|
|
72
|
-
var _a = __read(DecodeVarBigInt(buf, offset), 2), v = _a[0], o = _a[1];
|
|
73
|
-
return [BigInt.asUintN(64, v), o];
|
|
74
|
-
}
|
|
75
|
-
function EncodeVarBigInt(dst, offset, value) {
|
|
76
|
-
value = BigInt.asUintN(64, value);
|
|
77
|
-
while (value > BigInt(127)) {
|
|
78
|
-
dst[offset++] = Number(value & BigInt(127)) | 128;
|
|
79
|
-
value >>= BigInt(7);
|
|
80
|
-
}
|
|
81
|
-
dst[offset++] = Number(value);
|
|
82
|
-
return offset;
|
|
83
|
-
}
|
|
84
|
-
function $varint_encode(dst, offset, value) {
|
|
85
|
-
if (typeof value === "bigint") {
|
|
86
|
-
offset = EncodeVarBigInt(dst, offset, value);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
if (value < 0) {
|
|
90
|
-
// NOTE: Protocol Buffers signed varint encoding uses two's complement of 64-bit unsigned integers.
|
|
91
|
-
offset = EncodeVarBigInt(dst, offset, BigInt(value));
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
offset = EncodeVarNumber(dst, offset, value);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return offset;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=$varint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"$varint.js","sourceRoot":"","sources":["../../src/functional/$varint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.$zigzag_encode = $zigzag_encode;
|
|
4
|
-
exports.$zigzag_decode = $zigzag_decode;
|
|
5
|
-
function $zigzag_encode(value) {
|
|
6
|
-
// TODO: optimize (branchless solution exists)
|
|
7
|
-
if (typeof value === "bigint") {
|
|
8
|
-
if (value < BigInt(0)) {
|
|
9
|
-
value = -value;
|
|
10
|
-
return value * BigInt(2) - BigInt(1);
|
|
11
|
-
}
|
|
12
|
-
return value * BigInt(2);
|
|
13
|
-
}
|
|
14
|
-
if (value < 0) {
|
|
15
|
-
value = -value;
|
|
16
|
-
return value * 2 - 1;
|
|
17
|
-
}
|
|
18
|
-
return value * 2;
|
|
19
|
-
}
|
|
20
|
-
function $zigzag_decode(value) {
|
|
21
|
-
// TODO: optimize (branchless solution exists)
|
|
22
|
-
if (typeof value === "bigint") {
|
|
23
|
-
value = BigInt.asUintN(64, value);
|
|
24
|
-
if (value & BigInt(1)) {
|
|
25
|
-
return -(value + BigInt(1)) / BigInt(2);
|
|
26
|
-
}
|
|
27
|
-
return value / BigInt(2);
|
|
28
|
-
}
|
|
29
|
-
value = value >>> 0;
|
|
30
|
-
if (value & 1) {
|
|
31
|
-
return -(value + 1) / 2;
|
|
32
|
-
}
|
|
33
|
-
return value / 2;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=$zigzag.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"$zigzag.js","sourceRoot":"","sources":["../../src/functional/$zigzag.ts"],"names":[],"mappings":";;AAEA,wCAgBC;AAID,wCAgBC;AApCD,SAAgB,cAAc,CAAC,KAAsB;IACnD,8CAA8C;IAE9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,KAAK,GAAG,CAAC,KAAK,CAAC;YACf,OAAO,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,GAAG,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,GAAG,CAAC,CAAC;AACnB,CAAC;AAID,SAAgB,cAAc,CAAC,KAAsB;IACnD,8CAA8C;IAE9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC;IACpB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,GAAG,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
function EncodeVarNumber(
|
|
2
|
-
dst: Uint8Array,
|
|
3
|
-
offset: number,
|
|
4
|
-
value: number,
|
|
5
|
-
): number {
|
|
6
|
-
value = (value | 0) >>> 0; // 32-bit integer
|
|
7
|
-
|
|
8
|
-
while (value > 127) {
|
|
9
|
-
dst[offset++] = (value & 0b01111111) | 0b10000000;
|
|
10
|
-
value >>>= 7;
|
|
11
|
-
}
|
|
12
|
-
dst[offset++] = value;
|
|
13
|
-
|
|
14
|
-
return offset;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function DecodeVarNumber(
|
|
18
|
-
buf: Uint8Array,
|
|
19
|
-
offset: number,
|
|
20
|
-
): [value: number, offset: number] {
|
|
21
|
-
let value = 0;
|
|
22
|
-
let shift = 0;
|
|
23
|
-
|
|
24
|
-
while (true) {
|
|
25
|
-
const byte = buf[offset++]!;
|
|
26
|
-
value |= (byte & 0b01111111) << shift;
|
|
27
|
-
if (byte < 128) {
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
shift += 7;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return [value | 0, offset];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function DecodeVarBigInt(
|
|
37
|
-
buf: Uint8Array,
|
|
38
|
-
offset: number,
|
|
39
|
-
): [value: bigint, offset: number] {
|
|
40
|
-
let value = BigInt(0);
|
|
41
|
-
let shift = BigInt(0);
|
|
42
|
-
|
|
43
|
-
while (true) {
|
|
44
|
-
const byte = buf[offset++]!;
|
|
45
|
-
value |= BigInt(byte & 0b01111111) << shift;
|
|
46
|
-
if (byte < 128) {
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
shift += BigInt(7);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return [BigInt.asIntN(64, value), offset];
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export function $varint_decode_i32(
|
|
56
|
-
buf: Uint8Array,
|
|
57
|
-
offset: number,
|
|
58
|
-
): [value: number, offset: number] {
|
|
59
|
-
const [v, o] = DecodeVarNumber(buf, offset);
|
|
60
|
-
return [v, o];
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export function $varint_decode_u32(
|
|
64
|
-
buf: Uint8Array,
|
|
65
|
-
offset: number,
|
|
66
|
-
): [value: number, offset: number] {
|
|
67
|
-
const [v, o] = DecodeVarNumber(buf, offset);
|
|
68
|
-
return [v >>> 0, o];
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export function $varint_decode_i64(
|
|
72
|
-
buf: Uint8Array,
|
|
73
|
-
offset: number,
|
|
74
|
-
): [value: bigint, offset: number] {
|
|
75
|
-
const [v, o] = DecodeVarBigInt(buf, offset);
|
|
76
|
-
return [v, o];
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export function $varint_decode_u64(
|
|
80
|
-
buf: Uint8Array,
|
|
81
|
-
offset: number,
|
|
82
|
-
): [value: bigint, offset: number] {
|
|
83
|
-
const [v, o] = DecodeVarBigInt(buf, offset);
|
|
84
|
-
return [BigInt.asUintN(64, v), o];
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function EncodeVarBigInt(
|
|
88
|
-
dst: Uint8Array,
|
|
89
|
-
offset: number,
|
|
90
|
-
value: bigint,
|
|
91
|
-
): number {
|
|
92
|
-
value = BigInt.asUintN(64, value);
|
|
93
|
-
|
|
94
|
-
while (value > BigInt(127)) {
|
|
95
|
-
dst[offset++] = Number(value & BigInt(0b01111111)) | 0b10000000;
|
|
96
|
-
value >>= BigInt(7);
|
|
97
|
-
}
|
|
98
|
-
dst[offset++] = Number(value);
|
|
99
|
-
|
|
100
|
-
return offset;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export function $varint_encode(
|
|
104
|
-
dst: Uint8Array,
|
|
105
|
-
offset: number,
|
|
106
|
-
value: number,
|
|
107
|
-
): number;
|
|
108
|
-
export function $varint_encode(
|
|
109
|
-
dst: Uint8Array,
|
|
110
|
-
offset: number,
|
|
111
|
-
value: bigint,
|
|
112
|
-
): number;
|
|
113
|
-
|
|
114
|
-
export function $varint_encode(
|
|
115
|
-
dst: Uint8Array,
|
|
116
|
-
offset: number,
|
|
117
|
-
value: number | bigint,
|
|
118
|
-
): number {
|
|
119
|
-
if (typeof value === "bigint") {
|
|
120
|
-
offset = EncodeVarBigInt(dst, offset, value);
|
|
121
|
-
} else {
|
|
122
|
-
if (value < 0) {
|
|
123
|
-
// NOTE: Protocol Buffers signed varint encoding uses two's complement of 64-bit unsigned integers.
|
|
124
|
-
offset = EncodeVarBigInt(dst, offset, BigInt(value));
|
|
125
|
-
} else {
|
|
126
|
-
offset = EncodeVarNumber(dst, offset, value);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return offset;
|
|
130
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export function $zigzag_encode(value: number): number;
|
|
2
|
-
export function $zigzag_encode(value: bigint): bigint;
|
|
3
|
-
export function $zigzag_encode(value: number | bigint): any {
|
|
4
|
-
// TODO: optimize (branchless solution exists)
|
|
5
|
-
|
|
6
|
-
if (typeof value === "bigint") {
|
|
7
|
-
if (value < BigInt(0)) {
|
|
8
|
-
value = -value;
|
|
9
|
-
return value * BigInt(2) - BigInt(1);
|
|
10
|
-
}
|
|
11
|
-
return value * BigInt(2);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (value < 0) {
|
|
15
|
-
value = -value;
|
|
16
|
-
return value * 2 - 1;
|
|
17
|
-
}
|
|
18
|
-
return value * 2;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function $zigzag_decode(value: number): number;
|
|
22
|
-
export function $zigzag_decode(value: bigint): bigint;
|
|
23
|
-
export function $zigzag_decode(value: number | bigint): any {
|
|
24
|
-
// TODO: optimize (branchless solution exists)
|
|
25
|
-
|
|
26
|
-
if (typeof value === "bigint") {
|
|
27
|
-
value = BigInt.asUintN(64, value);
|
|
28
|
-
if (value & BigInt(1)) {
|
|
29
|
-
return -(value + BigInt(1)) / BigInt(2);
|
|
30
|
-
}
|
|
31
|
-
return value / BigInt(2);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
value = value >>> 0;
|
|
35
|
-
if (value & 1) {
|
|
36
|
-
return -(value + 1) / 2;
|
|
37
|
-
}
|
|
38
|
-
return value / 2;
|
|
39
|
-
}
|