@metamask-previews/analytics-controller 0.0.0-preview-21a5ddac → 0.0.0-preview-4ed214fa

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +11 -72
  3. package/dist/AnalyticsController-method-action-types.cjs.map +1 -1
  4. package/dist/AnalyticsController-method-action-types.d.cts +26 -28
  5. package/dist/AnalyticsController-method-action-types.d.cts.map +1 -1
  6. package/dist/AnalyticsController-method-action-types.d.mts +26 -28
  7. package/dist/AnalyticsController-method-action-types.d.mts.map +1 -1
  8. package/dist/AnalyticsController-method-action-types.mjs.map +1 -1
  9. package/dist/AnalyticsController.cjs +52 -81
  10. package/dist/AnalyticsController.cjs.map +1 -1
  11. package/dist/AnalyticsController.d.cts +24 -27
  12. package/dist/AnalyticsController.d.cts.map +1 -1
  13. package/dist/AnalyticsController.d.mts +24 -27
  14. package/dist/AnalyticsController.d.mts.map +1 -1
  15. package/dist/AnalyticsController.mjs +52 -81
  16. package/dist/AnalyticsController.mjs.map +1 -1
  17. package/dist/AnalyticsPlatformAdapter.types.cjs.map +1 -1
  18. package/dist/AnalyticsPlatformAdapter.types.d.cts +15 -58
  19. package/dist/AnalyticsPlatformAdapter.types.d.cts.map +1 -1
  20. package/dist/AnalyticsPlatformAdapter.types.d.mts +15 -58
  21. package/dist/AnalyticsPlatformAdapter.types.d.mts.map +1 -1
  22. package/dist/AnalyticsPlatformAdapter.types.mjs.map +1 -1
  23. package/dist/index.cjs +1 -7
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.cts +2 -4
  26. package/dist/index.d.cts.map +1 -1
  27. package/dist/index.d.mts +2 -4
  28. package/dist/index.d.mts.map +1 -1
  29. package/dist/index.mjs +0 -4
  30. package/dist/index.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/AnalyticsPlatformAdapterSetupError.cjs +0 -17
  33. package/dist/AnalyticsPlatformAdapterSetupError.cjs.map +0 -1
  34. package/dist/AnalyticsPlatformAdapterSetupError.d.cts +0 -8
  35. package/dist/AnalyticsPlatformAdapterSetupError.d.cts.map +0 -1
  36. package/dist/AnalyticsPlatformAdapterSetupError.d.mts +0 -8
  37. package/dist/AnalyticsPlatformAdapterSetupError.d.mts.map +0 -1
  38. package/dist/AnalyticsPlatformAdapterSetupError.mjs +0 -13
  39. package/dist/AnalyticsPlatformAdapterSetupError.mjs.map +0 -1
  40. package/dist/analyticsStateComputer.cjs +0 -46
  41. package/dist/analyticsStateComputer.cjs.map +0 -1
  42. package/dist/analyticsStateComputer.d.cts +0 -35
  43. package/dist/analyticsStateComputer.d.cts.map +0 -1
  44. package/dist/analyticsStateComputer.d.mts +0 -35
  45. package/dist/analyticsStateComputer.d.mts.map +0 -1
  46. package/dist/analyticsStateComputer.mjs +0 -42
  47. package/dist/analyticsStateComputer.mjs.map +0 -1
  48. package/dist/analyticsStateValidator.cjs +0 -19
  49. package/dist/analyticsStateValidator.cjs.map +0 -1
  50. package/dist/analyticsStateValidator.d.cts +0 -9
  51. package/dist/analyticsStateValidator.d.cts.map +0 -1
  52. package/dist/analyticsStateValidator.d.mts +0 -9
  53. package/dist/analyticsStateValidator.d.mts.map +0 -1
  54. package/dist/analyticsStateValidator.mjs +0 -15
  55. package/dist/analyticsStateValidator.mjs.map +0 -1
  56. package/dist/selectors.cjs +0 -44
  57. package/dist/selectors.cjs.map +0 -1
  58. package/dist/selectors.d.cts +0 -12
  59. package/dist/selectors.d.cts.map +0 -1
  60. package/dist/selectors.d.mts +0 -12
  61. package/dist/selectors.d.mts.map +0 -1
  62. package/dist/selectors.mjs +0 -41
  63. package/dist/selectors.mjs.map +0 -1
@@ -1,9 +0,0 @@
1
- import type { AnalyticsControllerState } from "./AnalyticsController.cjs";
2
- /**
3
- * Validates that the analytics state has a valid UUIDv4 analyticsId.
4
- *
5
- * @param state - The analytics controller state to validate
6
- * @throws {Error} If analyticsId is missing, invalid, or not a UUIDv4
7
- */
8
- export declare function validateAnalyticsState(state: AnalyticsControllerState): void;
9
- //# sourceMappingURL=analyticsStateValidator.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyticsStateValidator.d.cts","sourceRoot":"","sources":["../src/analyticsStateValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAA8B;AAEtE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAU5E"}
@@ -1,9 +0,0 @@
1
- import type { AnalyticsControllerState } from "./AnalyticsController.mjs";
2
- /**
3
- * Validates that the analytics state has a valid UUIDv4 analyticsId.
4
- *
5
- * @param state - The analytics controller state to validate
6
- * @throws {Error} If analyticsId is missing, invalid, or not a UUIDv4
7
- */
8
- export declare function validateAnalyticsState(state: AnalyticsControllerState): void;
9
- //# sourceMappingURL=analyticsStateValidator.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyticsStateValidator.d.mts","sourceRoot":"","sources":["../src/analyticsStateValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAA8B;AAEtE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAU5E"}
@@ -1,15 +0,0 @@
1
- import { validate as validateUuid, version as getUuidVersion } from "uuid";
2
- /**
3
- * Validates that the analytics state has a valid UUIDv4 analyticsId.
4
- *
5
- * @param state - The analytics controller state to validate
6
- * @throws {Error} If analyticsId is missing, invalid, or not a UUIDv4
7
- */
8
- export function validateAnalyticsState(state) {
9
- if (!state.analyticsId ||
10
- !validateUuid(state.analyticsId) ||
11
- getUuidVersion(state.analyticsId) !== 4) {
12
- throw new Error(`Invalid analyticsId: expected a valid UUIDv4, but got ${JSON.stringify(state.analyticsId)}`);
13
- }
14
- }
15
- //# sourceMappingURL=analyticsStateValidator.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyticsStateValidator.mjs","sourceRoot":"","sources":["../src/analyticsStateValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,OAAO,IAAI,cAAc,EAAE,aAAa;AAI3E;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA+B;IACpE,IACE,CAAC,KAAK,CAAC,WAAW;QAClB,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EACvC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,yDAAyD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAC7F,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { validate as validateUuid, version as getUuidVersion } from 'uuid';\n\nimport type { AnalyticsControllerState } from './AnalyticsController';\n\n/**\n * Validates that the analytics state has a valid UUIDv4 analyticsId.\n *\n * @param state - The analytics controller state to validate\n * @throws {Error} If analyticsId is missing, invalid, or not a UUIDv4\n */\nexport function validateAnalyticsState(state: AnalyticsControllerState): void {\n if (\n !state.analyticsId ||\n !validateUuid(state.analyticsId) ||\n getUuidVersion(state.analyticsId) !== 4\n ) {\n throw new Error(\n `Invalid analyticsId: expected a valid UUIDv4, but got ${JSON.stringify(state.analyticsId)}`,\n );\n }\n}\n"]}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyticsControllerSelectors = void 0;
4
- const analyticsStateComputer_1 = require("./analyticsStateComputer.cjs");
5
- /**
6
- * Selects the analytics ID from the controller state.
7
- *
8
- * @param state - The controller state
9
- * @returns The analytics ID
10
- */
11
- const selectAnalyticsId = (state) => state.analyticsId;
12
- /**
13
- * Selects the opted-in status from the controller state.
14
- *
15
- * @param state - The controller state
16
- * @returns Whether the user has opted in for regular account
17
- */
18
- const selectOptedIn = (state) => state.optedInForRegularAccount;
19
- /**
20
- * Selects the social opted-in status from the controller state.
21
- *
22
- * @param state - The controller state
23
- * @returns Whether the user has opted in for social account
24
- */
25
- const selectSocialOptedIn = (state) => state.optedInForSocialAccount;
26
- /**
27
- * Selects the enabled status from the controller state.
28
- * This is computed from user state via the state computer.
29
- *
30
- * @param state - The controller state
31
- * @returns Whether analytics tracking is enabled
32
- */
33
- const selectEnabled = (state) => (0, analyticsStateComputer_1.computeEnabledState)(state);
34
- /**
35
- * Selectors for the AnalyticsController state.
36
- * These can be used with Redux or directly with controller state.
37
- */
38
- exports.analyticsControllerSelectors = {
39
- selectAnalyticsId,
40
- selectOptedIn,
41
- selectSocialOptedIn,
42
- selectEnabled,
43
- };
44
- //# sourceMappingURL=selectors.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.cjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":";;;AACA,yEAA+D;AAE/D;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAA+B,EAAU,EAAE,CACpE,KAAK,CAAC,WAAW,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,wBAAwB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAW,EAAE,CACvE,KAAK,CAAC,uBAAuB,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,IAAA,4CAAmB,EAAC,KAAK,CAAC,CAAC;AAE7B;;;GAGG;AACU,QAAA,4BAA4B,GAAG;IAC1C,iBAAiB;IACjB,aAAa;IACb,mBAAmB;IACnB,aAAa;CACd,CAAC","sourcesContent":["import type { AnalyticsControllerState } from './AnalyticsController';\nimport { computeEnabledState } from './analyticsStateComputer';\n\n/**\n * Selects the analytics ID from the controller state.\n *\n * @param state - The controller state\n * @returns The analytics ID\n */\nconst selectAnalyticsId = (state: AnalyticsControllerState): string =>\n state.analyticsId;\n\n/**\n * Selects the opted-in status from the controller state.\n *\n * @param state - The controller state\n * @returns Whether the user has opted in for regular account\n */\nconst selectOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedInForRegularAccount;\n\n/**\n * Selects the social opted-in status from the controller state.\n *\n * @param state - The controller state\n * @returns Whether the user has opted in for social account\n */\nconst selectSocialOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedInForSocialAccount;\n\n/**\n * Selects the enabled status from the controller state.\n * This is computed from user state via the state computer.\n *\n * @param state - The controller state\n * @returns Whether analytics tracking is enabled\n */\nconst selectEnabled = (state: AnalyticsControllerState): boolean =>\n computeEnabledState(state);\n\n/**\n * Selectors for the AnalyticsController state.\n * These can be used with Redux or directly with controller state.\n */\nexport const analyticsControllerSelectors = {\n selectAnalyticsId,\n selectOptedIn,\n selectSocialOptedIn,\n selectEnabled,\n};\n"]}
@@ -1,12 +0,0 @@
1
- import type { AnalyticsControllerState } from "./AnalyticsController.cjs";
2
- /**
3
- * Selectors for the AnalyticsController state.
4
- * These can be used with Redux or directly with controller state.
5
- */
6
- export declare const analyticsControllerSelectors: {
7
- selectAnalyticsId: (state: AnalyticsControllerState) => string;
8
- selectOptedIn: (state: AnalyticsControllerState) => boolean;
9
- selectSocialOptedIn: (state: AnalyticsControllerState) => boolean;
10
- selectEnabled: (state: AnalyticsControllerState) => boolean;
11
- };
12
- //# sourceMappingURL=selectors.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAA8B;AAwCtE;;;GAGG;AACH,eAAO,MAAM,4BAA4B;+BAnCP,wBAAwB,KAAG,MAAM;2BASrC,wBAAwB,KAAG,OAAO;iCAS5B,wBAAwB,KAAG,OAAO;2BAUxC,wBAAwB,KAAG,OAAO;CAY/D,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { AnalyticsControllerState } from "./AnalyticsController.mjs";
2
- /**
3
- * Selectors for the AnalyticsController state.
4
- * These can be used with Redux or directly with controller state.
5
- */
6
- export declare const analyticsControllerSelectors: {
7
- selectAnalyticsId: (state: AnalyticsControllerState) => string;
8
- selectOptedIn: (state: AnalyticsControllerState) => boolean;
9
- selectSocialOptedIn: (state: AnalyticsControllerState) => boolean;
10
- selectEnabled: (state: AnalyticsControllerState) => boolean;
11
- };
12
- //# sourceMappingURL=selectors.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAA8B;AAwCtE;;;GAGG;AACH,eAAO,MAAM,4BAA4B;+BAnCP,wBAAwB,KAAG,MAAM;2BASrC,wBAAwB,KAAG,OAAO;iCAS5B,wBAAwB,KAAG,OAAO;2BAUxC,wBAAwB,KAAG,OAAO;CAY/D,CAAC"}
@@ -1,41 +0,0 @@
1
- import { computeEnabledState } from "./analyticsStateComputer.mjs";
2
- /**
3
- * Selects the analytics ID from the controller state.
4
- *
5
- * @param state - The controller state
6
- * @returns The analytics ID
7
- */
8
- const selectAnalyticsId = (state) => state.analyticsId;
9
- /**
10
- * Selects the opted-in status from the controller state.
11
- *
12
- * @param state - The controller state
13
- * @returns Whether the user has opted in for regular account
14
- */
15
- const selectOptedIn = (state) => state.optedInForRegularAccount;
16
- /**
17
- * Selects the social opted-in status from the controller state.
18
- *
19
- * @param state - The controller state
20
- * @returns Whether the user has opted in for social account
21
- */
22
- const selectSocialOptedIn = (state) => state.optedInForSocialAccount;
23
- /**
24
- * Selects the enabled status from the controller state.
25
- * This is computed from user state via the state computer.
26
- *
27
- * @param state - The controller state
28
- * @returns Whether analytics tracking is enabled
29
- */
30
- const selectEnabled = (state) => computeEnabledState(state);
31
- /**
32
- * Selectors for the AnalyticsController state.
33
- * These can be used with Redux or directly with controller state.
34
- */
35
- export const analyticsControllerSelectors = {
36
- selectAnalyticsId,
37
- selectOptedIn,
38
- selectSocialOptedIn,
39
- selectEnabled,
40
- };
41
- //# sourceMappingURL=selectors.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.mjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,qCAAiC;AAE/D;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAA+B,EAAU,EAAE,CACpE,KAAK,CAAC,WAAW,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,wBAAwB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAW,EAAE,CACvE,KAAK,CAAC,uBAAuB,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,iBAAiB;IACjB,aAAa;IACb,mBAAmB;IACnB,aAAa;CACd,CAAC","sourcesContent":["import type { AnalyticsControllerState } from './AnalyticsController';\nimport { computeEnabledState } from './analyticsStateComputer';\n\n/**\n * Selects the analytics ID from the controller state.\n *\n * @param state - The controller state\n * @returns The analytics ID\n */\nconst selectAnalyticsId = (state: AnalyticsControllerState): string =>\n state.analyticsId;\n\n/**\n * Selects the opted-in status from the controller state.\n *\n * @param state - The controller state\n * @returns Whether the user has opted in for regular account\n */\nconst selectOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedInForRegularAccount;\n\n/**\n * Selects the social opted-in status from the controller state.\n *\n * @param state - The controller state\n * @returns Whether the user has opted in for social account\n */\nconst selectSocialOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedInForSocialAccount;\n\n/**\n * Selects the enabled status from the controller state.\n * This is computed from user state via the state computer.\n *\n * @param state - The controller state\n * @returns Whether analytics tracking is enabled\n */\nconst selectEnabled = (state: AnalyticsControllerState): boolean =>\n computeEnabledState(state);\n\n/**\n * Selectors for the AnalyticsController state.\n * These can be used with Redux or directly with controller state.\n */\nexport const analyticsControllerSelectors = {\n selectAnalyticsId,\n selectOptedIn,\n selectSocialOptedIn,\n selectEnabled,\n};\n"]}