@metamask/polling-controller 12.0.2 → 12.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -1
- package/dist/AbstractPollingController.cjs +0 -1
- package/dist/AbstractPollingController.cjs.map +1 -1
- package/dist/AbstractPollingController.d.cts.map +1 -1
- package/dist/AbstractPollingController.d.mts.map +1 -1
- package/dist/AbstractPollingController.mjs +0 -1
- package/dist/AbstractPollingController.mjs.map +1 -1
- package/dist/BlockTrackerPollingController.cjs +1 -3
- package/dist/BlockTrackerPollingController.cjs.map +1 -1
- package/dist/BlockTrackerPollingController.d.cts +3 -16
- package/dist/BlockTrackerPollingController.d.cts.map +1 -1
- package/dist/BlockTrackerPollingController.d.mts +3 -16
- package/dist/BlockTrackerPollingController.d.mts.map +1 -1
- package/dist/BlockTrackerPollingController.mjs +1 -2
- package/dist/BlockTrackerPollingController.mjs.map +1 -1
- package/dist/StaticIntervalPollingController.cjs +1 -3
- package/dist/StaticIntervalPollingController.cjs.map +1 -1
- package/dist/StaticIntervalPollingController.d.cts +5 -20
- package/dist/StaticIntervalPollingController.d.cts.map +1 -1
- package/dist/StaticIntervalPollingController.d.mts +5 -20
- package/dist/StaticIntervalPollingController.d.mts.map +1 -1
- package/dist/StaticIntervalPollingController.mjs +1 -2
- package/dist/StaticIntervalPollingController.mjs.map +1 -1
- package/dist/index.cjs +1 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [12.0.3]
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Bump `@metamask/base-controller` from `^7.0.2` to `^8.0.0` ([#5079](https://github.com/MetaMask/core/pull/5079)), ([#5135](https://github.com/MetaMask/core/pull/5135)), ([#5305](https://github.com/MetaMask/core/pull/5305))
|
|
15
|
+
- Bump `@metamask/controller-utils` from `^11.4.4` to `^11.5.0` ([#5135](https://github.com/MetaMask/core/pull/5135)), ([#5272](https://github.com/MetaMask/core/pull/5272))
|
|
16
|
+
- Bump `@metamask/utils` from `^10.0.0` to `^11.1.0` ([#5080](https://github.com/MetaMask/core/pull/5080)), ([#5223](https://github.com/MetaMask/core/pull/5223))
|
|
17
|
+
|
|
18
|
+
### Removed
|
|
19
|
+
|
|
20
|
+
- **BREAKING:** Remove `BlockTrackerPollingControllerV1`, `StaticIntervalPollingControllerV1` ([#5018](https://github.com/MetaMask/core/pull/5018/))
|
|
21
|
+
|
|
10
22
|
## [12.0.2]
|
|
11
23
|
|
|
12
24
|
### Changed
|
|
@@ -221,7 +233,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
221
233
|
|
|
222
234
|
- Initial release
|
|
223
235
|
|
|
224
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/polling-controller@12.0.
|
|
236
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/polling-controller@12.0.3...HEAD
|
|
237
|
+
[12.0.3]: https://github.com/MetaMask/core/compare/@metamask/polling-controller@12.0.2...@metamask/polling-controller@12.0.3
|
|
225
238
|
[12.0.2]: https://github.com/MetaMask/core/compare/@metamask/polling-controller@12.0.1...@metamask/polling-controller@12.0.2
|
|
226
239
|
[12.0.1]: https://github.com/MetaMask/core/compare/@metamask/polling-controller@12.0.0...@metamask/polling-controller@12.0.1
|
|
227
240
|
[12.0.0]: https://github.com/MetaMask/core/compare/@metamask/polling-controller@11.0.0...@metamask/polling-controller@12.0.0
|
|
@@ -66,7 +66,6 @@ function AbstractPollingControllerBaseMixin(Base) {
|
|
|
66
66
|
const callbacks = __classPrivateFieldGet(this, _AbstractPollingControllerBase_callbacks, "f").get(keyToDelete);
|
|
67
67
|
if (callbacks) {
|
|
68
68
|
for (const callback of callbacks) {
|
|
69
|
-
// eslint-disable-next-line n/callback-return
|
|
70
69
|
callback(JSON.parse(keyToDelete));
|
|
71
70
|
}
|
|
72
71
|
callbacks.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPollingController.cjs","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,4FAAmD;AACnD,+BAAoC;AAQ7B,MAAM,MAAM,GAAG,CAAe,KAAmB,EAAqB,EAAE,CAC7E,IAAA,oCAAS,EAAC,KAAK,CAAC,CAAC;AADN,QAAA,MAAM,UACA;AAEnB;;;;;GAKG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,SAAgB,kCAAkC,CAGhD,IAAW;;IACX,MAAe,6BACb,SAAQ,IAAI;QADd;;YAIW,0DAAyD,IAAI,GAAG,EAAE,EAAC;YAE5E,mDACE,IAAI,GAAG,EAAE,EAAC;
|
|
1
|
+
{"version":3,"file":"AbstractPollingController.cjs","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Json } from '@metamask/utils';\nimport stringify from 'fast-json-stable-stringify';\nimport { v4 as random } from 'uuid';\n\nimport type {\n Constructor,\n PollingTokenSetId,\n IPollingController,\n} from './types';\n\nexport const getKey = <PollingInput>(input: PollingInput): PollingTokenSetId =>\n stringify(input);\n\n/**\n * AbstractPollingControllerBaseMixin\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\nexport function AbstractPollingControllerBaseMixin<\n TBase extends Constructor,\n PollingInput extends Json,\n>(Base: TBase) {\n abstract class AbstractPollingControllerBase\n extends Base\n implements IPollingController<PollingInput>\n {\n readonly #pollingTokenSets: Map<PollingTokenSetId, Set<string>> = new Map();\n\n #callbacks: Map<PollingTokenSetId, Set<(input: PollingInput) => void>> =\n new Map();\n\n abstract _executePoll(input: PollingInput): Promise<void>;\n\n abstract _startPolling(input: PollingInput): void;\n\n abstract _stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;\n\n startPolling(input: PollingInput): string {\n const pollToken = random();\n const key = getKey(input);\n const pollingTokenSet =\n this.#pollingTokenSets.get(key) ?? new Set<string>();\n pollingTokenSet.add(pollToken);\n this.#pollingTokenSets.set(key, pollingTokenSet);\n\n if (pollingTokenSet.size === 1) {\n this._startPolling(input);\n }\n\n return pollToken;\n }\n\n stopAllPolling() {\n this.#pollingTokenSets.forEach((tokenSet, _key) => {\n tokenSet.forEach((token) => {\n this.stopPollingByPollingToken(token);\n });\n });\n }\n\n stopPollingByPollingToken(pollingToken: string) {\n if (!pollingToken) {\n throw new Error('pollingToken required');\n }\n\n let keyToDelete: PollingTokenSetId | null = null;\n for (const [key, tokenSet] of this.#pollingTokenSets) {\n if (tokenSet.delete(pollingToken)) {\n if (tokenSet.size === 0) {\n keyToDelete = key;\n }\n break;\n }\n }\n\n if (keyToDelete) {\n this._stopPollingByPollingTokenSetId(keyToDelete);\n this.#pollingTokenSets.delete(keyToDelete);\n const callbacks = this.#callbacks.get(keyToDelete);\n if (callbacks) {\n for (const callback of callbacks) {\n callback(JSON.parse(keyToDelete));\n }\n callbacks.clear();\n }\n }\n }\n\n onPollingComplete(\n input: PollingInput,\n callback: (input: PollingInput) => void,\n ) {\n const key = getKey(input);\n const callbacks = this.#callbacks.get(key) ?? new Set<typeof callback>();\n callbacks.add(callback);\n this.#callbacks.set(key, callbacks);\n }\n }\n return AbstractPollingControllerBase;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPollingController.d.cts","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAI5C,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAElB,oBAAgB;AAEjB,eAAO,MAAM,MAAM,yCAAwC,iBACzC,CAAC;AAEnB;;;;;GAKG;AAGH,wBAAgB,kCAAkC,CAChD,KAAK,SAAS,WAAW,EACzB,YAAY,SAAS,IAAI,EACzB,IAAI,EAAE,KAAK;uCAKmB,IAAI,iBAAiB,EAAE,IAAI,MAAM,CAAC,CAAC;+CAEhB,YAAY,KAAK,IAAI;wBAGvC,YAAY,GAAG,QAAQ,IAAI,CAAC;yBAE3B,YAAY,GAAG,IAAI;yCAEH,iBAAiB,GAAG,IAAI;wBAElD,YAAY,GAAG,MAAM;;4CAuBD,MAAM;
|
|
1
|
+
{"version":3,"file":"AbstractPollingController.d.cts","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAI5C,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAElB,oBAAgB;AAEjB,eAAO,MAAM,MAAM,yCAAwC,iBACzC,CAAC;AAEnB;;;;;GAKG;AAGH,wBAAgB,kCAAkC,CAChD,KAAK,SAAS,WAAW,EACzB,YAAY,SAAS,IAAI,EACzB,IAAI,EAAE,KAAK;uCAKmB,IAAI,iBAAiB,EAAE,IAAI,MAAM,CAAC,CAAC;+CAEhB,YAAY,KAAK,IAAI;wBAGvC,YAAY,GAAG,QAAQ,IAAI,CAAC;yBAE3B,YAAY,GAAG,IAAI;yCAEH,iBAAiB,GAAG,IAAI;wBAElD,YAAY,GAAG,MAAM;;4CAuBD,MAAM;6BA6BrC,YAAY,oBACD,YAAY,KAAK,IAAI;WAS5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPollingController.d.mts","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAI5C,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAElB,oBAAgB;AAEjB,eAAO,MAAM,MAAM,yCAAwC,iBACzC,CAAC;AAEnB;;;;;GAKG;AAGH,wBAAgB,kCAAkC,CAChD,KAAK,SAAS,WAAW,EACzB,YAAY,SAAS,IAAI,EACzB,IAAI,EAAE,KAAK;uCAKmB,IAAI,iBAAiB,EAAE,IAAI,MAAM,CAAC,CAAC;+CAEhB,YAAY,KAAK,IAAI;wBAGvC,YAAY,GAAG,QAAQ,IAAI,CAAC;yBAE3B,YAAY,GAAG,IAAI;yCAEH,iBAAiB,GAAG,IAAI;wBAElD,YAAY,GAAG,MAAM;;4CAuBD,MAAM;
|
|
1
|
+
{"version":3,"file":"AbstractPollingController.d.mts","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAI5C,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAElB,oBAAgB;AAEjB,eAAO,MAAM,MAAM,yCAAwC,iBACzC,CAAC;AAEnB;;;;;GAKG;AAGH,wBAAgB,kCAAkC,CAChD,KAAK,SAAS,WAAW,EACzB,YAAY,SAAS,IAAI,EACzB,IAAI,EAAE,KAAK;uCAKmB,IAAI,iBAAiB,EAAE,IAAI,MAAM,CAAC,CAAC;+CAEhB,YAAY,KAAK,IAAI;wBAGvC,YAAY,GAAG,QAAQ,IAAI,CAAC;yBAE3B,YAAY,GAAG,IAAI;yCAEH,iBAAiB,GAAG,IAAI;wBAElD,YAAY,GAAG,MAAM;;4CAuBD,MAAM;6BA6BrC,YAAY,oBACD,YAAY,KAAK,IAAI;WAS5C"}
|
|
@@ -66,7 +66,6 @@ export function AbstractPollingControllerBaseMixin(Base) {
|
|
|
66
66
|
const callbacks = __classPrivateFieldGet(this, _AbstractPollingControllerBase_callbacks, "f").get(keyToDelete);
|
|
67
67
|
if (callbacks) {
|
|
68
68
|
for (const callback of callbacks) {
|
|
69
|
-
// eslint-disable-next-line n/callback-return
|
|
70
69
|
callback(JSON.parse(keyToDelete));
|
|
71
70
|
}
|
|
72
71
|
callbacks.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPollingController.mjs","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,UAAS,mCAAmC;;AACnD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,aAAa;AAQpC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAe,KAAmB,EAAqB,EAAE,CAC7E,SAAS,CAAC,KAAK,CAAC,CAAC;AAEnB;;;;;GAKG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,MAAM,UAAU,kCAAkC,CAGhD,IAAW;;IACX,MAAe,6BACb,SAAQ,IAAI;QADd;;YAIW,0DAAyD,IAAI,GAAG,EAAE,EAAC;YAE5E,mDACE,IAAI,GAAG,EAAE,EAAC;
|
|
1
|
+
{"version":3,"file":"AbstractPollingController.mjs","sourceRoot":"","sources":["../src/AbstractPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,UAAS,mCAAmC;;AACnD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,aAAa;AAQpC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAe,KAAmB,EAAqB,EAAE,CAC7E,SAAS,CAAC,KAAK,CAAC,CAAC;AAEnB;;;;;GAKG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,MAAM,UAAU,kCAAkC,CAGhD,IAAW;;IACX,MAAe,6BACb,SAAQ,IAAI;QADd;;YAIW,0DAAyD,IAAI,GAAG,EAAE,EAAC;YAE5E,mDACE,IAAI,GAAG,EAAE,EAAC;QAoEd,CAAC;QA5DC,YAAY,CAAC,KAAmB;YAC9B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,eAAe,GACnB,uBAAA,IAAI,uDAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACvD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,uBAAA,IAAI,uDAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAEjD,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC3B;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,cAAc;YACZ,uBAAA,IAAI,uDAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;gBAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACzB,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB,CAAC,YAAoB;YAC5C,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YAED,IAAI,WAAW,GAA6B,IAAI,CAAC;YACjD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,uBAAA,IAAI,uDAAkB,EAAE;gBACpD,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;oBACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;wBACvB,WAAW,GAAG,GAAG,CAAC;qBACnB;oBACD,MAAM;iBACP;aACF;YAED,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC;gBAClD,uBAAA,IAAI,uDAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,uBAAA,IAAI,gDAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnD,IAAI,SAAS,EAAE;oBACb,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;wBAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;qBACnC;oBACD,SAAS,CAAC,KAAK,EAAE,CAAC;iBACnB;aACF;QACH,CAAC;QAED,iBAAiB,CACf,KAAmB,EACnB,QAAuC;YAEvC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,uBAAA,IAAI,gDAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;YACzE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,uBAAA,IAAI,gDAAW,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;KACF;;IACD,OAAO,6BAA6B,CAAC;AACvC,CAAC","sourcesContent":["import type { Json } from '@metamask/utils';\nimport stringify from 'fast-json-stable-stringify';\nimport { v4 as random } from 'uuid';\n\nimport type {\n Constructor,\n PollingTokenSetId,\n IPollingController,\n} from './types';\n\nexport const getKey = <PollingInput>(input: PollingInput): PollingTokenSetId =>\n stringify(input);\n\n/**\n * AbstractPollingControllerBaseMixin\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\nexport function AbstractPollingControllerBaseMixin<\n TBase extends Constructor,\n PollingInput extends Json,\n>(Base: TBase) {\n abstract class AbstractPollingControllerBase\n extends Base\n implements IPollingController<PollingInput>\n {\n readonly #pollingTokenSets: Map<PollingTokenSetId, Set<string>> = new Map();\n\n #callbacks: Map<PollingTokenSetId, Set<(input: PollingInput) => void>> =\n new Map();\n\n abstract _executePoll(input: PollingInput): Promise<void>;\n\n abstract _startPolling(input: PollingInput): void;\n\n abstract _stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;\n\n startPolling(input: PollingInput): string {\n const pollToken = random();\n const key = getKey(input);\n const pollingTokenSet =\n this.#pollingTokenSets.get(key) ?? new Set<string>();\n pollingTokenSet.add(pollToken);\n this.#pollingTokenSets.set(key, pollingTokenSet);\n\n if (pollingTokenSet.size === 1) {\n this._startPolling(input);\n }\n\n return pollToken;\n }\n\n stopAllPolling() {\n this.#pollingTokenSets.forEach((tokenSet, _key) => {\n tokenSet.forEach((token) => {\n this.stopPollingByPollingToken(token);\n });\n });\n }\n\n stopPollingByPollingToken(pollingToken: string) {\n if (!pollingToken) {\n throw new Error('pollingToken required');\n }\n\n let keyToDelete: PollingTokenSetId | null = null;\n for (const [key, tokenSet] of this.#pollingTokenSets) {\n if (tokenSet.delete(pollingToken)) {\n if (tokenSet.size === 0) {\n keyToDelete = key;\n }\n break;\n }\n }\n\n if (keyToDelete) {\n this._stopPollingByPollingTokenSetId(keyToDelete);\n this.#pollingTokenSets.delete(keyToDelete);\n const callbacks = this.#callbacks.get(keyToDelete);\n if (callbacks) {\n for (const callback of callbacks) {\n callback(JSON.parse(keyToDelete));\n }\n callbacks.clear();\n }\n }\n }\n\n onPollingComplete(\n input: PollingInput,\n callback: (input: PollingInput) => void,\n ) {\n const key = getKey(input);\n const callbacks = this.#callbacks.get(key) ?? new Set<typeof callback>();\n callbacks.add(callback);\n this.#callbacks.set(key, callbacks);\n }\n }\n return AbstractPollingControllerBase;\n}\n"]}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
6
|
};
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
8
|
+
exports.BlockTrackerPollingController = exports.BlockTrackerPollingControllerOnly = void 0;
|
|
9
9
|
const base_controller_1 = require("@metamask/base-controller");
|
|
10
10
|
const AbstractPollingController_1 = require("./AbstractPollingController.cjs");
|
|
11
11
|
/**
|
|
@@ -67,6 +67,4 @@ const BlockTrackerPollingControllerOnly = () => BlockTrackerPollingControllerMix
|
|
|
67
67
|
exports.BlockTrackerPollingControllerOnly = BlockTrackerPollingControllerOnly;
|
|
68
68
|
const BlockTrackerPollingController = () => BlockTrackerPollingControllerMixin(base_controller_1.BaseController);
|
|
69
69
|
exports.BlockTrackerPollingController = BlockTrackerPollingController;
|
|
70
|
-
const BlockTrackerPollingControllerV1 = () => BlockTrackerPollingControllerMixin(base_controller_1.BaseControllerV1);
|
|
71
|
-
exports.BlockTrackerPollingControllerV1 = BlockTrackerPollingControllerV1;
|
|
72
70
|
//# sourceMappingURL=BlockTrackerPollingController.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockTrackerPollingController.cjs","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":";;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"BlockTrackerPollingController.cjs","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":";;;;;;;;AAAA,+DAA2D;AAO3D,+EAGqC;AAWrC;;;;;;GAMG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,SAAS,kCAAkC,CAGzC,IAAW;;IACX,MAAe,6BAA8B,SAAQ,IAAA,8DAAkC,EAGrF,IAAI,CAAC;QAHP;;YAIE,yDAAqE,EAAE,EAAC;QA6C1E,CAAC;QAvCC,aAAa,CAAC,KAAmB;YAC/B,MAAM,GAAG,GAAG,IAAA,kCAAM,EAAC,KAAK,CAAC,CAAC;YAE1B,IAAI,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,EAAE;gBAC9B,OAAO;aACR;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,aAAa,EAAE;gBACjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7D,gFAAgF;gBAChF,kEAAkE;gBAClE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACnE,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;aAC/C;iBAAM;gBACL,MAAM,IAAI,KAAK;gBACb,gFAAgF;gBAChF,4EAA4E;gBAC5E,uDAAuD,KAAK,CAAC,eAAe,EAAE,CAC/E,CAAC;aACH;QACH,CAAC;QAED,+BAA+B,CAAC,GAAsB;YACpD,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAC9C,eAAkC,CACnC,CAAC;YAEF,IAAI,aAAa,IAAI,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,EAAE;gBAC/C,MAAM,QAAQ,GAAG,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,QAAQ,EAAE;oBACZ,gFAAgF;oBAChF,kEAAkE;oBAClE,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC9D,OAAO,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,CAAC;iBACnC;aACF;QACH,CAAC;KACF;;IAED,OAAO,6BAA6B,CAAC;AACvC,CAAC;AAED,MAAM,KAAK;CAAG;AAEP,MAAM,iCAAiC,GAAG,GAE7C,EAAE,CAAC,kCAAkC,CAA6B,KAAK,CAAC,CAAC;AAFhE,QAAA,iCAAiC,qCAE+B;AAEtE,MAAM,6BAA6B,GAAG,GAEzC,EAAE,CACJ,kCAAkC,CAChC,gCAAc,CACf,CAAC;AALS,QAAA,6BAA6B,iCAKtC","sourcesContent":["import { BaseController } from '@metamask/base-controller';\nimport type {\n NetworkClientId,\n NetworkClient,\n} from '@metamask/network-controller';\nimport type { Json } from '@metamask/utils';\n\nimport {\n AbstractPollingControllerBaseMixin,\n getKey,\n} from './AbstractPollingController';\nimport type { Constructor, PollingTokenSetId } from './types';\n\n/**\n * The minimum input required to start polling for a {@link BlockTrackerPollingController}.\n * Implementing classes may provide additional properties.\n */\nexport type BlockTrackerPollingInput = {\n networkClientId: NetworkClientId;\n};\n\n/**\n * BlockTrackerPollingControllerMixin\n * A polling controller that polls using a block tracker.\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 BlockTrackerPollingControllerMixin<\n TBase extends Constructor,\n PollingInput extends BlockTrackerPollingInput,\n>(Base: TBase) {\n abstract class BlockTrackerPollingController extends AbstractPollingControllerBaseMixin<\n TBase,\n PollingInput\n >(Base) {\n #activeListeners: Record<string, (options: Json) => Promise<void>> = {};\n\n abstract _getNetworkClientById(\n networkClientId: NetworkClientId,\n ): NetworkClient | undefined;\n\n _startPolling(input: PollingInput) {\n const key = getKey(input);\n\n if (this.#activeListeners[key]) {\n return;\n }\n\n const networkClient = this._getNetworkClientById(input.networkClientId);\n if (networkClient) {\n const updateOnNewBlock = this._executePoll.bind(this, input);\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 networkClient.blockTracker.addListener('latest', updateOnNewBlock);\n this.#activeListeners[key] = updateOnNewBlock;\n } else {\n throw new Error(\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `Unable to retrieve blockTracker for networkClientId ${input.networkClientId}`,\n );\n }\n }\n\n _stopPollingByPollingTokenSetId(key: PollingTokenSetId) {\n const { networkClientId } = JSON.parse(key);\n const networkClient = this._getNetworkClientById(\n networkClientId as NetworkClientId,\n );\n\n if (networkClient && this.#activeListeners[key]) {\n const listener = this.#activeListeners[key];\n if (listener) {\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 networkClient.blockTracker.removeListener('latest', listener);\n delete this.#activeListeners[key];\n }\n }\n }\n }\n\n return BlockTrackerPollingController;\n}\n\nclass Empty {}\n\nexport const BlockTrackerPollingControllerOnly = <\n PollingInput extends BlockTrackerPollingInput,\n>() => BlockTrackerPollingControllerMixin<typeof Empty, PollingInput>(Empty);\n\nexport const BlockTrackerPollingController = <\n PollingInput extends BlockTrackerPollingInput,\n>() =>\n BlockTrackerPollingControllerMixin<typeof BaseController, PollingInput>(\n BaseController,\n );\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseController
|
|
1
|
+
import { BaseController } from "@metamask/base-controller";
|
|
2
2
|
import type { NetworkClientId, NetworkClient } from "@metamask/network-controller";
|
|
3
3
|
import type { Json } from "@metamask/utils";
|
|
4
4
|
import type { PollingTokenSetId } from "./types.cjs";
|
|
@@ -12,7 +12,7 @@ export type BlockTrackerPollingInput = {
|
|
|
12
12
|
declare class Empty {
|
|
13
13
|
}
|
|
14
14
|
export declare const BlockTrackerPollingControllerOnly: <PollingInput extends BlockTrackerPollingInput>() => (abstract new (...args: any[]) => {
|
|
15
|
-
"__#
|
|
15
|
+
"__#12@#activeListeners": Record<string, (options: Json) => Promise<void>>;
|
|
16
16
|
_getNetworkClientById(networkClientId: NetworkClientId): NetworkClient | undefined;
|
|
17
17
|
_startPolling(input: PollingInput): void;
|
|
18
18
|
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
@@ -25,7 +25,7 @@ export declare const BlockTrackerPollingControllerOnly: <PollingInput extends Bl
|
|
|
25
25
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
26
26
|
}) & typeof Empty;
|
|
27
27
|
export declare const BlockTrackerPollingController: <PollingInput extends BlockTrackerPollingInput>() => (abstract new (...args: any[]) => {
|
|
28
|
-
"__#
|
|
28
|
+
"__#12@#activeListeners": Record<string, (options: Json) => Promise<void>>;
|
|
29
29
|
_getNetworkClientById(networkClientId: NetworkClientId): NetworkClient | undefined;
|
|
30
30
|
_startPolling(input: PollingInput): void;
|
|
31
31
|
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
@@ -37,18 +37,5 @@ export declare const BlockTrackerPollingController: <PollingInput extends BlockT
|
|
|
37
37
|
stopPollingByPollingToken(pollingToken: string): void;
|
|
38
38
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
39
39
|
}) & typeof BaseController;
|
|
40
|
-
export declare const BlockTrackerPollingControllerV1: <PollingInput extends BlockTrackerPollingInput>() => (abstract new (...args: any[]) => {
|
|
41
|
-
"__#10@#activeListeners": Record<string, (options: Json) => Promise<void>>;
|
|
42
|
-
_getNetworkClientById(networkClientId: NetworkClientId): NetworkClient | undefined;
|
|
43
|
-
_startPolling(input: PollingInput): void;
|
|
44
|
-
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
45
|
-
readonly "__#3@#pollingTokenSets": Map<string, Set<string>>;
|
|
46
|
-
"__#3@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
47
|
-
_executePoll(input: PollingInput): Promise<void>;
|
|
48
|
-
startPolling(input: PollingInput): string;
|
|
49
|
-
stopAllPolling(): void;
|
|
50
|
-
stopPollingByPollingToken(pollingToken: string): void;
|
|
51
|
-
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
52
|
-
}) & typeof BaseControllerV1;
|
|
53
40
|
export {};
|
|
54
41
|
//# sourceMappingURL=BlockTrackerPollingController.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockTrackerPollingController.d.cts","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"BlockTrackerPollingController.d.cts","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,qCAAqC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAAe,iBAAiB,EAAE,oBAAgB;AAE9D;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAqEF,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,iCAAiC;uDApDC,IAAI,KAAK,QAAQ,IAAI,CAAC;2CAG9C,eAAe,GAC/B,aAAa,GAAG,SAAS;;yCAyBS,iBAAiB;;;;;;;;iBAyBkB,CAAC;AAE7E,eAAO,MAAM,6BAA6B;uDAxDK,IAAI,KAAK,QAAQ,IAAI,CAAC;2CAG9C,eAAe,GAC/B,aAAa,GAAG,SAAS;;yCAyBS,iBAAiB;;;;;;;;0BAgCvD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseController
|
|
1
|
+
import { BaseController } from "@metamask/base-controller";
|
|
2
2
|
import type { NetworkClientId, NetworkClient } from "@metamask/network-controller";
|
|
3
3
|
import type { Json } from "@metamask/utils";
|
|
4
4
|
import type { PollingTokenSetId } from "./types.mjs";
|
|
@@ -12,7 +12,7 @@ export type BlockTrackerPollingInput = {
|
|
|
12
12
|
declare class Empty {
|
|
13
13
|
}
|
|
14
14
|
export declare const BlockTrackerPollingControllerOnly: <PollingInput extends BlockTrackerPollingInput>() => (abstract new (...args: any[]) => {
|
|
15
|
-
"__#
|
|
15
|
+
"__#12@#activeListeners": Record<string, (options: Json) => Promise<void>>;
|
|
16
16
|
_getNetworkClientById(networkClientId: NetworkClientId): NetworkClient | undefined;
|
|
17
17
|
_startPolling(input: PollingInput): void;
|
|
18
18
|
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
@@ -25,7 +25,7 @@ export declare const BlockTrackerPollingControllerOnly: <PollingInput extends Bl
|
|
|
25
25
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
26
26
|
}) & typeof Empty;
|
|
27
27
|
export declare const BlockTrackerPollingController: <PollingInput extends BlockTrackerPollingInput>() => (abstract new (...args: any[]) => {
|
|
28
|
-
"__#
|
|
28
|
+
"__#12@#activeListeners": Record<string, (options: Json) => Promise<void>>;
|
|
29
29
|
_getNetworkClientById(networkClientId: NetworkClientId): NetworkClient | undefined;
|
|
30
30
|
_startPolling(input: PollingInput): void;
|
|
31
31
|
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
@@ -37,18 +37,5 @@ export declare const BlockTrackerPollingController: <PollingInput extends BlockT
|
|
|
37
37
|
stopPollingByPollingToken(pollingToken: string): void;
|
|
38
38
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
39
39
|
}) & typeof BaseController;
|
|
40
|
-
export declare const BlockTrackerPollingControllerV1: <PollingInput extends BlockTrackerPollingInput>() => (abstract new (...args: any[]) => {
|
|
41
|
-
"__#10@#activeListeners": Record<string, (options: Json) => Promise<void>>;
|
|
42
|
-
_getNetworkClientById(networkClientId: NetworkClientId): NetworkClient | undefined;
|
|
43
|
-
_startPolling(input: PollingInput): void;
|
|
44
|
-
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
45
|
-
readonly "__#3@#pollingTokenSets": Map<string, Set<string>>;
|
|
46
|
-
"__#3@#callbacks": Map<string, Set<(input: PollingInput) => void>>;
|
|
47
|
-
_executePoll(input: PollingInput): Promise<void>;
|
|
48
|
-
startPolling(input: PollingInput): string;
|
|
49
|
-
stopAllPolling(): void;
|
|
50
|
-
stopPollingByPollingToken(pollingToken: string): void;
|
|
51
|
-
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
52
|
-
}) & typeof BaseControllerV1;
|
|
53
40
|
export {};
|
|
54
41
|
//# sourceMappingURL=BlockTrackerPollingController.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockTrackerPollingController.d.mts","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"BlockTrackerPollingController.d.mts","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,qCAAqC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAAe,iBAAiB,EAAE,oBAAgB;AAE9D;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAqEF,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,iCAAiC;uDApDC,IAAI,KAAK,QAAQ,IAAI,CAAC;2CAG9C,eAAe,GAC/B,aAAa,GAAG,SAAS;;yCAyBS,iBAAiB;;;;;;;;iBAyBkB,CAAC;AAE7E,eAAO,MAAM,6BAA6B;uDAxDK,IAAI,KAAK,QAAQ,IAAI,CAAC;2CAG9C,eAAe,GAC/B,aAAa,GAAG,SAAS;;yCAyBS,iBAAiB;;;;;;;;0BAgCvD,CAAC"}
|
|
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
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");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
import { BaseController
|
|
6
|
+
import { BaseController } from "@metamask/base-controller";
|
|
7
7
|
import { AbstractPollingControllerBaseMixin, getKey } from "./AbstractPollingController.mjs";
|
|
8
8
|
/**
|
|
9
9
|
* BlockTrackerPollingControllerMixin
|
|
@@ -62,5 +62,4 @@ class Empty {
|
|
|
62
62
|
}
|
|
63
63
|
export const BlockTrackerPollingControllerOnly = () => BlockTrackerPollingControllerMixin(Empty);
|
|
64
64
|
export const BlockTrackerPollingController = () => BlockTrackerPollingControllerMixin(BaseController);
|
|
65
|
-
export const BlockTrackerPollingControllerV1 = () => BlockTrackerPollingControllerMixin(BaseControllerV1);
|
|
66
65
|
//# sourceMappingURL=BlockTrackerPollingController.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockTrackerPollingController.mjs","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"BlockTrackerPollingController.mjs","sourceRoot":"","sources":["../src/BlockTrackerPollingController.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAO3D,OAAO,EACL,kCAAkC,EAClC,MAAM,EACP,wCAAoC;AAWrC;;;;;;GAMG;AACH,gFAAgF;AAChF,gEAAgE;AAChE,SAAS,kCAAkC,CAGzC,IAAW;;IACX,MAAe,6BAA8B,SAAQ,kCAAkC,CAGrF,IAAI,CAAC;QAHP;;YAIE,yDAAqE,EAAE,EAAC;QA6C1E,CAAC;QAvCC,aAAa,CAAC,KAAmB;YAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAE1B,IAAI,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,EAAE;gBAC9B,OAAO;aACR;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,aAAa,EAAE;gBACjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7D,gFAAgF;gBAChF,kEAAkE;gBAClE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACnE,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;aAC/C;iBAAM;gBACL,MAAM,IAAI,KAAK;gBACb,gFAAgF;gBAChF,4EAA4E;gBAC5E,uDAAuD,KAAK,CAAC,eAAe,EAAE,CAC/E,CAAC;aACH;QACH,CAAC;QAED,+BAA+B,CAAC,GAAsB;YACpD,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAC9C,eAAkC,CACnC,CAAC;YAEF,IAAI,aAAa,IAAI,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,EAAE;gBAC/C,MAAM,QAAQ,GAAG,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,QAAQ,EAAE;oBACZ,gFAAgF;oBAChF,kEAAkE;oBAClE,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC9D,OAAO,uBAAA,IAAI,sDAAiB,CAAC,GAAG,CAAC,CAAC;iBACnC;aACF;QACH,CAAC;KACF;;IAED,OAAO,6BAA6B,CAAC;AACvC,CAAC;AAED,MAAM,KAAK;CAAG;AAEd,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAE7C,EAAE,CAAC,kCAAkC,CAA6B,KAAK,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAEzC,EAAE,CACJ,kCAAkC,CAChC,cAAc,CACf,CAAC","sourcesContent":["import { BaseController } from '@metamask/base-controller';\nimport type {\n NetworkClientId,\n NetworkClient,\n} from '@metamask/network-controller';\nimport type { Json } from '@metamask/utils';\n\nimport {\n AbstractPollingControllerBaseMixin,\n getKey,\n} from './AbstractPollingController';\nimport type { Constructor, PollingTokenSetId } from './types';\n\n/**\n * The minimum input required to start polling for a {@link BlockTrackerPollingController}.\n * Implementing classes may provide additional properties.\n */\nexport type BlockTrackerPollingInput = {\n networkClientId: NetworkClientId;\n};\n\n/**\n * BlockTrackerPollingControllerMixin\n * A polling controller that polls using a block tracker.\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 BlockTrackerPollingControllerMixin<\n TBase extends Constructor,\n PollingInput extends BlockTrackerPollingInput,\n>(Base: TBase) {\n abstract class BlockTrackerPollingController extends AbstractPollingControllerBaseMixin<\n TBase,\n PollingInput\n >(Base) {\n #activeListeners: Record<string, (options: Json) => Promise<void>> = {};\n\n abstract _getNetworkClientById(\n networkClientId: NetworkClientId,\n ): NetworkClient | undefined;\n\n _startPolling(input: PollingInput) {\n const key = getKey(input);\n\n if (this.#activeListeners[key]) {\n return;\n }\n\n const networkClient = this._getNetworkClientById(input.networkClientId);\n if (networkClient) {\n const updateOnNewBlock = this._executePoll.bind(this, input);\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 networkClient.blockTracker.addListener('latest', updateOnNewBlock);\n this.#activeListeners[key] = updateOnNewBlock;\n } else {\n throw new Error(\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `Unable to retrieve blockTracker for networkClientId ${input.networkClientId}`,\n );\n }\n }\n\n _stopPollingByPollingTokenSetId(key: PollingTokenSetId) {\n const { networkClientId } = JSON.parse(key);\n const networkClient = this._getNetworkClientById(\n networkClientId as NetworkClientId,\n );\n\n if (networkClient && this.#activeListeners[key]) {\n const listener = this.#activeListeners[key];\n if (listener) {\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 networkClient.blockTracker.removeListener('latest', listener);\n delete this.#activeListeners[key];\n }\n }\n }\n }\n\n return BlockTrackerPollingController;\n}\n\nclass Empty {}\n\nexport const BlockTrackerPollingControllerOnly = <\n PollingInput extends BlockTrackerPollingInput,\n>() => BlockTrackerPollingControllerMixin<typeof Empty, PollingInput>(Empty);\n\nexport const BlockTrackerPollingController = <\n PollingInput extends BlockTrackerPollingInput,\n>() =>\n BlockTrackerPollingControllerMixin<typeof BaseController, PollingInput>(\n BaseController,\n );\n"]}
|
|
@@ -11,7 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
14
|
+
exports.StaticIntervalPollingController = exports.StaticIntervalPollingControllerOnly = void 0;
|
|
15
15
|
const base_controller_1 = require("@metamask/base-controller");
|
|
16
16
|
const AbstractPollingController_1 = require("./AbstractPollingController.cjs");
|
|
17
17
|
/**
|
|
@@ -77,6 +77,4 @@ const StaticIntervalPollingControllerOnly = () => StaticIntervalPollingControlle
|
|
|
77
77
|
exports.StaticIntervalPollingControllerOnly = StaticIntervalPollingControllerOnly;
|
|
78
78
|
const StaticIntervalPollingController = () => StaticIntervalPollingControllerMixin(base_controller_1.BaseController);
|
|
79
79
|
exports.StaticIntervalPollingController = StaticIntervalPollingController;
|
|
80
|
-
const StaticIntervalPollingControllerV1 = () => StaticIntervalPollingControllerMixin(base_controller_1.BaseControllerV1);
|
|
81
|
-
exports.StaticIntervalPollingControllerV1 = StaticIntervalPollingControllerV1;
|
|
82
80
|
//# sourceMappingURL=StaticIntervalPollingController.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticIntervalPollingController.cjs","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.cjs","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA2D;AAG3D,+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","sourcesContent":["import { BaseController } 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"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { BaseController
|
|
1
|
+
import { BaseController } from "@metamask/base-controller";
|
|
2
2
|
import type { Json } from "@metamask/utils";
|
|
3
3
|
import type { PollingTokenSetId } from "./types.cjs";
|
|
4
4
|
declare class Empty {
|
|
5
5
|
}
|
|
6
6
|
export declare const StaticIntervalPollingControllerOnly: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
7
|
-
readonly "__#
|
|
8
|
-
"__#
|
|
7
|
+
readonly "__#13@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
8
|
+
"__#13@#intervalLength": number | undefined;
|
|
9
9
|
setIntervalLength(intervalLength: number): void;
|
|
10
10
|
getIntervalLength(): number | undefined;
|
|
11
11
|
_startPolling(input: PollingInput): void;
|
|
@@ -19,8 +19,8 @@ export declare const StaticIntervalPollingControllerOnly: <PollingInput extends
|
|
|
19
19
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
20
20
|
}) & typeof Empty;
|
|
21
21
|
export declare const StaticIntervalPollingController: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
22
|
-
readonly "__#
|
|
23
|
-
"__#
|
|
22
|
+
readonly "__#13@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
23
|
+
"__#13@#intervalLength": number | undefined;
|
|
24
24
|
setIntervalLength(intervalLength: number): void;
|
|
25
25
|
getIntervalLength(): number | undefined;
|
|
26
26
|
_startPolling(input: PollingInput): void;
|
|
@@ -33,20 +33,5 @@ export declare const StaticIntervalPollingController: <PollingInput extends Json
|
|
|
33
33
|
stopPollingByPollingToken(pollingToken: string): void;
|
|
34
34
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
35
35
|
}) & typeof BaseController;
|
|
36
|
-
export declare const StaticIntervalPollingControllerV1: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
37
|
-
readonly "__#11@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
38
|
-
"__#11@#intervalLength": number | undefined;
|
|
39
|
-
setIntervalLength(intervalLength: number): void;
|
|
40
|
-
getIntervalLength(): number | undefined;
|
|
41
|
-
_startPolling(input: PollingInput): void;
|
|
42
|
-
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
43
|
-
readonly "__#3@#pollingTokenSets": Map<string, Set<string>>;
|
|
44
|
-
"__#3@#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
36
|
export {};
|
|
52
37
|
//# sourceMappingURL=StaticIntervalPollingController.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticIntervalPollingController.d.cts","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.d.cts","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAGV,iBAAiB,EAClB,oBAAgB;AAsEjB,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,mCAAmC;mCArDrB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;6BAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;iBAgBoB,CAAC;AAE/E,eAAO,MAAM,+BAA+B;mCAzDjB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;6BAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;0BAqBvD,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { BaseController
|
|
1
|
+
import { BaseController } from "@metamask/base-controller";
|
|
2
2
|
import type { Json } from "@metamask/utils";
|
|
3
3
|
import type { PollingTokenSetId } from "./types.mjs";
|
|
4
4
|
declare class Empty {
|
|
5
5
|
}
|
|
6
6
|
export declare const StaticIntervalPollingControllerOnly: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
7
|
-
readonly "__#
|
|
8
|
-
"__#
|
|
7
|
+
readonly "__#13@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
8
|
+
"__#13@#intervalLength": number | undefined;
|
|
9
9
|
setIntervalLength(intervalLength: number): void;
|
|
10
10
|
getIntervalLength(): number | undefined;
|
|
11
11
|
_startPolling(input: PollingInput): void;
|
|
@@ -19,8 +19,8 @@ export declare const StaticIntervalPollingControllerOnly: <PollingInput extends
|
|
|
19
19
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
20
20
|
}) & typeof Empty;
|
|
21
21
|
export declare const StaticIntervalPollingController: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
22
|
-
readonly "__#
|
|
23
|
-
"__#
|
|
22
|
+
readonly "__#13@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
23
|
+
"__#13@#intervalLength": number | undefined;
|
|
24
24
|
setIntervalLength(intervalLength: number): void;
|
|
25
25
|
getIntervalLength(): number | undefined;
|
|
26
26
|
_startPolling(input: PollingInput): void;
|
|
@@ -33,20 +33,5 @@ export declare const StaticIntervalPollingController: <PollingInput extends Json
|
|
|
33
33
|
stopPollingByPollingToken(pollingToken: string): void;
|
|
34
34
|
onPollingComplete(input: PollingInput, callback: (input: PollingInput) => void): void;
|
|
35
35
|
}) & typeof BaseController;
|
|
36
|
-
export declare const StaticIntervalPollingControllerV1: <PollingInput extends Json>() => (abstract new (...args: any[]) => {
|
|
37
|
-
readonly "__#11@#intervalIds": Record<PollingTokenSetId, NodeJS.Timeout>;
|
|
38
|
-
"__#11@#intervalLength": number | undefined;
|
|
39
|
-
setIntervalLength(intervalLength: number): void;
|
|
40
|
-
getIntervalLength(): number | undefined;
|
|
41
|
-
_startPolling(input: PollingInput): void;
|
|
42
|
-
_stopPollingByPollingTokenSetId(key: PollingTokenSetId): void;
|
|
43
|
-
readonly "__#3@#pollingTokenSets": Map<string, Set<string>>;
|
|
44
|
-
"__#3@#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
36
|
export {};
|
|
52
37
|
//# sourceMappingURL=StaticIntervalPollingController.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticIntervalPollingController.d.mts","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.d.mts","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAGV,iBAAiB,EAClB,oBAAgB;AAsEjB,cAAM,KAAK;CAAG;AAEd,eAAO,MAAM,mCAAmC;mCArDrB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;6BAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;iBAgBoB,CAAC;AAE/E,eAAO,MAAM,+BAA+B;mCAzDjB,OAAO,iBAAiB,EAAE,OAAO,OAAO,CAAC;6BAE/C,MAAM,GAAG,SAAS;sCAED,MAAM;;;yCAmCH,iBAAiB;;;;;;;;0BAqBvD,CAAC"}
|
|
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
import { BaseController
|
|
12
|
+
import { BaseController } from "@metamask/base-controller";
|
|
13
13
|
import { AbstractPollingControllerBaseMixin, getKey } from "./AbstractPollingController.mjs";
|
|
14
14
|
/**
|
|
15
15
|
* StaticIntervalPollingControllerMixin
|
|
@@ -72,5 +72,4 @@ class Empty {
|
|
|
72
72
|
}
|
|
73
73
|
export const StaticIntervalPollingControllerOnly = () => StaticIntervalPollingControllerMixin(Empty);
|
|
74
74
|
export const StaticIntervalPollingController = () => StaticIntervalPollingControllerMixin(BaseController);
|
|
75
|
-
export const StaticIntervalPollingControllerV1 = () => StaticIntervalPollingControllerMixin(BaseControllerV1);
|
|
76
75
|
//# sourceMappingURL=StaticIntervalPollingController.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticIntervalPollingController.mjs","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"StaticIntervalPollingController.mjs","sourceRoot":"","sources":["../src/StaticIntervalPollingController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAG3D,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","sourcesContent":["import { BaseController } 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"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.StaticIntervalPollingController = exports.StaticIntervalPollingControllerOnly = exports.BlockTrackerPollingController = exports.BlockTrackerPollingControllerOnly = void 0;
|
|
4
4
|
var BlockTrackerPollingController_1 = require("./BlockTrackerPollingController.cjs");
|
|
5
5
|
Object.defineProperty(exports, "BlockTrackerPollingControllerOnly", { enumerable: true, get: function () { return BlockTrackerPollingController_1.BlockTrackerPollingControllerOnly; } });
|
|
6
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
7
|
var StaticIntervalPollingController_1 = require("./StaticIntervalPollingController.cjs");
|
|
9
8
|
Object.defineProperty(exports, "StaticIntervalPollingControllerOnly", { enumerable: true, get: function () { return StaticIntervalPollingController_1.StaticIntervalPollingControllerOnly; } });
|
|
10
9
|
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
10
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qFAGyC;AAFvC,kJAAA,iCAAiC,OAAA;AACjC,8IAAA,6BAA6B,OAAA;AAG/B,yFAG2C;AAFzC,sJAAA,mCAAmC,OAAA;AACnC,kJAAA,+BAA+B,OAAA","sourcesContent":["export {\n BlockTrackerPollingControllerOnly,\n BlockTrackerPollingController,\n} from './BlockTrackerPollingController';\n\nexport {\n StaticIntervalPollingControllerOnly,\n StaticIntervalPollingController,\n} from './StaticIntervalPollingController';\n\nexport type { IPollingController } from './types';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController,
|
|
2
|
-
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController,
|
|
1
|
+
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController, } from "./BlockTrackerPollingController.cjs";
|
|
2
|
+
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController, } from "./StaticIntervalPollingController.cjs";
|
|
3
3
|
export type { IPollingController } from "./types.cjs";
|
|
4
4
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,4CAAwC;AAEzC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAChC,8CAA0C;AAE3C,YAAY,EAAE,kBAAkB,EAAE,oBAAgB"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController,
|
|
2
|
-
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController,
|
|
1
|
+
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController, } from "./BlockTrackerPollingController.mjs";
|
|
2
|
+
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController, } from "./StaticIntervalPollingController.mjs";
|
|
3
3
|
export type { IPollingController } from "./types.mjs";
|
|
4
4
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,4CAAwC;AAEzC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAChC,8CAA0C;AAE3C,YAAY,EAAE,kBAAkB,EAAE,oBAAgB"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController
|
|
2
|
-
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController
|
|
1
|
+
export { BlockTrackerPollingControllerOnly, BlockTrackerPollingController } from "./BlockTrackerPollingController.mjs";
|
|
2
|
+
export { StaticIntervalPollingControllerOnly, StaticIntervalPollingController } from "./StaticIntervalPollingController.mjs";
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC9B,4CAAwC;AAEzC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAChC,8CAA0C","sourcesContent":["export {\n BlockTrackerPollingControllerOnly,\n BlockTrackerPollingController,\n} from './BlockTrackerPollingController';\n\nexport {\n StaticIntervalPollingControllerOnly,\n StaticIntervalPollingController,\n} from './StaticIntervalPollingController';\n\nexport type { IPollingController } from './types';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/polling-controller",
|
|
3
|
-
"version": "12.0.
|
|
3
|
+
"version": "12.0.3",
|
|
4
4
|
"description": "Polling Controller is the base for controllers that polling by networkClientId",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -47,16 +47,16 @@
|
|
|
47
47
|
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@metamask/base-controller": "^
|
|
51
|
-
"@metamask/controller-utils": "^11.
|
|
52
|
-
"@metamask/utils": "^
|
|
50
|
+
"@metamask/base-controller": "^8.0.0",
|
|
51
|
+
"@metamask/controller-utils": "^11.5.0",
|
|
52
|
+
"@metamask/utils": "^11.1.0",
|
|
53
53
|
"@types/uuid": "^8.3.0",
|
|
54
54
|
"fast-json-stable-stringify": "^2.1.0",
|
|
55
55
|
"uuid": "^8.3.2"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@metamask/auto-changelog": "^3.4.4",
|
|
59
|
-
"@metamask/network-controller": "^22.1
|
|
59
|
+
"@metamask/network-controller": "^22.2.1",
|
|
60
60
|
"@types/jest": "^27.4.1",
|
|
61
61
|
"deepmerge": "^4.2.2",
|
|
62
62
|
"jest": "^27.5.1",
|