typia 5.0.0-dev.20230819 → 5.0.0-dev.20230820-2
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 +3 -0
- package/lib/factories/ExpressionFactory.js.map +1 -1
- package/lib/factories/MetadataTagFactory.js +4 -2
- package/lib/factories/MetadataTagFactory.js.map +1 -1
- package/lib/functional/$ProtobufReader.js +1 -1
- package/lib/functional/$ProtobufReader.js.map +1 -1
- package/lib/module.d.ts +0 -53
- package/lib/module.js +1 -11
- package/lib/module.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +2 -2
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +11 -5
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.js +11 -7
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/internal/check_bigint.js +7 -1
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_number.js +28 -5
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/misc/MiscLiteralsProgrammer.js +2 -1
- package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +3 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/schemas/metadata/IMetadataTag.d.ts +1 -1
- package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
- package/package.json +2 -2
- package/src/factories/ExpressionFactory.ts +7 -0
- package/src/factories/MetadataTagFactory.ts +4 -2
- package/src/functional/$ProtobufReader.ts +1 -2
- package/src/module.ts +0 -73
- package/src/programmers/CheckerProgrammer.ts +4 -4
- package/src/programmers/RandomProgrammer.ts +9 -4
- package/src/programmers/helpers/UnionExplorer.ts +11 -7
- package/src/programmers/internal/check_bigint.ts +11 -1
- package/src/programmers/internal/check_number.ts +64 -11
- package/src/programmers/misc/MiscLiteralsProgrammer.ts +2 -1
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +1 -2
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +6 -1
- package/src/schemas/metadata/IMetadataTag.ts +1 -2
- package/src/schemas/metadata/MetadataTuple.ts +5 -0
- package/lib/functional/$proto_bytes.d.ts +0 -2
- package/lib/functional/$proto_bytes.js +0 -37
- package/lib/functional/$proto_bytes.js.map +0 -1
- package/lib/functional/$proto_field.d.ts +0 -10
- package/lib/functional/$proto_field.js +0 -42
- package/lib/functional/$proto_field.js.map +0 -1
- package/lib/functional/$proto_float.d.ts +0 -4
- package/lib/functional/$proto_float.js +0 -28
- package/lib/functional/$proto_float.js.map +0 -1
- package/lib/functional/$proto_i32.d.ts +0 -2
- package/lib/functional/$proto_i32.js +0 -23
- package/lib/functional/$proto_i32.js.map +0 -1
- package/lib/functional/$proto_i64.d.ts +0 -2
- package/lib/functional/$proto_i64.js +0 -31
- package/lib/functional/$proto_i64.js.map +0 -1
- package/lib/functional/$proto_size.d.ts +0 -6
- package/lib/functional/$proto_size.js +0 -76
- package/lib/functional/$proto_size.js.map +0 -1
- package/lib/functional/$proto_string.d.ts +0 -2
- package/lib/functional/$proto_string.js +0 -34
- package/lib/functional/$proto_string.js.map +0 -1
- package/src/functional/$proto_bytes.ts +0 -25
- package/src/functional/$proto_field.ts +0 -30
- package/src/functional/$proto_float.ts +0 -37
- package/src/functional/$proto_i32.ts +0 -29
- package/src/functional/$proto_i64.ts +0 -37
- package/src/functional/$proto_size.ts +0 -82
- package/src/functional/$proto_string.ts +0 -24
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export function $proto_i64_encode(
|
|
2
|
-
dst: Uint8Array,
|
|
3
|
-
offset: number,
|
|
4
|
-
value: bigint,
|
|
5
|
-
): number {
|
|
6
|
-
value = BigInt.asUintN(64, value);
|
|
7
|
-
|
|
8
|
-
dst[offset] = Number(value & BigInt(0xff));
|
|
9
|
-
dst[offset + 1] = Number((value >> BigInt(8)) & BigInt(0xff));
|
|
10
|
-
dst[offset + 2] = Number((value >> BigInt(16)) & BigInt(0xff));
|
|
11
|
-
dst[offset + 3] = Number((value >> BigInt(24)) & BigInt(0xff));
|
|
12
|
-
dst[offset + 4] = Number((value >> BigInt(32)) & BigInt(0xff));
|
|
13
|
-
dst[offset + 5] = Number((value >> BigInt(40)) & BigInt(0xff));
|
|
14
|
-
dst[offset + 6] = Number((value >> BigInt(48)) & BigInt(0xff));
|
|
15
|
-
dst[offset + 7] = Number((value >> BigInt(56)) & BigInt(0xff));
|
|
16
|
-
offset += 8;
|
|
17
|
-
|
|
18
|
-
return offset;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function $proto_i64_decode(
|
|
22
|
-
buf: Uint8Array,
|
|
23
|
-
offset: number,
|
|
24
|
-
): [value: bigint, offset: number] {
|
|
25
|
-
const value =
|
|
26
|
-
(BigInt(buf[offset]!) << BigInt(0)) |
|
|
27
|
-
(BigInt(buf[offset + 1]!) << BigInt(8)) |
|
|
28
|
-
(BigInt(buf[offset + 2]!) << BigInt(16)) |
|
|
29
|
-
(BigInt(buf[offset + 3]!) << BigInt(24)) |
|
|
30
|
-
(BigInt(buf[offset + 4]!) << BigInt(32)) |
|
|
31
|
-
(BigInt(buf[offset + 5]!) << BigInt(40)) |
|
|
32
|
-
(BigInt(buf[offset + 6]!) << BigInt(48)) |
|
|
33
|
-
(BigInt(buf[offset + 7]!) << BigInt(56));
|
|
34
|
-
offset += 8;
|
|
35
|
-
|
|
36
|
-
return [BigInt.asIntN(64, value), offset];
|
|
37
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { $proto_field_wiretype } from "./$proto_field";
|
|
2
|
-
|
|
3
|
-
export function $proto_size_varint(n: number): number;
|
|
4
|
-
export function $proto_size_varint(n: bigint): number;
|
|
5
|
-
|
|
6
|
-
export function $proto_size_varint(n: number | bigint): number {
|
|
7
|
-
if (typeof n === "number") {
|
|
8
|
-
if (n < 0) {
|
|
9
|
-
return SizeVarInt64(BigInt(n));
|
|
10
|
-
}
|
|
11
|
-
return SizeVarInt32(n);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return SizeVarInt64(n);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function $proto_size_field(
|
|
18
|
-
fieldNumber: number,
|
|
19
|
-
wireType: $proto_field_wiretype,
|
|
20
|
-
): number {
|
|
21
|
-
const tag = (fieldNumber << 3) | Number(wireType);
|
|
22
|
-
return $proto_size_varint(tag);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function $proto_size_bytes(len: number): number {
|
|
26
|
-
return $proto_size_varint(len) + len;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const utf8_encoder = new TextEncoder();
|
|
30
|
-
|
|
31
|
-
export function $proto_size_string(value: string): number {
|
|
32
|
-
// TODO: optimize (DON'T ENCODE TEXT TWICE)
|
|
33
|
-
const bytes = utf8_encoder.encode(value);
|
|
34
|
-
return $proto_size_bytes(bytes.length);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function SizeVarInt32(value: number): number {
|
|
38
|
-
value = (value | 0) >>> 0; // 32-bit integer
|
|
39
|
-
// TODO: optimize ( branchless solution exists )
|
|
40
|
-
// TODO: try lookup table based solution
|
|
41
|
-
|
|
42
|
-
if (value <= 127) {
|
|
43
|
-
return 1;
|
|
44
|
-
} else if (value <= 16383) {
|
|
45
|
-
return 2;
|
|
46
|
-
} else if (value <= 2097151) {
|
|
47
|
-
return 3;
|
|
48
|
-
} else if (value <= 268435455) {
|
|
49
|
-
return 4;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// < 34359738367
|
|
53
|
-
return 5;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function SizeVarInt64(value: bigint): number {
|
|
57
|
-
value = BigInt.asUintN(64, value);
|
|
58
|
-
// TODO: optimize ( branchless solution exists )
|
|
59
|
-
// TODO: try lookup table based solution
|
|
60
|
-
|
|
61
|
-
if (value <= BigInt("127")) {
|
|
62
|
-
return 1;
|
|
63
|
-
} else if (value <= BigInt("16383")) {
|
|
64
|
-
return 2;
|
|
65
|
-
} else if (value <= BigInt("2097151")) {
|
|
66
|
-
return 3;
|
|
67
|
-
} else if (value <= BigInt("268435455")) {
|
|
68
|
-
return 4;
|
|
69
|
-
} else if (value <= BigInt("34359738367")) {
|
|
70
|
-
return 5;
|
|
71
|
-
} else if (value <= BigInt("4398046511103")) {
|
|
72
|
-
return 6;
|
|
73
|
-
} else if (value <= BigInt("562949953421311")) {
|
|
74
|
-
return 7;
|
|
75
|
-
} else if (value <= BigInt("72057594037927935")) {
|
|
76
|
-
return 8;
|
|
77
|
-
} else if (value <= BigInt("9223372036854775807")) {
|
|
78
|
-
return 9;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return 10;
|
|
82
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { $proto_bytes_decode, $proto_bytes_encode } from "./$proto_bytes";
|
|
2
|
-
|
|
3
|
-
const utf8_encoder = new TextEncoder();
|
|
4
|
-
|
|
5
|
-
export function $proto_string_encode(
|
|
6
|
-
dst: Uint8Array,
|
|
7
|
-
offset: number,
|
|
8
|
-
value: string,
|
|
9
|
-
): number {
|
|
10
|
-
// TODO: optimize (DON'T ENCODE TEXT TWICE)
|
|
11
|
-
|
|
12
|
-
const bytes = utf8_encoder.encode(value);
|
|
13
|
-
return $proto_bytes_encode(dst, offset, bytes);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function $proto_string_decode(
|
|
17
|
-
src: Uint8Array,
|
|
18
|
-
offset: number,
|
|
19
|
-
): [value: string, offset: number] {
|
|
20
|
-
const utf8_decoder = new TextDecoder("utf-8");
|
|
21
|
-
const [bytes, o] = $proto_bytes_decode(src, offset);
|
|
22
|
-
const value = utf8_decoder.decode(bytes);
|
|
23
|
-
return [value, o];
|
|
24
|
-
}
|