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.
Files changed (71) hide show
  1. package/lib/factories/ExpressionFactory.d.ts +1 -0
  2. package/lib/factories/ExpressionFactory.js +3 -0
  3. package/lib/factories/ExpressionFactory.js.map +1 -1
  4. package/lib/factories/MetadataTagFactory.js +4 -2
  5. package/lib/factories/MetadataTagFactory.js.map +1 -1
  6. package/lib/functional/$ProtobufReader.js +1 -1
  7. package/lib/functional/$ProtobufReader.js.map +1 -1
  8. package/lib/module.d.ts +0 -53
  9. package/lib/module.js +1 -11
  10. package/lib/module.js.map +1 -1
  11. package/lib/programmers/CheckerProgrammer.js +2 -2
  12. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  13. package/lib/programmers/RandomProgrammer.js +11 -5
  14. package/lib/programmers/RandomProgrammer.js.map +1 -1
  15. package/lib/programmers/helpers/UnionExplorer.js +11 -7
  16. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  17. package/lib/programmers/internal/check_bigint.js +7 -1
  18. package/lib/programmers/internal/check_bigint.js.map +1 -1
  19. package/lib/programmers/internal/check_number.js +28 -5
  20. package/lib/programmers/internal/check_number.js.map +1 -1
  21. package/lib/programmers/misc/MiscLiteralsProgrammer.js +2 -1
  22. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  23. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +1 -1
  24. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  25. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +3 -1
  26. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  27. package/lib/schemas/metadata/IMetadataTag.d.ts +1 -1
  28. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  29. package/package.json +2 -2
  30. package/src/factories/ExpressionFactory.ts +7 -0
  31. package/src/factories/MetadataTagFactory.ts +4 -2
  32. package/src/functional/$ProtobufReader.ts +1 -2
  33. package/src/module.ts +0 -73
  34. package/src/programmers/CheckerProgrammer.ts +4 -4
  35. package/src/programmers/RandomProgrammer.ts +9 -4
  36. package/src/programmers/helpers/UnionExplorer.ts +11 -7
  37. package/src/programmers/internal/check_bigint.ts +11 -1
  38. package/src/programmers/internal/check_number.ts +64 -11
  39. package/src/programmers/misc/MiscLiteralsProgrammer.ts +2 -1
  40. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +1 -2
  41. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +6 -1
  42. package/src/schemas/metadata/IMetadataTag.ts +1 -2
  43. package/src/schemas/metadata/MetadataTuple.ts +5 -0
  44. package/lib/functional/$proto_bytes.d.ts +0 -2
  45. package/lib/functional/$proto_bytes.js +0 -37
  46. package/lib/functional/$proto_bytes.js.map +0 -1
  47. package/lib/functional/$proto_field.d.ts +0 -10
  48. package/lib/functional/$proto_field.js +0 -42
  49. package/lib/functional/$proto_field.js.map +0 -1
  50. package/lib/functional/$proto_float.d.ts +0 -4
  51. package/lib/functional/$proto_float.js +0 -28
  52. package/lib/functional/$proto_float.js.map +0 -1
  53. package/lib/functional/$proto_i32.d.ts +0 -2
  54. package/lib/functional/$proto_i32.js +0 -23
  55. package/lib/functional/$proto_i32.js.map +0 -1
  56. package/lib/functional/$proto_i64.d.ts +0 -2
  57. package/lib/functional/$proto_i64.js +0 -31
  58. package/lib/functional/$proto_i64.js.map +0 -1
  59. package/lib/functional/$proto_size.d.ts +0 -6
  60. package/lib/functional/$proto_size.js +0 -76
  61. package/lib/functional/$proto_size.js.map +0 -1
  62. package/lib/functional/$proto_string.d.ts +0 -2
  63. package/lib/functional/$proto_string.js +0 -34
  64. package/lib/functional/$proto_string.js.map +0 -1
  65. package/src/functional/$proto_bytes.ts +0 -25
  66. package/src/functional/$proto_field.ts +0 -30
  67. package/src/functional/$proto_float.ts +0 -37
  68. package/src/functional/$proto_i32.ts +0 -29
  69. package/src/functional/$proto_i64.ts +0 -37
  70. package/src/functional/$proto_size.ts +0 -82
  71. 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
- }