@vaitosoi/minejs 0.2.0 → 0.2.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 (90) hide show
  1. package/dist/base/aabb.d.ts +197 -0
  2. package/dist/base/aabb.d.ts.map +1 -0
  3. package/dist/base/aabb.js +576 -0
  4. package/dist/base/aabb.js.map +1 -0
  5. package/dist/base/bitset.d.ts +9 -0
  6. package/dist/base/bitset.d.ts.map +1 -0
  7. package/dist/base/bitset.js +46 -0
  8. package/dist/base/bitset.js.map +1 -0
  9. package/dist/base/block.d.ts +86 -0
  10. package/dist/base/block.d.ts.map +1 -0
  11. package/dist/base/block.js +232 -0
  12. package/dist/base/block.js.map +1 -0
  13. package/dist/base/direction.d.ts +153 -0
  14. package/dist/base/direction.d.ts.map +1 -0
  15. package/dist/base/direction.js +288 -0
  16. package/dist/base/direction.js.map +1 -0
  17. package/dist/base/entity.d.ts +43 -0
  18. package/dist/base/entity.d.ts.map +1 -0
  19. package/dist/base/entity.js +97 -0
  20. package/dist/base/entity.js.map +1 -0
  21. package/dist/base/error.d.ts +76 -0
  22. package/dist/base/error.d.ts.map +1 -0
  23. package/dist/base/error.js +141 -0
  24. package/dist/base/error.js.map +1 -0
  25. package/dist/base/event.d.ts +7 -0
  26. package/dist/base/event.d.ts.map +1 -0
  27. package/dist/base/event.js +3 -0
  28. package/dist/base/event.js.map +1 -0
  29. package/dist/base/math.d.ts +25 -0
  30. package/dist/base/math.d.ts.map +1 -0
  31. package/dist/base/math.js +69 -0
  32. package/dist/base/math.js.map +1 -0
  33. package/dist/base/player.d.ts +107 -0
  34. package/dist/base/player.d.ts.map +1 -0
  35. package/dist/base/player.js +543 -0
  36. package/dist/base/player.js.map +1 -0
  37. package/dist/base/registry.d.ts +50 -0
  38. package/dist/base/registry.d.ts.map +1 -0
  39. package/dist/base/registry.js +89 -0
  40. package/dist/base/registry.js.map +1 -0
  41. package/dist/base/tick.d.ts +19 -0
  42. package/dist/base/tick.d.ts.map +1 -0
  43. package/dist/base/tick.js +49 -0
  44. package/dist/base/tick.js.map +1 -0
  45. package/dist/base/typing.d.ts +3 -0
  46. package/dist/base/typing.d.ts.map +1 -0
  47. package/dist/base/typing.js +3 -0
  48. package/dist/base/typing.js.map +1 -0
  49. package/dist/client/auth.d.ts +39 -0
  50. package/dist/client/auth.d.ts.map +1 -0
  51. package/dist/client/auth.js +307 -0
  52. package/dist/client/auth.js.map +1 -0
  53. package/dist/client/client.d.ts +62 -0
  54. package/dist/client/client.d.ts.map +1 -0
  55. package/dist/client/client.js +98 -0
  56. package/dist/client/client.js.map +1 -0
  57. package/dist/client/static.d.ts +28 -0
  58. package/dist/client/static.d.ts.map +1 -0
  59. package/dist/client/static.js +43 -0
  60. package/dist/client/static.js.map +1 -0
  61. package/dist/client/tcp.d.ts +269 -0
  62. package/dist/client/tcp.d.ts.map +1 -0
  63. package/dist/client/tcp.js +838 -0
  64. package/dist/client/tcp.js.map +1 -0
  65. package/dist/index.d.ts +21 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/translator/decoder.d.ts +293 -0
  69. package/dist/translator/decoder.d.ts.map +1 -0
  70. package/dist/translator/decoder.js +668 -0
  71. package/dist/translator/decoder.js.map +1 -0
  72. package/dist/translator/encoder.d.ts +162 -0
  73. package/dist/translator/encoder.d.ts.map +1 -0
  74. package/dist/translator/encoder.js +430 -0
  75. package/dist/translator/encoder.js.map +1 -0
  76. package/dist/translator/static.d.ts +33 -0
  77. package/dist/translator/static.d.ts.map +1 -0
  78. package/dist/translator/static.js +42 -0
  79. package/dist/translator/static.js.map +1 -0
  80. package/package.json +10 -10
  81. package/src/base/aabb.ts +2 -0
  82. package/src/base/block.ts +4 -0
  83. package/src/base/direction.ts +5 -0
  84. package/src/base/error.ts +16 -0
  85. package/src/base/event.ts +1 -1
  86. package/src/base/math.ts +10 -0
  87. package/src/base/typing.ts +1 -0
  88. package/src/client/static.ts +4 -0
  89. package/src/translator/encoder.ts +2 -2
  90. package/src/translator/static.ts +9 -0
@@ -0,0 +1,33 @@
1
+ /** @hidden */
2
+ export declare const SEGMENT_BITS = 127;
3
+ /** @hidden */
4
+ export declare const CONTINUE_BIT = 128;
5
+ /** @hidden */
6
+ export declare const MAX_QUANTIZED_VALUE = 32766;
7
+ /** @hidden */
8
+ export declare const CONTINUATION_FLAG: bigint;
9
+ /** @hidden */
10
+ export declare const SCALE_BITS: bigint;
11
+ /** @hidden */
12
+ export declare enum Tag {
13
+ End = 0,
14
+ Byte = 1,
15
+ Short = 2,
16
+ Int = 3,
17
+ Long = 4,
18
+ Float = 5,
19
+ Double = 6,
20
+ ByteArray = 7,
21
+ String = 8,
22
+ List = 9,
23
+ Compound = 10,
24
+ IntArray = 11,
25
+ LongArray = 12
26
+ }
27
+ /** @hidden */
28
+ export type FixedSizeTag = Extract<Tag, Tag.Byte | Tag.Short | Tag.Int | Tag.Long | Tag.Float | Tag.Double>;
29
+ /** @hidden */
30
+ export declare const isTag: (tag: any) => tag is Tag;
31
+ /** @hidden */
32
+ export declare const isFixedSizeTag: (tag: Tag) => tag is FixedSizeTag;
33
+ //# sourceMappingURL=static.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../src/translator/static.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,eAAO,MAAM,YAAY,MAAO,CAAC;AACjC,cAAc;AACd,eAAO,MAAM,YAAY,MAAO,CAAC;AACjC,cAAc;AACd,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,cAAc;AACd,eAAO,MAAM,iBAAiB,QAAe,CAAC;AAC9C,cAAc;AACd,eAAO,MAAM,UAAU,QAAe,CAAC;AAEvC,cAAc;AACd,oBAAY,GAAG;IACX,GAAG,IAAO;IACV,IAAI,IAAO;IACX,KAAK,IAAO;IACZ,GAAG,IAAO;IACV,IAAI,IAAO;IACX,KAAK,IAAO;IACZ,MAAM,IAAO;IACb,SAAS,IAAO;IAChB,MAAM,IAAO;IACb,IAAI,IAAO;IACX,QAAQ,KAAO;IACf,QAAQ,KAAO;IACf,SAAS,KAAO;CACnB;AAED,cAAc;AACd,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAClC,GAAG,CAAC,IAAI,GACN,GAAG,CAAC,KAAK,GACT,GAAG,CAAC,GAAG,GACP,GAAG,CAAC,IAAI,GACR,GAAG,CAAC,KAAK,GACT,GAAG,CAAC,MAAM,CAAC,CAAC;AAElB,cAAc;AACd,eAAO,MAAM,KAAK,QAAS,GAAG,KAAG,GAAG,IAAI,GACN,CAAC;AAEnC,cAAc;AACd,eAAO,MAAM,cAAc,QAAS,GAAG,KAAG,GAAG,IAAI,YAQ5C,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFixedSizeTag = exports.isTag = exports.Tag = exports.SCALE_BITS = exports.CONTINUATION_FLAG = exports.MAX_QUANTIZED_VALUE = exports.CONTINUE_BIT = exports.SEGMENT_BITS = void 0;
4
+ /** @hidden */
5
+ exports.SEGMENT_BITS = 0x7F;
6
+ /** @hidden */
7
+ exports.CONTINUE_BIT = 0x80;
8
+ /** @hidden */
9
+ exports.MAX_QUANTIZED_VALUE = 32766;
10
+ /** @hidden */
11
+ exports.CONTINUATION_FLAG = BigInt(0x04);
12
+ /** @hidden */
13
+ exports.SCALE_BITS = BigInt(0x03);
14
+ /** @hidden */
15
+ var Tag;
16
+ (function (Tag) {
17
+ Tag[Tag["End"] = 0] = "End";
18
+ Tag[Tag["Byte"] = 1] = "Byte";
19
+ Tag[Tag["Short"] = 2] = "Short";
20
+ Tag[Tag["Int"] = 3] = "Int";
21
+ Tag[Tag["Long"] = 4] = "Long";
22
+ Tag[Tag["Float"] = 5] = "Float";
23
+ Tag[Tag["Double"] = 6] = "Double";
24
+ Tag[Tag["ByteArray"] = 7] = "ByteArray";
25
+ Tag[Tag["String"] = 8] = "String";
26
+ Tag[Tag["List"] = 9] = "List";
27
+ Tag[Tag["Compound"] = 10] = "Compound";
28
+ Tag[Tag["IntArray"] = 11] = "IntArray";
29
+ Tag[Tag["LongArray"] = 12] = "LongArray";
30
+ })(Tag || (exports.Tag = Tag = {}));
31
+ /** @hidden */
32
+ const isTag = (tag) => Object.keys(Tag).includes(tag);
33
+ exports.isTag = isTag;
34
+ /** @hidden */
35
+ const isFixedSizeTag = (tag) => (0, exports.isTag)(tag) && (tag === Tag.Byte ||
36
+ tag === Tag.Short ||
37
+ tag === Tag.Int ||
38
+ tag === Tag.Long ||
39
+ tag === Tag.Float ||
40
+ tag === Tag.Double);
41
+ exports.isFixedSizeTag = isFixedSizeTag;
42
+ //# sourceMappingURL=static.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/translator/static.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACD,QAAA,YAAY,GAAG,IAAI,CAAC;AACjC,cAAc;AACD,QAAA,YAAY,GAAG,IAAI,CAAC;AACjC,cAAc;AACD,QAAA,mBAAmB,GAAG,KAAK,CAAC;AACzC,cAAc;AACD,QAAA,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9C,cAAc;AACD,QAAA,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAEvC,cAAc;AACd,IAAY,GAcX;AAdD,WAAY,GAAG;IACX,2BAAU,CAAA;IACV,6BAAW,CAAA;IACX,+BAAY,CAAA;IACZ,2BAAU,CAAA;IACV,6BAAW,CAAA;IACX,+BAAY,CAAA;IACZ,iCAAa,CAAA;IACb,uCAAgB,CAAA;IAChB,iCAAa,CAAA;IACb,6BAAW,CAAA;IACX,sCAAe,CAAA;IACf,sCAAe,CAAA;IACf,wCAAgB,CAAA;AACpB,CAAC,EAdW,GAAG,aAAH,GAAG,GAAH,GAAG,QAcd;AAWD,cAAc;AACP,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAc,EAAE,CAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AADtB,QAAA,KAAK,GAAL,KAAK,CACiB;AAEnC,cAAc;AACP,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAuB,EAAE,CAC5D,IAAA,QAAA,KAAK,EAAC,GAAG,CAAC,IAAI,CACV,GAAG,KAAK,GAAG,CAAC,IAAI;IAChB,GAAG,KAAK,GAAG,CAAC,KAAK;IACjB,GAAG,KAAK,GAAG,CAAC,GAAG;IACf,GAAG,KAAK,GAAG,CAAC,IAAI;IAChB,GAAG,KAAK,GAAG,CAAC,KAAK;IACjB,GAAG,KAAK,GAAG,CAAC,MAAM,CACrB,CAAC;AARO,QAAA,cAAc,GAAd,cAAc,CAQrB"}
package/package.json CHANGED
@@ -1,15 +1,23 @@
1
1
  {
2
2
  "name": "@vaitosoi/minejs",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "A Minecraft client package",
5
5
  "license": "MIT",
6
6
  "repository": {
7
- "url": "https://github.com/VaitoSoi/minejs"
7
+ "url": "git+https://github.com/VaitoSoi/minejs"
8
8
  },
9
9
  "publishConfig": {
10
10
  "registry": "https://registry.npmjs.org/",
11
11
  "access": "public"
12
12
  },
13
+ "keywords": [
14
+ "minecraft",
15
+ "node"
16
+ ],
17
+ "author": {
18
+ "name": "Vaito",
19
+ "email": "duyduy15456@gmail.com"
20
+ },
13
21
  "main": "dist/index.js",
14
22
  "typings": "dist/index.d.ts",
15
23
  "engines": {
@@ -29,14 +37,6 @@
29
37
  "typescript": "npm:@typescript/typescript6@^6.0.2",
30
38
  "typescript-eslint": "^8.60.1"
31
39
  },
32
- "keywords": [
33
- "minecraft",
34
- "node"
35
- ],
36
- "author": {
37
- "name": "Vaito",
38
- "email": "duyduy15456@gmail.com"
39
- },
40
40
  "dependencies": {
41
41
  "bitset": "^5.2.3"
42
42
  },
package/src/base/aabb.ts CHANGED
@@ -643,6 +643,8 @@ export class VoxelShape {
643
643
 
644
644
  /**
645
645
  * Helper class to do collision math
646
+ *
647
+ * @hidden
646
648
  */
647
649
  export class Shapes {
648
650
  public static collide(axis: BaseAxis, moving: AABB, shapes: VoxelShape[], distance: number): number {
package/src/base/block.ts CHANGED
@@ -156,6 +156,8 @@ interface Context {
156
156
 
157
157
  /**
158
158
  * For clipping math
159
+ *
160
+ * @hidden
159
161
  */
160
162
  export class BlockGetter {
161
163
  public static clip(from: Vec3, to: Vec3, context: Context) {
@@ -234,6 +236,8 @@ export class BlockGetter {
234
236
 
235
237
  /**
236
238
  * For clipping math
239
+ *
240
+ * @hidden
237
241
  */
238
242
  export class BlockHitResult {
239
243
  constructor(
@@ -202,6 +202,7 @@ export enum BaseAxis {
202
202
  Z
203
203
  }
204
204
 
205
+ /** @hidden */
205
206
  export class Axis {
206
207
  /**
207
208
  * Helper function to return value corresponding to given axis
@@ -227,6 +228,8 @@ export class Axis {
227
228
  * For collision math.
228
229
  *
229
230
  * This is for "rotating" the Axis
231
+ *
232
+ * @hidden
230
233
  */
231
234
  export abstract class AxisCycle {
232
235
  /**
@@ -309,6 +312,8 @@ export abstract class AxisCycle {
309
312
 
310
313
  /**
311
314
  * For clipping math
315
+ *
316
+ * @hidden
312
317
  */
313
318
  export class Direction {
314
319
  public static readonly DOWN = new Direction(0, BaseAxis.Y, new Vec3(0, -1, 0));
package/src/base/error.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /** @hidden */
1
2
  export class UnexpectedValue extends Error {
2
3
  constructor(
3
4
  public type: string,
@@ -11,90 +12,105 @@ export class UnexpectedValue extends Error {
11
12
  }
12
13
  }
13
14
 
15
+ /** @hidden */
14
16
  export class NumberTooBig extends Error {
15
17
  constructor(public number: number | bigint) {
16
18
  super("provided number is exceeded system limit (64 bits or 8 byte), got " + number.toString());
17
19
  }
18
20
  }
19
21
 
22
+ /** @hidden */
20
23
  export class StringSizeExceedLimit extends Error {
21
24
  constructor() {
22
25
  super("read string size is exceed buffer limit");
23
26
  }
24
27
  }
25
28
 
29
+ /** @hidden */
26
30
  export class InvalidValue extends Error {
27
31
  constructor(public type: string, public got: string) {
28
32
  super(`got invalid value for ${type}: ${got}`);
29
33
  }
30
34
  }
31
35
 
36
+ /** @hidden */
32
37
  export class SockerIsNotWritable extends Error {
33
38
  constructor() {
34
39
  super("socket is not writable, do you connect it before?");
35
40
  }
36
41
  }
37
42
 
43
+ /** @hidden */
38
44
  export class CantGetMsAuthToken extends Error {
39
45
  constructor() {
40
46
  super("can't get microsoft auth token, maybe the responding request is invalid");
41
47
  }
42
48
  }
43
49
 
50
+ /** @hidden */
44
51
  export class CantGetMsAccessToken extends Error {
45
52
  constructor() {
46
53
  super("can't get microsoft access token");
47
54
  }
48
55
  }
49
56
 
57
+ /** @hidden */
50
58
  export class AuthError extends Error {
51
59
  constructor(public error: string) {
52
60
  super(`got oauth error: ${error}, for more info: https://datatracker.ietf.org/doc/html/rfc6749#section-5.2`);
53
61
  }
54
62
  }
55
63
 
64
+ /** @hidden */
56
65
  export class XboxError extends Error {
57
66
  constructor(public code: string) {
58
67
  super(`xbox error code: ${code}`);
59
68
  }
60
69
  }
61
70
 
71
+ /** @hidden */
62
72
  export class ProfileNotFound extends Error {
63
73
  constructor() {
64
74
  super("cant find your minecraft profile, do you own minecraft or set up the profile?");
65
75
  }
66
76
  }
67
77
 
78
+ /** @hidden */
68
79
  export class ProfileError extends Error {
69
80
  constructor(public code: string, public message: string) {
70
81
  super(`profile error: ${code}: ${message}`);
71
82
  }
72
83
  }
73
84
 
85
+ /** @hidden */
74
86
  export class AuthDenied extends Error {
75
87
  constructor() {
76
88
  super("the authorization request was denied");
77
89
  }
78
90
  }
79
91
 
92
+ /** @hidden */
80
93
  export class AuthTokenExpired extends Error {
81
94
  constructor() {
82
95
  super("device token is expired, please try again");
83
96
  }
84
97
  }
85
98
 
99
+ /** @hidden */
86
100
  export class MissingAuthOption extends Error {
87
101
  constructor() {
88
102
  super("you need to provide auth option to be able to play in premium server");
89
103
  }
90
104
  }
91
105
 
106
+ /** @hidden */
92
107
  export class RegistryItemNotFound extends Error {
93
108
  constructor(public item: string) {
94
109
  super(`cant find registry item: ${item}`);
95
110
  }
96
111
  }
97
112
 
113
+ /** @hidden */
98
114
  export class ClientNotReady extends Error {
99
115
  constructor() {
100
116
  super(`client is not ready`);
package/src/base/event.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Simpler version of https://github.com/andywer/typed-emitter
1
+ /** @see https://github.com/andywer/typed-emitter */
2
2
  export interface TypedEmmiter<Events extends object> {
3
3
  on: <K extends keyof Events>(event: K, func: Events[K] extends any[] ? (...args: Events[K]) => void : never) => void,
4
4
  once: <K extends keyof Events>(event: K, func: Events[K] extends any[] ? (...args: Events[K]) => void : never) => void,
package/src/base/math.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  import { createHash } from "node:crypto";
2
2
 
3
+ /** @hidden */
3
4
  export const Epsilon = 1.0e-7; // 1^-7
4
5
 
5
6
  /**
6
7
  * Convert player name into UUID
7
8
  *
8
9
  * Use for offline account
10
+ *
11
+ * @hidden
9
12
  */
10
13
  export function computeUUID(playerName: string): Buffer {
11
14
  const md5 = createHash("md5").update(playerName).digest();
@@ -17,8 +20,10 @@ export function computeUUID(playerName: string): Buffer {
17
20
  return md5;
18
21
  }
19
22
 
23
+ /** @hidden */
20
24
  export const minBigInt = (...args: bigint[]) => args.reduce((min, val) => val < min ? val : min);
21
25
 
26
+ /** @hidden */
22
27
  export function lowerBoundBinarySearch(from: number, to: number, condition: (index: number) => boolean) {
23
28
  let i = to - from;
24
29
  while (true) {
@@ -38,14 +43,19 @@ export function lowerBoundBinarySearch(from: number, to: number, condition: (ind
38
43
  }
39
44
  }
40
45
 
46
+ /** @hidden */
41
47
  export const equal = (a: number, b: number) => Math.abs(a - b) < Epsilon;
42
48
 
49
+ /** @hidden */
43
50
  export const lerp = (factor: number, min: number, max: number) => min + (max - min) * factor;
44
51
 
52
+ /** @hidden */
45
53
  export const getSign = (a: number) => a === 0 ? 0 : a > 0 ? 1 : -1;
46
54
 
55
+ /** @hidden */
47
56
  export const getFrac = (a: number) => a - Math.floor(a);
48
57
 
58
+ /** @hidden */
49
59
  export function clamp(a: number, min: number, max: number) {
50
60
  if (a < min) return min;
51
61
  if (a > max) return max;
@@ -1 +1,2 @@
1
+ /** @hidden */
1
2
  export type If<Condition extends boolean, True, False = null> = Condition extends true ? True : False;
@@ -1,3 +1,4 @@
1
+ /** @hidden */
1
2
  export const SectionsPerChunk: Record<string, number> = {
2
3
  "minecraft:overworld": 24,
3
4
  "minecraft:overworld_caves": 24,
@@ -5,6 +6,7 @@ export const SectionsPerChunk: Record<string, number> = {
5
6
  "minecraft:the_nether": 8,
6
7
  };
7
8
 
9
+ /** @hidden */
8
10
  export const LevelHeightLimit: Record<string, [min: number, max: number]> = {
9
11
  "minecraft:overworld": [-64, 320],
10
12
  "minecraft:overworld_caves": [-64, 320],
@@ -21,6 +23,7 @@ export const LevelHeightLimit: Record<string, [min: number, max: number]> = {
21
23
  * @param x relative within chunk column
22
24
  * @param y world height
23
25
  * @param z relative within chunk column
26
+ * @hidden
24
27
  */
25
28
  export const packBlockPos = (x: number, y: number, z: number) => y << 8 & z << 4 & x;
26
29
 
@@ -29,6 +32,7 @@ export const packBlockPos = (x: number, y: number, z: number) => y << 8 & z << 4
29
32
  * Unpacked block position within a chunk column from an integer
30
33
  *
31
34
  * @returns unpacked position
35
+ * @hidden
32
36
  */
33
37
  export const readPackedBlockPos = (packed: number) => ({
34
38
  x: packed & 0xF,
@@ -228,7 +228,7 @@ export class BinaryEncoder {
228
228
 
229
229
  }
230
230
 
231
- export type CompoundField = any | {
231
+ type CompoundField = any | {
232
232
  tag: Tag,
233
233
  value: any,
234
234
  }
@@ -239,7 +239,7 @@ const isFloat = (n: number | bigint) =>
239
239
  (typeof (n) == "number" && n % 1 !== 0) ||
240
240
  (typeof (n) == "bigint" && n % BigInt(1) !== BigInt(0));
241
241
 
242
- export function getTagOfNumber(n: number | bigint): FixedSizeTag {
242
+ function getTagOfNumber(n: number | bigint): FixedSizeTag {
243
243
  if (isFloat(n)) {
244
244
  if (-Math.pow(2, 4 * 8 - 1) <= n && n <= Math.pow(2, 4 * 8 - 1) - 1) return Tag.Float;
245
245
  else if (BigInt(-Math.pow(2, 8 * 8 - 1)) <= n && n <= BigInt(Math.pow(2, 8 * 8 - 1) - 1)) return Tag.Double;
@@ -1,9 +1,15 @@
1
+ /** @hidden */
1
2
  export const SEGMENT_BITS = 0x7F;
3
+ /** @hidden */
2
4
  export const CONTINUE_BIT = 0x80;
5
+ /** @hidden */
3
6
  export const MAX_QUANTIZED_VALUE = 32766;
7
+ /** @hidden */
4
8
  export const CONTINUATION_FLAG = BigInt(0x04);
9
+ /** @hidden */
5
10
  export const SCALE_BITS = BigInt(0x03);
6
11
 
12
+ /** @hidden */
7
13
  export enum Tag {
8
14
  End = 0x00,
9
15
  Byte = 0x01,
@@ -20,6 +26,7 @@ export enum Tag {
20
26
  LongArray = 0x0C,
21
27
  }
22
28
 
29
+ /** @hidden */
23
30
  export type FixedSizeTag = Extract<Tag,
24
31
  Tag.Byte
25
32
  | Tag.Short
@@ -28,9 +35,11 @@ export type FixedSizeTag = Extract<Tag,
28
35
  | Tag.Float
29
36
  | Tag.Double>;
30
37
 
38
+ /** @hidden */
31
39
  export const isTag = (tag: any): tag is Tag =>
32
40
  Object.keys(Tag).includes(tag);
33
41
 
42
+ /** @hidden */
34
43
  export const isFixedSizeTag = (tag: Tag): tag is FixedSizeTag =>
35
44
  isTag(tag) && (
36
45
  tag === Tag.Byte ||