@metamask/polling-controller 9.0.1 → 10.0.1
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/CHANGELOG.md +30 -1
- package/dist/AbstractPollingController.cjs +87 -0
- package/dist/AbstractPollingController.cjs.map +1 -0
- package/dist/{types/AbstractPollingController.d.ts → AbstractPollingController.d.cts} +6 -6
- package/dist/AbstractPollingController.d.cts.map +1 -0
- package/dist/AbstractPollingController.d.mts +22 -0
- package/dist/AbstractPollingController.d.mts.map +1 -0
- package/dist/AbstractPollingController.mjs +84 -7
- package/dist/AbstractPollingController.mjs.map +1 -1
- package/dist/BlockTrackerPollingController.cjs +69 -0
- package/dist/BlockTrackerPollingController.cjs.map +1 -0
- package/dist/{types/BlockTrackerPollingController.d.ts → BlockTrackerPollingController.d.cts} +14 -14
- package/dist/BlockTrackerPollingController.d.cts.map +1 -0
- package/dist/BlockTrackerPollingController.d.mts +47 -0
- package/dist/BlockTrackerPollingController.d.mts.map +1 -0
- package/dist/BlockTrackerPollingController.mjs +64 -10
- package/dist/BlockTrackerPollingController.mjs.map +1 -1
- package/dist/StaticIntervalPollingController.cjs +79 -0
- package/dist/StaticIntervalPollingController.cjs.map +1 -0
- package/dist/{types/StaticIntervalPollingController.d.ts → StaticIntervalPollingController.d.cts} +17 -22
- package/dist/StaticIntervalPollingController.d.cts.map +1 -0
- package/dist/StaticIntervalPollingController.d.mts +53 -0
- package/dist/StaticIntervalPollingController.d.mts.map +1 -0
- package/dist/StaticIntervalPollingController.mjs +74 -10
- package/dist/StaticIntervalPollingController.mjs.map +1 -1
- package/dist/index.cjs +12 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +4 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +2 -19
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs +3 -0
- package/dist/types.cjs.map +1 -0
- package/dist/{types/types.d.ts → types.d.cts} +3 -3
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +22 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +1 -0
- package/dist/types.mjs.map +1 -1
- package/package.json +18 -12
- package/dist/AbstractPollingController.js +0 -9
- package/dist/AbstractPollingController.js.map +0 -1
- package/dist/BlockTrackerPollingController.js +0 -12
- package/dist/BlockTrackerPollingController.js.map +0 -1
- package/dist/StaticIntervalPollingController.js +0 -12
- package/dist/StaticIntervalPollingController.js.map +0 -1
- package/dist/chunk-E2WT3D73.mjs +0 -94
- package/dist/chunk-E2WT3D73.mjs.map +0 -1
- package/dist/chunk-JCXUPRTT.js +0 -94
- package/dist/chunk-JCXUPRTT.js.map +0 -1
- package/dist/chunk-JVLLYBTK.js +0 -69
- package/dist/chunk-JVLLYBTK.js.map +0 -1
- package/dist/chunk-L32FFEZO.mjs +0 -71
- package/dist/chunk-L32FFEZO.mjs.map +0 -1
- package/dist/chunk-RD6EX3RW.js +0 -71
- package/dist/chunk-RD6EX3RW.js.map +0 -1
- package/dist/chunk-YETJAOVF.mjs +0 -69
- package/dist/chunk-YETJAOVF.mjs.map +0 -1
- package/dist/index.js +0 -20
- package/dist/index.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/types/AbstractPollingController.d.ts.map +0 -1
- package/dist/types/BlockTrackerPollingController.d.ts.map +0 -1
- package/dist/types/StaticIntervalPollingController.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +0 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.StaticIntervalPollingControllerV1 = exports.StaticIntervalPollingController = exports.StaticIntervalPollingControllerOnly = void 0;
|
|
15
|
+
const base_controller_1 = require("@metamask/base-controller");
|
|
16
|
+
const AbstractPollingController_1 = require("./AbstractPollingController.cjs");
|
|
17
|
+
/**
|
|
18
|
+
* StaticIntervalPollingControllerMixin
|
|
19
|
+
* A polling controller that polls on a static interval.
|
|
20
|
+
*
|
|
21
|
+
* @param Base - The base class to mix onto.
|
|
22
|
+
* @returns The composed class.
|
|
23
|
+
*/
|
|
24
|
+
// TODO: Either fix this lint violation or explain why it's necessary to ignore.
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
26
|
+
function StaticIntervalPollingControllerMixin(Base) {
|
|
27
|
+
var _StaticIntervalPollingController_intervalIds, _StaticIntervalPollingController_intervalLength;
|
|
28
|
+
class StaticIntervalPollingController extends (0, AbstractPollingController_1.AbstractPollingControllerBaseMixin)(Base) {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
_StaticIntervalPollingController_intervalIds.set(this, {});
|
|
32
|
+
_StaticIntervalPollingController_intervalLength.set(this, 1000);
|
|
33
|
+
}
|
|
34
|
+
setIntervalLength(intervalLength) {
|
|
35
|
+
__classPrivateFieldSet(this, _StaticIntervalPollingController_intervalLength, intervalLength, "f");
|
|
36
|
+
}
|
|
37
|
+
getIntervalLength() {
|
|
38
|
+
return __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalLength, "f");
|
|
39
|
+
}
|
|
40
|
+
_startPollingByNetworkClientId(networkClientId, options) {
|
|
41
|
+
if (!__classPrivateFieldGet(this, _StaticIntervalPollingController_intervalLength, "f")) {
|
|
42
|
+
throw new Error('intervalLength must be defined and greater than 0');
|
|
43
|
+
}
|
|
44
|
+
const key = (0, AbstractPollingController_1.getKey)(networkClientId, options);
|
|
45
|
+
const existingInterval = __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key];
|
|
46
|
+
this._stopPollingByPollingTokenSetId(key);
|
|
47
|
+
// eslint-disable-next-line no-multi-assign
|
|
48
|
+
const intervalId = (__classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key] = setTimeout(
|
|
49
|
+
// TODO: Either fix this lint violation or explain why it's necessary to ignore.
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
51
|
+
async () => {
|
|
52
|
+
try {
|
|
53
|
+
await this._executePoll(networkClientId, options);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error(error);
|
|
57
|
+
}
|
|
58
|
+
if (intervalId === __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key]) {
|
|
59
|
+
this._startPollingByNetworkClientId(networkClientId, options);
|
|
60
|
+
}
|
|
61
|
+
}, existingInterval ? __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalLength, "f") : 0));
|
|
62
|
+
}
|
|
63
|
+
_stopPollingByPollingTokenSetId(key) {
|
|
64
|
+
const intervalId = __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key];
|
|
65
|
+
if (intervalId) {
|
|
66
|
+
clearTimeout(intervalId);
|
|
67
|
+
delete __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
_StaticIntervalPollingController_intervalIds = new WeakMap(), _StaticIntervalPollingController_intervalLength = new WeakMap();
|
|
72
|
+
return StaticIntervalPollingController;
|
|
73
|
+
}
|
|
74
|
+
class Empty {
|
|
75
|
+
}
|
|
76
|
+
exports.StaticIntervalPollingControllerOnly = StaticIntervalPollingControllerMixin(Empty);
|
|
77
|
+
exports.StaticIntervalPollingController = StaticIntervalPollingControllerMixin(base_controller_1.BaseController);
|
|
78
|
+
exports.StaticIntervalPollingControllerV1 = StaticIntervalPollingControllerMixin(base_controller_1.BaseControllerV1);
|
|
79
|
+
//# sourceMappingURL=StaticIntervalPollingController.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.cjs","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA6E;AAI7E,+EAGqC;AAOrC;;;;;;GAMG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,SAAS,oCAAoC,CAC3C,IAAW;;IAEX,MAAe,+BACb,SAAQ,IAAA,8DAAkC,EAAC,IAAI,CAAC;QADlD;;YAIW,uDAA0D,EAAE,EAAC;YAEtE,0DAAsC,IAAI,EAAC;QA+C7C,CAAC;QA7CC,iBAAiB,CAAC,cAAsB;YACtC,uBAAA,IAAI,mDAAmB,cAAc,MAAA,CAAC;QACxC,CAAC;QAED,iBAAiB;YACf,OAAO,uBAAA,IAAI,uDAAgB,CAAC;QAC9B,CAAC;QAED,8BAA8B,CAC5B,eAAgC,EAChC,OAAa;YAEb,IAAI,CAAC,uBAAA,IAAI,uDAAgB,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACtE;YAED,MAAM,GAAG,GAAG,IAAA,kCAAM,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,gBAAgB,GAAG,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;YAE1C,2CAA2C;YAC3C,MAAM,UAAU,GAAG,CAAC,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,GAAG,UAAU;YACrD,gFAAgF;YAChF,kEAAkE;YAClE,KAAK,IAAI,EAAE;gBACT,IAAI;oBACF,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBACnD;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,IAAI,UAAU,KAAK,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,EAAE;oBACzC,IAAI,CAAC,8BAA8B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBAC/D;YACH,CAAC,EACD,gBAAgB,CAAC,CAAC,CAAC,uBAAA,IAAI,uDAAgB,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B,CAAC,GAAsB;YACpD,MAAM,UAAU,GAAG,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,UAAU,EAAE;gBACd,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzB,OAAO,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,CAAC;aAC/B;QACH,CAAC;KACF;;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,MAAM,KAAK;CAAG;AAED,QAAA,mCAAmC,GAC9C,oCAAoC,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,+BAA+B,GAC1C,oCAAoC,CAAC,gCAAc,CAAC,CAAC;AAC1C,QAAA,iCAAiC,GAC5C,oCAAoC,CAAC,kCAAgB,CAAC,CAAC","sourcesContent":["import { BaseController, BaseControllerV1 } from '@metamask/base-controller';\nimport type { NetworkClientId } from '@metamask/network-controller';\nimport type { Json } from '@metamask/utils';\n\nimport {\n AbstractPollingControllerBaseMixin,\n getKey,\n} from './AbstractPollingController';\nimport type {\n Constructor,\n IPollingController,\n PollingTokenSetId,\n} from './types';\n\n/**\n * StaticIntervalPollingControllerMixin\n * A polling controller that polls on a static interval.\n *\n * @param Base - The base class to mix onto.\n * @returns The composed class.\n */\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction StaticIntervalPollingControllerMixin<TBase extends Constructor>(\n Base: TBase,\n) {\n abstract class StaticIntervalPollingController\n extends AbstractPollingControllerBaseMixin(Base)\n implements IPollingController\n {\n readonly #intervalIds: Record<PollingTokenSetId, NodeJS.Timeout> = {};\n\n #intervalLength: number | undefined = 1000;\n\n setIntervalLength(intervalLength: number) {\n this.#intervalLength = intervalLength;\n }\n\n getIntervalLength() {\n return this.#intervalLength;\n }\n\n _startPollingByNetworkClientId(\n networkClientId: NetworkClientId,\n options: Json,\n ) {\n if (!this.#intervalLength) {\n throw new Error('intervalLength must be defined and greater than 0');\n }\n\n const key = getKey(networkClientId, options);\n const existingInterval = this.#intervalIds[key];\n this._stopPollingByPollingTokenSetId(key);\n\n // eslint-disable-next-line no-multi-assign\n const intervalId = (this.#intervalIds[key] = setTimeout(\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n async () => {\n try {\n await this._executePoll(networkClientId, options);\n } catch (error) {\n console.error(error);\n }\n if (intervalId === this.#intervalIds[key]) {\n this._startPollingByNetworkClientId(networkClientId, options);\n }\n },\n existingInterval ? this.#intervalLength : 0,\n ));\n }\n\n _stopPollingByPollingTokenSetId(key: PollingTokenSetId) {\n const intervalId = this.#intervalIds[key];\n if (intervalId) {\n clearTimeout(intervalId);\n delete this.#intervalIds[key];\n }\n }\n }\n\n return StaticIntervalPollingController;\n}\n\nclass Empty {}\n\nexport const StaticIntervalPollingControllerOnly =\n StaticIntervalPollingControllerMixin(Empty);\nexport const StaticIntervalPollingController =\n StaticIntervalPollingControllerMixin(BaseController);\nexport const StaticIntervalPollingControllerV1 =\n StaticIntervalPollingControllerMixin(BaseControllerV1);\n"]}
|
package/dist/{types/StaticIntervalPollingController.d.ts → StaticIntervalPollingController.d.cts}
RENAMED
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/// <reference types="node" />
|
|
6
|
-
import { BaseController, BaseControllerV1 } from '@metamask/base-controller';
|
|
7
|
-
import type { NetworkClientId } from '@metamask/network-controller';
|
|
8
|
-
import type { Json } from '@metamask/utils';
|
|
9
|
-
import type { PollingTokenSetId } from './types';
|
|
1
|
+
import { BaseController, BaseControllerV1 } from "@metamask/base-controller";
|
|
2
|
+
import type { NetworkClientId } from "@metamask/network-controller";
|
|
3
|
+
import type { Json } from "@metamask/utils";
|
|
4
|
+
import type { PollingTokenSetId } from "./types.cjs";
|
|
10
5
|
declare class Empty {
|
|
11
6
|
}
|
|
12
7
|
export declare const StaticIntervalPollingControllerOnly: (abstract new (...args: any[]) => {
|
|
13
|
-
readonly "__#
|
|
14
|
-
"__#
|
|
8
|
+
readonly "__#786019@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
9
|
+
"__#786019@#intervalLength": number | undefined;
|
|
15
10
|
setIntervalLength(intervalLength: number): void;
|
|
16
11
|
getIntervalLength(): number | undefined;
|
|
17
12
|
_startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): void;
|
|
18
13
|
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
19
|
-
readonly "__#
|
|
20
|
-
"__#
|
|
14
|
+
readonly "__#786017@#pollingTokenSets": Map<`${string}:${string}`, Set<string>>;
|
|
15
|
+
"__#786017@#callbacks": Map<`${string}:${string}`, Set<(PollingTokenSetId: `${string}:${string}`) => void>>;
|
|
21
16
|
_executePoll(networkClientId: string, options: Json): Promise<void>;
|
|
22
17
|
startPollingByNetworkClientId(networkClientId: string, options?: Json): string;
|
|
23
18
|
stopAllPolling(): void;
|
|
@@ -25,14 +20,14 @@ export declare const StaticIntervalPollingControllerOnly: (abstract new (...args
|
|
|
25
20
|
onPollingCompleteByNetworkClientId(networkClientId: string, callback: (networkClientId: string) => void, options?: Json): void;
|
|
26
21
|
}) & typeof Empty;
|
|
27
22
|
export declare const StaticIntervalPollingController: (abstract new (...args: any[]) => {
|
|
28
|
-
readonly "__#
|
|
29
|
-
"__#
|
|
23
|
+
readonly "__#786019@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
24
|
+
"__#786019@#intervalLength": number | undefined;
|
|
30
25
|
setIntervalLength(intervalLength: number): void;
|
|
31
26
|
getIntervalLength(): number | undefined;
|
|
32
27
|
_startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): void;
|
|
33
28
|
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
34
|
-
readonly "__#
|
|
35
|
-
"__#
|
|
29
|
+
readonly "__#786017@#pollingTokenSets": Map<`${string}:${string}`, Set<string>>;
|
|
30
|
+
"__#786017@#callbacks": Map<`${string}:${string}`, Set<(PollingTokenSetId: `${string}:${string}`) => void>>;
|
|
36
31
|
_executePoll(networkClientId: string, options: Json): Promise<void>;
|
|
37
32
|
startPollingByNetworkClientId(networkClientId: string, options?: Json): string;
|
|
38
33
|
stopAllPolling(): void;
|
|
@@ -40,14 +35,14 @@ export declare const StaticIntervalPollingController: (abstract new (...args: an
|
|
|
40
35
|
onPollingCompleteByNetworkClientId(networkClientId: string, callback: (networkClientId: string) => void, options?: Json): void;
|
|
41
36
|
}) & typeof BaseController;
|
|
42
37
|
export declare const StaticIntervalPollingControllerV1: (abstract new (...args: any[]) => {
|
|
43
|
-
readonly "__#
|
|
44
|
-
"__#
|
|
38
|
+
readonly "__#786019@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
39
|
+
"__#786019@#intervalLength": number | undefined;
|
|
45
40
|
setIntervalLength(intervalLength: number): void;
|
|
46
41
|
getIntervalLength(): number | undefined;
|
|
47
42
|
_startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): void;
|
|
48
43
|
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
49
|
-
readonly "__#
|
|
50
|
-
"__#
|
|
44
|
+
readonly "__#786017@#pollingTokenSets": Map<`${string}:${string}`, Set<string>>;
|
|
45
|
+
"__#786017@#callbacks": Map<`${string}:${string}`, Set<(PollingTokenSetId: `${string}:${string}`) => void>>;
|
|
51
46
|
_executePoll(networkClientId: string, options: Json): Promise<void>;
|
|
52
47
|
startPollingByNetworkClientId(networkClientId: string, options?: Json): string;
|
|
53
48
|
stopAllPolling(): void;
|
|
@@ -55,4 +50,4 @@ export declare const StaticIntervalPollingControllerV1: (abstract new (...args:
|
|
|
55
50
|
onPollingCompleteByNetworkClientId(networkClientId: string, callback: (networkClientId: string) => void, options?: Json): void;
|
|
56
51
|
}) & typeof BaseControllerV1;
|
|
57
52
|
export {};
|
|
58
|
-
//# sourceMappingURL=StaticIntervalPollingController.d.
|
|
53
|
+
//# sourceMappingURL=StaticIntervalPollingController.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.d.cts","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kCAAkC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,qCAAqC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAGV,iBAAiB,EAClB,oBAAgB;AAwEjB,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,mCAAmC;uCAxDrB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;oDASrB,eAAe,WACvB,IAAI;yCA4BsB,iBAAiB;;;;;;;;iBAeb,CAAC;AAC9C,eAAO,MAAM,+BAA+B;uCA1DjB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;oDASrB,eAAe,WACvB,IAAI;yCA4BsB,iBAAiB;;;;;;;;0BAiBJ,CAAC;AACvD,eAAO,MAAM,iCAAiC;uCA5DnB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;oDASrB,eAAe,WACvB,IAAI;yCA4BsB,iBAAiB;;;;;;;;4BAmBF,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { BaseController, BaseControllerV1 } from "@metamask/base-controller";
|
|
2
|
+
import type { NetworkClientId } from "@metamask/network-controller";
|
|
3
|
+
import type { Json } from "@metamask/utils";
|
|
4
|
+
import type { PollingTokenSetId } from "./types.mjs";
|
|
5
|
+
declare class Empty {
|
|
6
|
+
}
|
|
7
|
+
export declare const StaticIntervalPollingControllerOnly: (abstract new (...args: any[]) => {
|
|
8
|
+
readonly "__#786019@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
9
|
+
"__#786019@#intervalLength": number | undefined;
|
|
10
|
+
setIntervalLength(intervalLength: number): void;
|
|
11
|
+
getIntervalLength(): number | undefined;
|
|
12
|
+
_startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): void;
|
|
13
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
14
|
+
readonly "__#786017@#pollingTokenSets": Map<`${string}:${string}`, Set<string>>;
|
|
15
|
+
"__#786017@#callbacks": Map<`${string}:${string}`, Set<(PollingTokenSetId: `${string}:${string}`) => void>>;
|
|
16
|
+
_executePoll(networkClientId: string, options: Json): Promise<void>;
|
|
17
|
+
startPollingByNetworkClientId(networkClientId: string, options?: Json): string;
|
|
18
|
+
stopAllPolling(): void;
|
|
19
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
20
|
+
onPollingCompleteByNetworkClientId(networkClientId: string, callback: (networkClientId: string) => void, options?: Json): void;
|
|
21
|
+
}) & typeof Empty;
|
|
22
|
+
export declare const StaticIntervalPollingController: (abstract new (...args: any[]) => {
|
|
23
|
+
readonly "__#786019@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
24
|
+
"__#786019@#intervalLength": number | undefined;
|
|
25
|
+
setIntervalLength(intervalLength: number): void;
|
|
26
|
+
getIntervalLength(): number | undefined;
|
|
27
|
+
_startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): void;
|
|
28
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
29
|
+
readonly "__#786017@#pollingTokenSets": Map<`${string}:${string}`, Set<string>>;
|
|
30
|
+
"__#786017@#callbacks": Map<`${string}:${string}`, Set<(PollingTokenSetId: `${string}:${string}`) => void>>;
|
|
31
|
+
_executePoll(networkClientId: string, options: Json): Promise<void>;
|
|
32
|
+
startPollingByNetworkClientId(networkClientId: string, options?: Json): string;
|
|
33
|
+
stopAllPolling(): void;
|
|
34
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
35
|
+
onPollingCompleteByNetworkClientId(networkClientId: string, callback: (networkClientId: string) => void, options?: Json): void;
|
|
36
|
+
}) & typeof BaseController;
|
|
37
|
+
export declare const StaticIntervalPollingControllerV1: (abstract new (...args: any[]) => {
|
|
38
|
+
readonly "__#786019@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
39
|
+
"__#786019@#intervalLength": number | undefined;
|
|
40
|
+
setIntervalLength(intervalLength: number): void;
|
|
41
|
+
getIntervalLength(): number | undefined;
|
|
42
|
+
_startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): void;
|
|
43
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
44
|
+
readonly "__#786017@#pollingTokenSets": Map<`${string}:${string}`, Set<string>>;
|
|
45
|
+
"__#786017@#callbacks": Map<`${string}:${string}`, Set<(PollingTokenSetId: `${string}:${string}`) => void>>;
|
|
46
|
+
_executePoll(networkClientId: string, options: Json): Promise<void>;
|
|
47
|
+
startPollingByNetworkClientId(networkClientId: string, options?: Json): string;
|
|
48
|
+
stopAllPolling(): void;
|
|
49
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
50
|
+
onPollingCompleteByNetworkClientId(networkClientId: string, callback: (networkClientId: string) => void, options?: Json): void;
|
|
51
|
+
}) & typeof BaseControllerV1;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=StaticIntervalPollingController.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.d.mts","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kCAAkC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,qCAAqC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAGV,iBAAiB,EAClB,oBAAgB;AAwEjB,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,mCAAmC;uCAxDrB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;oDASrB,eAAe,WACvB,IAAI;yCA4BsB,iBAAiB;;;;;;;;iBAeb,CAAC;AAC9C,eAAO,MAAM,+BAA+B;uCA1DjB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;oDASrB,eAAe,WACvB,IAAI;yCA4BsB,iBAAiB;;;;;;;;0BAiBJ,CAAC;AACvD,eAAO,MAAM,iCAAiC;uCA5DnB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;oDASrB,eAAe,WACvB,IAAI;yCA4BsB,iBAAiB;;;;;;;;4BAmBF,CAAC"}
|
|
@@ -1,12 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import "./chunk-E2WT3D73.mjs";
|
|
7
|
-
export {
|
|
8
|
-
StaticIntervalPollingController,
|
|
9
|
-
StaticIntervalPollingControllerOnly,
|
|
10
|
-
StaticIntervalPollingControllerV1
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
6
|
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
import { BaseController, BaseControllerV1 } from "@metamask/base-controller";
|
|
13
|
+
import { AbstractPollingControllerBaseMixin, getKey } from "./AbstractPollingController.mjs";
|
|
14
|
+
/**
|
|
15
|
+
* StaticIntervalPollingControllerMixin
|
|
16
|
+
* A polling controller that polls on a static interval.
|
|
17
|
+
*
|
|
18
|
+
* @param Base - The base class to mix onto.
|
|
19
|
+
* @returns The composed class.
|
|
20
|
+
*/
|
|
21
|
+
// TODO: Either fix this lint violation or explain why it's necessary to ignore.
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
23
|
+
function StaticIntervalPollingControllerMixin(Base) {
|
|
24
|
+
var _StaticIntervalPollingController_intervalIds, _StaticIntervalPollingController_intervalLength;
|
|
25
|
+
class StaticIntervalPollingController extends AbstractPollingControllerBaseMixin(Base) {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
_StaticIntervalPollingController_intervalIds.set(this, {});
|
|
29
|
+
_StaticIntervalPollingController_intervalLength.set(this, 1000);
|
|
30
|
+
}
|
|
31
|
+
setIntervalLength(intervalLength) {
|
|
32
|
+
__classPrivateFieldSet(this, _StaticIntervalPollingController_intervalLength, intervalLength, "f");
|
|
33
|
+
}
|
|
34
|
+
getIntervalLength() {
|
|
35
|
+
return __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalLength, "f");
|
|
36
|
+
}
|
|
37
|
+
_startPollingByNetworkClientId(networkClientId, options) {
|
|
38
|
+
if (!__classPrivateFieldGet(this, _StaticIntervalPollingController_intervalLength, "f")) {
|
|
39
|
+
throw new Error('intervalLength must be defined and greater than 0');
|
|
40
|
+
}
|
|
41
|
+
const key = getKey(networkClientId, options);
|
|
42
|
+
const existingInterval = __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key];
|
|
43
|
+
this._stopPollingByPollingTokenSetId(key);
|
|
44
|
+
// eslint-disable-next-line no-multi-assign
|
|
45
|
+
const intervalId = (__classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key] = setTimeout(
|
|
46
|
+
// TODO: Either fix this lint violation or explain why it's necessary to ignore.
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
48
|
+
async () => {
|
|
49
|
+
try {
|
|
50
|
+
await this._executePoll(networkClientId, options);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
console.error(error);
|
|
54
|
+
}
|
|
55
|
+
if (intervalId === __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key]) {
|
|
56
|
+
this._startPollingByNetworkClientId(networkClientId, options);
|
|
57
|
+
}
|
|
58
|
+
}, existingInterval ? __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalLength, "f") : 0));
|
|
59
|
+
}
|
|
60
|
+
_stopPollingByPollingTokenSetId(key) {
|
|
61
|
+
const intervalId = __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key];
|
|
62
|
+
if (intervalId) {
|
|
63
|
+
clearTimeout(intervalId);
|
|
64
|
+
delete __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
_StaticIntervalPollingController_intervalIds = new WeakMap(), _StaticIntervalPollingController_intervalLength = new WeakMap();
|
|
69
|
+
return StaticIntervalPollingController;
|
|
70
|
+
}
|
|
71
|
+
class Empty {
|
|
72
|
+
}
|
|
73
|
+
export const StaticIntervalPollingControllerOnly = StaticIntervalPollingControllerMixin(Empty);
|
|
74
|
+
export const StaticIntervalPollingController = StaticIntervalPollingControllerMixin(BaseController);
|
|
75
|
+
export const StaticIntervalPollingControllerV1 = StaticIntervalPollingControllerMixin(BaseControllerV1);
|
|
12
76
|
//# sourceMappingURL=StaticIntervalPollingController.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.mjs","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kCAAkC;AAI7E,OAAO,EACL,kCAAkC,EAClC,MAAM,EACP,wCAAoC;AAOrC;;;;;;GAMG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,SAAS,oCAAoC,CAC3C,IAAW;;IAEX,MAAe,+BACb,SAAQ,kCAAkC,CAAC,IAAI,CAAC;QADlD;;YAIW,uDAA0D,EAAE,EAAC;YAEtE,0DAAsC,IAAI,EAAC;QA+C7C,CAAC;QA7CC,iBAAiB,CAAC,cAAsB;YACtC,uBAAA,IAAI,mDAAmB,cAAc,MAAA,CAAC;QACxC,CAAC;QAED,iBAAiB;YACf,OAAO,uBAAA,IAAI,uDAAgB,CAAC;QAC9B,CAAC;QAED,8BAA8B,CAC5B,eAAgC,EAChC,OAAa;YAEb,IAAI,CAAC,uBAAA,IAAI,uDAAgB,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACtE;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,gBAAgB,GAAG,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;YAE1C,2CAA2C;YAC3C,MAAM,UAAU,GAAG,CAAC,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,GAAG,UAAU;YACrD,gFAAgF;YAChF,kEAAkE;YAClE,KAAK,IAAI,EAAE;gBACT,IAAI;oBACF,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBACnD;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,IAAI,UAAU,KAAK,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,EAAE;oBACzC,IAAI,CAAC,8BAA8B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBAC/D;YACH,CAAC,EACD,gBAAgB,CAAC,CAAC,CAAC,uBAAA,IAAI,uDAAgB,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B,CAAC,GAAsB;YACpD,MAAM,UAAU,GAAG,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,UAAU,EAAE;gBACd,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzB,OAAO,uBAAA,IAAI,oDAAa,CAAC,GAAG,CAAC,CAAC;aAC/B;QACH,CAAC;KACF;;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,MAAM,KAAK;CAAG;AAEd,MAAM,CAAC,MAAM,mCAAmC,GAC9C,oCAAoC,CAAC,KAAK,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,+BAA+B,GAC1C,oCAAoC,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,iCAAiC,GAC5C,oCAAoC,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { BaseController, BaseControllerV1 } from '@metamask/base-controller';\nimport type { NetworkClientId } from '@metamask/network-controller';\nimport type { Json } from '@metamask/utils';\n\nimport {\n AbstractPollingControllerBaseMixin,\n getKey,\n} from './AbstractPollingController';\nimport type {\n Constructor,\n IPollingController,\n PollingTokenSetId,\n} from './types';\n\n/**\n * StaticIntervalPollingControllerMixin\n * A polling controller that polls on a static interval.\n *\n * @param Base - The base class to mix onto.\n * @returns The composed class.\n */\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction StaticIntervalPollingControllerMixin<TBase extends Constructor>(\n Base: TBase,\n) {\n abstract class StaticIntervalPollingController\n extends AbstractPollingControllerBaseMixin(Base)\n implements IPollingController\n {\n readonly #intervalIds: Record<PollingTokenSetId, NodeJS.Timeout> = {};\n\n #intervalLength: number | undefined = 1000;\n\n setIntervalLength(intervalLength: number) {\n this.#intervalLength = intervalLength;\n }\n\n getIntervalLength() {\n return this.#intervalLength;\n }\n\n _startPollingByNetworkClientId(\n networkClientId: NetworkClientId,\n options: Json,\n ) {\n if (!this.#intervalLength) {\n throw new Error('intervalLength must be defined and greater than 0');\n }\n\n const key = getKey(networkClientId, options);\n const existingInterval = this.#intervalIds[key];\n this._stopPollingByPollingTokenSetId(key);\n\n // eslint-disable-next-line no-multi-assign\n const intervalId = (this.#intervalIds[key] = setTimeout(\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n async () => {\n try {\n await this._executePoll(networkClientId, options);\n } catch (error) {\n console.error(error);\n }\n if (intervalId === this.#intervalIds[key]) {\n this._startPollingByNetworkClientId(networkClientId, options);\n }\n },\n existingInterval ? this.#intervalLength : 0,\n ));\n }\n\n _stopPollingByPollingTokenSetId(key: PollingTokenSetId) {\n const intervalId = this.#intervalIds[key];\n if (intervalId) {\n clearTimeout(intervalId);\n delete this.#intervalIds[key];\n }\n }\n }\n\n return StaticIntervalPollingController;\n}\n\nclass Empty {}\n\nexport const StaticIntervalPollingControllerOnly =\n StaticIntervalPollingControllerMixin(Empty);\nexport const StaticIntervalPollingController =\n StaticIntervalPollingControllerMixin(BaseController);\nexport const StaticIntervalPollingControllerV1 =\n StaticIntervalPollingControllerMixin(BaseControllerV1);\n"]}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StaticIntervalPollingControllerV1 = exports.StaticIntervalPollingController = exports.StaticIntervalPollingControllerOnly = exports.BlockTrackerPollingControllerV1 = exports.BlockTrackerPollingController = exports.BlockTrackerPollingControllerOnly = void 0;
|
|
4
|
+
var BlockTrackerPollingController_1 = require("./BlockTrackerPollingController.cjs");
|
|
5
|
+
Object.defineProperty(exports, "BlockTrackerPollingControllerOnly", { enumerable: true, get: function () { return BlockTrackerPollingController_1.BlockTrackerPollingControllerOnly; } });
|
|
6
|
+
Object.defineProperty(exports, "BlockTrackerPollingController", { enumerable: true, get: function () { return BlockTrackerPollingController_1.BlockTrackerPollingController; } });
|
|
7
|
+
Object.defineProperty(exports, "BlockTrackerPollingControllerV1", { enumerable: true, get: function () { return BlockTrackerPollingController_1.BlockTrackerPollingControllerV1; } });
|
|
8
|
+
var StaticIntervalPollingController_1 = require("./StaticIntervalPollingController.cjs");
|
|
9
|
+
Object.defineProperty(exports, "StaticIntervalPollingControllerOnly", { enumerable: true, get: function () { return StaticIntervalPollingController_1.StaticIntervalPollingControllerOnly; } });
|
|
10
|
+
Object.defineProperty(exports, "StaticIntervalPollingController", { enumerable: true, get: function () { return StaticIntervalPollingController_1.StaticIntervalPollingController; } });
|
|
11
|
+
Object.defineProperty(exports, "StaticIntervalPollingControllerV1", { enumerable: true, get: function () { return StaticIntervalPollingController_1.StaticIntervalPollingControllerV1; } });
|
|
12
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qFAIyC;AAHvC,kJAAA,iCAAiC,OAAA;AACjC,8IAAA,6BAA6B,OAAA;AAC7B,gJAAA,+BAA+B,OAAA;AAGjC,yFAI2C;AAHzC,sJAAA,mCAAmC,OAAA;AACnC,kJAAA,+BAA+B,OAAA;AAC/B,oJAAA,iCAAiC,OAAA","sourcesContent":["export {\n BlockTrackerPollingControllerOnly,\n BlockTrackerPollingController,\n BlockTrackerPollingControllerV1,\n} from './BlockTrackerPollingController';\n\nexport {\n StaticIntervalPollingControllerOnly,\n StaticIntervalPollingController,\n StaticIntervalPollingControllerV1,\n} from './StaticIntervalPollingController';\n\nexport type { IPollingController } from './types';\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController, BlockTrackerPollingControllerV1, } from "./BlockTrackerPollingController.cjs";
|
|
2
|
+
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController, StaticIntervalPollingControllerV1, } from "./StaticIntervalPollingController.cjs";
|
|
3
|
+
export type { IPollingController } from "./types.cjs";
|
|
4
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,+BAA+B,GAChC,4CAAwC;AAEzC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,8CAA0C;AAE3C,YAAY,EAAE,kBAAkB,EAAE,oBAAgB"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController, BlockTrackerPollingControllerV1, } from "./BlockTrackerPollingController.mjs";
|
|
2
|
+
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController, StaticIntervalPollingControllerV1, } from "./StaticIntervalPollingController.mjs";
|
|
3
|
+
export type { IPollingController } from "./types.mjs";
|
|
4
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,+BAA+B,GAChC,4CAAwC;AAEzC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,8CAA0C;AAE3C,YAAY,EAAE,kBAAkB,EAAE,oBAAgB"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
BlockTrackerPollingControllerOnly,
|
|
4
|
-
BlockTrackerPollingControllerV1
|
|
5
|
-
} from "./chunk-YETJAOVF.mjs";
|
|
6
|
-
import {
|
|
7
|
-
StaticIntervalPollingController,
|
|
8
|
-
StaticIntervalPollingControllerOnly,
|
|
9
|
-
StaticIntervalPollingControllerV1
|
|
10
|
-
} from "./chunk-L32FFEZO.mjs";
|
|
11
|
-
import "./chunk-E2WT3D73.mjs";
|
|
12
|
-
export {
|
|
13
|
-
BlockTrackerPollingController,
|
|
14
|
-
BlockTrackerPollingControllerOnly,
|
|
15
|
-
BlockTrackerPollingControllerV1,
|
|
16
|
-
StaticIntervalPollingController,
|
|
17
|
-
StaticIntervalPollingControllerOnly,
|
|
18
|
-
StaticIntervalPollingControllerV1
|
|
19
|
-
};
|
|
1
|
+
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController, BlockTrackerPollingControllerV1 } from "./BlockTrackerPollingController.mjs";
|
|
2
|
+
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController, StaticIntervalPollingControllerV1 } from "./StaticIntervalPollingController.mjs";
|
|
20
3
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,+BAA+B,EAChC,4CAAwC;AAEzC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,EAClC,8CAA0C","sourcesContent":["export {\n BlockTrackerPollingControllerOnly,\n BlockTrackerPollingController,\n BlockTrackerPollingControllerV1,\n} from './BlockTrackerPollingController';\n\nexport {\n StaticIntervalPollingControllerOnly,\n StaticIntervalPollingController,\n StaticIntervalPollingControllerV1,\n} from './StaticIntervalPollingController';\n\nexport type { IPollingController } from './types';\n"]}
|
package/dist/types.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { NetworkClientId } from '@metamask/network-controller';\nimport type { Json } from '@metamask/utils';\n\nexport type PollingTokenSetId = `${NetworkClientId}:${string}`;\n\nexport type IPollingController = {\n startPollingByNetworkClientId(\n networkClientId: NetworkClientId,\n options: Json,\n ): string;\n\n stopAllPolling(): void;\n\n stopPollingByPollingToken(pollingToken: string): void;\n\n onPollingCompleteByNetworkClientId(\n networkClientId: NetworkClientId,\n callback: (networkClientId: NetworkClientId) => void,\n options: Json,\n ): void;\n\n _executePoll(networkClientId: NetworkClientId, options: Json): Promise<void>;\n _startPollingByNetworkClientId(\n networkClientId: NetworkClientId,\n options: Json,\n ): void;\n _stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;\n};\n\n/**\n * TypeScript enforces this type for mixin constructors.\n *\n * Removing the `any` type results in the following error:\n * 'A mixin class must have a constructor with a single rest parameter of type 'any[]'.ts(2545)'\n *\n * A potential future refactor that removes the mixin pattern may be able to fix this.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Constructor = new (...args: any[]) => object;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { NetworkClientId } from
|
|
2
|
-
import type { Json } from
|
|
1
|
+
import type { NetworkClientId } from "@metamask/network-controller";
|
|
2
|
+
import type { Json } from "@metamask/utils";
|
|
3
3
|
export type PollingTokenSetId = `${NetworkClientId}:${string}`;
|
|
4
4
|
export type IPollingController = {
|
|
5
5
|
startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): string;
|
|
@@ -19,4 +19,4 @@ export type IPollingController = {
|
|
|
19
19
|
* A potential future refactor that removes the mixin pattern may be able to fix this.
|
|
20
20
|
*/
|
|
21
21
|
export type Constructor = new (...args: any[]) => object;
|
|
22
|
-
//# sourceMappingURL=types.d.
|
|
22
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,qCAAqC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C,MAAM,MAAM,iBAAiB,GAAG,GAAG,eAAe,IAAI,MAAM,EAAE,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6BAA6B,CAC3B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,IAAI,GACZ,MAAM,CAAC;IAEV,cAAc,IAAI,IAAI,CAAC;IAEvB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD,kCAAkC,CAChC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,EACpD,OAAO,EAAE,IAAI,GACZ,IAAI,CAAC;IAER,YAAY,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,8BAA8B,CAC5B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,IAAI,GACZ,IAAI,CAAC;IACR,+BAA+B,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC"}
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { NetworkClientId } from "@metamask/network-controller";
|
|
2
|
+
import type { Json } from "@metamask/utils";
|
|
3
|
+
export type PollingTokenSetId = `${NetworkClientId}:${string}`;
|
|
4
|
+
export type IPollingController = {
|
|
5
|
+
startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): string;
|
|
6
|
+
stopAllPolling(): void;
|
|
7
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
8
|
+
onPollingCompleteByNetworkClientId(networkClientId: NetworkClientId, callback: (networkClientId: NetworkClientId) => void, options: Json): void;
|
|
9
|
+
_executePoll(networkClientId: NetworkClientId, options: Json): Promise<void>;
|
|
10
|
+
_startPollingByNetworkClientId(networkClientId: NetworkClientId, options: Json): void;
|
|
11
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* TypeScript enforces this type for mixin constructors.
|
|
15
|
+
*
|
|
16
|
+
* Removing the `any` type results in the following error:
|
|
17
|
+
* 'A mixin class must have a constructor with a single rest parameter of type 'any[]'.ts(2545)'
|
|
18
|
+
*
|
|
19
|
+
* A potential future refactor that removes the mixin pattern may be able to fix this.
|
|
20
|
+
*/
|
|
21
|
+
export type Constructor = new (...args: any[]) => object;
|
|
22
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,qCAAqC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C,MAAM,MAAM,iBAAiB,GAAG,GAAG,eAAe,IAAI,MAAM,EAAE,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6BAA6B,CAC3B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,IAAI,GACZ,MAAM,CAAC;IAEV,cAAc,IAAI,IAAI,CAAC;IAEvB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD,kCAAkC,CAChC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,EACpD,OAAO,EAAE,IAAI,GACZ,IAAI,CAAC;IAER,YAAY,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,8BAA8B,CAC5B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,IAAI,GACZ,IAAI,CAAC;IACR,+BAA+B,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC"}
|
package/dist/types.mjs
CHANGED
package/dist/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { NetworkClientId } from '@metamask/network-controller';\nimport type { Json } from '@metamask/utils';\n\nexport type PollingTokenSetId = `${NetworkClientId}:${string}`;\n\nexport type IPollingController = {\n startPollingByNetworkClientId(\n networkClientId: NetworkClientId,\n options: Json,\n ): string;\n\n stopAllPolling(): void;\n\n stopPollingByPollingToken(pollingToken: string): void;\n\n onPollingCompleteByNetworkClientId(\n networkClientId: NetworkClientId,\n callback: (networkClientId: NetworkClientId) => void,\n options: Json,\n ): void;\n\n _executePoll(networkClientId: NetworkClientId, options: Json): Promise<void>;\n _startPollingByNetworkClientId(\n networkClientId: NetworkClientId,\n options: Json,\n ): void;\n _stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;\n};\n\n/**\n * TypeScript enforces this type for mixin constructors.\n *\n * Removing the `any` type results in the following error:\n * 'A mixin class must have a constructor with a single rest parameter of type 'any[]'.ts(2545)'\n *\n * A potential future refactor that removes the mixin pattern may be able to fix this.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Constructor = new (...args: any[]) => object;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/polling-controller",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.1",
|
|
4
4
|
"description": "Polling Controller is the base for controllers that polling by networkClientId",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -18,31 +18,37 @@
|
|
|
18
18
|
"sideEffects": false,
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
|
-
"import":
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/index.d.mts",
|
|
23
|
+
"default": "./dist/index.mjs"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/index.d.cts",
|
|
27
|
+
"default": "./dist/index.cjs"
|
|
28
|
+
}
|
|
24
29
|
},
|
|
25
30
|
"./package.json": "./package.json"
|
|
26
31
|
},
|
|
27
|
-
"main": "./dist/index.
|
|
28
|
-
"types": "./dist/
|
|
32
|
+
"main": "./dist/index.cjs",
|
|
33
|
+
"types": "./dist/index.d.cts",
|
|
29
34
|
"files": [
|
|
30
35
|
"dist/"
|
|
31
36
|
],
|
|
32
37
|
"scripts": {
|
|
33
|
-
"build": "
|
|
38
|
+
"build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",
|
|
34
39
|
"build:docs": "typedoc",
|
|
35
40
|
"changelog:update": "../../scripts/update-changelog.sh @metamask/polling-controller",
|
|
36
41
|
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/polling-controller",
|
|
37
42
|
"publish:preview": "yarn npm publish --tag preview",
|
|
43
|
+
"since-latest-release": "../../scripts/since-latest-release.sh",
|
|
38
44
|
"test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
|
|
39
45
|
"test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
|
|
40
46
|
"test:verbose": "NODE_OPTIONS=--experimental-vm-modules jest --verbose",
|
|
41
47
|
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
|
|
42
48
|
},
|
|
43
49
|
"dependencies": {
|
|
44
|
-
"@metamask/base-controller": "^
|
|
45
|
-
"@metamask/controller-utils": "^11.0
|
|
50
|
+
"@metamask/base-controller": "^7.0.1",
|
|
51
|
+
"@metamask/controller-utils": "^11.3.0",
|
|
46
52
|
"@metamask/utils": "^9.1.0",
|
|
47
53
|
"@types/uuid": "^8.3.0",
|
|
48
54
|
"fast-json-stable-stringify": "^2.1.0",
|
|
@@ -50,7 +56,7 @@
|
|
|
50
56
|
},
|
|
51
57
|
"devDependencies": {
|
|
52
58
|
"@metamask/auto-changelog": "^3.4.4",
|
|
53
|
-
"@metamask/network-controller": "^
|
|
59
|
+
"@metamask/network-controller": "^21.0.1",
|
|
54
60
|
"@types/jest": "^27.4.1",
|
|
55
61
|
"deepmerge": "^4.2.2",
|
|
56
62
|
"jest": "^27.5.1",
|
|
@@ -58,10 +64,10 @@
|
|
|
58
64
|
"ts-jest": "^27.1.4",
|
|
59
65
|
"typedoc": "^0.24.8",
|
|
60
66
|
"typedoc-plugin-missing-exports": "^2.0.0",
|
|
61
|
-
"typescript": "~5.
|
|
67
|
+
"typescript": "~5.2.2"
|
|
62
68
|
},
|
|
63
69
|
"peerDependencies": {
|
|
64
|
-
"@metamask/network-controller": "^
|
|
70
|
+
"@metamask/network-controller": "^21.0.0"
|
|
65
71
|
},
|
|
66
72
|
"engines": {
|
|
67
73
|
"node": "^18.18 || >=20"
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunkJCXUPRTTjs = require('./chunk-JCXUPRTT.js');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
exports.AbstractPollingControllerBaseMixin = _chunkJCXUPRTTjs.AbstractPollingControllerBaseMixin; exports.getKey = _chunkJCXUPRTTjs.getKey;
|
|
9
|
-
//# sourceMappingURL=AbstractPollingController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var _chunkJVLLYBTKjs = require('./chunk-JVLLYBTK.js');
|
|
6
|
-
require('./chunk-JCXUPRTT.js');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.BlockTrackerPollingController = _chunkJVLLYBTKjs.BlockTrackerPollingController; exports.BlockTrackerPollingControllerOnly = _chunkJVLLYBTKjs.BlockTrackerPollingControllerOnly; exports.BlockTrackerPollingControllerV1 = _chunkJVLLYBTKjs.BlockTrackerPollingControllerV1;
|
|
12
|
-
//# sourceMappingURL=BlockTrackerPollingController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var _chunkRD6EX3RWjs = require('./chunk-RD6EX3RW.js');
|
|
6
|
-
require('./chunk-JCXUPRTT.js');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.StaticIntervalPollingController = _chunkRD6EX3RWjs.StaticIntervalPollingController; exports.StaticIntervalPollingControllerOnly = _chunkRD6EX3RWjs.StaticIntervalPollingControllerOnly; exports.StaticIntervalPollingControllerV1 = _chunkRD6EX3RWjs.StaticIntervalPollingControllerV1;
|
|
12
|
-
//# sourceMappingURL=StaticIntervalPollingController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|