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.
- package/dist/core/services/ManagerOrchestrator.d.ts +13 -0
- package/dist/core/services/ManagerOrchestrator.d.ts.map +1 -1
- package/dist/core/services/PlaylistOrchestrator.d.ts.map +1 -1
- package/dist/core/services/StateMachineActionHandler.d.ts +13 -0
- package/dist/core/services/StateMachineActionHandler.d.ts.map +1 -1
- package/dist/managers/ABTestManager.d.ts +3 -8
- package/dist/managers/ABTestManager.d.ts.map +1 -1
- package/dist/managers/AnalyticsManager.d.ts +3 -8
- package/dist/managers/AnalyticsManager.d.ts.map +1 -1
- package/dist/managers/EventSubscriberManager.d.ts +40 -0
- package/dist/managers/EventSubscriberManager.d.ts.map +1 -0
- package/dist/managers/PlaylistManager.d.ts +3 -8
- package/dist/managers/PlaylistManager.d.ts.map +1 -1
- package/dist/player.js +2 -2
- package/dist/player.min.js +2 -2
- package/dist/saltfish-playlist-player.es.js +203 -49
- package/dist/saltfish-playlist-player.umd.js +1 -1
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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"}
|