@metamask/polling-controller 10.0.0 → 11.0.0
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 +29 -1
- package/dist/AbstractPollingController.cjs +87 -0
- package/dist/AbstractPollingController.cjs.map +1 -0
- package/dist/AbstractPollingController.d.cts +21 -0
- package/dist/AbstractPollingController.d.cts.map +1 -0
- package/dist/AbstractPollingController.d.mts +21 -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 +72 -0
- package/dist/BlockTrackerPollingController.cjs.map +1 -0
- package/dist/BlockTrackerPollingController.d.cts +54 -0
- package/dist/BlockTrackerPollingController.d.cts.map +1 -0
- package/dist/BlockTrackerPollingController.d.mts +54 -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 +82 -0
- package/dist/StaticIntervalPollingController.cjs.map +1 -0
- package/dist/StaticIntervalPollingController.d.cts +52 -0
- package/dist/StaticIntervalPollingController.d.cts.map +1 -0
- package/dist/StaticIntervalPollingController.d.mts +52 -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.d.cts +21 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +21 -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 +15 -10
- 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 +0 -22
- package/dist/types/AbstractPollingController.d.ts.map +0 -1
- package/dist/types/BlockTrackerPollingController.d.ts +0 -47
- package/dist/types/BlockTrackerPollingController.d.ts.map +0 -1
- package/dist/types/StaticIntervalPollingController.d.ts +0 -58
- 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 +0 -22
- 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,82 @@
|
|
|
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
|
+
_startPolling(input) {
|
|
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)(input);
|
|
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(input);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error(error);
|
|
57
|
+
}
|
|
58
|
+
if (intervalId === __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key]) {
|
|
59
|
+
this._startPolling(input);
|
|
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
|
+
const StaticIntervalPollingControllerOnly = () => StaticIntervalPollingControllerMixin(Empty);
|
|
77
|
+
exports.StaticIntervalPollingControllerOnly = StaticIntervalPollingControllerOnly;
|
|
78
|
+
const StaticIntervalPollingController = () => StaticIntervalPollingControllerMixin(base_controller_1.BaseController);
|
|
79
|
+
exports.StaticIntervalPollingController = StaticIntervalPollingController;
|
|
80
|
+
const StaticIntervalPollingControllerV1 = () => StaticIntervalPollingControllerMixin(base_controller_1.BaseControllerV1);
|
|
81
|
+
exports.StaticIntervalPollingControllerV1 = StaticIntervalPollingControllerV1;
|
|
82
|
+
//# sourceMappingURL=StaticIntervalPollingController.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.cjs","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA6E;AAG7E,+EAGqC;AAOrC;;;;;;GAMG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,SAAS,oCAAoC,CAG3C,IAAW;;IACX,MAAe,+BACb,SAAQ,IAAA,8DAAkC,EAAsB,IAAI,CAAC;QADvE;;YAIW,uDAA0D,EAAE,EAAC;YAEtE,0DAAsC,IAAI,EAAC;QA4C7C,CAAC;QA1CC,iBAAiB,CAAC,cAAsB;YACtC,uBAAA,IAAI,mDAAmB,cAAc,MAAA,CAAC;QACxC,CAAC;QAED,iBAAiB;YACf,OAAO,uBAAA,IAAI,uDAAgB,CAAC;QAC9B,CAAC;QAED,aAAa,CAAC,KAAmB;YAC/B,IAAI,CAAC,uBAAA,IAAI,uDAAgB,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACtE;YAED,MAAM,GAAG,GAAG,IAAA,kCAAM,EAAC,KAAK,CAAC,CAAC;YAC1B,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,KAAK,CAAC,CAAC;iBAChC;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,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC3B;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;AAEP,MAAM,mCAAmC,GAAG,GAE/C,EAAE,CAAC,oCAAoC,CAA6B,KAAK,CAAC,CAAC;AAFlE,QAAA,mCAAmC,uCAE+B;AAExE,MAAM,+BAA+B,GAAG,GAA8B,EAAE,CAC7E,oCAAoC,CAClC,gCAAc,CACf,CAAC;AAHS,QAAA,+BAA+B,mCAGxC;AAEG,MAAM,iCAAiC,GAAG,GAE7C,EAAE,CACJ,oCAAoC,CAClC,kCAAgB,CACjB,CAAC;AALS,QAAA,iCAAiC,qCAK1C","sourcesContent":["import { BaseController, BaseControllerV1 } from '@metamask/base-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<\n TBase extends Constructor,\n PollingInput extends Json,\n>(Base: TBase) {\n abstract class StaticIntervalPollingController\n extends AbstractPollingControllerBaseMixin<TBase, PollingInput>(Base)\n implements IPollingController<PollingInput>\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 _startPolling(input: PollingInput) {\n if (!this.#intervalLength) {\n throw new Error('intervalLength must be defined and greater than 0');\n }\n\n const key = getKey(input);\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(input);\n } catch (error) {\n console.error(error);\n }\n if (intervalId === this.#intervalIds[key]) {\n this._startPolling(input);\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 PollingInput extends Json,\n>() => StaticIntervalPollingControllerMixin<typeof Empty, PollingInput>(Empty);\n\nexport const StaticIntervalPollingController = <PollingInput extends Json>() =>\n StaticIntervalPollingControllerMixin<typeof BaseController, PollingInput>(\n BaseController,\n );\n\nexport const StaticIntervalPollingControllerV1 = <\n PollingInput extends Json,\n>() =>\n StaticIntervalPollingControllerMixin<typeof BaseControllerV1, PollingInput>(\n BaseControllerV1,\n );\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BaseController, BaseControllerV1 } from "@metamask/base-controller";
|
|
2
|
+
import type { Json } from "@metamask/utils";
|
|
3
|
+
import type { PollingTokenSetId } from "./types.cjs";
|
|
4
|
+
declare class Empty {
|
|
5
|
+
}
|
|
6
|
+
export declare const StaticIntervalPollingControllerOnly: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
7
|
+
readonly "__#784842@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
8
|
+
"__#784842@#intervalLength": number | undefined;
|
|
9
|
+
setIntervalLength(intervalLength: number): void;
|
|
10
|
+
getIntervalLength(): number | undefined;
|
|
11
|
+
_startPolling(input: PollingInput): void;
|
|
12
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
13
|
+
readonly "__#784834@#pollingTokenSets": Map<string, Set<string>>;
|
|
14
|
+
"__#784834@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
15
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
16
|
+
startPolling(input: PollingInput): string;
|
|
17
|
+
stopAllPolling(): void;
|
|
18
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
19
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
20
|
+
}) & typeof Empty;
|
|
21
|
+
export declare const StaticIntervalPollingController: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
22
|
+
readonly "__#784842@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
23
|
+
"__#784842@#intervalLength": number | undefined;
|
|
24
|
+
setIntervalLength(intervalLength: number): void;
|
|
25
|
+
getIntervalLength(): number | undefined;
|
|
26
|
+
_startPolling(input: PollingInput): void;
|
|
27
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
28
|
+
readonly "__#784834@#pollingTokenSets": Map<string, Set<string>>;
|
|
29
|
+
"__#784834@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
30
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
31
|
+
startPolling(input: PollingInput): string;
|
|
32
|
+
stopAllPolling(): void;
|
|
33
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
34
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
35
|
+
}) & typeof BaseController;
|
|
36
|
+
export declare const StaticIntervalPollingControllerV1: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
37
|
+
readonly "__#784842@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
38
|
+
"__#784842@#intervalLength": number | undefined;
|
|
39
|
+
setIntervalLength(intervalLength: number): void;
|
|
40
|
+
getIntervalLength(): number | undefined;
|
|
41
|
+
_startPolling(input: PollingInput): void;
|
|
42
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
43
|
+
readonly "__#784834@#pollingTokenSets": Map<string, Set<string>>;
|
|
44
|
+
"__#784834@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
45
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
46
|
+
startPolling(input: PollingInput): string;
|
|
47
|
+
stopAllPolling(): void;
|
|
48
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
49
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
50
|
+
}) & typeof BaseControllerV1;
|
|
51
|
+
export {};
|
|
52
|
+
//# 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,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAGV,iBAAiB,EAClB,oBAAgB;AAsEjB,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,mCAAmC;uCArDrB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;iBAgBoB,CAAC;AAE/E,eAAO,MAAM,+BAA+B;uCAzDjB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;0BAqBvD,CAAC;AAEJ,eAAO,MAAM,iCAAiC;uCA9DnB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;4BA4BvD,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BaseController, BaseControllerV1 } from "@metamask/base-controller";
|
|
2
|
+
import type { Json } from "@metamask/utils";
|
|
3
|
+
import type { PollingTokenSetId } from "./types.mjs";
|
|
4
|
+
declare class Empty {
|
|
5
|
+
}
|
|
6
|
+
export declare const StaticIntervalPollingControllerOnly: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
7
|
+
readonly "__#784842@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
8
|
+
"__#784842@#intervalLength": number | undefined;
|
|
9
|
+
setIntervalLength(intervalLength: number): void;
|
|
10
|
+
getIntervalLength(): number | undefined;
|
|
11
|
+
_startPolling(input: PollingInput): void;
|
|
12
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
13
|
+
readonly "__#784834@#pollingTokenSets": Map<string, Set<string>>;
|
|
14
|
+
"__#784834@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
15
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
16
|
+
startPolling(input: PollingInput): string;
|
|
17
|
+
stopAllPolling(): void;
|
|
18
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
19
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
20
|
+
}) & typeof Empty;
|
|
21
|
+
export declare const StaticIntervalPollingController: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
22
|
+
readonly "__#784842@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
23
|
+
"__#784842@#intervalLength": number | undefined;
|
|
24
|
+
setIntervalLength(intervalLength: number): void;
|
|
25
|
+
getIntervalLength(): number | undefined;
|
|
26
|
+
_startPolling(input: PollingInput): void;
|
|
27
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
28
|
+
readonly "__#784834@#pollingTokenSets": Map<string, Set<string>>;
|
|
29
|
+
"__#784834@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
30
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
31
|
+
startPolling(input: PollingInput): string;
|
|
32
|
+
stopAllPolling(): void;
|
|
33
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
34
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
35
|
+
}) & typeof BaseController;
|
|
36
|
+
export declare const StaticIntervalPollingControllerV1: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
37
|
+
readonly "__#784842@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
38
|
+
"__#784842@#intervalLength": number | undefined;
|
|
39
|
+
setIntervalLength(intervalLength: number): void;
|
|
40
|
+
getIntervalLength(): number | undefined;
|
|
41
|
+
_startPolling(input: PollingInput): void;
|
|
42
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
43
|
+
readonly "__#784834@#pollingTokenSets": Map<string, Set<string>>;
|
|
44
|
+
"__#784834@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
45
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
46
|
+
startPolling(input: PollingInput): string;
|
|
47
|
+
stopAllPolling(): void;
|
|
48
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
49
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
50
|
+
}) & typeof BaseControllerV1;
|
|
51
|
+
export {};
|
|
52
|
+
//# 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,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAGV,iBAAiB,EAClB,oBAAgB;AAsEjB,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,mCAAmC;uCArDrB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;iBAgBoB,CAAC;AAE/E,eAAO,MAAM,+BAA+B;uCAzDjB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;0BAqBvD,CAAC;AAEJ,eAAO,MAAM,iCAAiC;uCA9DnB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;iCAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;4BA4BvD,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
|
+
_startPolling(input) {
|
|
38
|
+
if (!__classPrivateFieldGet(this, _StaticIntervalPollingController_intervalLength, "f")) {
|
|
39
|
+
throw new Error('intervalLength must be defined and greater than 0');
|
|
40
|
+
}
|
|
41
|
+
const key = getKey(input);
|
|
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(input);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
console.error(error);
|
|
54
|
+
}
|
|
55
|
+
if (intervalId === __classPrivateFieldGet(this, _StaticIntervalPollingController_intervalIds, "f")[key]) {
|
|
56
|
+
this._startPolling(input);
|
|
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;AAG7E,OAAO,EACL,kCAAkC,EAClC,MAAM,EACP,wCAAoC;AAOrC;;;;;;GAMG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,SAAS,oCAAoC,CAG3C,IAAW;;IACX,MAAe,+BACb,SAAQ,kCAAkC,CAAsB,IAAI,CAAC;QADvE;;YAIW,uDAA0D,EAAE,EAAC;YAEtE,0DAAsC,IAAI,EAAC;QA4C7C,CAAC;QA1CC,iBAAiB,CAAC,cAAsB;YACtC,uBAAA,IAAI,mDAAmB,cAAc,MAAA,CAAC;QACxC,CAAC;QAED,iBAAiB;YACf,OAAO,uBAAA,IAAI,uDAAgB,CAAC;QAC9B,CAAC;QAED,aAAa,CAAC,KAAmB;YAC/B,IAAI,CAAC,uBAAA,IAAI,uDAAgB,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACtE;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,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,KAAK,CAAC,CAAC;iBAChC;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,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC3B;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,GAAG,GAE/C,EAAE,CAAC,oCAAoC,CAA6B,KAAK,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAA8B,EAAE,CAC7E,oCAAoC,CAClC,cAAc,CACf,CAAC;AAEJ,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAE7C,EAAE,CACJ,oCAAoC,CAClC,gBAAgB,CACjB,CAAC","sourcesContent":["import { BaseController, BaseControllerV1 } from '@metamask/base-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<\n TBase extends Constructor,\n PollingInput extends Json,\n>(Base: TBase) {\n abstract class StaticIntervalPollingController\n extends AbstractPollingControllerBaseMixin<TBase, PollingInput>(Base)\n implements IPollingController<PollingInput>\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 _startPolling(input: PollingInput) {\n if (!this.#intervalLength) {\n throw new Error('intervalLength must be defined and greater than 0');\n }\n\n const key = getKey(input);\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(input);\n } catch (error) {\n console.error(error);\n }\n if (intervalId === this.#intervalIds[key]) {\n this._startPolling(input);\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 PollingInput extends Json,\n>() => StaticIntervalPollingControllerMixin<typeof Empty, PollingInput>(Empty);\n\nexport const StaticIntervalPollingController = <PollingInput extends Json>() =>\n StaticIntervalPollingControllerMixin<typeof BaseController, PollingInput>(\n BaseController,\n );\n\nexport const StaticIntervalPollingControllerV1 = <\n PollingInput extends Json,\n>() =>\n StaticIntervalPollingControllerMixin<typeof BaseControllerV1, PollingInput>(\n BaseControllerV1,\n );\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 { Json } from '@metamask/utils';\n\nexport type PollingTokenSetId = string;\n\nexport type IPollingController<PollingInput extends Json> = {\n startPolling(input: PollingInput): string;\n\n stopAllPolling(): void;\n\n stopPollingByPollingToken(pollingToken: string): void;\n\n onPollingComplete(\n input: PollingInput,\n callback: (input: PollingInput) => void,\n ): void;\n\n _executePoll(input: PollingInput): Promise<void>;\n _startPolling(input: PollingInput): 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/dist/types.d.cts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Json } from "@metamask/utils";
|
|
2
|
+
export type PollingTokenSetId = string;
|
|
3
|
+
export type IPollingController<PollingInput extends Json> = {
|
|
4
|
+
startPolling(input: PollingInput): string;
|
|
5
|
+
stopAllPolling(): void;
|
|
6
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
7
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
8
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
9
|
+
_startPolling(input: PollingInput): void;
|
|
10
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* TypeScript enforces this type for mixin constructors.
|
|
14
|
+
*
|
|
15
|
+
* Removing the `any` type results in the following error:
|
|
16
|
+
* 'A mixin class must have a constructor with a single rest parameter of type 'any[]'.ts(2545)'
|
|
17
|
+
*
|
|
18
|
+
* A potential future refactor that removes the mixin pattern may be able to fix this.
|
|
19
|
+
*/
|
|
20
|
+
export type Constructor = new (...args: any[]) => object;
|
|
21
|
+
//# 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,IAAI,EAAE,wBAAwB;AAE5C,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,IAAI,IAAI;IAC1D,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC;IAE1C,cAAc,IAAI,IAAI,CAAC;IAEvB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD,iBAAiB,CACf,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GACtC,IAAI,CAAC;IAER,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,+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,21 @@
|
|
|
1
|
+
import type { Json } from "@metamask/utils";
|
|
2
|
+
export type PollingTokenSetId = string;
|
|
3
|
+
export type IPollingController<PollingInput extends Json> = {
|
|
4
|
+
startPolling(input: PollingInput): string;
|
|
5
|
+
stopAllPolling(): void;
|
|
6
|
+
stopPollingByPollingToken(pollingToken: string): void;
|
|
7
|
+
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
8
|
+
_executePoll(input: PollingInput): Promise<void>;
|
|
9
|
+
_startPolling(input: PollingInput): void;
|
|
10
|
+
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* TypeScript enforces this type for mixin constructors.
|
|
14
|
+
*
|
|
15
|
+
* Removing the `any` type results in the following error:
|
|
16
|
+
* 'A mixin class must have a constructor with a single rest parameter of type 'any[]'.ts(2545)'
|
|
17
|
+
*
|
|
18
|
+
* A potential future refactor that removes the mixin pattern may be able to fix this.
|
|
19
|
+
*/
|
|
20
|
+
export type Constructor = new (...args: any[]) => object;
|
|
21
|
+
//# 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,IAAI,EAAE,wBAAwB;AAE5C,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,IAAI,IAAI;IAC1D,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC;IAE1C,cAAc,IAAI,IAAI,CAAC;IAEvB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD,iBAAiB,CACf,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GACtC,IAAI,CAAC;IAER,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,+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 { Json } from '@metamask/utils';\n\nexport type PollingTokenSetId = string;\n\nexport type IPollingController<PollingInput extends Json> = {\n startPolling(input: PollingInput): string;\n\n stopAllPolling(): void;\n\n stopPollingByPollingToken(pollingToken: string): void;\n\n onPollingComplete(\n input: PollingInput,\n callback: (input: PollingInput) => void,\n ): void;\n\n _executePoll(input: PollingInput): Promise<void>;\n _startPolling(input: PollingInput): 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": "11.0.0",
|
|
4
4
|
"description": "Polling Controller is the base for controllers that polling by networkClientId",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -18,19 +18,24 @@
|
|
|
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",
|
|
@@ -42,8 +47,8 @@
|
|
|
42
47
|
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
|
|
43
48
|
},
|
|
44
49
|
"dependencies": {
|
|
45
|
-
"@metamask/base-controller": "^7.0.
|
|
46
|
-
"@metamask/controller-utils": "^11.
|
|
50
|
+
"@metamask/base-controller": "^7.0.1",
|
|
51
|
+
"@metamask/controller-utils": "^11.3.0",
|
|
47
52
|
"@metamask/utils": "^9.1.0",
|
|
48
53
|
"@types/uuid": "^8.3.0",
|
|
49
54
|
"fast-json-stable-stringify": "^2.1.0",
|
|
@@ -51,7 +56,7 @@
|
|
|
51
56
|
},
|
|
52
57
|
"devDependencies": {
|
|
53
58
|
"@metamask/auto-changelog": "^3.4.4",
|
|
54
|
-
"@metamask/network-controller": "^21.
|
|
59
|
+
"@metamask/network-controller": "^21.1.0",
|
|
55
60
|
"@types/jest": "^27.4.1",
|
|
56
61
|
"deepmerge": "^4.2.2",
|
|
57
62
|
"jest": "^27.5.1",
|
|
@@ -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":""}
|