@metamask-previews/snap-networks-utils 0.0.0-preview-be6d7f2c → 0.0.0-preview-e3b05f64
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 +1 -1
- package/dist/index.cjs +4 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.cjs +52 -0
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.cjs.map +1 -0
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.d.cts +38 -0
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.d.cts.map +1 -0
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.d.mts +38 -0
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.d.mts.map +1 -0
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.mjs +48 -0
- package/dist/providers/remote-feature-flags/RemoteFeatureFlagsProvider.mjs.map +1 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
|
-
- Initial package release ([#82](https://github.com/MetaMask/internal-snaps/pull/82), [#79](https://github.com/MetaMask/internal-snaps/pull/79))
|
|
12
|
+
- Initial package release ([#104](https://github.com/MetaMask/internal-snaps/pull/104), [#102](https://github.com/MetaMask/internal-snaps/pull/102), [#99](https://github.com/MetaMask/internal-snaps/pull/99), [#82](https://github.com/MetaMask/internal-snaps/pull/82), [#79](https://github.com/MetaMask/internal-snaps/pull/79))
|
|
13
13
|
|
|
14
14
|
[Unreleased]: https://github.com/MetaMask/internal-snaps/
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AssetsProvider = exports.ASSETS_PROVIDER_NAME = exports.noOpLogger = exports.logger = exports.createPrefixedLogger = void 0;
|
|
3
|
+
exports.RemoteFeatureFlagsProvider = exports.REMOTE_FEATURE_FLAGS_PROVIDER_NAME = exports.AssetsProvider = exports.ASSETS_PROVIDER_NAME = exports.noOpLogger = exports.logger = exports.createPrefixedLogger = void 0;
|
|
4
4
|
var logger_1 = require("./logger.cjs");
|
|
5
5
|
Object.defineProperty(exports, "createPrefixedLogger", { enumerable: true, get: function () { return logger_1.createPrefixedLogger; } });
|
|
6
6
|
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
|
|
@@ -8,4 +8,7 @@ Object.defineProperty(exports, "noOpLogger", { enumerable: true, get: function (
|
|
|
8
8
|
var AssetsProvider_1 = require("./providers/assets/AssetsProvider.cjs");
|
|
9
9
|
Object.defineProperty(exports, "ASSETS_PROVIDER_NAME", { enumerable: true, get: function () { return AssetsProvider_1.ASSETS_PROVIDER_NAME; } });
|
|
10
10
|
Object.defineProperty(exports, "AssetsProvider", { enumerable: true, get: function () { return AssetsProvider_1.AssetsProvider; } });
|
|
11
|
+
var RemoteFeatureFlagsProvider_1 = require("./providers/remote-feature-flags/RemoteFeatureFlagsProvider.cjs");
|
|
12
|
+
Object.defineProperty(exports, "REMOTE_FEATURE_FLAGS_PROVIDER_NAME", { enumerable: true, get: function () { return RemoteFeatureFlagsProvider_1.REMOTE_FEATURE_FLAGS_PROVIDER_NAME; } });
|
|
13
|
+
Object.defineProperty(exports, "RemoteFeatureFlagsProvider", { enumerable: true, get: function () { return RemoteFeatureFlagsProvider_1.RemoteFeatureFlagsProvider; } });
|
|
11
14
|
//# 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":";;;AACA,uCAAoE;AAA3D,8GAAA,oBAAoB,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,oGAAA,UAAU,OAAA;AACjD,wEAI2C;AAHzC,sHAAA,oBAAoB,OAAA;AACpB,gHAAA,cAAc,OAAA","sourcesContent":["export type { Logger } from './logger';\nexport { createPrefixedLogger, logger, noOpLogger } from './logger';\nexport {\n ASSETS_PROVIDER_NAME,\n AssetsProvider,\n type AssetsProviderMessenger,\n} from './providers/assets/AssetsProvider';\n"]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,uCAAoE;AAA3D,8GAAA,oBAAoB,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,oGAAA,UAAU,OAAA;AACjD,wEAI2C;AAHzC,sHAAA,oBAAoB,OAAA;AACpB,gHAAA,cAAc,OAAA;AAGhB,8GAIqE;AAHnE,gJAAA,kCAAkC,OAAA;AAClC,wIAAA,0BAA0B,OAAA","sourcesContent":["export type { Logger } from './logger';\nexport { createPrefixedLogger, logger, noOpLogger } from './logger';\nexport {\n ASSETS_PROVIDER_NAME,\n AssetsProvider,\n type AssetsProviderMessenger,\n} from './providers/assets/AssetsProvider';\nexport {\n REMOTE_FEATURE_FLAGS_PROVIDER_NAME,\n RemoteFeatureFlagsProvider,\n type RemoteFeatureFlagsProviderMessenger,\n} from './providers/remote-feature-flags/RemoteFeatureFlagsProvider';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { Logger } from "./logger.cjs";
|
|
2
2
|
export { createPrefixedLogger, logger, noOpLogger } from "./logger.cjs";
|
|
3
3
|
export { ASSETS_PROVIDER_NAME, AssetsProvider, type AssetsProviderMessenger, } from "./providers/assets/AssetsProvider.cjs";
|
|
4
|
+
export { REMOTE_FEATURE_FLAGS_PROVIDER_NAME, RemoteFeatureFlagsProvider, type RemoteFeatureFlagsProviderMessenger, } from "./providers/remote-feature-flags/RemoteFeatureFlagsProvider.cjs";
|
|
4
5
|
//# 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,YAAY,EAAE,MAAM,EAAE,qBAAiB;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAiB;AACpE,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,uBAAuB,GAC7B,8CAA0C"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,qBAAiB;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAiB;AACpE,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,uBAAuB,GAC7B,8CAA0C;AAC3C,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,KAAK,mCAAmC,GACzC,wEAAoE"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { Logger } from "./logger.mjs";
|
|
2
2
|
export { createPrefixedLogger, logger, noOpLogger } from "./logger.mjs";
|
|
3
3
|
export { ASSETS_PROVIDER_NAME, AssetsProvider, type AssetsProviderMessenger, } from "./providers/assets/AssetsProvider.mjs";
|
|
4
|
+
export { REMOTE_FEATURE_FLAGS_PROVIDER_NAME, RemoteFeatureFlagsProvider, type RemoteFeatureFlagsProviderMessenger, } from "./providers/remote-feature-flags/RemoteFeatureFlagsProvider.mjs";
|
|
4
5
|
//# 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,YAAY,EAAE,MAAM,EAAE,qBAAiB;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAiB;AACpE,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,uBAAuB,GAC7B,8CAA0C"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,qBAAiB;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAiB;AACpE,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,uBAAuB,GAC7B,8CAA0C;AAC3C,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,KAAK,mCAAmC,GACzC,wEAAoE"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { createPrefixedLogger, logger, noOpLogger } from "./logger.mjs";
|
|
2
2
|
export { ASSETS_PROVIDER_NAME, AssetsProvider } from "./providers/assets/AssetsProvider.mjs";
|
|
3
|
+
export { REMOTE_FEATURE_FLAGS_PROVIDER_NAME, RemoteFeatureFlagsProvider } from "./providers/remote-feature-flags/RemoteFeatureFlagsProvider.mjs";
|
|
3
4
|
//# 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":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAiB;AACpE,OAAO,EACL,oBAAoB,EACpB,cAAc,EAEf,8CAA0C","sourcesContent":["export type { Logger } from './logger';\nexport { createPrefixedLogger, logger, noOpLogger } from './logger';\nexport {\n ASSETS_PROVIDER_NAME,\n AssetsProvider,\n type AssetsProviderMessenger,\n} from './providers/assets/AssetsProvider';\n"]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAiB;AACpE,OAAO,EACL,oBAAoB,EACpB,cAAc,EAEf,8CAA0C;AAC3C,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAE3B,wEAAoE","sourcesContent":["export type { Logger } from './logger';\nexport { createPrefixedLogger, logger, noOpLogger } from './logger';\nexport {\n ASSETS_PROVIDER_NAME,\n AssetsProvider,\n type AssetsProviderMessenger,\n} from './providers/assets/AssetsProvider';\nexport {\n REMOTE_FEATURE_FLAGS_PROVIDER_NAME,\n RemoteFeatureFlagsProvider,\n type RemoteFeatureFlagsProviderMessenger,\n} from './providers/remote-feature-flags/RemoteFeatureFlagsProvider';\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
var _RemoteFeatureFlagsProvider_messenger;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RemoteFeatureFlagsProvider = exports.REMOTE_FEATURE_FLAGS_PROVIDER_NAME = void 0;
|
|
16
|
+
/**
|
|
17
|
+
* Namespace for the {@link RemoteFeatureFlagsProvider} messenger.
|
|
18
|
+
*/
|
|
19
|
+
exports.REMOTE_FEATURE_FLAGS_PROVIDER_NAME = 'RemoteFeatureFlagsProvider';
|
|
20
|
+
class RemoteFeatureFlagsProvider {
|
|
21
|
+
constructor({ messenger, }) {
|
|
22
|
+
_RemoteFeatureFlagsProvider_messenger.set(this, void 0);
|
|
23
|
+
__classPrivateFieldSet(this, _RemoteFeatureFlagsProvider_messenger, messenger, "f");
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns a single remote feature flag value, or `undefined` if missing.
|
|
27
|
+
*
|
|
28
|
+
* @param flagKey - LaunchDarkly / client-config feature flag key.
|
|
29
|
+
* @returns Flag value, or `undefined`.
|
|
30
|
+
*/
|
|
31
|
+
async getFeatureFlag(flagKey) {
|
|
32
|
+
const { remoteFeatureFlags } = await __classPrivateFieldGet(this, _RemoteFeatureFlagsProvider_messenger, "f").call('RemoteFeatureFlagController:getState');
|
|
33
|
+
return remoteFeatureFlags[flagKey];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns remote feature flag values for the given keys, keyed by flag key.
|
|
37
|
+
* Missing keys are included with value `undefined`.
|
|
38
|
+
*
|
|
39
|
+
* @param flagKeys - Feature flag keys to resolve.
|
|
40
|
+
* @returns Map of flag key → value.
|
|
41
|
+
*/
|
|
42
|
+
async getFeatureFlags(flagKeys) {
|
|
43
|
+
const { remoteFeatureFlags } = await __classPrivateFieldGet(this, _RemoteFeatureFlagsProvider_messenger, "f").call('RemoteFeatureFlagController:getState');
|
|
44
|
+
return flagKeys.reduce((acc, flagKey) => {
|
|
45
|
+
acc[flagKey] = remoteFeatureFlags[flagKey];
|
|
46
|
+
return acc;
|
|
47
|
+
}, {});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.RemoteFeatureFlagsProvider = RemoteFeatureFlagsProvider;
|
|
51
|
+
_RemoteFeatureFlagsProvider_messenger = new WeakMap();
|
|
52
|
+
//# sourceMappingURL=RemoteFeatureFlagsProvider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteFeatureFlagsProvider.cjs","sourceRoot":"","sources":["../../../src/providers/remote-feature-flags/RemoteFeatureFlagsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA;;GAEG;AACU,QAAA,kCAAkC,GAC7C,4BAAqC,CAAC;AAkBxC,MAAa,0BAA0B;IAGrC,YAAY,EACV,SAAS,GAGV;QANQ,wDAAgD;QAOvD,uBAAA,IAAI,yCAAc,SAAS,MAAA,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,uBAAA,IAAI,6CAAW,CAAC,IAAI,CACvD,sCAAsC,CACvC,CAAC;QAEF,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,QAAkB;QAElB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,uBAAA,IAAI,6CAAW,CAAC,IAAI,CACvD,sCAAsC,CACvC,CAAC;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAmC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACxE,GAAG,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;CACF;AA5CD,gEA4CC","sourcesContent":["import type { Messenger } from '@metamask/messenger';\nimport type { RemoteFeatureFlagControllerGetStateAction } from '@metamask/remote-feature-flag-controller';\nimport { AsyncMessenger } from '@metamask/snaps-sdk';\nimport type { Json } from '@metamask/utils';\n\n/**\n * Namespace for the {@link RemoteFeatureFlagsProvider} messenger.\n */\nexport const REMOTE_FEATURE_FLAGS_PROVIDER_NAME =\n 'RemoteFeatureFlagsProvider' as const;\n\n/**\n * Actions from other messengers that {@link RemoteFeatureFlagsProvider} calls.\n */\nexport type RemoteFeatureFlagsProviderAllowedActions =\n RemoteFeatureFlagControllerGetStateAction;\n\n/**\n * Messenger restricted to actions consumed by {@link RemoteFeatureFlagsProvider}.\n */\nexport type RemoteFeatureFlagsProviderMessenger = AsyncMessenger<\n Messenger<\n typeof REMOTE_FEATURE_FLAGS_PROVIDER_NAME,\n RemoteFeatureFlagsProviderAllowedActions\n >\n>;\n\nexport class RemoteFeatureFlagsProvider {\n readonly #messenger: RemoteFeatureFlagsProviderMessenger;\n\n constructor({\n messenger,\n }: {\n messenger: RemoteFeatureFlagsProviderMessenger;\n }) {\n this.#messenger = messenger;\n }\n\n /**\n * Returns a single remote feature flag value, or `undefined` if missing.\n *\n * @param flagKey - LaunchDarkly / client-config feature flag key.\n * @returns Flag value, or `undefined`.\n */\n async getFeatureFlag(flagKey: string): Promise<Json | undefined> {\n const { remoteFeatureFlags } = await this.#messenger.call(\n 'RemoteFeatureFlagController:getState',\n );\n\n return remoteFeatureFlags[flagKey];\n }\n\n /**\n * Returns remote feature flag values for the given keys, keyed by flag key.\n * Missing keys are included with value `undefined`.\n *\n * @param flagKeys - Feature flag keys to resolve.\n * @returns Map of flag key → value.\n */\n async getFeatureFlags(\n flagKeys: string[],\n ): Promise<Record<string, Json | undefined>> {\n const { remoteFeatureFlags } = await this.#messenger.call(\n 'RemoteFeatureFlagController:getState',\n );\n\n return flagKeys.reduce<Record<string, Json | undefined>>((acc, flagKey) => {\n acc[flagKey] = remoteFeatureFlags[flagKey];\n return acc;\n }, {});\n }\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Messenger } from "@metamask/messenger";
|
|
2
|
+
import type { RemoteFeatureFlagControllerGetStateAction } from "@metamask/remote-feature-flag-controller";
|
|
3
|
+
import { AsyncMessenger } from "@metamask/snaps-sdk";
|
|
4
|
+
import type { Json } from "@metamask/utils";
|
|
5
|
+
/**
|
|
6
|
+
* Namespace for the {@link RemoteFeatureFlagsProvider} messenger.
|
|
7
|
+
*/
|
|
8
|
+
export declare const REMOTE_FEATURE_FLAGS_PROVIDER_NAME: "RemoteFeatureFlagsProvider";
|
|
9
|
+
/**
|
|
10
|
+
* Actions from other messengers that {@link RemoteFeatureFlagsProvider} calls.
|
|
11
|
+
*/
|
|
12
|
+
export type RemoteFeatureFlagsProviderAllowedActions = RemoteFeatureFlagControllerGetStateAction;
|
|
13
|
+
/**
|
|
14
|
+
* Messenger restricted to actions consumed by {@link RemoteFeatureFlagsProvider}.
|
|
15
|
+
*/
|
|
16
|
+
export type RemoteFeatureFlagsProviderMessenger = AsyncMessenger<Messenger<typeof REMOTE_FEATURE_FLAGS_PROVIDER_NAME, RemoteFeatureFlagsProviderAllowedActions>>;
|
|
17
|
+
export declare class RemoteFeatureFlagsProvider {
|
|
18
|
+
#private;
|
|
19
|
+
constructor({ messenger, }: {
|
|
20
|
+
messenger: RemoteFeatureFlagsProviderMessenger;
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Returns a single remote feature flag value, or `undefined` if missing.
|
|
24
|
+
*
|
|
25
|
+
* @param flagKey - LaunchDarkly / client-config feature flag key.
|
|
26
|
+
* @returns Flag value, or `undefined`.
|
|
27
|
+
*/
|
|
28
|
+
getFeatureFlag(flagKey: string): Promise<Json | undefined>;
|
|
29
|
+
/**
|
|
30
|
+
* Returns remote feature flag values for the given keys, keyed by flag key.
|
|
31
|
+
* Missing keys are included with value `undefined`.
|
|
32
|
+
*
|
|
33
|
+
* @param flagKeys - Feature flag keys to resolve.
|
|
34
|
+
* @returns Map of flag key → value.
|
|
35
|
+
*/
|
|
36
|
+
getFeatureFlags(flagKeys: string[]): Promise<Record<string, Json | undefined>>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=RemoteFeatureFlagsProvider.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteFeatureFlagsProvider.d.cts","sourceRoot":"","sources":["../../../src/providers/remote-feature-flags/RemoteFeatureFlagsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,yCAAyC,EAAE,iDAAiD;AAC1G,OAAO,EAAE,cAAc,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C;;GAEG;AACH,eAAO,MAAM,kCAAkC,EAC7C,4BAAqC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAClD,yCAAyC,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG,cAAc,CAC9D,SAAS,CACP,OAAO,kCAAkC,EACzC,wCAAwC,CACzC,CACF,CAAC;AAEF,qBAAa,0BAA0B;;gBAGzB,EACV,SAAS,GACV,EAAE;QACD,SAAS,EAAE,mCAAmC,CAAC;KAChD;IAID;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAQhE;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;CAU7C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Messenger } from "@metamask/messenger";
|
|
2
|
+
import type { RemoteFeatureFlagControllerGetStateAction } from "@metamask/remote-feature-flag-controller";
|
|
3
|
+
import { AsyncMessenger } from "@metamask/snaps-sdk";
|
|
4
|
+
import type { Json } from "@metamask/utils";
|
|
5
|
+
/**
|
|
6
|
+
* Namespace for the {@link RemoteFeatureFlagsProvider} messenger.
|
|
7
|
+
*/
|
|
8
|
+
export declare const REMOTE_FEATURE_FLAGS_PROVIDER_NAME: "RemoteFeatureFlagsProvider";
|
|
9
|
+
/**
|
|
10
|
+
* Actions from other messengers that {@link RemoteFeatureFlagsProvider} calls.
|
|
11
|
+
*/
|
|
12
|
+
export type RemoteFeatureFlagsProviderAllowedActions = RemoteFeatureFlagControllerGetStateAction;
|
|
13
|
+
/**
|
|
14
|
+
* Messenger restricted to actions consumed by {@link RemoteFeatureFlagsProvider}.
|
|
15
|
+
*/
|
|
16
|
+
export type RemoteFeatureFlagsProviderMessenger = AsyncMessenger<Messenger<typeof REMOTE_FEATURE_FLAGS_PROVIDER_NAME, RemoteFeatureFlagsProviderAllowedActions>>;
|
|
17
|
+
export declare class RemoteFeatureFlagsProvider {
|
|
18
|
+
#private;
|
|
19
|
+
constructor({ messenger, }: {
|
|
20
|
+
messenger: RemoteFeatureFlagsProviderMessenger;
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Returns a single remote feature flag value, or `undefined` if missing.
|
|
24
|
+
*
|
|
25
|
+
* @param flagKey - LaunchDarkly / client-config feature flag key.
|
|
26
|
+
* @returns Flag value, or `undefined`.
|
|
27
|
+
*/
|
|
28
|
+
getFeatureFlag(flagKey: string): Promise<Json | undefined>;
|
|
29
|
+
/**
|
|
30
|
+
* Returns remote feature flag values for the given keys, keyed by flag key.
|
|
31
|
+
* Missing keys are included with value `undefined`.
|
|
32
|
+
*
|
|
33
|
+
* @param flagKeys - Feature flag keys to resolve.
|
|
34
|
+
* @returns Map of flag key → value.
|
|
35
|
+
*/
|
|
36
|
+
getFeatureFlags(flagKeys: string[]): Promise<Record<string, Json | undefined>>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=RemoteFeatureFlagsProvider.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteFeatureFlagsProvider.d.mts","sourceRoot":"","sources":["../../../src/providers/remote-feature-flags/RemoteFeatureFlagsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,yCAAyC,EAAE,iDAAiD;AAC1G,OAAO,EAAE,cAAc,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C;;GAEG;AACH,eAAO,MAAM,kCAAkC,EAC7C,4BAAqC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAClD,yCAAyC,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG,cAAc,CAC9D,SAAS,CACP,OAAO,kCAAkC,EACzC,wCAAwC,CACzC,CACF,CAAC;AAEF,qBAAa,0BAA0B;;gBAGzB,EACV,SAAS,GACV,EAAE;QACD,SAAS,EAAE,mCAAmC,CAAC;KAChD;IAID;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAQhE;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;CAU7C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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;
|
|
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
|
+
var _RemoteFeatureFlagsProvider_messenger;
|
|
13
|
+
/**
|
|
14
|
+
* Namespace for the {@link RemoteFeatureFlagsProvider} messenger.
|
|
15
|
+
*/
|
|
16
|
+
export const REMOTE_FEATURE_FLAGS_PROVIDER_NAME = 'RemoteFeatureFlagsProvider';
|
|
17
|
+
export class RemoteFeatureFlagsProvider {
|
|
18
|
+
constructor({ messenger, }) {
|
|
19
|
+
_RemoteFeatureFlagsProvider_messenger.set(this, void 0);
|
|
20
|
+
__classPrivateFieldSet(this, _RemoteFeatureFlagsProvider_messenger, messenger, "f");
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns a single remote feature flag value, or `undefined` if missing.
|
|
24
|
+
*
|
|
25
|
+
* @param flagKey - LaunchDarkly / client-config feature flag key.
|
|
26
|
+
* @returns Flag value, or `undefined`.
|
|
27
|
+
*/
|
|
28
|
+
async getFeatureFlag(flagKey) {
|
|
29
|
+
const { remoteFeatureFlags } = await __classPrivateFieldGet(this, _RemoteFeatureFlagsProvider_messenger, "f").call('RemoteFeatureFlagController:getState');
|
|
30
|
+
return remoteFeatureFlags[flagKey];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns remote feature flag values for the given keys, keyed by flag key.
|
|
34
|
+
* Missing keys are included with value `undefined`.
|
|
35
|
+
*
|
|
36
|
+
* @param flagKeys - Feature flag keys to resolve.
|
|
37
|
+
* @returns Map of flag key → value.
|
|
38
|
+
*/
|
|
39
|
+
async getFeatureFlags(flagKeys) {
|
|
40
|
+
const { remoteFeatureFlags } = await __classPrivateFieldGet(this, _RemoteFeatureFlagsProvider_messenger, "f").call('RemoteFeatureFlagController:getState');
|
|
41
|
+
return flagKeys.reduce((acc, flagKey) => {
|
|
42
|
+
acc[flagKey] = remoteFeatureFlags[flagKey];
|
|
43
|
+
return acc;
|
|
44
|
+
}, {});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_RemoteFeatureFlagsProvider_messenger = new WeakMap();
|
|
48
|
+
//# sourceMappingURL=RemoteFeatureFlagsProvider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteFeatureFlagsProvider.mjs","sourceRoot":"","sources":["../../../src/providers/remote-feature-flags/RemoteFeatureFlagsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,4BAAqC,CAAC;AAkBxC,MAAM,OAAO,0BAA0B;IAGrC,YAAY,EACV,SAAS,GAGV;QANQ,wDAAgD;QAOvD,uBAAA,IAAI,yCAAc,SAAS,MAAA,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,uBAAA,IAAI,6CAAW,CAAC,IAAI,CACvD,sCAAsC,CACvC,CAAC;QAEF,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,QAAkB;QAElB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,uBAAA,IAAI,6CAAW,CAAC,IAAI,CACvD,sCAAsC,CACvC,CAAC;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAmC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACxE,GAAG,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;CACF","sourcesContent":["import type { Messenger } from '@metamask/messenger';\nimport type { RemoteFeatureFlagControllerGetStateAction } from '@metamask/remote-feature-flag-controller';\nimport { AsyncMessenger } from '@metamask/snaps-sdk';\nimport type { Json } from '@metamask/utils';\n\n/**\n * Namespace for the {@link RemoteFeatureFlagsProvider} messenger.\n */\nexport const REMOTE_FEATURE_FLAGS_PROVIDER_NAME =\n 'RemoteFeatureFlagsProvider' as const;\n\n/**\n * Actions from other messengers that {@link RemoteFeatureFlagsProvider} calls.\n */\nexport type RemoteFeatureFlagsProviderAllowedActions =\n RemoteFeatureFlagControllerGetStateAction;\n\n/**\n * Messenger restricted to actions consumed by {@link RemoteFeatureFlagsProvider}.\n */\nexport type RemoteFeatureFlagsProviderMessenger = AsyncMessenger<\n Messenger<\n typeof REMOTE_FEATURE_FLAGS_PROVIDER_NAME,\n RemoteFeatureFlagsProviderAllowedActions\n >\n>;\n\nexport class RemoteFeatureFlagsProvider {\n readonly #messenger: RemoteFeatureFlagsProviderMessenger;\n\n constructor({\n messenger,\n }: {\n messenger: RemoteFeatureFlagsProviderMessenger;\n }) {\n this.#messenger = messenger;\n }\n\n /**\n * Returns a single remote feature flag value, or `undefined` if missing.\n *\n * @param flagKey - LaunchDarkly / client-config feature flag key.\n * @returns Flag value, or `undefined`.\n */\n async getFeatureFlag(flagKey: string): Promise<Json | undefined> {\n const { remoteFeatureFlags } = await this.#messenger.call(\n 'RemoteFeatureFlagController:getState',\n );\n\n return remoteFeatureFlags[flagKey];\n }\n\n /**\n * Returns remote feature flag values for the given keys, keyed by flag key.\n * Missing keys are included with value `undefined`.\n *\n * @param flagKeys - Feature flag keys to resolve.\n * @returns Map of flag key → value.\n */\n async getFeatureFlags(\n flagKeys: string[],\n ): Promise<Record<string, Json | undefined>> {\n const { remoteFeatureFlags } = await this.#messenger.call(\n 'RemoteFeatureFlagController:getState',\n );\n\n return flagKeys.reduce<Record<string, Json | undefined>>((acc, flagKey) => {\n acc[flagKey] = remoteFeatureFlags[flagKey];\n return acc;\n }, {});\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/snap-networks-utils",
|
|
3
|
-
"version": "0.0.0-preview-
|
|
3
|
+
"version": "0.0.0-preview-e3b05f64",
|
|
4
4
|
"description": "Shared utilities for MetaMask network snaps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -62,6 +62,7 @@
|
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@metamask/assets-controller": "^13.0.0",
|
|
65
|
+
"@metamask/remote-feature-flag-controller": "^5.0.0",
|
|
65
66
|
"@metamask/snaps-sdk": "^11.2.0",
|
|
66
67
|
"@metamask/utils": "^11.9.0"
|
|
67
68
|
},
|