saltfish 0.3.30 → 0.3.33

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.
@@ -6,6 +6,9 @@ export declare class ManagerOrchestrator implements IManagerOrchestrator {
6
6
  private managers;
7
7
  private uiUpdaterUnsubscribe;
8
8
  private eventUpdaterUnsubscribe;
9
+ private cursorAnimationListener;
10
+ private cursorAnimationVideoElement;
11
+ private cursorAnimationStepId;
9
12
  private static prevState;
10
13
  private isInitialized;
11
14
  constructor(managers: ManagedManagers);
@@ -17,6 +20,16 @@ export declare class ManagerOrchestrator implements IManagerOrchestrator {
17
20
  * Set up UI and event updaters
18
21
  */
19
22
  setupUpdaters(): void;
23
+ /**
24
+ * Cleans up the active cursor animation time listener
25
+ * @param stepId - Optional step ID to verify we're cleaning up the right listener
26
+ */
27
+ private cleanupCursorAnimationListener;
28
+ /**
29
+ * Schedules a cursor animation to run either immediately or at a specific video time
30
+ * Note: Works for both video and audio-only steps (audio files use the same video element)
31
+ */
32
+ private scheduleCursorAnimation;
20
33
  /**
21
34
  * Handle store state changes
22
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ManagerOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/services/ManagerOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AASjF;;GAEG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,uBAAuB,CAA6B;IAG5D,OAAO,CAAC,MAAM,CAAC,SAAS,CAItB;IAGF,OAAO,CAAC,aAAa,CAAS;gBAElB,QAAQ,EAAE,eAAe;IAIrC;;OAEG;IACI,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAIjD;;OAEG;IACI,aAAa,IAAI,IAAI;IAuC5B;;OAEG;IACI,kBAAkB,IAAI,IAAI;IA6DjC;;OAEG;IACI,sBAAsB,IAAI,IAAI;IAyDrC;;OAEG;IACI,eAAe,IAAI,IAAI;IA0D9B;;OAEG;IACI,UAAU,IAAI,IAAI;IAyEzB;;OAEG;IACI,WAAW,IAAI,eAAe;IAI9B,OAAO,IAAI,IAAI;CAGvB"}
1
+ {"version":3,"file":"ManagerOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/services/ManagerOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AASjF;;GAEG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,2BAA2B,CAAiC;IACpE,OAAO,CAAC,qBAAqB,CAAuB;IAGpD,OAAO,CAAC,MAAM,CAAC,SAAS,CAItB;IAGF,OAAO,CAAC,aAAa,CAAS;gBAElB,QAAQ,EAAE,eAAe;IAIrC;;OAEG;IACI,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAIjD;;OAEG;IACI,aAAa,IAAI,IAAI;IAuC5B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAetC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAyG/B;;OAEG;IACI,kBAAkB,IAAI,IAAI;IA6DjC;;OAEG;IACI,sBAAsB,IAAI,IAAI;IA4DrC;;OAEG;IACI,eAAe,IAAI,IAAI;IA0D9B;;OAEG;IACI,UAAU,IAAI,IAAI;IA4EzB;;OAEG;IACI,WAAW,IAAI,eAAe;IAI9B,OAAO,IAAI,IAAI;CAGvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlaylistOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/services/PlaylistOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOnD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,qBAAqB,CAAC,CAAyB;IACvD,OAAO,CAAC,mBAAmB,CAAC,CAAuB;IACnD,OAAO,CAAC,2BAA2B,CAAC,CAA+B;IACnE,OAAO,CAAC,yBAAyB,CAAC,CAA6B;gBAEnD,QAAQ,EAAE,eAAe;IAIrC;;OAEG;IACI,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAItE;;OAEG;IACI,sBAAsB,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI;IAIvE;;OAEG;IACI,8BAA8B,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAIlF;;OAEG;IACI,4BAA4B,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAI9E;;OAEG;IACU,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA8TxF;;OAEG;IACI,aAAa,IAAI,IAAI;IAQ5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUd,OAAO,IAAI,IAAI;CAGvB"}
1
+ {"version":3,"file":"PlaylistOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/services/PlaylistOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOnD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,qBAAqB,CAAC,CAAyB;IACvD,OAAO,CAAC,mBAAmB,CAAC,CAAuB;IACnD,OAAO,CAAC,2BAA2B,CAAC,CAA+B;IACnE,OAAO,CAAC,yBAAyB,CAAC,CAA6B;gBAEnD,QAAQ,EAAE,eAAe;IAIrC;;OAEG;IACI,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAItE;;OAEG;IACI,sBAAsB,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI;IAIvE;;OAEG;IACI,8BAA8B,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAIlF;;OAEG;IACI,4BAA4B,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAI9E;;OAEG;IACU,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA+TxF;;OAEG;IACI,aAAa,IAAI,IAAI;IAQ5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUd,OAAO,IAAI,IAAI;CAGvB"}
@@ -6,6 +6,9 @@ import type { Step } from '../../types';
6
6
  export declare class StateMachineActionHandler implements IStateMachineActionHandler {
7
7
  private managers;
8
8
  private destroyCallback;
9
+ private cursorAnimationListener;
10
+ private cursorAnimationVideoElement;
11
+ private cursorAnimationStepId;
9
12
  constructor(managers: ManagedManagers);
10
13
  /**
11
14
  * Set the destroy callback for player destruction
@@ -30,6 +33,16 @@ export declare class StateMachineActionHandler implements IStateMachineActionHan
30
33
  */
31
34
  findNextVideoUrl(currentStep: Step): string | null;
32
35
  destroy(): void;
36
+ /**
37
+ * Cleans up the active cursor animation time listener
38
+ * @param stepId - Optional step ID to verify we're cleaning up the right listener
39
+ */
40
+ private cleanupCursorAnimationListener;
41
+ /**
42
+ * Schedules a cursor animation to run either immediately or at a specific video time
43
+ * Note: Works for both video and audio-only steps (audio files use the same video element)
44
+ */
45
+ private scheduleCursorAnimation;
33
46
  /**
34
47
  * Validates URL requirement for a specific step with retry logic
35
48
  * @param step - The step to validate
@@ -1 +1 @@
1
- {"version":3,"file":"StateMachineActionHandler.d.ts","sourceRoot":"","sources":["../../../src/core/services/StateMachineActionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAKxC;;GAEG;AACH,qBAAa,yBAA0B,YAAW,0BAA0B;IAC1E,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,eAAe,CAA6B;gBAExC,QAAQ,EAAE,eAAe;IAIrC;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIrD;;OAEG;IACI,2BAA2B,IAAI,IAAI;IA0E1C;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IA4BtC;;OAEG;IACI,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAiBhD;;OAEG;IACI,gBAAgB,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IA+BlD,OAAO,IAAI,IAAI;IAItB;;;;OAIG;YACW,0BAA0B;YA6E1B,wBAAwB;IAwQtC,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,wBAAwB;IAoDhC,OAAO,CAAC,2BAA2B;IAyCnC,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,gCAAgC;IAKxC,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,qBAAqB;CAW9B"}
1
+ {"version":3,"file":"StateMachineActionHandler.d.ts","sourceRoot":"","sources":["../../../src/core/services/StateMachineActionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAKxC;;GAEG;AACH,qBAAa,yBAA0B,YAAW,0BAA0B;IAC1E,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,2BAA2B,CAAiC;IACpE,OAAO,CAAC,qBAAqB,CAAuB;gBAExC,QAAQ,EAAE,eAAe;IAIrC;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIrD;;OAEG;IACI,2BAA2B,IAAI,IAAI;IA0E1C;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IA4BtC;;OAEG;IACI,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAiBhD;;OAEG;IACI,gBAAgB,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IA+BlD,OAAO,IAAI,IAAI;IAKtB;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAetC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAyG/B;;;;OAIG;YACW,0BAA0B;YA6E1B,wBAAwB;IAwQtC,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,wBAAwB;IAoDhC,OAAO,CAAC,2BAA2B;IAyCnC,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,gCAAgC;IAKxC,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,qBAAqB;CAW9B"}
@@ -1,5 +1,6 @@
1
1
  import type { ABTestConfig, ABTestAssignment, PlaylistPathInfo } from '../types';
2
2
  import type { EventManager } from './EventManager';
3
+ import { EventSubscriberManager } from './EventSubscriberManager';
3
4
  /**
4
5
  * Manager class for handling A/B testing functionality
5
6
  *
@@ -9,22 +10,16 @@ import type { EventManager } from './EventManager';
9
10
  * - Test assignment persistence for identified users
10
11
  * - Local-only assignments for anonymous users
11
12
  */
12
- export declare class ABTestManager {
13
- private eventManager;
13
+ export declare class ABTestManager extends EventSubscriberManager {
14
14
  /**
15
15
  * Creates a new ABTestManager
16
16
  * @param eventManager - Optional event manager to subscribe to events
17
17
  */
18
18
  constructor(eventManager?: EventManager);
19
- /**
20
- * Sets the event manager and subscribes to relevant events
21
- * @param eventManager - Event manager instance
22
- */
23
- setEventManager(eventManager: EventManager): void;
24
19
  /**
25
20
  * Subscribe to relevant events for A/B testing
26
21
  */
27
- private subscribeToEvents;
22
+ protected subscribeToEvents(): void;
28
23
  /**
29
24
  * Initialize A/B tests with configurations from backend
30
25
  * @param abTests - A/B test configurations from validate-token response
@@ -1 +1 @@
1
- {"version":3,"file":"ABTestManager.d.ts","sourceRoot":"","sources":["../../src/managers/ABTestManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAMvC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAOrD;;;;;;OAMG;IACI,iBAAiB,CACtB,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IA6CnC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;;OAIG;IACI,oBAAoB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE;IAmCjF;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;;OAGG;IACI,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAKnE;;;;OAIG;IACI,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAgBvD;;;OAGG;IACI,iBAAiB,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAY7G"}
1
+ {"version":3,"file":"ABTestManager.d.ts","sourceRoot":"","sources":["../../src/managers/ABTestManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,sBAAsB;IACvD;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAIvC;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IASnC;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAOrD;;;;;;OAMG;IACI,iBAAiB,CACtB,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IA6CnC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;;OAIG;IACI,oBAAoB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE;IAmCjF;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;;OAGG;IACI,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAKnE;;;;OAIG;IACI,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAgBvD;;;OAGG;IACI,iBAAiB,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAY7G"}
@@ -1,5 +1,6 @@
1
1
  import type { SaltfishConfig, UserData } from '../types';
2
2
  import type { EventManager } from './EventManager';
3
+ import { EventSubscriberManager } from './EventSubscriberManager';
3
4
  /**
4
5
  * Manager class for tracking and reporting analytics events
5
6
  *
@@ -10,13 +11,12 @@ import type { EventManager } from './EventManager';
10
11
  *
11
12
  * Events are queued and sent in batches to the backend analytics API.
12
13
  */
13
- export declare class AnalyticsManager {
14
+ export declare class AnalyticsManager extends EventSubscriberManager {
14
15
  private config;
15
16
  private user;
16
17
  private eventQueue;
17
18
  private isSending;
18
19
  private flushInterval;
19
- private eventManager;
20
20
  private sessionId;
21
21
  private analyticsEnabled;
22
22
  /**
@@ -24,15 +24,10 @@ export declare class AnalyticsManager {
24
24
  * @param eventManager - Optional event manager to subscribe to events
25
25
  */
26
26
  constructor(eventManager?: EventManager);
27
- /**
28
- * Sets the event manager and subscribes to relevant events
29
- * @param eventManager - Event manager instance
30
- */
31
- setEventManager(eventManager: EventManager): void;
32
27
  /**
33
28
  * Subscribe to relevant player events for analytics tracking
34
29
  */
35
- private subscribeToEvents;
30
+ protected subscribeToEvents(): void;
36
31
  /**
37
32
  * Initializes the analytics manager
38
33
  * @param config - Saltfish configuration
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsManager.d.ts","sourceRoot":"","sources":["../../src/managers/AnalyticsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAiB;IAEzC;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAMvC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqGzB;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBnE;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIpC;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBnD;;;OAGG;IACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBtD;;;;OAIG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBjE;;;;OAIG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBlE;;;;;OAKG;IACI,gBAAgB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,IAAI;IAmBP;;;;;;;;;;OAUG;IACI,UAAU,CACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI;IA2BP;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgBlB;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;YACW,WAAW;IAoDzB;;OAEG;IACI,OAAO,IAAI,IAAI;IA2BtB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CASjB"}
1
+ {"version":3,"file":"AnalyticsManager.d.ts","sourceRoot":"","sources":["../../src/managers/AnalyticsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMlE;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,SAAQ,sBAAsB;IAC1D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAiB;IAEzC;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAIvC;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAqGnC;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBnE;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIpC;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBnD;;;OAGG;IACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBtD;;;;OAIG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBjE;;;;OAIG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBlE;;;;;OAKG;IACI,gBAAgB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,IAAI;IAmBP;;;;;;;;;;OAUG;IACI,UAAU,CACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI;IA2BP;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgBlB;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;YACW,WAAW;IAoDzB;;OAEG;IACI,OAAO,IAAI,IAAI;IA2BtB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CASjB"}
@@ -0,0 +1,40 @@
1
+ import type { EventManager } from './EventManager';
2
+ /**
3
+ * Abstract base class for managers that subscribe to EventManager events
4
+ *
5
+ * Provides common initialization pattern for managers that need to listen to
6
+ * player events through the EventManager. Eliminates duplicate code for
7
+ * EventManager setup and event subscription across multiple managers.
8
+ *
9
+ * This is NOT a base for all managers - only for those that subscribe to events.
10
+ * Managers like VideoManager, UIManager, CursorManager, etc. do not extend this.
11
+ *
12
+ * Usage:
13
+ * ```typescript
14
+ * export class MyManager extends EventSubscriberManager {
15
+ * protected subscribeToEvents(): void {
16
+ * if (!this.eventManager) return;
17
+ * this.eventManager.on('someEvent', this.handleEvent);
18
+ * }
19
+ * }
20
+ * ```
21
+ */
22
+ export declare abstract class EventSubscriberManager {
23
+ protected eventManager: EventManager | null;
24
+ /**
25
+ * Creates a new event-subscribing manager instance
26
+ * @param eventManager - Optional event manager to subscribe to events
27
+ */
28
+ constructor(eventManager?: EventManager);
29
+ /**
30
+ * Sets the event manager and subscribes to relevant events
31
+ * @param eventManager - Event manager instance
32
+ */
33
+ setEventManager(eventManager: EventManager): void;
34
+ /**
35
+ * Abstract method for subscribing to events
36
+ * Must be implemented by derived classes to set up event listeners
37
+ */
38
+ protected abstract subscribeToEvents(): void;
39
+ }
40
+ //# sourceMappingURL=EventSubscriberManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventSubscriberManager.d.ts","sourceRoot":"","sources":["../../src/managers/EventSubscriberManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,sBAAsB;IAC1C,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEnD;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAMvC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI;CAC7C"}
@@ -1,4 +1,5 @@
1
1
  import type { EventManager } from './EventManager';
2
+ import { EventSubscriberManager } from './EventSubscriberManager';
2
3
  import type { PlaylistOptions } from '../types';
3
4
  import { StorageManager } from './StorageManager';
4
5
  /**
@@ -9,8 +10,7 @@ import { StorageManager } from './StorageManager';
9
10
  * - Tracking playlist progress
10
11
  * - Managing playlist state
11
12
  */
12
- export declare class PlaylistManager {
13
- private eventManager;
13
+ export declare class PlaylistManager extends EventSubscriberManager {
14
14
  private isUpdatingWatchedPlaylists;
15
15
  private playlistLoader;
16
16
  private storageManager;
@@ -20,15 +20,10 @@ export declare class PlaylistManager {
20
20
  * @param storageManager - Optional storage manager for localStorage operations
21
21
  */
22
22
  constructor(eventManager?: EventManager, storageManager?: StorageManager);
23
- /**
24
- * Sets the event manager and subscribes to relevant events
25
- * @param eventManager - Event manager instance
26
- */
27
- setEventManager(eventManager: EventManager): void;
28
23
  /**
29
24
  * Subscribe to relevant player events for playlist tracking
30
25
  */
31
- private subscribeToEvents;
26
+ protected subscribeToEvents(): void;
32
27
  /**
33
28
  * Updates the watched playlist status locally and in the backend
34
29
  * @param playlistId - ID of the playlist
@@ -1 +1 @@
1
- {"version":3,"file":"PlaylistManager.d.ts","sourceRoot":"","sources":["../../src/managers/PlaylistManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,0BAA0B,CAAkB;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IAEvC;;;;OAIG;gBACS,YAAY,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,cAAc;IASxE;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;;;;OAKG;YACW,2BAA2B;IA+EzC;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;IA2C3C;;;;OAIG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C9E;;OAEG;IACI,OAAO,IAAI,IAAI;CAQvB"}
1
+ {"version":3,"file":"PlaylistManager.d.ts","sourceRoot":"","sources":["../../src/managers/PlaylistManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,sBAAsB;IACzD,OAAO,CAAC,0BAA0B,CAAkB;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IAEvC;;;;OAIG;gBACS,YAAY,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,cAAc;IAMxE;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAgCnC;;;;;OAKG;YACW,2BAA2B;IA+EzC;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;IA2C3C;;;;OAIG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C9E;;OAEG;IACI,OAAO,IAAI,IAAI;CAQvB"}