saltfish 0.1.87 → 0.1.88
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/SaltfishPlayer.d.ts +1 -0
- package/dist/core/SaltfishPlayer.d.ts.map +1 -1
- package/dist/core/store.d.ts.map +1 -1
- package/dist/managers/PlaylistManager.d.ts +4 -1
- package/dist/managers/PlaylistManager.d.ts.map +1 -1
- package/dist/managers/SessionManager.d.ts +3 -1
- package/dist/managers/SessionManager.d.ts.map +1 -1
- package/dist/managers/StorageManager.d.ts +118 -0
- package/dist/managers/StorageManager.d.ts.map +1 -0
- package/dist/player.js +2 -2
- package/dist/player.min.js +2 -2
- package/dist/saltfish-playlist-player.es.js +326 -152
- package/dist/saltfish-playlist-player.umd.js +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaltfishPlayer.d.ts","sourceRoot":"","sources":["../../src/core/SaltfishPlayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"SaltfishPlayer.d.ts","sourceRoot":"","sources":["../../src/core/SaltfishPlayer.ts"],"names":[],"mappings":"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"}
|
package/dist/core/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAEb,gBAAgB,EAEhB,IAAI,EASL,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAEb,gBAAgB,EAEhB,IAAI,EASL,MAAM,UAAU,CAAC;AAgBlB;;;GAGG;AACH,eAAO,MAAM,aAAa;;CAmazB,CAAC;AAIF,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,aAAa,CAAC;IAC9B,QAAQ,EAAE,OAAO,aAAa,CAAC,QAAQ,CAAC;IACxC,SAAS,EAAE,OAAO,aAAa,CAAC,SAAS,CAAC;IAC1C,OAAO,EAAE,OAAO,aAAa,CAAC,OAAO,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAK9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,IAAI,GAAG,IAKxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,IAAI,EAAE,UAAU,gBAAgB,KAAG,OAoB/E,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { EventManager } from './EventManager';
|
|
2
2
|
import type { PlaylistOptions } from '../types';
|
|
3
|
+
import { StorageManager } from './StorageManager';
|
|
3
4
|
/**
|
|
4
5
|
* Manager class for handling playlist-related functionality
|
|
5
6
|
*
|
|
@@ -12,11 +13,13 @@ export declare class PlaylistManager {
|
|
|
12
13
|
private eventManager;
|
|
13
14
|
private isUpdatingWatchedPlaylists;
|
|
14
15
|
private playlistLoader;
|
|
16
|
+
private storageManager;
|
|
15
17
|
/**
|
|
16
18
|
* Creates a new PlaylistManager
|
|
17
19
|
* @param eventManager - Optional event manager to subscribe to events
|
|
20
|
+
* @param storageManager - Optional storage manager for localStorage operations
|
|
18
21
|
*/
|
|
19
|
-
constructor(eventManager?: EventManager);
|
|
22
|
+
constructor(eventManager?: EventManager, storageManager?: StorageManager);
|
|
20
23
|
/**
|
|
21
24
|
* Sets the event manager and subscribes to relevant events
|
|
22
25
|
* @param eventManager - Event manager instance
|
|
@@ -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;
|
|
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;IA+BzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;;;;OAKG;YACW,2BAA2B;IAkFzC;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;IA2C3C;;;;OAIG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC9E;;OAEG;IACI,OAAO,IAAI,IAAI;CAQvB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StorageManager } from './StorageManager';
|
|
1
2
|
/**
|
|
2
3
|
* Manager class for handling session and run identification
|
|
3
4
|
*
|
|
@@ -9,7 +10,8 @@
|
|
|
9
10
|
export declare class SessionManager {
|
|
10
11
|
private sessionId;
|
|
11
12
|
private currentRunId;
|
|
12
|
-
|
|
13
|
+
private storageManager;
|
|
14
|
+
constructor(storageManager?: StorageManager);
|
|
13
15
|
/**
|
|
14
16
|
* Gets or creates a persistent session ID
|
|
15
17
|
* @returns The current session ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/managers/SessionManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/managers/SessionManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,CAAC,EAAE,cAAc;IAM3C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;OAGG;IACI,YAAY,IAAI,MAAM;IAM7B;;;OAGG;IACI,WAAW,IAAI,MAAM;IAU5B;;;OAGG;IACI,eAAe,IAAI,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACI,aAAa,IAAI,IAAI;IAO5B;;OAEG;IACI,aAAa,IAAI,IAAI;IAc5B;;OAEG;IACI,OAAO,IAAI,IAAI;CAMvB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { AnonymousUserData } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Interface for stored session data
|
|
4
|
+
*/
|
|
5
|
+
export interface StoredSession {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
lastActivity: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Interface for playlist progress data
|
|
11
|
+
*/
|
|
12
|
+
export interface PlaylistProgressData {
|
|
13
|
+
lastStepId: string;
|
|
14
|
+
lastVisited: string;
|
|
15
|
+
completedWaitingForInteraction?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Progress data type - mapping of playlist IDs to progress data
|
|
19
|
+
*/
|
|
20
|
+
export type ProgressData = Record<string, PlaylistProgressData>;
|
|
21
|
+
/**
|
|
22
|
+
* Centralized manager for all localStorage operations.
|
|
23
|
+
*
|
|
24
|
+
* This class provides:
|
|
25
|
+
* - Type-safe methods for each storage key
|
|
26
|
+
* - Consistent error handling across all storage operations
|
|
27
|
+
* - JSON serialization/deserialization handled internally
|
|
28
|
+
* - Graceful degradation when localStorage is unavailable
|
|
29
|
+
* - Easy mocking for testing
|
|
30
|
+
*/
|
|
31
|
+
export declare class StorageManager {
|
|
32
|
+
private isLocalStorageAvailable;
|
|
33
|
+
constructor();
|
|
34
|
+
/**
|
|
35
|
+
* Check if localStorage is available and working
|
|
36
|
+
*/
|
|
37
|
+
private checkLocalStorageAvailability;
|
|
38
|
+
/**
|
|
39
|
+
* Safely get an item from localStorage with JSON parsing
|
|
40
|
+
*/
|
|
41
|
+
private safeGetItem;
|
|
42
|
+
/**
|
|
43
|
+
* Safely set an item in localStorage with JSON stringification
|
|
44
|
+
*/
|
|
45
|
+
private safeSetItem;
|
|
46
|
+
/**
|
|
47
|
+
* Safely clear an item from localStorage
|
|
48
|
+
*/
|
|
49
|
+
private safeClearItem;
|
|
50
|
+
/**
|
|
51
|
+
* Clear old data to free up storage space
|
|
52
|
+
*/
|
|
53
|
+
private clearOldData;
|
|
54
|
+
/**
|
|
55
|
+
* Get playlist progress data
|
|
56
|
+
*/
|
|
57
|
+
getProgress(): ProgressData | null;
|
|
58
|
+
/**
|
|
59
|
+
* Set playlist progress data
|
|
60
|
+
*/
|
|
61
|
+
setProgress(progress: ProgressData): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Clear all progress data
|
|
64
|
+
*/
|
|
65
|
+
clearProgress(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Get session data
|
|
68
|
+
*/
|
|
69
|
+
getSession(): StoredSession | null;
|
|
70
|
+
/**
|
|
71
|
+
* Set session data
|
|
72
|
+
*/
|
|
73
|
+
setSession(session: StoredSession): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Clear session data
|
|
76
|
+
*/
|
|
77
|
+
clearSession(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Get anonymous user data
|
|
80
|
+
*/
|
|
81
|
+
getAnonymousUserData(): AnonymousUserData | null;
|
|
82
|
+
/**
|
|
83
|
+
* Set anonymous user data
|
|
84
|
+
*/
|
|
85
|
+
setAnonymousUserData(data: AnonymousUserData): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Clear anonymous user data
|
|
88
|
+
*/
|
|
89
|
+
clearAnonymousUserData(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Get anonymous user ID
|
|
92
|
+
*/
|
|
93
|
+
getAnonymousUserId(): string | null;
|
|
94
|
+
/**
|
|
95
|
+
* Set anonymous user ID
|
|
96
|
+
*/
|
|
97
|
+
setAnonymousUserId(userId: string): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Clear anonymous user ID
|
|
100
|
+
*/
|
|
101
|
+
clearAnonymousUserId(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Clear all storage data
|
|
104
|
+
*/
|
|
105
|
+
clearAll(): void;
|
|
106
|
+
/**
|
|
107
|
+
* Get storage availability status
|
|
108
|
+
*/
|
|
109
|
+
isStorageAvailable(): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Get storage usage information (if available)
|
|
112
|
+
*/
|
|
113
|
+
getStorageInfo(): {
|
|
114
|
+
available: boolean;
|
|
115
|
+
keys: string[];
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=StorageManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageManager.d.ts","sourceRoot":"","sources":["../../src/managers/StorageManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAEhE;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,uBAAuB,CAAU;;IAUzC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAgBrC;;OAEG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA6BnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,WAAW,IAAI,YAAY,GAAG,IAAI;IAIlC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO;IAI5C;;OAEG;IACH,aAAa,IAAI,IAAI;IAQrB;;OAEG;IACH,UAAU,IAAI,aAAa,GAAG,IAAI;IAIlC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAI3C;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;OAEG;IACH,oBAAoB,IAAI,iBAAiB,GAAG,IAAI;IAIhD;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO;IAItD;;OAEG;IACH,sBAAsB,IAAI,IAAI;IAQ9B;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAanC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAc3C;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAgB5B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAQhB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,cAAc,IAAI;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;CAqBzD"}
|