@gsknnft/bigint-buffer 1.4.5 → 1.4.7

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 (120) hide show
  1. package/README.md +49 -3
  2. package/build/Release/bigint_buffer.node +0 -0
  3. package/dist/build/Release/bigint_buffer.node +0 -0
  4. package/dist/conversion/index.d.ts +2 -0
  5. package/dist/index.cjs +1 -1
  6. package/dist/{types/dist/dist/index.d.ts → index.d.ts} +1 -2
  7. package/dist/index.js +360 -333
  8. package/dist/index.umd.js +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/dist/types/conversion/index.d.ts +2 -1
  11. package/dist/types/conversion/src/ts/converter.d.ts +14 -0
  12. package/dist/types/conversion/src/ts/index.d.ts +19 -10
  13. package/dist/types/conversion/test/fixedPoint.test.d.ts +1 -0
  14. package/dist/types/index.d.ts +1 -2
  15. package/package.json +153 -132
  16. package/prebuilds/win32-x64/@gsknnft+bigint-buffer.node +0 -0
  17. package/scripts/postinstall.cjs +38 -0
  18. package/build/Release/bigint_buffer.exp +0 -0
  19. package/build/Release/bigint_buffer.iobj +0 -0
  20. package/build/Release/bigint_buffer.ipdb +0 -0
  21. package/build/Release/bigint_buffer.lib +0 -0
  22. package/build/Release/bigint_buffer.pdb +0 -0
  23. package/build/Release/obj/bigint_buffer/bigint_buffer.node.recipe +0 -11
  24. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/CL.command.1.tlog +0 -0
  25. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/CL.read.1.tlog +0 -0
  26. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/CL.write.1.tlog +0 -0
  27. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/Cl.items.tlog +0 -2
  28. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/bigint_buffer.lastbuildstate +0 -2
  29. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.command.1.tlog +0 -0
  30. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.read.1.tlog +0 -0
  31. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.secondary.1.tlog +0 -5
  32. package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.write.1.tlog +0 -0
  33. package/build/Release/obj/bigint_buffer/src/bigint-buffer.obj +0 -0
  34. package/build/Release/obj/bigint_buffer/win_delay_load_hook.obj +0 -0
  35. package/build/bigint_buffer.vcxproj +0 -148
  36. package/build/bigint_buffer.vcxproj.filters +0 -64
  37. package/build/binding.sln +0 -19
  38. package/build/config.gypi +0 -525
  39. package/build/conversion/index.js +0 -18
  40. package/build/conversion/index.js.map +0 -1
  41. package/build/conversion/src/ts/fixedPoint/index.d.ts +0 -12
  42. package/build/conversion/src/ts/fixedPoint/index.js +0 -79
  43. package/build/conversion/src/ts/fixedPoint/index.js.map +0 -1
  44. package/build/conversion/src/ts/index.d.ts +0 -169
  45. package/build/conversion/src/ts/index.js +0 -453
  46. package/build/conversion/src/ts/index.js.map +0 -1
  47. package/build/conversion/test/bigintToBase64.test.js +0 -72
  48. package/build/conversion/test/bigintToBase64.test.js.map +0 -1
  49. package/build/conversion/test/bigintToBuf.test.js +0 -77
  50. package/build/conversion/test/bigintToBuf.test.js.map +0 -1
  51. package/build/conversion/test/bigintToHex.test.js +0 -86
  52. package/build/conversion/test/bigintToHex.test.js.map +0 -1
  53. package/build/conversion/test/bigintToText.test.js +0 -63
  54. package/build/conversion/test/bigintToText.test.js.map +0 -1
  55. package/build/conversion/test/bufToBigint.test.js +0 -55
  56. package/build/conversion/test/bufToBigint.test.js.map +0 -1
  57. package/build/conversion/test/hexToBigint.test.js +0 -56
  58. package/build/conversion/test/hexToBigint.test.js.map +0 -1
  59. package/build/conversion/test/hexToBuf.test.js +0 -73
  60. package/build/conversion/test/hexToBuf.test.js.map +0 -1
  61. package/build/conversion/test/parseHex.test.js +0 -69
  62. package/build/conversion/test/parseHex.test.js.map +0 -1
  63. package/build/conversion/test/textToBuf.test.js +0 -59
  64. package/build/conversion/test/textToBuf.test.js.map +0 -1
  65. package/build/index.js +0 -242
  66. package/build/index.js.map +0 -1
  67. package/dist/types/conversion/src/ts/fixedPoint/index.d.ts +0 -12
  68. package/dist/types/dist/dist/conversion/conversion/index.d.ts +0 -1
  69. package/src/bigint-buffer.test.ts +0 -11
  70. package/src/conversion/.github/workflows/build-and-test.yml +0 -116
  71. package/src/conversion/CODE_OF_CONDUCT.md +0 -134
  72. package/src/conversion/LICENSE +0 -21
  73. package/src/conversion/README.md +0 -48
  74. package/src/conversion/docs/README.md +0 -42
  75. package/src/conversion/docs/functions/base64ToBigint.md +0 -27
  76. package/src/conversion/docs/functions/bigintToBase64.md +0 -43
  77. package/src/conversion/docs/functions/bigintToBuf.md +0 -35
  78. package/src/conversion/docs/functions/bigintToHex.md +0 -43
  79. package/src/conversion/docs/functions/bigintToText.md +0 -31
  80. package/src/conversion/docs/functions/bufToBigint.md +0 -25
  81. package/src/conversion/docs/functions/bufToHex.md +0 -37
  82. package/src/conversion/docs/functions/bufToText.md +0 -27
  83. package/src/conversion/docs/functions/hexToBigint.md +0 -29
  84. package/src/conversion/docs/functions/hexToBuf.md +0 -37
  85. package/src/conversion/docs/functions/parseHex.md +0 -45
  86. package/src/conversion/docs/functions/textToBigint.md +0 -27
  87. package/src/conversion/docs/functions/textToBuf.md +0 -33
  88. package/src/conversion/docs/functions/toBigIntBE.md +0 -27
  89. package/src/conversion/docs/functions/toBigIntLE.md +0 -27
  90. package/src/conversion/docs/functions/toBufferBE.md +0 -33
  91. package/src/conversion/docs/functions/toBufferLE.md +0 -33
  92. package/src/conversion/docs/functions/validateBigIntBuffer.md +0 -15
  93. package/src/conversion/docs/type-aliases/TypedArray.md +0 -11
  94. package/src/conversion/docs/variables/isNative.md +0 -11
  95. package/src/conversion/example.cjs +0 -9
  96. package/src/conversion/example.esm.js +0 -11
  97. package/src/conversion/index.ts +0 -1
  98. package/src/conversion/package.json +0 -163
  99. package/src/conversion/src/docs/index.md +0 -52
  100. package/src/conversion/src/ts/fixedPoint/index.ts +0 -87
  101. package/src/conversion/src/ts/index.ts +0 -529
  102. package/src/conversion/test/bigintToBase64.test.ts +0 -37
  103. package/src/conversion/test/bigintToBuf.test.ts +0 -43
  104. package/src/conversion/test/bigintToHex.test.ts +0 -52
  105. package/src/conversion/test/bigintToText.test.ts +0 -30
  106. package/src/conversion/test/bufToBigint.test.ts +0 -20
  107. package/src/conversion/test/hexToBigint.test.ts +0 -22
  108. package/src/conversion/test/hexToBuf.test.ts +0 -39
  109. package/src/conversion/test/parseHex.test.ts +0 -35
  110. package/src/conversion/test/setup.test.ts +0 -9
  111. package/src/conversion/test/textToBuf.test.ts +0 -26
  112. package/src/conversion/tsconfig.json +0 -57
  113. package/src/conversion/tsconfig.rollup.json +0 -9
  114. package/src/conversion/typedoc.json +0 -5
  115. package/src/conversion/types/bindings.d.t.s +0 -4
  116. package/src/conversion/vite.config.ts +0 -10
  117. package/src/conversion/vitest.config.ts +0 -15
  118. package/src/index.bench.ts +0 -206
  119. package/src/index.spec.ts +0 -318
  120. package/src/index.ts +0 -215
package/dist/index.js CHANGED
@@ -1,405 +1,432 @@
1
- import { Buffer as o } from "buffer";
2
- import l from "path";
3
- import N from "fs";
4
- import { hexToBigint as R, bigintToHex as F } from "#pkg";
5
- const m = 9, d = "0x0", U = (t) => t.startsWith("0x") || t.startsWith("0X") ? t : `0x${t}`, B = (t) => {
6
- if (t === 0n)
7
- return d;
8
- const e = t < 0n, n = e ? -t : t, r = F(n);
9
- return `${e ? "-" : ""}0x${r}`;
10
- }, s = (t) => {
11
- if (!t)
12
- return 0n;
13
- const e = t.trim();
14
- if (e.length === 0)
15
- return 0n;
16
- const n = e.startsWith("-"), r = n ? e.slice(1) : e, i = U(r), c = R(i);
17
- return n ? -c : c;
18
- };
19
- function O(t, e = m) {
20
- if (!Number.isFinite(t))
21
- return d;
22
- const n = Math.pow(10, e), r = BigInt(Math.round(t * n));
23
- return B(r);
24
- }
25
- function H(t, e = m) {
26
- const n = s(t);
27
- if (n === 0n)
28
- return 0;
29
- const r = Math.pow(10, e);
30
- return Number(n) / r;
31
- }
32
- function L(t, e) {
33
- return B(s(t) + s(e));
34
- }
35
- function M(t, e) {
36
- return B(s(t) - s(e));
37
- }
38
- function P(t) {
39
- if (t.length === 0)
40
- return d;
41
- const e = t.reduce((n, r) => n + s(r), 0n);
42
- return B(e / BigInt(t.length));
43
- }
44
- function V(t, e) {
45
- const n = s(t) - s(e);
46
- return n === 0n ? 0 : n > 0n ? 1 : -1;
47
- }
48
- function z(t) {
49
- return s(t);
50
- }
51
- let h = !1, f, b;
52
- const a = typeof globalThis < "u" && typeof globalThis.document < "u", I = [
53
- // when running from dist/
54
- l.resolve(__dirname, ".."),
55
- // when running from build/conversion/src/ts
56
- l.resolve(__dirname, "../../.."),
57
- // when running from src/conversion/src/ts
58
- l.resolve(__dirname, "../../../../")
59
- ], W = () => {
60
- for (const t of I) {
61
- const e = l.join(t, "build", "Release", "bigint_buffer.node");
62
- if (N.existsSync(e)) return t;
1
+ let v = !1, g, B;
2
+ const h = typeof globalThis < "u" && typeof globalThis.document < "u";
3
+ let s, b;
4
+ typeof process < "u" && process.versions?.node && !h && (s = require("path"), b = require("fs"));
5
+ const I = () => {
6
+ if (s)
7
+ try {
8
+ const t = require.resolve("@gsknnft/bigint-buffer/package.json");
9
+ return s.dirname(t);
10
+ } catch {
11
+ return;
12
+ }
13
+ }, T = () => {
14
+ if (!s) return [];
15
+ const t = /* @__PURE__ */ new Set(), n = (o) => {
16
+ if (!o) return;
17
+ const i = s.resolve(o);
18
+ t.has(i) || t.add(i);
19
+ }, e = I(), r = typeof process < "u" && process.resourcesPath;
20
+ return n(process.env?.BIGINT_BUFFER_NATIVE_PATH), n(e), n(e ? s.join(e, "dist") : void 0), n(
21
+ r ? s.join(
22
+ r,
23
+ "app.asar.unpacked",
24
+ "node_modules",
25
+ "@gsknnft",
26
+ "bigint-buffer"
27
+ ) : void 0
28
+ ), n(s.resolve(__dirname, "..")), n(s.resolve(__dirname, "../..")), n(s.resolve(__dirname, "../../..")), n(s.resolve(__dirname, "../../../..")), n(s.resolve(__dirname, "../../../../..")), Array.from(t);
29
+ }, w = () => {
30
+ if (!(!s || !b))
31
+ for (const t of T()) {
32
+ const n = s.join(t, "build", "Release", "bigint_buffer.node");
33
+ if (b.existsSync(n))
34
+ return t;
35
+ }
36
+ }, N = (t) => {
37
+ if (typeof t == "function")
38
+ return t;
39
+ if (t && typeof t == "object") {
40
+ const n = t.default;
41
+ if (typeof n == "function")
42
+ return n;
43
+ if (n && typeof n == "object" && typeof n.default == "function")
44
+ return n.default;
63
45
  }
64
- return I[0];
46
+ throw new TypeError("bindings is not a function");
47
+ }, R = () => {
48
+ if (s)
49
+ try {
50
+ const t = require("node-gyp-build"), n = I();
51
+ return n ? t(n) : void 0;
52
+ } catch (t) {
53
+ B = t;
54
+ return;
55
+ }
65
56
  };
66
- function D() {
57
+ function E() {
58
+ const t = R();
59
+ if (t) return t;
67
60
  try {
68
- const t = require("bindings"), e = W();
69
- return t({
61
+ const n = require("bindings"), e = N(n), r = w();
62
+ return e(r ? {
70
63
  bindings: "bigint_buffer",
71
- module_root: e
72
- });
73
- } catch (t) {
74
- b = t;
64
+ module_root: r
65
+ } : "bigint_buffer");
66
+ } catch (n) {
67
+ B = n;
75
68
  return;
76
69
  }
77
70
  }
78
- a || (f = D(), h = f !== void 0, !h && b !== void 0 && process.env?.BIGINT_BUFFER_SILENT_NATIVE_FAIL !== "1" && console.warn(
71
+ h || (g = E(), v = g !== void 0, !v && B !== void 0 && process.env?.BIGINT_BUFFER_SILENT_NATIVE_FAIL !== "1" && console.warn(
79
72
  "bigint-buffer: Failed to load native bindings; using pure JS fallback. Run npm run rebuild to restore native.",
80
- b
73
+ B
81
74
  ));
82
- f === void 0 && (f = {
83
- toBigInt: (t, e = !0) => {
84
- const n = o.from(t);
85
- e || n.reverse();
86
- const r = n.toString("hex");
75
+ g === void 0 && (g = {
76
+ toBigInt: (t, n = !0) => {
77
+ const e = Buffer.from(t);
78
+ n || e.reverse();
79
+ const r = e.toString("hex");
87
80
  return r.length === 0 ? 0n : BigInt(`0x${r}`);
88
81
  },
89
- fromBigInt: (t, e, n = !0) => {
90
- const r = t.toString(16), i = e.length, c = r.padStart(i * 2, "0").slice(0, i * 2), p = o.from(c, "hex");
91
- return n || p.reverse(), p.copy(e), e;
82
+ fromBigInt: (t, n, e = !0) => {
83
+ const r = t.toString(16), o = n.length, i = r.padStart(o * 2, "0").slice(0, o * 2), u = Buffer.from(i, "hex");
84
+ return e || u.reverse(), u.copy(n), n;
92
85
  }
93
86
  });
94
- function v(t) {
95
- if (a || f === void 0) {
96
- const e = o.from(t);
97
- e.reverse();
98
- const n = e.toString("hex");
99
- return n.length === 0 ? BigInt(0) : BigInt(`0x${n}`);
100
- }
101
- return f.toBigInt(t, !1);
102
- }
103
- function j() {
104
- try {
105
- return v(o.from([1, 0])) === BigInt(1);
106
- } catch {
107
- return !1;
108
- }
109
- }
110
- function X(t) {
111
- if (a || f === void 0) {
112
- const e = t.toString("hex");
113
- return e.length === 0 ? BigInt(0) : BigInt(`0x${e}`);
114
- }
115
- return f.toBigInt(t, !0);
116
- }
117
- function Z(t, e) {
118
- if (a || f === void 0) {
119
- const n = t.toString(16), r = o.from(
120
- n.padStart(e * 2, "0").slice(0, e * 2),
121
- "hex"
122
- );
123
- return r.reverse(), r;
124
- }
125
- return f.fromBigInt(t, o.allocUnsafe(e), !1);
126
- }
127
- function q(t, e) {
128
- if (a || f === void 0) {
129
- const n = t.toString(16);
130
- return o.from(n.padStart(e * 2, "0").slice(0, e * 2), "hex");
131
- }
132
- return f.fromBigInt(t, o.allocUnsafe(e), !0);
133
- }
134
- function g(t, e = !1, n) {
87
+ h || E();
88
+ function y(t, n = !1, e) {
135
89
  const r = t.match(/^(0x)?([\da-fA-F]+)$/);
136
90
  if (r == null)
137
91
  throw new RangeError(
138
92
  "input must be a hexadecimal string, e.g. '0x124fe3a' or '0214f1b2'"
139
93
  );
140
- let i = r[2];
141
- if (n !== void 0) {
142
- if (n < i.length / 2)
143
- throw new RangeError(
144
- `expected byte length ${n} < input hex byte length ${Math.ceil(
145
- i.length / 2
146
- )}`
147
- );
148
- i = i.padStart(n * 2, "0");
149
- }
150
- return e ? "0x" + i : i;
94
+ let o = r[2];
95
+ return n ? "0x" + o : o;
151
96
  }
152
- function w(t, e = !1) {
97
+ function F(t, n = !1, e) {
153
98
  if (t < 0)
154
99
  throw RangeError(
155
100
  "a should be a non-negative integer. Negative values are not supported"
156
101
  );
157
- return T(y(t), e);
158
- }
159
- function E(t) {
160
- let e = 8n;
161
- ArrayBuffer.isView(t) ? e = BigInt(t.BYTES_PER_ELEMENT * 8) : t = new Uint8Array(t);
162
- let n = 0n;
163
- for (const r of t.values()) {
164
- const i = BigInt(r);
165
- n = (n << e) + i;
166
- }
167
- return n;
102
+ return y(t.toString(16), n);
168
103
  }
169
- function y(t, e = !1, n) {
170
- if (t < 0)
171
- throw RangeError(
172
- "a should be a non-negative integer. Negative values are not supported"
173
- );
174
- return g(t.toString(16), e, n);
104
+ function $(t) {
105
+ return BigInt(y(t, !0));
175
106
  }
176
- function S(t) {
177
- return BigInt(g(t, !0));
107
+ const L = 9, ot = /^-?0x[0-9a-f]+$/i, m = "0x0", S = (t) => t.startsWith("0x") || t.startsWith("0X") ? t : `0x${t}`, p = (t) => {
108
+ if (t === 0n)
109
+ return m;
110
+ const n = t < 0n, e = n ? -t : t, r = F(e);
111
+ return `${n ? "-" : ""}0x${r}`;
112
+ }, c = (t) => {
113
+ if (!t)
114
+ return 0n;
115
+ const n = t.trim();
116
+ if (n.length === 0)
117
+ return 0n;
118
+ const e = n.startsWith("-"), r = e ? n.slice(1) : n, o = S(r), i = $(o);
119
+ return e ? -i : i;
120
+ };
121
+ function it(t, n = L) {
122
+ if (!Number.isFinite(t))
123
+ return m;
124
+ const e = 10n ** BigInt(n), r = BigInt(Math.round(t * Number(e)));
125
+ return p(r);
178
126
  }
179
- function J(t) {
180
- if (t < 0)
181
- throw RangeError(
182
- "a should be a non-negative integer. Negative values are not supported"
183
- );
184
- return $(T(t.toString(16)));
127
+ function ft(t, n = 9) {
128
+ if (!t) return 0;
129
+ const e = t.trim();
130
+ if (e.length === 0) return 0;
131
+ const r = e.startsWith("-"), o = r ? e.slice(1) : e, i = r ? -BigInt(o) : BigInt(o), u = 10 ** n;
132
+ return Number(i) / u;
185
133
  }
186
- function k(t) {
187
- return S(A(_(t)));
134
+ function st(t, n) {
135
+ return p(c(t) + c(n));
188
136
  }
189
- function x(t) {
190
- if (o.isBuffer(t))
191
- return t;
192
- if (ArrayBuffer.isView(t))
193
- return o.from(t.buffer, t.byteOffset, t.byteLength);
194
- if (t instanceof ArrayBuffer)
195
- return o.from(new Uint8Array(t));
196
- throw new TypeError("Unsupported input type for Buffer.from");
137
+ function ut(t, n) {
138
+ return p(c(t) - c(n));
197
139
  }
198
- function $(t) {
199
- const e = x(t);
200
- return a ? new TextDecoder().decode(new Uint8Array(e)) : o.from(e).toString();
140
+ function ct(t) {
141
+ if (t.length === 0)
142
+ return m;
143
+ const n = t.reduce((e, r) => e + c(r), 0n);
144
+ return p(n / BigInt(t.length));
201
145
  }
202
- function _(t, e = !1) {
203
- return !a && !e ? o.from(new TextEncoder().encode(t).buffer) : new TextEncoder().encode(t).buffer;
146
+ function at(t, n) {
147
+ const e = c(t) - c(n);
148
+ return e === 0n ? 0 : e > 0n ? 1 : -1;
204
149
  }
205
- function A(t, e = !1, n) {
206
- if (a) {
207
- let r = "";
208
- const i = "0123456789abcdef";
209
- return ArrayBuffer.isView(t) ? t = new Uint8Array(
210
- t.buffer.slice(t.byteOffset, t.byteOffset + t.byteLength)
211
- ) : t = new Uint8Array(t), t.forEach((c) => {
212
- r += i[c >> 4] + i[c & 15];
213
- }), g(r, e, n);
214
- } else {
215
- const r = x(t);
216
- return ArrayBuffer.isView(r) && (t = new Uint8Array(
217
- r.buffer.slice(
218
- r.byteOffset,
219
- r.byteOffset + r.byteLength
220
- )
221
- )), g(
222
- o.from(x(t)).toString("hex"),
223
- e,
224
- n
225
- );
150
+ function dt(t) {
151
+ return c(t);
152
+ }
153
+ const P = typeof Buffer.prototype.readBigUInt64LE == "function", k = typeof Buffer.prototype.readBigUInt64BE == "function", j = typeof Buffer.prototype.writeBigUInt64LE == "function", U = typeof Buffer.prototype.writeBigUInt64BE == "function", A = P ? (t, n) => t.readBigUInt64LE(n) : (t, n) => {
154
+ let e = 0n;
155
+ for (let r = 7; r >= 0; r--)
156
+ e = (e << 8n) + BigInt(t[n + r]);
157
+ return e;
158
+ }, W = k ? (t, n) => t.readBigUInt64BE(n) : (t, n) => {
159
+ let e = 0n;
160
+ for (let r = 0; r < 8; r++)
161
+ e = (e << 8n) + BigInt(t[n + r]);
162
+ return e;
163
+ }, q = j ? (t, n, e) => {
164
+ t.writeBigUInt64LE(e, n);
165
+ } : (t, n, e) => {
166
+ let r = e;
167
+ for (let o = 0; o < 8; o++)
168
+ t[n + o] = Number(r & 0xffn), r >>= 8n;
169
+ }, H = U ? (t, n, e) => {
170
+ t.writeBigUInt64BE(e, n);
171
+ } : (t, n, e) => {
172
+ let r = e;
173
+ for (let o = 7; o >= 0; o--)
174
+ t[n + o] = Number(r & 0xffn), r >>= 8n;
175
+ }, V = (t) => {
176
+ let n = 0n, e = 1n;
177
+ const r = t.length, o = r & 7;
178
+ for (let i = 0; i < o; i++)
179
+ n += BigInt(t[i]) * e, e <<= 8n;
180
+ for (let i = o; i < r; i += 8) {
181
+ const u = A(t, i);
182
+ n += u * e, e <<= 64n;
226
183
  }
227
- }
228
- function T(t, e = !1) {
229
- let n = g(t);
230
- if (n = g(t, !1, Math.ceil(n.length / 2)), a)
231
- return Uint8Array.from(
232
- n.match(/[\da-fA-F]{2}/g).map((r) => +("0x" + r))
233
- ).buffer;
234
- {
235
- const r = o.from(n, "hex");
236
- return e ? r.buffer.slice(r.byteOffset, r.byteOffset + r.byteLength) : r;
184
+ return n;
185
+ }, G = (t) => {
186
+ const n = t.length;
187
+ if (n === 0) return 0n;
188
+ let e = 0n;
189
+ const r = n & 7;
190
+ let o = 0;
191
+ if (r !== 0)
192
+ for (; o < r; o++)
193
+ e = (e << 8n) + BigInt(t[o]);
194
+ for (; o < n; o += 8) {
195
+ const i = W(t, o);
196
+ e = (e << 64n) + i;
237
197
  }
238
- }
239
- function C(t, e = !1, n = !0) {
240
- if (t < 0n)
241
- throw new RangeError("negative bigint");
242
- const r = w(t);
243
- let i = o.isBuffer(r) ? r.toString("base64") : o.from(r).toString("base64");
244
- return e && (i = i.replace(/\+/g, "-").replace(/\//g, "_")), n || (i = i.replace(/=+$/, "")), i;
245
- }
246
- function G(t) {
247
- if (!t || t.trim() === "")
248
- return 0n;
249
- const e = t.trim();
250
- if (!/^[A-Za-z0-9+/=_-]*$/.test(e))
251
- throw new RangeError("invalid base64");
252
- let n = e.replace(/-/g, "+").replace(/_/g, "/");
253
- for (; n.length % 4 !== 0; )
254
- n += "=";
255
- const r = o.from(n, "base64");
256
- return E(r);
257
- }
258
- const st = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
259
- __proto__: null,
260
- FIXED_POINT_DECIMALS: m,
261
- ZERO_FIXED_POINT: d,
262
- addFixedPoint: L,
263
- averageFixedPoint: P,
264
- base64ToBigint: G,
265
- bigintToBase64: C,
266
- bigintToBuf: w,
267
- bigintToHex: y,
268
- bigintToText: J,
269
- bufToBigint: E,
270
- bufToHex: A,
271
- bufToText: $,
272
- compareFixedPoint: V,
273
- fixedPointToBigInt: z,
274
- fromFixedPoint: H,
275
- hexToBigint: S,
276
- hexToBuf: T,
277
- get isNative() {
278
- return h;
279
- },
280
- parseHex: g,
281
- subtractFixedPoint: M,
282
- textToBigint: k,
283
- textToBuf: _,
284
- toBigIntBE: X,
285
- toBigIntLE: v,
286
- toBigIntValue: s,
287
- toBufferBE: q,
288
- toBufferLE: Z,
289
- toFixedPoint: O,
290
- validateBigIntBuffer: j
291
- }, Symbol.toStringTag, { value: "Module" }));
292
- let u, Y = !1;
293
- if (typeof window > "u")
294
- try {
295
- u = require("bindings")("bigint_buffer"), Y = u !== void 0;
296
- } catch (t) {
297
- console.warn(
298
- "bigint: Failed to load bindings, pure JS will be used (try npm run rebuild?)",
299
- t
300
- );
198
+ return e;
199
+ }, D = (t, n) => {
200
+ const e = n.length;
201
+ let r = t, o = 0;
202
+ const i = e - e % 8;
203
+ for (; o < i; o += 8)
204
+ q(n, o, r & 0xffffffffffffffffn), r >>= 64n;
205
+ for (; o < e; o++)
206
+ n[o] = Number(r & 0xffn), r >>= 8n;
207
+ return n;
208
+ }, O = (t, n) => {
209
+ const e = n.length;
210
+ let r = t, o = e;
211
+ const i = e & -8;
212
+ for (; o > i; )
213
+ o--, n[o] = Number(r & 0xffn), r >>= 8n;
214
+ for (; o > 0; o -= 8) {
215
+ const u = r & 0xffffffffffffffffn;
216
+ H(n, o - 8, u), r >>= 64n;
301
217
  }
302
- function K(t) {
303
- if (typeof window < "u" || u === void 0) {
304
- const e = Buffer.from(t);
305
- e.reverse();
306
- const n = e.toString("hex");
307
- return n.length === 0 ? BigInt(0) : BigInt(`0x${n}`);
218
+ return n;
219
+ }, C = (t) => {
220
+ if (t === 0n) return 1;
221
+ let n = t, e = 0;
222
+ for (; n > 0n; )
223
+ e++, n >>= 8n;
224
+ return e;
225
+ }, M = {
226
+ toBigInt: (t, n = !0) => n ? G(t) : V(t),
227
+ fromBigInt: (t, n, e = !0) => e ? O(t, n) : D(t, n)
228
+ }, _ = typeof globalThis < "u" && typeof globalThis.document < "u";
229
+ let f, a;
230
+ _ || (f = require("path"), a = require("fs"));
231
+ const z = () => {
232
+ if (!f) return [];
233
+ const t = x(), n = typeof process < "u" && process.resourcesPath;
234
+ return [
235
+ process.env?.BIGINT_BUFFER_NATIVE_PATH,
236
+ t,
237
+ t ? f.join(t, "dist") : void 0,
238
+ n ? f.join(
239
+ n,
240
+ "app.asar.unpacked",
241
+ "node_modules",
242
+ "@gsknnft",
243
+ "bigint-buffer"
244
+ ) : void 0,
245
+ f.resolve(__dirname, ".."),
246
+ f.resolve(__dirname, "."),
247
+ f.resolve(__dirname, "../.."),
248
+ f.resolve(__dirname, "../../.."),
249
+ f.resolve(__dirname, "../../../..")
250
+ ].filter((e) => !!e);
251
+ }, X = () => {
252
+ if (!(!f || !a))
253
+ for (const t of z()) {
254
+ const n = f.join(
255
+ t,
256
+ "build",
257
+ "Release",
258
+ "bigint_buffer.node"
259
+ );
260
+ if (a.existsSync(n))
261
+ return t;
262
+ const e = f.join(
263
+ t,
264
+ "dist",
265
+ "build",
266
+ "Release",
267
+ "bigint_buffer.node"
268
+ );
269
+ if (a.existsSync(e))
270
+ return f.join(t, "dist");
271
+ }
272
+ }, J = () => {
273
+ if (f)
274
+ try {
275
+ const t = require("node-gyp-build"), n = x();
276
+ return n ? t(n) : void 0;
277
+ } catch (t) {
278
+ d = t;
279
+ return;
280
+ }
281
+ }, Z = (t) => {
282
+ if (typeof t == "function")
283
+ return t;
284
+ if (t && typeof t == "object") {
285
+ const n = t.default;
286
+ if (typeof n == "function")
287
+ return n;
288
+ if (n && typeof n == "object" && typeof n.default == "function")
289
+ return n.default;
308
290
  }
309
- return u.toBigInt(t, !1);
291
+ throw new TypeError("bindings is not a function");
292
+ };
293
+ let l = M, d, K = !1;
294
+ const Q = () => {
295
+ d = void 0;
296
+ const t = J();
297
+ if (t) return t;
298
+ try {
299
+ const n = require("bindings"), e = Z(n), r = X();
300
+ return e(r ? {
301
+ bindings: "bigint_buffer",
302
+ module_root: r
303
+ } : "bigint_buffer");
304
+ } catch (n) {
305
+ d = d ?? n;
306
+ return;
307
+ }
308
+ };
309
+ if (!_) {
310
+ const t = Q();
311
+ t !== void 0 ? (l = t, K = !0) : d !== void 0 && process.env?.BIGINT_BUFFER_SILENT_NATIVE_FAIL !== "1" && console.warn(
312
+ "bigint-buffer: Failed to load native bindings; using pure JS fallback. Run npm run rebuild to restore native.",
313
+ d
314
+ );
310
315
  }
311
- function ut() {
316
+ function Y(t) {
317
+ return l.toBigInt(t, !1);
318
+ }
319
+ function lt() {
312
320
  try {
313
- return K(Buffer.from([1, 0])) === BigInt(1);
321
+ return Y(Buffer.from([1, 0])) === BigInt(1);
314
322
  } catch {
315
323
  return !1;
316
324
  }
317
325
  }
318
- function Q(t) {
319
- if (typeof window < "u" || u === void 0) {
320
- const e = t.toString("hex");
321
- return e.length === 0 ? BigInt(0) : BigInt(`0x${e}`);
322
- }
323
- return u.toBigInt(t, !0);
326
+ function tt(t) {
327
+ return l.toBigInt(t, !0);
324
328
  }
325
- function at(t, e) {
326
- if (typeof window < "u" || u === void 0) {
327
- const n = t.toString(16), r = Buffer.from(
328
- n.padStart(e * 2, "0").slice(0, e * 2),
329
- "hex"
330
- );
331
- return r.reverse(), r;
332
- }
333
- return u.fromBigInt(t, Buffer.allocUnsafe(e), !1);
329
+ function gt(t, n) {
330
+ if (n < 0)
331
+ throw new RangeError("toBufferLE width must be non-negative");
332
+ const e = n === 0 ? Buffer.alloc(0) : Buffer.allocUnsafe(n);
333
+ return l.fromBigInt(t, e, !1);
334
334
  }
335
- function tt(t, e) {
336
- if (typeof window < "u" || u === void 0) {
337
- const n = t.toString(16);
338
- return Buffer.from(n.padStart(e * 2, "0").slice(0, e * 2), "hex");
339
- }
340
- return u.fromBigInt(t, Buffer.allocUnsafe(e), !0);
335
+ function nt(t, n) {
336
+ if (n < 0)
337
+ throw new RangeError("toBufferBE width must be non-negative");
338
+ const e = n === 0 ? Buffer.alloc(0) : Buffer.allocUnsafe(n);
339
+ return l.fromBigInt(t, e, !0);
341
340
  }
342
341
  function et(t) {
343
342
  if (t < BigInt(0))
344
343
  throw new Error("bigintToBuf: negative bigint values are not supported");
345
- if (t === BigInt(0))
346
- return Buffer.from([0]);
347
- const e = t.toString(16), n = Math.ceil(e.length / 2);
348
- return tt(t, n);
344
+ const n = C(t);
345
+ return nt(t, n);
349
346
  }
350
- function nt(t) {
351
- return Q(t);
347
+ function rt(t) {
348
+ return tt(t);
352
349
  }
353
- function ct(t) {
350
+ function Bt(t) {
354
351
  if (t < BigInt(0))
355
352
  throw new Error("bigintToHex: negative bigint values are not supported");
356
- const e = t.toString(16);
357
- return e.length % 2 === 0 ? e : "0" + e;
353
+ const n = t.toString(16);
354
+ return n.length % 2 === 0 ? n : "0" + n;
358
355
  }
359
- function gt(t) {
360
- const e = t.startsWith("0x") ? t.slice(2) : t;
361
- return e.length === 0 ? BigInt(0) : BigInt(`0x${e}`);
356
+ function pt(t) {
357
+ const n = t.startsWith("0x") ? t.slice(2) : t;
358
+ return n.length === 0 ? BigInt(0) : BigInt(`0x${n}`);
362
359
  }
363
- function lt(t) {
360
+ function bt(t) {
364
361
  return t.toString(10);
365
362
  }
366
- function dt(t) {
363
+ function ht(t) {
367
364
  if (!t?.trim())
368
365
  throw new Error("textToBigint: input string cannot be empty");
369
366
  try {
370
367
  return BigInt(t);
371
- } catch (e) {
372
- throw new Error(`textToBigint: invalid decimal string "${t}" ${e instanceof Error ? e.message : String(e)}`);
368
+ } catch (n) {
369
+ throw new Error(
370
+ `textToBigint: invalid decimal string "${t}" ${n instanceof Error ? n.message : String(n)}`
371
+ );
373
372
  }
374
373
  }
375
- function Bt(t) {
374
+ function mt(t) {
376
375
  if (t < BigInt(0))
377
376
  throw new Error("bigintToBase64: negative bigint values are not supported");
378
377
  return et(t).toString("base64");
379
378
  }
380
- function ht(t) {
379
+ function vt(t) {
381
380
  if (!t?.trim())
382
381
  throw new Error("base64ToBigint: input string cannot be empty");
383
- const e = t.trim();
384
- if (!/^[A-Za-z0-9+/]+=*$/.test(e))
382
+ const n = t.trim();
383
+ if (!/^[A-Za-z0-9+/]+=*$/.test(n))
385
384
  throw new Error("base64ToBigint: invalid base64 string format");
386
- const n = Buffer.from(e, "base64");
387
- return nt(n);
385
+ const e = Buffer.from(n, "base64");
386
+ return rt(e);
387
+ }
388
+ function x() {
389
+ if (!f) return;
390
+ try {
391
+ const n = require.resolve("@gsknnft/bigint-buffer/package.json");
392
+ return f.dirname(n);
393
+ } catch {
394
+ }
395
+ if (!a) return;
396
+ let t = __dirname;
397
+ for (; ; ) {
398
+ const n = f.join(t, "package.json");
399
+ if (a.existsSync(n))
400
+ return t;
401
+ const e = f.dirname(t);
402
+ if (e === t) break;
403
+ t = e;
404
+ }
388
405
  }
389
406
  export {
390
- ht as base64ToBigint,
391
- Bt as bigintToBase64,
407
+ L as FIXED_POINT_DECIMALS,
408
+ ot as FIXED_POINT_PATTERN,
409
+ m as ZERO_FIXED_POINT,
410
+ st as addFixedPoint,
411
+ ct as averageFixedPoint,
412
+ vt as base64ToBigint,
413
+ mt as bigintToBase64,
392
414
  et as bigintToBuf,
393
- ct as bigintToHex,
394
- lt as bigintToText,
395
- nt as bufToBigint,
396
- st as conversionUtils,
397
- gt as hexToBigint,
398
- Y as isNative,
399
- dt as textToBigint,
400
- Q as toBigIntBE,
401
- K as toBigIntLE,
402
- tt as toBufferBE,
403
- at as toBufferLE,
404
- ut as validateBigIntBuffer
415
+ Bt as bigintToHex,
416
+ bt as bigintToText,
417
+ rt as bufToBigint,
418
+ at as compareFixedPoint,
419
+ dt as fixedPointToBigInt,
420
+ ft as fromFixedPoint,
421
+ pt as hexToBigint,
422
+ K as isNative,
423
+ ut as subtractFixedPoint,
424
+ ht as textToBigint,
425
+ tt as toBigIntBE,
426
+ Y as toBigIntLE,
427
+ c as toBigIntValue,
428
+ nt as toBufferBE,
429
+ gt as toBufferLE,
430
+ it as toFixedPoint,
431
+ lt as validateBigIntBuffer
405
432
  };