@metamask-previews/analytics-controller 2.0.0-preview-fe4b3be11 → 2.1.0-preview-2f57247

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 (41) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/README.md +46 -5
  3. package/dist/AnalyticsController-method-action-types.cjs.map +1 -1
  4. package/dist/AnalyticsController-method-action-types.d.cts +106 -2
  5. package/dist/AnalyticsController-method-action-types.d.cts.map +1 -1
  6. package/dist/AnalyticsController-method-action-types.d.mts +106 -2
  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 +364 -14
  10. package/dist/AnalyticsController.cjs.map +1 -1
  11. package/dist/AnalyticsController.d.cts +121 -2
  12. package/dist/AnalyticsController.d.cts.map +1 -1
  13. package/dist/AnalyticsController.d.mts +121 -2
  14. package/dist/AnalyticsController.d.mts.map +1 -1
  15. package/dist/AnalyticsController.mjs +363 -13
  16. package/dist/AnalyticsController.mjs.map +1 -1
  17. package/dist/EventFragment.types.cjs +3 -0
  18. package/dist/EventFragment.types.cjs.map +1 -0
  19. package/dist/EventFragment.types.d.cts +111 -0
  20. package/dist/EventFragment.types.d.cts.map +1 -0
  21. package/dist/EventFragment.types.d.mts +111 -0
  22. package/dist/EventFragment.types.d.mts.map +1 -0
  23. package/dist/EventFragment.types.mjs +2 -0
  24. package/dist/EventFragment.types.mjs.map +1 -0
  25. package/dist/index.cjs +2 -1
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.cts +3 -2
  28. package/dist/index.d.cts.map +1 -1
  29. package/dist/index.d.mts +3 -2
  30. package/dist/index.d.mts.map +1 -1
  31. package/dist/index.mjs +1 -1
  32. package/dist/index.mjs.map +1 -1
  33. package/dist/selectors.cjs +19 -0
  34. package/dist/selectors.cjs.map +1 -1
  35. package/dist/selectors.d.cts +3 -0
  36. package/dist/selectors.d.cts.map +1 -1
  37. package/dist/selectors.d.mts +3 -0
  38. package/dist/selectors.d.mts.map +1 -1
  39. package/dist/selectors.mjs +19 -0
  40. package/dist/selectors.mjs.map +1 -1
  41. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AAC9C,oEAGkC;AAFhC,6HAAA,mBAAmB,OAAA;AACnB,4IAAA,kCAAkC,OAAA;AAIpC,gBAAgB;AAChB,kGAA6F;AAApF,2JAAA,kCAAkC,OAAA;AA0B3C,mBAAmB;AACnB,gDAA8D;AAArD,4HAAA,4BAA4B,OAAA","sourcesContent":["// Export controller class and state utilities\nexport {\n AnalyticsController,\n getDefaultAnalyticsControllerState,\n} from './AnalyticsController.js';\nexport type { AnalyticsControllerOptions } from './AnalyticsController.js';\n\n// Export errors\nexport { AnalyticsPlatformAdapterSetupError } from './AnalyticsPlatformAdapterSetupError.js';\n\n// Export types\nexport type {\n AnalyticsContext,\n AnalyticsEventProperties,\n AnalyticsDeliveryOptions,\n AnalyticsInvocationCallback,\n AnalyticsLocationContext,\n AnalyticsLocationField,\n AnalyticsUserTraits,\n AnalyticsPlatformAdapter,\n AnalyticsTrackingEvent,\n} from './AnalyticsPlatformAdapter.types';\n\n// Export state types\nexport type {\n AnalyticsControllerState,\n AnalyticsEventQueue,\n AnalyticsQueuedEvent,\n AnalyticsQueuedEventType,\n AnalyticsQueuedTrackEvent,\n AnalyticsQueuedIdentifyEvent,\n AnalyticsQueuedViewEvent,\n} from './AnalyticsController.js';\n\n// Export selectors\nexport { analyticsControllerSelectors } from './selectors.js';\n\n// Export messenger types\nexport type { AnalyticsControllerMessenger } from './AnalyticsController.js';\n\n// Export action and event types\nexport type {\n AnalyticsControllerActions,\n AnalyticsControllerEvents,\n AnalyticsControllerGetStateAction,\n AnalyticsControllerStateChangeEvent,\n} from './AnalyticsController.js';\nexport type {\n AnalyticsControllerTrackEventAction,\n AnalyticsControllerIdentifyAction,\n AnalyticsControllerTrackViewAction,\n AnalyticsControllerOptInAction,\n AnalyticsControllerOptOutAction,\n AnalyticsControllerResetConsentDecisionAction,\n AnalyticsControllerMethodActions,\n} from './AnalyticsController-method-action-types.js';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AAC9C,oEAIkC;AAHhC,6HAAA,mBAAmB,OAAA;AACnB,gIAAA,sBAAsB,OAAA;AACtB,4IAAA,kCAAkC,OAAA;AAIpC,gBAAgB;AAChB,kGAA6F;AAApF,2JAAA,kCAAkC,OAAA;AAoC3C,mBAAmB;AACnB,gDAA8D;AAArD,4HAAA,4BAA4B,OAAA","sourcesContent":["// Export controller class and state utilities\nexport {\n AnalyticsController,\n EVENT_FRAGMENT_MAX_AGE,\n getDefaultAnalyticsControllerState,\n} from './AnalyticsController.js';\nexport type { AnalyticsControllerOptions } from './AnalyticsController.js';\n\n// Export errors\nexport { AnalyticsPlatformAdapterSetupError } from './AnalyticsPlatformAdapterSetupError.js';\n\n// Export types\nexport type {\n AnalyticsContext,\n AnalyticsEventProperties,\n AnalyticsDeliveryOptions,\n AnalyticsInvocationCallback,\n AnalyticsLocationContext,\n AnalyticsLocationField,\n AnalyticsUserTraits,\n AnalyticsPlatformAdapter,\n AnalyticsTrackingEvent,\n} from './AnalyticsPlatformAdapter.types';\n\n// Export event fragment types\nexport type {\n AnalyticsEventFragment,\n AnalyticsEventFragmentFinalizeOptions,\n AnalyticsEventFragmentOptions,\n AnalyticsEventFragmentPayload,\n AnalyticsEventFragments,\n ReadonlyAnalyticsEventFragment,\n} from './EventFragment.types.js';\n\n// Export state types\nexport type {\n AnalyticsControllerState,\n AnalyticsEventQueue,\n AnalyticsQueuedEvent,\n AnalyticsQueuedEventType,\n AnalyticsQueuedTrackEvent,\n AnalyticsQueuedIdentifyEvent,\n AnalyticsQueuedViewEvent,\n} from './AnalyticsController.js';\n\n// Export selectors\nexport { analyticsControllerSelectors } from './selectors.js';\n\n// Export messenger types\nexport type { AnalyticsControllerMessenger } from './AnalyticsController.js';\n\n// Export action and event types\nexport type {\n AnalyticsControllerActions,\n AnalyticsControllerEvents,\n AnalyticsControllerGetStateAction,\n AnalyticsControllerStateChangeEvent,\n} from './AnalyticsController.js';\nexport type {\n AnalyticsControllerTrackEventAction,\n AnalyticsControllerIdentifyAction,\n AnalyticsControllerTrackViewAction,\n AnalyticsControllerOptInAction,\n AnalyticsControllerOptOutAction,\n AnalyticsControllerResetConsentDecisionAction,\n AnalyticsControllerCreateEventFragmentAction,\n AnalyticsControllerUpsertEventFragmentAction,\n AnalyticsControllerUpdateEventFragmentAction,\n AnalyticsControllerGetEventFragmentByIdAction,\n AnalyticsControllerDeleteEventFragmentAction,\n AnalyticsControllerFinalizeEventFragmentAction,\n AnalyticsControllerMethodActions,\n} from './AnalyticsController-method-action-types.js';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,10 +1,11 @@
1
- export { AnalyticsController, getDefaultAnalyticsControllerState, } from "./AnalyticsController.cjs";
1
+ export { AnalyticsController, EVENT_FRAGMENT_MAX_AGE, getDefaultAnalyticsControllerState, } from "./AnalyticsController.cjs";
2
2
  export type { AnalyticsControllerOptions } from "./AnalyticsController.cjs";
3
3
  export { AnalyticsPlatformAdapterSetupError } from "./AnalyticsPlatformAdapterSetupError.cjs";
4
4
  export type { AnalyticsContext, AnalyticsEventProperties, AnalyticsDeliveryOptions, AnalyticsInvocationCallback, AnalyticsLocationContext, AnalyticsLocationField, AnalyticsUserTraits, AnalyticsPlatformAdapter, AnalyticsTrackingEvent, } from "./AnalyticsPlatformAdapter.types.cjs";
5
+ export type { AnalyticsEventFragment, AnalyticsEventFragmentFinalizeOptions, AnalyticsEventFragmentOptions, AnalyticsEventFragmentPayload, AnalyticsEventFragments, ReadonlyAnalyticsEventFragment, } from "./EventFragment.types.cjs";
5
6
  export type { AnalyticsControllerState, AnalyticsEventQueue, AnalyticsQueuedEvent, AnalyticsQueuedEventType, AnalyticsQueuedTrackEvent, AnalyticsQueuedIdentifyEvent, AnalyticsQueuedViewEvent, } from "./AnalyticsController.cjs";
6
7
  export { analyticsControllerSelectors } from "./selectors.cjs";
7
8
  export type { AnalyticsControllerMessenger } from "./AnalyticsController.cjs";
8
9
  export type { AnalyticsControllerActions, AnalyticsControllerEvents, AnalyticsControllerGetStateAction, AnalyticsControllerStateChangeEvent, } from "./AnalyticsController.cjs";
9
- export type { AnalyticsControllerTrackEventAction, AnalyticsControllerIdentifyAction, AnalyticsControllerTrackViewAction, AnalyticsControllerOptInAction, AnalyticsControllerOptOutAction, AnalyticsControllerResetConsentDecisionAction, AnalyticsControllerMethodActions, } from "./AnalyticsController-method-action-types.cjs";
10
+ export type { AnalyticsControllerTrackEventAction, AnalyticsControllerIdentifyAction, AnalyticsControllerTrackViewAction, AnalyticsControllerOptInAction, AnalyticsControllerOptOutAction, AnalyticsControllerResetConsentDecisionAction, AnalyticsControllerCreateEventFragmentAction, AnalyticsControllerUpsertEventFragmentAction, AnalyticsControllerUpdateEventFragmentAction, AnalyticsControllerGetEventFragmentByIdAction, AnalyticsControllerDeleteEventFragmentAction, AnalyticsControllerFinalizeEventFragmentAction, AnalyticsControllerMethodActions, } from "./AnalyticsController-method-action-types.cjs";
10
11
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,kCAAkC,GACnC,kCAAiC;AAClC,YAAY,EAAE,0BAA0B,EAAE,kCAAiC;AAG3E,OAAO,EAAE,kCAAkC,EAAE,iDAAgD;AAG7F,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,6CAAyC;AAG1C,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,GACzB,kCAAiC;AAGlC,OAAO,EAAE,4BAA4B,EAAE,wBAAuB;AAG9D,YAAY,EAAE,4BAA4B,EAAE,kCAAiC;AAG7E,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,EACjC,mCAAmC,GACpC,kCAAiC;AAClC,YAAY,EACV,mCAAmC,EACnC,iCAAiC,EACjC,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,6CAA6C,EAC7C,gCAAgC,GACjC,sDAAqD"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kCAAkC,GACnC,kCAAiC;AAClC,YAAY,EAAE,0BAA0B,EAAE,kCAAiC;AAG3E,OAAO,EAAE,kCAAkC,EAAE,iDAAgD;AAG7F,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,6CAAyC;AAG1C,YAAY,EACV,sBAAsB,EACtB,qCAAqC,EACrC,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,8BAA8B,GAC/B,kCAAiC;AAGlC,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,GACzB,kCAAiC;AAGlC,OAAO,EAAE,4BAA4B,EAAE,wBAAuB;AAG9D,YAAY,EAAE,4BAA4B,EAAE,kCAAiC;AAG7E,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,EACjC,mCAAmC,GACpC,kCAAiC;AAClC,YAAY,EACV,mCAAmC,EACnC,iCAAiC,EACjC,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,6CAA6C,EAC7C,4CAA4C,EAC5C,4CAA4C,EAC5C,4CAA4C,EAC5C,6CAA6C,EAC7C,4CAA4C,EAC5C,8CAA8C,EAC9C,gCAAgC,GACjC,sDAAqD"}
package/dist/index.d.mts CHANGED
@@ -1,10 +1,11 @@
1
- export { AnalyticsController, getDefaultAnalyticsControllerState, } from "./AnalyticsController.mjs";
1
+ export { AnalyticsController, EVENT_FRAGMENT_MAX_AGE, getDefaultAnalyticsControllerState, } from "./AnalyticsController.mjs";
2
2
  export type { AnalyticsControllerOptions } from "./AnalyticsController.mjs";
3
3
  export { AnalyticsPlatformAdapterSetupError } from "./AnalyticsPlatformAdapterSetupError.mjs";
4
4
  export type { AnalyticsContext, AnalyticsEventProperties, AnalyticsDeliveryOptions, AnalyticsInvocationCallback, AnalyticsLocationContext, AnalyticsLocationField, AnalyticsUserTraits, AnalyticsPlatformAdapter, AnalyticsTrackingEvent, } from "./AnalyticsPlatformAdapter.types.mjs";
5
+ export type { AnalyticsEventFragment, AnalyticsEventFragmentFinalizeOptions, AnalyticsEventFragmentOptions, AnalyticsEventFragmentPayload, AnalyticsEventFragments, ReadonlyAnalyticsEventFragment, } from "./EventFragment.types.mjs";
5
6
  export type { AnalyticsControllerState, AnalyticsEventQueue, AnalyticsQueuedEvent, AnalyticsQueuedEventType, AnalyticsQueuedTrackEvent, AnalyticsQueuedIdentifyEvent, AnalyticsQueuedViewEvent, } from "./AnalyticsController.mjs";
6
7
  export { analyticsControllerSelectors } from "./selectors.mjs";
7
8
  export type { AnalyticsControllerMessenger } from "./AnalyticsController.mjs";
8
9
  export type { AnalyticsControllerActions, AnalyticsControllerEvents, AnalyticsControllerGetStateAction, AnalyticsControllerStateChangeEvent, } from "./AnalyticsController.mjs";
9
- export type { AnalyticsControllerTrackEventAction, AnalyticsControllerIdentifyAction, AnalyticsControllerTrackViewAction, AnalyticsControllerOptInAction, AnalyticsControllerOptOutAction, AnalyticsControllerResetConsentDecisionAction, AnalyticsControllerMethodActions, } from "./AnalyticsController-method-action-types.mjs";
10
+ export type { AnalyticsControllerTrackEventAction, AnalyticsControllerIdentifyAction, AnalyticsControllerTrackViewAction, AnalyticsControllerOptInAction, AnalyticsControllerOptOutAction, AnalyticsControllerResetConsentDecisionAction, AnalyticsControllerCreateEventFragmentAction, AnalyticsControllerUpsertEventFragmentAction, AnalyticsControllerUpdateEventFragmentAction, AnalyticsControllerGetEventFragmentByIdAction, AnalyticsControllerDeleteEventFragmentAction, AnalyticsControllerFinalizeEventFragmentAction, AnalyticsControllerMethodActions, } from "./AnalyticsController-method-action-types.mjs";
10
11
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,kCAAkC,GACnC,kCAAiC;AAClC,YAAY,EAAE,0BAA0B,EAAE,kCAAiC;AAG3E,OAAO,EAAE,kCAAkC,EAAE,iDAAgD;AAG7F,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,6CAAyC;AAG1C,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,GACzB,kCAAiC;AAGlC,OAAO,EAAE,4BAA4B,EAAE,wBAAuB;AAG9D,YAAY,EAAE,4BAA4B,EAAE,kCAAiC;AAG7E,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,EACjC,mCAAmC,GACpC,kCAAiC;AAClC,YAAY,EACV,mCAAmC,EACnC,iCAAiC,EACjC,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,6CAA6C,EAC7C,gCAAgC,GACjC,sDAAqD"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kCAAkC,GACnC,kCAAiC;AAClC,YAAY,EAAE,0BAA0B,EAAE,kCAAiC;AAG3E,OAAO,EAAE,kCAAkC,EAAE,iDAAgD;AAG7F,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,6CAAyC;AAG1C,YAAY,EACV,sBAAsB,EACtB,qCAAqC,EACrC,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,8BAA8B,GAC/B,kCAAiC;AAGlC,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,GACzB,kCAAiC;AAGlC,OAAO,EAAE,4BAA4B,EAAE,wBAAuB;AAG9D,YAAY,EAAE,4BAA4B,EAAE,kCAAiC;AAG7E,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,EACjC,mCAAmC,GACpC,kCAAiC;AAClC,YAAY,EACV,mCAAmC,EACnC,iCAAiC,EACjC,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,6CAA6C,EAC7C,4CAA4C,EAC5C,4CAA4C,EAC5C,4CAA4C,EAC5C,6CAA6C,EAC7C,4CAA4C,EAC5C,8CAA8C,EAC9C,gCAAgC,GACjC,sDAAqD"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // Export controller class and state utilities
2
- export { AnalyticsController, getDefaultAnalyticsControllerState } from "./AnalyticsController.mjs";
2
+ export { AnalyticsController, EVENT_FRAGMENT_MAX_AGE, getDefaultAnalyticsControllerState } from "./AnalyticsController.mjs";
3
3
  // Export errors
4
4
  export { AnalyticsPlatformAdapterSetupError } from "./AnalyticsPlatformAdapterSetupError.mjs";
5
5
  // Export selectors
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EACL,mBAAmB,EACnB,kCAAkC,EACnC,kCAAiC;AAGlC,gBAAgB;AAChB,OAAO,EAAE,kCAAkC,EAAE,iDAAgD;AA0B7F,mBAAmB;AACnB,OAAO,EAAE,4BAA4B,EAAE,wBAAuB","sourcesContent":["// Export controller class and state utilities\nexport {\n AnalyticsController,\n getDefaultAnalyticsControllerState,\n} from './AnalyticsController.js';\nexport type { AnalyticsControllerOptions } from './AnalyticsController.js';\n\n// Export errors\nexport { AnalyticsPlatformAdapterSetupError } from './AnalyticsPlatformAdapterSetupError.js';\n\n// Export types\nexport type {\n AnalyticsContext,\n AnalyticsEventProperties,\n AnalyticsDeliveryOptions,\n AnalyticsInvocationCallback,\n AnalyticsLocationContext,\n AnalyticsLocationField,\n AnalyticsUserTraits,\n AnalyticsPlatformAdapter,\n AnalyticsTrackingEvent,\n} from './AnalyticsPlatformAdapter.types';\n\n// Export state types\nexport type {\n AnalyticsControllerState,\n AnalyticsEventQueue,\n AnalyticsQueuedEvent,\n AnalyticsQueuedEventType,\n AnalyticsQueuedTrackEvent,\n AnalyticsQueuedIdentifyEvent,\n AnalyticsQueuedViewEvent,\n} from './AnalyticsController.js';\n\n// Export selectors\nexport { analyticsControllerSelectors } from './selectors.js';\n\n// Export messenger types\nexport type { AnalyticsControllerMessenger } from './AnalyticsController.js';\n\n// Export action and event types\nexport type {\n AnalyticsControllerActions,\n AnalyticsControllerEvents,\n AnalyticsControllerGetStateAction,\n AnalyticsControllerStateChangeEvent,\n} from './AnalyticsController.js';\nexport type {\n AnalyticsControllerTrackEventAction,\n AnalyticsControllerIdentifyAction,\n AnalyticsControllerTrackViewAction,\n AnalyticsControllerOptInAction,\n AnalyticsControllerOptOutAction,\n AnalyticsControllerResetConsentDecisionAction,\n AnalyticsControllerMethodActions,\n} from './AnalyticsController-method-action-types.js';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kCAAkC,EACnC,kCAAiC;AAGlC,gBAAgB;AAChB,OAAO,EAAE,kCAAkC,EAAE,iDAAgD;AAoC7F,mBAAmB;AACnB,OAAO,EAAE,4BAA4B,EAAE,wBAAuB","sourcesContent":["// Export controller class and state utilities\nexport {\n AnalyticsController,\n EVENT_FRAGMENT_MAX_AGE,\n getDefaultAnalyticsControllerState,\n} from './AnalyticsController.js';\nexport type { AnalyticsControllerOptions } from './AnalyticsController.js';\n\n// Export errors\nexport { AnalyticsPlatformAdapterSetupError } from './AnalyticsPlatformAdapterSetupError.js';\n\n// Export types\nexport type {\n AnalyticsContext,\n AnalyticsEventProperties,\n AnalyticsDeliveryOptions,\n AnalyticsInvocationCallback,\n AnalyticsLocationContext,\n AnalyticsLocationField,\n AnalyticsUserTraits,\n AnalyticsPlatformAdapter,\n AnalyticsTrackingEvent,\n} from './AnalyticsPlatformAdapter.types';\n\n// Export event fragment types\nexport type {\n AnalyticsEventFragment,\n AnalyticsEventFragmentFinalizeOptions,\n AnalyticsEventFragmentOptions,\n AnalyticsEventFragmentPayload,\n AnalyticsEventFragments,\n ReadonlyAnalyticsEventFragment,\n} from './EventFragment.types.js';\n\n// Export state types\nexport type {\n AnalyticsControllerState,\n AnalyticsEventQueue,\n AnalyticsQueuedEvent,\n AnalyticsQueuedEventType,\n AnalyticsQueuedTrackEvent,\n AnalyticsQueuedIdentifyEvent,\n AnalyticsQueuedViewEvent,\n} from './AnalyticsController.js';\n\n// Export selectors\nexport { analyticsControllerSelectors } from './selectors.js';\n\n// Export messenger types\nexport type { AnalyticsControllerMessenger } from './AnalyticsController.js';\n\n// Export action and event types\nexport type {\n AnalyticsControllerActions,\n AnalyticsControllerEvents,\n AnalyticsControllerGetStateAction,\n AnalyticsControllerStateChangeEvent,\n} from './AnalyticsController.js';\nexport type {\n AnalyticsControllerTrackEventAction,\n AnalyticsControllerIdentifyAction,\n AnalyticsControllerTrackViewAction,\n AnalyticsControllerOptInAction,\n AnalyticsControllerOptOutAction,\n AnalyticsControllerResetConsentDecisionAction,\n AnalyticsControllerCreateEventFragmentAction,\n AnalyticsControllerUpsertEventFragmentAction,\n AnalyticsControllerUpdateEventFragmentAction,\n AnalyticsControllerGetEventFragmentByIdAction,\n AnalyticsControllerDeleteEventFragmentAction,\n AnalyticsControllerFinalizeEventFragmentAction,\n AnalyticsControllerMethodActions,\n} from './AnalyticsController-method-action-types.js';\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.analyticsControllerSelectors = void 0;
4
+ const EMPTY_EVENT_FRAGMENTS = Object.freeze({});
4
5
  /**
5
6
  * Selects the analytics ID from the controller state.
6
7
  *
@@ -33,6 +34,22 @@ const selectEnabled = (state) => state.optedIn;
33
34
  * @returns Whether the user has made a consent decision
34
35
  */
35
36
  const selectConsentDecisionMade = (state) => state.consentDecisionMade ?? false;
37
+ /**
38
+ * Selects the in-progress event fragments from the controller state.
39
+ *
40
+ * @param state - The controller state
41
+ * @returns The event fragments keyed by fragment ID, empty when the event
42
+ * fragments feature has never written any
43
+ */
44
+ const selectEventFragments = (state) => state.eventFragments ?? EMPTY_EVENT_FRAGMENTS;
45
+ /**
46
+ * Selects a single event fragment from the controller state.
47
+ *
48
+ * @param state - The controller state
49
+ * @param id - The fragment ID
50
+ * @returns The fragment, or `undefined` when no fragment has that ID
51
+ */
52
+ const selectEventFragmentById = (state, id) => state.eventFragments?.[id];
36
53
  /**
37
54
  * Selectors for the AnalyticsController state.
38
55
  * These can be used with Redux or directly with controller state.
@@ -42,5 +59,7 @@ exports.analyticsControllerSelectors = {
42
59
  selectOptedIn,
43
60
  selectEnabled,
44
61
  selectConsentDecisionMade,
62
+ selectEventFragments,
63
+ selectEventFragmentById,
45
64
  };
46
65
  //# sourceMappingURL=selectors.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.cjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAA+B,EAAU,EAAE,CACpE,KAAK,CAAC,WAAW,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAA+B,EAAW,EAAE,CAC7E,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC;AAErC;;;GAGG;AACU,QAAA,4BAA4B,GAAG;IAC1C,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,yBAAyB;CAC1B,CAAC","sourcesContent":["import type { AnalyticsControllerState } from './AnalyticsController.js';\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 user status from the controller state.\n * Use this selector to read the user's opt-in preference (e.g., for UI display).\n *\n * @param state - The controller state\n * @returns Whether the user has opted in to analytics\n */\nconst selectOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether analytics tracking is enabled.\n * Use this selector to determine if tracking should occur (e.g., in controller methods).\n *\n * @param state - The controller state\n * @returns Whether analytics tracking is enabled\n */\nconst selectEnabled = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether the user has made a consent decision (opted in or opted out).\n * Use this selector to distinguish the \"undecided\" state (e.g. during\n * onboarding) from an explicit opt-out.\n *\n * @param state - The controller state\n * @returns Whether the user has made a consent decision\n */\nconst selectConsentDecisionMade = (state: AnalyticsControllerState): boolean =>\n state.consentDecisionMade ?? false;\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 selectEnabled,\n selectConsentDecisionMade,\n};\n"]}
1
+ {"version":3,"file":"selectors.cjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":";;;AAMA,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAA4B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAA+B,EAAU,EAAE,CACpE,KAAK,CAAC,WAAW,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAA+B,EAAW,EAAE,CAC7E,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,CAC3B,KAA+B,EACN,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,qBAAqB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,CAC9B,KAA+B,EAC/B,EAAU,EAC0B,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAEpE;;;GAGG;AACU,QAAA,4BAA4B,GAAG;IAC1C,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,yBAAyB;IACzB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC","sourcesContent":["import type { AnalyticsControllerState } from './AnalyticsController.js';\nimport type {\n AnalyticsEventFragment,\n AnalyticsEventFragments,\n} from './EventFragment.types.js';\n\nconst EMPTY_EVENT_FRAGMENTS = Object.freeze({}) as AnalyticsEventFragments;\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 user status from the controller state.\n * Use this selector to read the user's opt-in preference (e.g., for UI display).\n *\n * @param state - The controller state\n * @returns Whether the user has opted in to analytics\n */\nconst selectOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether analytics tracking is enabled.\n * Use this selector to determine if tracking should occur (e.g., in controller methods).\n *\n * @param state - The controller state\n * @returns Whether analytics tracking is enabled\n */\nconst selectEnabled = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether the user has made a consent decision (opted in or opted out).\n * Use this selector to distinguish the \"undecided\" state (e.g. during\n * onboarding) from an explicit opt-out.\n *\n * @param state - The controller state\n * @returns Whether the user has made a consent decision\n */\nconst selectConsentDecisionMade = (state: AnalyticsControllerState): boolean =>\n state.consentDecisionMade ?? false;\n\n/**\n * Selects the in-progress event fragments from the controller state.\n *\n * @param state - The controller state\n * @returns The event fragments keyed by fragment ID, empty when the event\n * fragments feature has never written any\n */\nconst selectEventFragments = (\n state: AnalyticsControllerState,\n): AnalyticsEventFragments => state.eventFragments ?? EMPTY_EVENT_FRAGMENTS;\n\n/**\n * Selects a single event fragment from the controller state.\n *\n * @param state - The controller state\n * @param id - The fragment ID\n * @returns The fragment, or `undefined` when no fragment has that ID\n */\nconst selectEventFragmentById = (\n state: AnalyticsControllerState,\n id: string,\n): AnalyticsEventFragment | undefined => state.eventFragments?.[id];\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 selectEnabled,\n selectConsentDecisionMade,\n selectEventFragments,\n selectEventFragmentById,\n};\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { AnalyticsControllerState } from "./AnalyticsController.cjs";
2
+ import type { AnalyticsEventFragment, AnalyticsEventFragments } from "./EventFragment.types.cjs";
2
3
  /**
3
4
  * Selectors for the AnalyticsController state.
4
5
  * These can be used with Redux or directly with controller state.
@@ -8,5 +9,7 @@ export declare const analyticsControllerSelectors: {
8
9
  selectOptedIn: (state: AnalyticsControllerState) => boolean;
9
10
  selectEnabled: (state: AnalyticsControllerState) => boolean;
10
11
  selectConsentDecisionMade: (state: AnalyticsControllerState) => boolean;
12
+ selectEventFragments: (state: AnalyticsControllerState) => AnalyticsEventFragments;
13
+ selectEventFragmentById: (state: AnalyticsControllerState, id: string) => AnalyticsEventFragment | undefined;
11
14
  };
12
15
  //# sourceMappingURL=selectors.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAiC;AA0CzE;;;GAGG;AACH,eAAO,MAAM,4BAA4B;+BAtCP,wBAAwB,KAAG,MAAM;2BAUrC,wBAAwB,KAAG,OAAO;2BAUlC,wBAAwB,KAAG,OAAO;uCAWtB,wBAAwB,KAAG,OAAO;CAY3E,CAAC"}
1
+ {"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAiC;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,kCAAiC;AAmElC;;;GAGG;AACH,eAAO,MAAM,4BAA4B;+BA7DP,wBAAwB,KAAG,MAAM;2BAUrC,wBAAwB,KAAG,OAAO;2BAUlC,wBAAwB,KAAG,OAAO;uCAWtB,wBAAwB,KAAG,OAAO;kCAWnE,wBAAwB,KAC9B,uBAAuB;qCAUjB,wBAAwB,MAC3B,MAAM,KACT,sBAAsB,GAAG,SAAS;CAapC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { AnalyticsControllerState } from "./AnalyticsController.mjs";
2
+ import type { AnalyticsEventFragment, AnalyticsEventFragments } from "./EventFragment.types.mjs";
2
3
  /**
3
4
  * Selectors for the AnalyticsController state.
4
5
  * These can be used with Redux or directly with controller state.
@@ -8,5 +9,7 @@ export declare const analyticsControllerSelectors: {
8
9
  selectOptedIn: (state: AnalyticsControllerState) => boolean;
9
10
  selectEnabled: (state: AnalyticsControllerState) => boolean;
10
11
  selectConsentDecisionMade: (state: AnalyticsControllerState) => boolean;
12
+ selectEventFragments: (state: AnalyticsControllerState) => AnalyticsEventFragments;
13
+ selectEventFragmentById: (state: AnalyticsControllerState, id: string) => AnalyticsEventFragment | undefined;
11
14
  };
12
15
  //# sourceMappingURL=selectors.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAiC;AA0CzE;;;GAGG;AACH,eAAO,MAAM,4BAA4B;+BAtCP,wBAAwB,KAAG,MAAM;2BAUrC,wBAAwB,KAAG,OAAO;2BAUlC,wBAAwB,KAAG,OAAO;uCAWtB,wBAAwB,KAAG,OAAO;CAY3E,CAAC"}
1
+ {"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAiC;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,kCAAiC;AAmElC;;;GAGG;AACH,eAAO,MAAM,4BAA4B;+BA7DP,wBAAwB,KAAG,MAAM;2BAUrC,wBAAwB,KAAG,OAAO;2BAUlC,wBAAwB,KAAG,OAAO;uCAWtB,wBAAwB,KAAG,OAAO;kCAWnE,wBAAwB,KAC9B,uBAAuB;qCAUjB,wBAAwB,MAC3B,MAAM,KACT,sBAAsB,GAAG,SAAS;CAapC,CAAC"}
@@ -1,3 +1,4 @@
1
+ const EMPTY_EVENT_FRAGMENTS = Object.freeze({});
1
2
  /**
2
3
  * Selects the analytics ID from the controller state.
3
4
  *
@@ -30,6 +31,22 @@ const selectEnabled = (state) => state.optedIn;
30
31
  * @returns Whether the user has made a consent decision
31
32
  */
32
33
  const selectConsentDecisionMade = (state) => state.consentDecisionMade ?? false;
34
+ /**
35
+ * Selects the in-progress event fragments from the controller state.
36
+ *
37
+ * @param state - The controller state
38
+ * @returns The event fragments keyed by fragment ID, empty when the event
39
+ * fragments feature has never written any
40
+ */
41
+ const selectEventFragments = (state) => state.eventFragments ?? EMPTY_EVENT_FRAGMENTS;
42
+ /**
43
+ * Selects a single event fragment from the controller state.
44
+ *
45
+ * @param state - The controller state
46
+ * @param id - The fragment ID
47
+ * @returns The fragment, or `undefined` when no fragment has that ID
48
+ */
49
+ const selectEventFragmentById = (state, id) => state.eventFragments?.[id];
33
50
  /**
34
51
  * Selectors for the AnalyticsController state.
35
52
  * These can be used with Redux or directly with controller state.
@@ -39,5 +56,7 @@ export const analyticsControllerSelectors = {
39
56
  selectOptedIn,
40
57
  selectEnabled,
41
58
  selectConsentDecisionMade,
59
+ selectEventFragments,
60
+ selectEventFragmentById,
42
61
  };
43
62
  //# sourceMappingURL=selectors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.mjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAA+B,EAAU,EAAE,CACpE,KAAK,CAAC,WAAW,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAA+B,EAAW,EAAE,CAC7E,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,yBAAyB;CAC1B,CAAC","sourcesContent":["import type { AnalyticsControllerState } from './AnalyticsController.js';\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 user status from the controller state.\n * Use this selector to read the user's opt-in preference (e.g., for UI display).\n *\n * @param state - The controller state\n * @returns Whether the user has opted in to analytics\n */\nconst selectOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether analytics tracking is enabled.\n * Use this selector to determine if tracking should occur (e.g., in controller methods).\n *\n * @param state - The controller state\n * @returns Whether analytics tracking is enabled\n */\nconst selectEnabled = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether the user has made a consent decision (opted in or opted out).\n * Use this selector to distinguish the \"undecided\" state (e.g. during\n * onboarding) from an explicit opt-out.\n *\n * @param state - The controller state\n * @returns Whether the user has made a consent decision\n */\nconst selectConsentDecisionMade = (state: AnalyticsControllerState): boolean =>\n state.consentDecisionMade ?? false;\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 selectEnabled,\n selectConsentDecisionMade,\n};\n"]}
1
+ {"version":3,"file":"selectors.mjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAMA,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAA4B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAA+B,EAAU,EAAE,CACpE,KAAK,CAAC,WAAW,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAW,EAAE,CACjE,KAAK,CAAC,OAAO,CAAC;AAEhB;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAA+B,EAAW,EAAE,CAC7E,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,CAC3B,KAA+B,EACN,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,qBAAqB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,CAC9B,KAA+B,EAC/B,EAAU,EAC0B,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,yBAAyB;IACzB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC","sourcesContent":["import type { AnalyticsControllerState } from './AnalyticsController.js';\nimport type {\n AnalyticsEventFragment,\n AnalyticsEventFragments,\n} from './EventFragment.types.js';\n\nconst EMPTY_EVENT_FRAGMENTS = Object.freeze({}) as AnalyticsEventFragments;\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 user status from the controller state.\n * Use this selector to read the user's opt-in preference (e.g., for UI display).\n *\n * @param state - The controller state\n * @returns Whether the user has opted in to analytics\n */\nconst selectOptedIn = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether analytics tracking is enabled.\n * Use this selector to determine if tracking should occur (e.g., in controller methods).\n *\n * @param state - The controller state\n * @returns Whether analytics tracking is enabled\n */\nconst selectEnabled = (state: AnalyticsControllerState): boolean =>\n state.optedIn;\n\n/**\n * Selects whether the user has made a consent decision (opted in or opted out).\n * Use this selector to distinguish the \"undecided\" state (e.g. during\n * onboarding) from an explicit opt-out.\n *\n * @param state - The controller state\n * @returns Whether the user has made a consent decision\n */\nconst selectConsentDecisionMade = (state: AnalyticsControllerState): boolean =>\n state.consentDecisionMade ?? false;\n\n/**\n * Selects the in-progress event fragments from the controller state.\n *\n * @param state - The controller state\n * @returns The event fragments keyed by fragment ID, empty when the event\n * fragments feature has never written any\n */\nconst selectEventFragments = (\n state: AnalyticsControllerState,\n): AnalyticsEventFragments => state.eventFragments ?? EMPTY_EVENT_FRAGMENTS;\n\n/**\n * Selects a single event fragment from the controller state.\n *\n * @param state - The controller state\n * @param id - The fragment ID\n * @returns The fragment, or `undefined` when no fragment has that ID\n */\nconst selectEventFragmentById = (\n state: AnalyticsControllerState,\n id: string,\n): AnalyticsEventFragment | undefined => state.eventFragments?.[id];\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 selectEnabled,\n selectConsentDecisionMade,\n selectEventFragments,\n selectEventFragmentById,\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/analytics-controller",
3
- "version": "2.0.0-preview-fe4b3be11",
3
+ "version": "2.1.0-preview-2f57247",
4
4
  "description": "Common Analytics controller for event tracking",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -58,7 +58,7 @@
58
58
  "@metamask/base-controller": "^9.1.0",
59
59
  "@metamask/geolocation-controller": "^1.0.0",
60
60
  "@metamask/messenger": "^2.0.0",
61
- "@metamask/utils": "^11.11.0",
61
+ "@metamask/utils": "^11.12.0",
62
62
  "lodash": "^4.17.21",
63
63
  "uuid": "^8.3.2"
64
64
  },