@chainflip/utils 0.11.2-wbtc-dev.2 → 0.11.2-wbtc-dev.3

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 (73) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  2. package/dist/addresses.cjs +15 -40
  3. package/dist/addresses.d.ts +4 -3
  4. package/dist/addresses.js +14 -15
  5. package/dist/assertion.cjs +23 -82
  6. package/dist/assertion.d.ts +3 -2
  7. package/dist/assertion.js +32 -22
  8. package/dist/async.cjs +96 -115
  9. package/dist/async.d.ts +24 -21
  10. package/dist/async.js +92 -87
  11. package/dist/base58.cjs +9 -93
  12. package/dist/base58.d.ts +4 -4
  13. package/dist/base58.js +9 -13
  14. package/dist/bytes.cjs +49 -97
  15. package/dist/bytes.d.ts +4 -4
  16. package/dist/bytes.js +51 -15
  17. package/dist/chainflip.cjs +428 -360
  18. package/dist/chainflip.d.ts +185 -200
  19. package/dist/chainflip.js +425 -41
  20. package/dist/consts.cjs +306 -277
  21. package/dist/consts.d.ts +18 -17
  22. package/dist/consts.js +296 -243
  23. package/dist/date.cjs +74 -131
  24. package/dist/date.d.ts +9 -8
  25. package/dist/date.js +60 -95
  26. package/dist/guard.cjs +28 -63
  27. package/dist/guard.d.ts +10 -9
  28. package/dist/guard.js +17 -28
  29. package/dist/math.cjs +7 -32
  30. package/dist/math.d.ts +3 -2
  31. package/dist/math.js +6 -7
  32. package/dist/number.cjs +5 -29
  33. package/dist/number.d.ts +4 -4
  34. package/dist/number.js +5 -5
  35. package/dist/ss58.cjs +62 -794
  36. package/dist/ss58.d.ts +12 -9
  37. package/dist/ss58.js +59 -712
  38. package/dist/string.cjs +29 -66
  39. package/dist/string.d.ts +4 -4
  40. package/dist/string.js +20 -33
  41. package/dist/tickMath.cjs +32 -253
  42. package/dist/tickMath.d.ts +7 -6
  43. package/dist/tickMath.js +24 -29
  44. package/dist/types.cjs +0 -18
  45. package/dist/types.d.ts +35 -34
  46. package/dist/types.js +1 -0
  47. package/dist/url.cjs +16 -37
  48. package/dist/url.d.ts +5 -4
  49. package/dist/url.js +16 -13
  50. package/package.json +18 -18
  51. package/dist/addresses.d.cts +0 -6
  52. package/dist/assertion.d.cts +0 -11
  53. package/dist/async.d.cts +0 -33
  54. package/dist/base58.d.cts +0 -8
  55. package/dist/bytes.d.cts +0 -11
  56. package/dist/chainflip.d.cts +0 -254
  57. package/dist/chunk-2GANZNOM.js +0 -313
  58. package/dist/chunk-3P6TXYEI.js +0 -15
  59. package/dist/chunk-CRQVFUCY.js +0 -335
  60. package/dist/chunk-HBIFE4XN.js +0 -29
  61. package/dist/chunk-VQBGNJK6.js +0 -335
  62. package/dist/chunk-XGNPN5CY.js +0 -61
  63. package/dist/chunk-ZHIKNZLU.js +0 -66
  64. package/dist/consts.d.cts +0 -33
  65. package/dist/date.d.cts +0 -26
  66. package/dist/guard.d.cts +0 -23
  67. package/dist/math.d.cts +0 -4
  68. package/dist/number.d.cts +0 -6
  69. package/dist/ss58.d.cts +0 -14
  70. package/dist/string.d.cts +0 -16
  71. package/dist/tickMath.d.cts +0 -15
  72. package/dist/types.d.cts +0 -41
  73. package/dist/url.d.cts +0 -6
@@ -0,0 +1,29 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) {
13
+ __defProp(to, key, {
14
+ get: ((k) => from[k]).bind(null, key),
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ }
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
25
+ }) : target, mod));
26
+
27
+ //#endregion
28
+
29
+ exports.__toESM = __toESM;
@@ -1,43 +1,18 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
1
 
20
- // src/addresses.ts
21
- var addresses_exports = {};
22
- __export(addresses_exports, {
23
- FLIP_CONTRACT_ADDRESSES: () => FLIP_CONTRACT_ADDRESSES,
24
- STATE_CHAIN_GATEWAY_ADDRESSES: () => STATE_CHAIN_GATEWAY_ADDRESSES
25
- });
26
- module.exports = __toCommonJS(addresses_exports);
27
- var FLIP_CONTRACT_ADDRESSES = {
28
- backspin: "0x10C6E9530F1C1AF873a391030a1D9E8ed0630D26",
29
- sisyphos: "0xcD079EAB6B5443b545788Fd210C8800FEADd87fa",
30
- perseverance: "0xdC27c60956cB065D19F08bb69a707E37b36d8086",
31
- mainnet: "0x826180541412D574cf1336d22c0C0a287822678A"
2
+ //#region src/addresses.ts
3
+ const FLIP_CONTRACT_ADDRESSES = {
4
+ backspin: "0x10C6E9530F1C1AF873a391030a1D9E8ed0630D26",
5
+ sisyphos: "0xcD079EAB6B5443b545788Fd210C8800FEADd87fa",
6
+ perseverance: "0xdC27c60956cB065D19F08bb69a707E37b36d8086",
7
+ mainnet: "0x826180541412D574cf1336d22c0C0a287822678A"
32
8
  };
33
- var STATE_CHAIN_GATEWAY_ADDRESSES = {
34
- backspin: "0xeEBe00Ac0756308ac4AaBfD76c05c4F3088B8883",
35
- sisyphos: "0x1F7fE41C798cc7b1D34BdC8de2dDDA4a4bE744D9",
36
- perseverance: "0xA34a967197Ee90BB7fb28e928388a573c5CFd099",
37
- mainnet: "0x6995Ab7c4D7F4B03f467Cf4c8E920427d9621DBd"
9
+ const STATE_CHAIN_GATEWAY_ADDRESSES = {
10
+ backspin: "0xeEBe00Ac0756308ac4AaBfD76c05c4F3088B8883",
11
+ sisyphos: "0x1F7fE41C798cc7b1D34BdC8de2dDDA4a4bE744D9",
12
+ perseverance: "0xA34a967197Ee90BB7fb28e928388a573c5CFd099",
13
+ mainnet: "0x6995Ab7c4D7F4B03f467Cf4c8E920427d9621DBd"
38
14
  };
39
- // Annotate the CommonJS export names for ESM import in node:
40
- 0 && (module.exports = {
41
- FLIP_CONTRACT_ADDRESSES,
42
- STATE_CHAIN_GATEWAY_ADDRESSES
43
- });
15
+
16
+ //#endregion
17
+ exports.FLIP_CONTRACT_ADDRESSES = FLIP_CONTRACT_ADDRESSES;
18
+ exports.STATE_CHAIN_GATEWAY_ADDRESSES = STATE_CHAIN_GATEWAY_ADDRESSES;
@@ -1,6 +1,7 @@
1
- import { ChainflipNetwork } from './chainflip.js';
1
+ import { ChainflipNetwork } from "./chainflip.js";
2
2
 
3
+ //#region src/addresses.d.ts
3
4
  declare const FLIP_CONTRACT_ADDRESSES: Record<ChainflipNetwork, `0x${string}`>;
4
5
  declare const STATE_CHAIN_GATEWAY_ADDRESSES: Record<ChainflipNetwork, `0x${string}`>;
5
-
6
- export { FLIP_CONTRACT_ADDRESSES, STATE_CHAIN_GATEWAY_ADDRESSES };
6
+ //#endregion
7
+ export { FLIP_CONTRACT_ADDRESSES, STATE_CHAIN_GATEWAY_ADDRESSES };
package/dist/addresses.js CHANGED
@@ -1,17 +1,16 @@
1
- // src/addresses.ts
2
- var FLIP_CONTRACT_ADDRESSES = {
3
- backspin: "0x10C6E9530F1C1AF873a391030a1D9E8ed0630D26",
4
- sisyphos: "0xcD079EAB6B5443b545788Fd210C8800FEADd87fa",
5
- perseverance: "0xdC27c60956cB065D19F08bb69a707E37b36d8086",
6
- mainnet: "0x826180541412D574cf1336d22c0C0a287822678A"
1
+ //#region src/addresses.ts
2
+ const FLIP_CONTRACT_ADDRESSES = {
3
+ backspin: "0x10C6E9530F1C1AF873a391030a1D9E8ed0630D26",
4
+ sisyphos: "0xcD079EAB6B5443b545788Fd210C8800FEADd87fa",
5
+ perseverance: "0xdC27c60956cB065D19F08bb69a707E37b36d8086",
6
+ mainnet: "0x826180541412D574cf1336d22c0C0a287822678A"
7
7
  };
8
- var STATE_CHAIN_GATEWAY_ADDRESSES = {
9
- backspin: "0xeEBe00Ac0756308ac4AaBfD76c05c4F3088B8883",
10
- sisyphos: "0x1F7fE41C798cc7b1D34BdC8de2dDDA4a4bE744D9",
11
- perseverance: "0xA34a967197Ee90BB7fb28e928388a573c5CFd099",
12
- mainnet: "0x6995Ab7c4D7F4B03f467Cf4c8E920427d9621DBd"
13
- };
14
- export {
15
- FLIP_CONTRACT_ADDRESSES,
16
- STATE_CHAIN_GATEWAY_ADDRESSES
8
+ const STATE_CHAIN_GATEWAY_ADDRESSES = {
9
+ backspin: "0xeEBe00Ac0756308ac4AaBfD76c05c4F3088B8883",
10
+ sisyphos: "0x1F7fE41C798cc7b1D34BdC8de2dDDA4a4bE744D9",
11
+ perseverance: "0xA34a967197Ee90BB7fb28e928388a573c5CFd099",
12
+ mainnet: "0x6995Ab7c4D7F4B03f467Cf4c8E920427d9621DBd"
17
13
  };
14
+
15
+ //#endregion
16
+ export { FLIP_CONTRACT_ADDRESSES, STATE_CHAIN_GATEWAY_ADDRESSES };
@@ -1,100 +1,41 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/assertion.ts
21
- var assertion_exports = {};
22
- __export(assertion_exports, {
23
- assert: () => assert,
24
- assertBigInt: () => assertBigInt,
25
- assertBoolean: () => assertBoolean,
26
- assertNumber: () => assertNumber,
27
- assertObject: () => assertObject,
28
- assertString: () => assertString,
29
- assertSymbol: () => assertSymbol,
30
- assertUndefined: () => assertUndefined,
31
- unreachable: () => unreachable
32
- });
33
- module.exports = __toCommonJS(assertion_exports);
1
+ const require_guard = require('./guard.cjs');
34
2
 
35
- // src/guard.ts
36
- var createIsGuard = (type) => (value) => typeof value === type;
37
- var isString = createIsGuard("string");
38
- var isNumber = createIsGuard("number");
39
- var isBigInt = createIsGuard("bigint");
40
- var isBoolean = createIsGuard("boolean");
41
- var isSymbol = createIsGuard("symbol");
42
- var isObject = createIsGuard("object");
43
- var isUndefined = createIsGuard("undefined");
44
-
45
- // src/assertion.ts
3
+ //#region src/assertion.ts
46
4
  function assert(condition, message = "assertion failed", Constructor = Error) {
47
- if (!condition) {
48
- throw new Constructor(message);
49
- }
5
+ if (!condition) throw new Constructor(message);
50
6
  }
51
7
  function assertString(value, message) {
52
- if (!isString(value)) {
53
- throw new TypeError(message ?? `expected a "string", got "${typeof value}"`);
54
- }
8
+ if (!require_guard.isString(value)) throw new TypeError(message ?? `expected a "string", got "${typeof value}"`);
55
9
  }
56
10
  function assertNumber(value, message) {
57
- if (!isNumber(value)) {
58
- throw new TypeError(message ?? `expected a "number", got "${typeof value}"`);
59
- }
11
+ if (!require_guard.isNumber(value)) throw new TypeError(message ?? `expected a "number", got "${typeof value}"`);
60
12
  }
61
13
  function assertBigInt(value, message) {
62
- if (!isBigInt(value)) {
63
- throw new TypeError(message ?? `expected a "bigint", got "${typeof value}"`);
64
- }
14
+ if (!require_guard.isBigInt(value)) throw new TypeError(message ?? `expected a "bigint", got "${typeof value}"`);
65
15
  }
66
16
  function assertBoolean(value, message) {
67
- if (!isBoolean(value)) {
68
- throw new TypeError(message ?? `expected a "boolean", got "${typeof value}"`);
69
- }
17
+ if (!require_guard.isBoolean(value)) throw new TypeError(message ?? `expected a "boolean", got "${typeof value}"`);
70
18
  }
71
19
  function assertSymbol(value, message) {
72
- if (!isSymbol(value)) {
73
- throw new TypeError(message ?? `expected a "symbol", got "${typeof value}"`);
74
- }
20
+ if (!require_guard.isSymbol(value)) throw new TypeError(message ?? `expected a "symbol", got "${typeof value}"`);
75
21
  }
76
22
  function assertObject(value, message) {
77
- if (!isObject(value)) {
78
- throw new TypeError(message ?? `expected an "object", got "${typeof value}"`);
79
- }
23
+ if (!require_guard.isObject(value)) throw new TypeError(message ?? `expected an "object", got "${typeof value}"`);
80
24
  }
81
25
  function assertUndefined(value, message) {
82
- if (!isUndefined(value)) {
83
- throw new TypeError(message ?? `expected "undefined", got "${typeof value}"`);
84
- }
26
+ if (!require_guard.isUndefined(value)) throw new TypeError(message ?? `expected "undefined", got "${typeof value}"`);
85
27
  }
86
- var unreachable = (x, message = "unreachable") => {
87
- throw new Error(message);
28
+ const unreachable = (x, message = "unreachable") => {
29
+ throw new Error(message);
88
30
  };
89
- // Annotate the CommonJS export names for ESM import in node:
90
- 0 && (module.exports = {
91
- assert,
92
- assertBigInt,
93
- assertBoolean,
94
- assertNumber,
95
- assertObject,
96
- assertString,
97
- assertSymbol,
98
- assertUndefined,
99
- unreachable
100
- });
31
+
32
+ //#endregion
33
+ exports.assert = assert;
34
+ exports.assertBigInt = assertBigInt;
35
+ exports.assertBoolean = assertBoolean;
36
+ exports.assertNumber = assertNumber;
37
+ exports.assertObject = assertObject;
38
+ exports.assertString = assertString;
39
+ exports.assertSymbol = assertSymbol;
40
+ exports.assertUndefined = assertUndefined;
41
+ exports.unreachable = unreachable;
@@ -1,3 +1,4 @@
1
+ //#region src/assertion.d.ts
1
2
  declare function assert(condition: unknown, message?: string, Constructor?: ErrorConstructor): asserts condition;
2
3
  declare function assertString(value: unknown, message?: string): asserts value is string;
3
4
  declare function assertNumber(value: unknown, message?: string): asserts value is number;
@@ -7,5 +8,5 @@ declare function assertSymbol(value: unknown, message?: string): asserts value i
7
8
  declare function assertObject(value: unknown, message?: string): asserts value is object;
8
9
  declare function assertUndefined(value: unknown, message?: string): asserts value is undefined;
9
10
  declare const unreachable: (x: never, message?: string) => never;
10
-
11
- export { assert, assertBigInt, assertBoolean, assertNumber, assertObject, assertString, assertSymbol, assertUndefined, unreachable };
11
+ //#endregion
12
+ export { assert, assertBigInt, assertBoolean, assertNumber, assertObject, assertString, assertSymbol, assertUndefined, unreachable };
package/dist/assertion.js CHANGED
@@ -1,23 +1,33 @@
1
- import {
2
- assert,
3
- assertBigInt,
4
- assertBoolean,
5
- assertNumber,
6
- assertObject,
7
- assertString,
8
- assertSymbol,
9
- assertUndefined,
10
- unreachable
11
- } from "./chunk-ZHIKNZLU.js";
12
- import "./chunk-HBIFE4XN.js";
13
- export {
14
- assert,
15
- assertBigInt,
16
- assertBoolean,
17
- assertNumber,
18
- assertObject,
19
- assertString,
20
- assertSymbol,
21
- assertUndefined,
22
- unreachable
1
+ import { isBigInt, isBoolean, isNumber, isObject, isString, isSymbol, isUndefined } from "./guard.js";
2
+
3
+ //#region src/assertion.ts
4
+ function assert(condition, message = "assertion failed", Constructor = Error) {
5
+ if (!condition) throw new Constructor(message);
6
+ }
7
+ function assertString(value, message) {
8
+ if (!isString(value)) throw new TypeError(message ?? `expected a "string", got "${typeof value}"`);
9
+ }
10
+ function assertNumber(value, message) {
11
+ if (!isNumber(value)) throw new TypeError(message ?? `expected a "number", got "${typeof value}"`);
12
+ }
13
+ function assertBigInt(value, message) {
14
+ if (!isBigInt(value)) throw new TypeError(message ?? `expected a "bigint", got "${typeof value}"`);
15
+ }
16
+ function assertBoolean(value, message) {
17
+ if (!isBoolean(value)) throw new TypeError(message ?? `expected a "boolean", got "${typeof value}"`);
18
+ }
19
+ function assertSymbol(value, message) {
20
+ if (!isSymbol(value)) throw new TypeError(message ?? `expected a "symbol", got "${typeof value}"`);
21
+ }
22
+ function assertObject(value, message) {
23
+ if (!isObject(value)) throw new TypeError(message ?? `expected an "object", got "${typeof value}"`);
24
+ }
25
+ function assertUndefined(value, message) {
26
+ if (!isUndefined(value)) throw new TypeError(message ?? `expected "undefined", got "${typeof value}"`);
27
+ }
28
+ const unreachable = (x, message = "unreachable") => {
29
+ throw new Error(message);
23
30
  };
31
+
32
+ //#endregion
33
+ export { assert, assertBigInt, assertBoolean, assertNumber, assertObject, assertString, assertSymbol, assertUndefined, unreachable };
package/dist/async.cjs CHANGED
@@ -1,123 +1,104 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
1
 
20
- // src/async.ts
21
- var async_exports = {};
22
- __export(async_exports, {
23
- Queue: () => Queue,
24
- RateLimiter: () => RateLimiter,
25
- deferredPromise: () => deferredPromise,
26
- once: () => once,
27
- sleep: () => sleep
28
- });
29
- module.exports = __toCommonJS(async_exports);
30
- var deferredPromise = () => {
31
- let resolve;
32
- let reject;
33
- const promise = new Promise((res, rej) => {
34
- resolve = res;
35
- reject = rej;
36
- });
37
- return { promise, resolve, reject };
2
+ //#region src/async.ts
3
+ const deferredPromise = () => {
4
+ let resolve;
5
+ let reject;
6
+ return {
7
+ promise: new Promise((res, rej) => {
8
+ resolve = res;
9
+ reject = rej;
10
+ }),
11
+ resolve,
12
+ reject
13
+ };
38
14
  };
39
- var sleep = (ms, { signal } = {}) => {
40
- const deferred = deferredPromise();
41
- const timeout = setTimeout(deferred.resolve, ms);
42
- if (signal) {
43
- const abort = () => {
44
- clearTimeout(timeout);
45
- deferred.resolve();
46
- };
47
- signal.addEventListener("abort", abort);
48
- deferred.promise = deferred.promise.finally(() => {
49
- signal.removeEventListener("abort", abort);
50
- });
51
- }
52
- return deferred.promise;
15
+ const sleep = (ms, { signal } = {}) => {
16
+ const deferred = deferredPromise();
17
+ const timeout = setTimeout(deferred.resolve, ms);
18
+ if (signal) {
19
+ const abort = () => {
20
+ clearTimeout(timeout);
21
+ deferred.resolve();
22
+ };
23
+ signal.addEventListener("abort", abort);
24
+ deferred.promise = deferred.promise.finally(() => {
25
+ signal.removeEventListener("abort", abort);
26
+ });
27
+ }
28
+ return deferred.promise;
53
29
  };
54
30
  var Queue = class {
55
- constructor(debounce) {
56
- this.debounce = debounce;
57
- }
58
- promise = Promise.resolve();
59
- enqueue(fn, ...args) {
60
- return new Promise((resolve, reject) => {
61
- this.promise = this.promise.then(async () => {
62
- const sleepPromise = this.debounce ? sleep(this.debounce) : Promise.resolve();
63
- await Promise.all([fn(...args).then(resolve, reject), sleepPromise]);
64
- });
65
- });
66
- }
31
+ promise = Promise.resolve();
32
+ constructor(debounce) {
33
+ this.debounce = debounce;
34
+ }
35
+ enqueue(fn, ...args) {
36
+ return new Promise((resolve, reject) => {
37
+ this.promise = this.promise.then(async () => {
38
+ const sleepPromise = this.debounce ? sleep(this.debounce) : Promise.resolve();
39
+ await Promise.all([fn(...args).then(resolve, reject), sleepPromise]);
40
+ });
41
+ });
42
+ }
67
43
  };
68
44
  var RateLimiter = class {
69
- fn;
70
- debounce;
71
- queues;
72
- index = 0;
73
- constructor(opts) {
74
- this.fn = opts.fn;
75
- this.debounce = opts.debounce;
76
- this.queues = Array.from({ length: opts.maxConcurrency }, () => new Queue(this.debounce));
77
- }
78
- request(...args) {
79
- const nextIndex = this.index;
80
- this.index = (this.index + 1) % this.queues.length;
81
- return this.queues[nextIndex].enqueue(this.fn, ...args);
82
- }
45
+ fn;
46
+ debounce;
47
+ queues;
48
+ index = 0;
49
+ constructor(opts) {
50
+ this.fn = opts.fn;
51
+ this.debounce = opts.debounce;
52
+ this.queues = Array.from({ length: opts.maxConcurrency }, () => new Queue(this.debounce));
53
+ }
54
+ request(...args) {
55
+ const nextIndex = this.index;
56
+ this.index = (this.index + 1) % this.queues.length;
57
+ return this.queues[nextIndex].enqueue(this.fn, ...args);
58
+ }
83
59
  };
84
- var once = async (target, event, opts) => {
85
- const deferred = deferredPromise();
86
- const onSuccess = () => {
87
- target.removeEventListener("error", onError);
88
- deferred.resolve();
89
- };
90
- const onError = () => {
91
- target.removeEventListener(event, onSuccess);
92
- deferred.reject(new Error("error"));
93
- };
94
- target.addEventListener(event, onSuccess, { once: true, signal: opts?.signal });
95
- target.addEventListener("error", onError, { once: true, signal: opts?.signal });
96
- if (opts?.signal) {
97
- const { signal } = opts;
98
- const abort = () => {
99
- deferred.reject(new Error("aborted"));
100
- };
101
- signal.addEventListener("abort", abort);
102
- deferred.promise = deferred.promise.finally(() => {
103
- signal.removeEventListener("abort", abort);
104
- });
105
- }
106
- if (opts?.timeout) {
107
- const timer = setTimeout(() => {
108
- deferred.reject(new Error("timeout"));
109
- }, opts.timeout);
110
- deferred.promise = deferred.promise.finally(() => {
111
- clearTimeout(timer);
112
- });
113
- }
114
- await deferred.promise;
60
+ const once = async (target, event, opts) => {
61
+ const deferred = deferredPromise();
62
+ const onSuccess = () => {
63
+ target.removeEventListener("error", onError);
64
+ deferred.resolve();
65
+ };
66
+ const onError = () => {
67
+ target.removeEventListener(event, onSuccess);
68
+ deferred.reject(/* @__PURE__ */ new Error("error"));
69
+ };
70
+ target.addEventListener(event, onSuccess, {
71
+ once: true,
72
+ signal: opts?.signal
73
+ });
74
+ target.addEventListener("error", onError, {
75
+ once: true,
76
+ signal: opts?.signal
77
+ });
78
+ if (opts?.signal) {
79
+ const { signal } = opts;
80
+ const abort = () => {
81
+ deferred.reject(/* @__PURE__ */ new Error("aborted"));
82
+ };
83
+ signal.addEventListener("abort", abort);
84
+ deferred.promise = deferred.promise.finally(() => {
85
+ signal.removeEventListener("abort", abort);
86
+ });
87
+ }
88
+ if (opts?.timeout) {
89
+ const timer = setTimeout(() => {
90
+ deferred.reject(/* @__PURE__ */ new Error("timeout"));
91
+ }, opts.timeout);
92
+ deferred.promise = deferred.promise.finally(() => {
93
+ clearTimeout(timer);
94
+ });
95
+ }
96
+ await deferred.promise;
115
97
  };
116
- // Annotate the CommonJS export names for ESM import in node:
117
- 0 && (module.exports = {
118
- Queue,
119
- RateLimiter,
120
- deferredPromise,
121
- once,
122
- sleep
123
- });
98
+
99
+ //#endregion
100
+ exports.Queue = Queue;
101
+ exports.RateLimiter = RateLimiter;
102
+ exports.deferredPromise = deferredPromise;
103
+ exports.once = once;
104
+ exports.sleep = sleep;
package/dist/async.d.ts CHANGED
@@ -1,33 +1,36 @@
1
+ //#region src/async.d.ts
1
2
  declare const deferredPromise: <T>() => {
2
- promise: Promise<T>;
3
- resolve: (value: T) => void;
4
- reject: (error: Error) => void;
3
+ promise: Promise<T>;
4
+ resolve: (value: T) => void;
5
+ reject: (error: Error) => void;
5
6
  };
6
7
  type DeferredPromise<T> = ReturnType<typeof deferredPromise<T>>;
7
- declare const sleep: (ms: number, { signal }?: {
8
- signal?: AbortSignal;
8
+ declare const sleep: (ms: number, {
9
+ signal
10
+ }?: {
11
+ signal?: AbortSignal;
9
12
  }) => Promise<void>;
10
13
  declare class Queue {
11
- private readonly debounce?;
12
- private promise;
13
- constructor(debounce?: number | undefined);
14
- enqueue<T, Args extends unknown[]>(fn: (...args: Args) => Promise<T>, ...args: Args): Promise<T>;
14
+ private readonly debounce?;
15
+ private promise;
16
+ constructor(debounce?: number | undefined);
17
+ enqueue<T, Args extends unknown[]>(fn: (...args: Args) => Promise<T>, ...args: Args): Promise<T>;
15
18
  }
16
19
  declare class RateLimiter<T, Args extends unknown[]> {
20
+ fn: (...args: Args) => Promise<T>;
21
+ debounce: number;
22
+ queues: Queue[];
23
+ index: number;
24
+ constructor(opts: {
17
25
  fn: (...args: Args) => Promise<T>;
18
26
  debounce: number;
19
- queues: Queue[];
20
- index: number;
21
- constructor(opts: {
22
- fn: (...args: Args) => Promise<T>;
23
- debounce: number;
24
- maxConcurrency: number;
25
- });
26
- request(...args: Args): Promise<T>;
27
+ maxConcurrency: number;
28
+ });
29
+ request(...args: Args): Promise<T>;
27
30
  }
28
31
  declare const once: (target: EventTarget, event: string, opts?: {
29
- signal?: AbortSignal;
30
- timeout?: number;
32
+ signal?: AbortSignal;
33
+ timeout?: number;
31
34
  }) => Promise<void>;
32
-
33
- export { type DeferredPromise, Queue, RateLimiter, deferredPromise, once, sleep };
35
+ //#endregion
36
+ export { DeferredPromise, Queue, RateLimiter, deferredPromise, once, sleep };