@fishjam-cloud/react-client 0.5.2 → 0.6.0

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 (58) hide show
  1. package/dist/Client.d.ts +68 -69
  2. package/dist/Client.d.ts.map +1 -1
  3. package/dist/Client.js +9 -9
  4. package/dist/DeviceManager.d.ts +2 -1
  5. package/dist/DeviceManager.d.ts.map +1 -1
  6. package/dist/DeviceManager.js +3 -0
  7. package/dist/fishjamProvider.d.ts +12 -0
  8. package/dist/fishjamProvider.d.ts.map +1 -0
  9. package/dist/fishjamProvider.js +30 -0
  10. package/dist/hooks/clientState.d.ts +4 -0
  11. package/dist/hooks/clientState.d.ts.map +1 -0
  12. package/dist/hooks/clientState.js +81 -0
  13. package/dist/hooks/connection.d.ts +6 -0
  14. package/dist/hooks/connection.d.ts.map +1 -0
  15. package/dist/hooks/connection.js +28 -0
  16. package/dist/hooks/devices.d.ts +4 -0
  17. package/dist/hooks/devices.d.ts.map +1 -0
  18. package/dist/hooks/devices.js +9 -0
  19. package/dist/hooks/fishjamContext.d.ts +4 -0
  20. package/dist/hooks/fishjamContext.d.ts.map +1 -0
  21. package/dist/hooks/fishjamContext.js +8 -0
  22. package/dist/hooks/participants.d.ts +6 -0
  23. package/dist/hooks/participants.d.ts.map +1 -0
  24. package/dist/hooks/participants.js +13 -0
  25. package/dist/hooks/public.d.ts +7 -0
  26. package/dist/hooks/public.d.ts.map +1 -0
  27. package/dist/hooks/public.js +6 -0
  28. package/dist/hooks/screenShare.d.ts +3 -0
  29. package/dist/hooks/screenShare.d.ts.map +1 -0
  30. package/dist/{screenShareTrackManager.js → hooks/screenShare.js} +8 -6
  31. package/dist/hooks/setupMedia.d.ts +3 -0
  32. package/dist/hooks/setupMedia.d.ts.map +1 -0
  33. package/dist/hooks/setupMedia.js +200 -0
  34. package/dist/hooks/state.d.ts +6 -0
  35. package/dist/hooks/state.d.ts.map +1 -0
  36. package/dist/hooks/state.js +15 -0
  37. package/dist/index.d.ts +5 -3
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -1
  40. package/dist/state.types.d.ts +18 -18
  41. package/dist/state.types.d.ts.map +1 -1
  42. package/dist/trackManager.d.ts +3 -3
  43. package/dist/trackManager.d.ts.map +1 -1
  44. package/dist/trackManager.js +30 -13
  45. package/dist/types.d.ts +48 -45
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/utils/track.d.ts +2 -1
  48. package/dist/utils/track.d.ts.map +1 -1
  49. package/package.json +4 -5
  50. package/readme.md +1 -15
  51. package/dist/create.d.ts +0 -10
  52. package/dist/create.d.ts.map +0 -1
  53. package/dist/create.js +0 -201
  54. package/dist/screenShareTrackManager.d.ts +0 -4
  55. package/dist/screenShareTrackManager.d.ts.map +0 -1
  56. package/dist/useSetupMedia.d.ts +0 -3
  57. package/dist/useSetupMedia.d.ts.map +0 -1
  58. package/dist/useSetupMedia.js +0 -206
package/dist/Client.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  import type TypedEmitter from "typed-emitter";
2
- import type { AuthErrorReason, BandwidthLimit, Component, ConnectConfig, CreateConfig, MessageEvents, Peer, ReconnectionStatus, SimulcastConfig, TrackBandwidthLimit, TrackContext, Encoding } from "@fishjam-cloud/ts-client";
2
+ import type { AuthErrorReason, BandwidthLimit, Component, CreateConfig, MessageEvents, Peer, ReconnectionStatus, SimulcastConfig, TrackBandwidthLimit, TrackContext, Encoding } from "@fishjam-cloud/ts-client";
3
3
  import { FishjamClient } from "@fishjam-cloud/ts-client";
4
4
  import type { PeerId, PeerState, PeerStatus, TrackId, TrackWithOrigin } from "./state.types";
5
- import type { DeviceManagerConfig, DeviceManagerInitConfig, DeviceManagerStartConfig, Devices, DeviceState, MediaDeviceType, MediaState, TrackType } from "./types";
5
+ import type { ConnectConfig, DeviceManagerConfig, DeviceManagerInitConfig, DeviceManagerStartConfig, Devices, DeviceState, MediaDeviceType, MediaState, PeerMetadata, TrackMetadata, TrackType } from "./types";
6
6
  import type { DeviceManagerEvents } from "./DeviceManager";
7
7
  import { DeviceManager } from "./DeviceManager";
8
- export type ClientApi<PeerMetadata, TrackMetadata> = {
9
- local: PeerState<PeerMetadata, TrackMetadata> | null;
10
- peers: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
11
- peersTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
12
- components: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
13
- componentsTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
8
+ export type ClientApi = {
9
+ local: PeerState | null;
10
+ peers: Record<PeerId, PeerState>;
11
+ peersTracks: Record<TrackId, TrackWithOrigin>;
12
+ components: Record<PeerId, PeerState>;
13
+ componentsTracks: Record<TrackId, TrackWithOrigin>;
14
14
  bandwidthEstimation: bigint;
15
15
  status: PeerStatus;
16
16
  media: MediaState | null;
@@ -21,37 +21,37 @@ type DeviceTypeInfo = {
21
21
  mediaDeviceType: MediaDeviceType;
22
22
  trackType: TrackType;
23
23
  };
24
- export interface ClientEvents<PeerMetadata, TrackMetadata> {
24
+ export interface ClientEvents {
25
25
  /**
26
26
  * Emitted when the websocket connection is closed
27
27
  *
28
28
  * @param {CloseEvent} event - Close event object from the websocket
29
29
  */
30
- socketClose: (event: CloseEvent, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
30
+ socketClose: (event: CloseEvent, client: ClientApi) => void;
31
31
  /**
32
32
  * Emitted when occurs an error in the websocket connection
33
33
  *
34
34
  * @param {Event} event - Event object from the websocket
35
35
  */
36
- socketError: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
36
+ socketError: (event: Event, client: ClientApi) => void;
37
37
  /**
38
38
  * Emitted when the websocket connection is opened
39
39
  *
40
40
  * @param {Event} event - Event object from the websocket
41
41
  */
42
- socketOpen: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
42
+ socketOpen: (event: Event, client: ClientApi) => void;
43
43
  /** Emitted when authentication is successful */
44
- authSuccess: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
44
+ authSuccess: (client: ClientApi) => void;
45
45
  /** Emitted when authentication fails */
46
- authError: (reason: AuthErrorReason, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
46
+ authError: (reason: AuthErrorReason, client: ClientApi) => void;
47
47
  /** Emitted when the connection is closed */
48
- disconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
48
+ disconnected: (client: ClientApi) => void;
49
49
  /** Emitted on successful reconnection */
50
- reconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
50
+ reconnected: (client: ClientApi) => void;
51
51
  /** Emitted when the process of reconnection starts */
52
- reconnectionStarted: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
52
+ reconnectionStarted: (client: ClientApi) => void;
53
53
  /** Emitted when the maximum number of reconnection retries is reached */
54
- reconnectionRetriesLimitReached: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
54
+ reconnectionRetriesLimitReached: (client: ClientApi) => void;
55
55
  /**
56
56
  * Called when peer was accepted.
57
57
  */
@@ -59,112 +59,112 @@ export interface ClientEvents<PeerMetadata, TrackMetadata> {
59
59
  peerId: string;
60
60
  peers: Peer<PeerMetadata, TrackMetadata>[];
61
61
  components: Component<PeerMetadata, TrackMetadata>[];
62
- }, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
62
+ }, client: ClientApi) => void;
63
63
  /**
64
64
  * Called when peer was not accepted
65
65
  * @param metadata - Pass through for client application to communicate further actions to frontend
66
66
  */
67
- joinError: (metadata: any, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
67
+ joinError: (metadata: any, client: ClientApi) => void;
68
68
  /**
69
69
  * Called when data in a new track arrives.
70
70
  *
71
71
  * This callback is always called after {@link MessageEvents.trackAdded}.
72
72
  * It informs user that data related to the given track arrives and can be played or displayed.
73
73
  */
74
- trackReady: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
74
+ trackReady: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
75
75
  /**
76
76
  * Called each time the peer which was already in the room, adds new track. Fields track and stream will be set to null.
77
77
  * These fields will be set to non-null value in {@link MessageEvents.trackReady}
78
78
  */
79
- trackAdded: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
79
+ trackAdded: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
80
80
  /**
81
81
  * Called when some track will no longer be sent.
82
82
  *
83
83
  * It will also be called before {@link MessageEvents.peerLeft} for each track of this peer.
84
84
  */
85
- trackRemoved: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
85
+ trackRemoved: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
86
86
  /**
87
87
  * Called each time peer has its track metadata updated.
88
88
  */
89
- trackUpdated: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
89
+ trackUpdated: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
90
90
  /**
91
91
  * Called each time new peer joins the room.
92
92
  */
93
- peerJoined: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
93
+ peerJoined: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
94
94
  /**
95
95
  * Called each time peer leaves the room.
96
96
  */
97
- peerLeft: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
97
+ peerLeft: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
98
98
  /**
99
99
  * Called each time peer has its metadata updated.
100
100
  */
101
- peerUpdated: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
101
+ peerUpdated: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
102
102
  /**
103
103
  * Called each time new Component is added to the room.
104
104
  */
105
- componentAdded: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
105
+ componentAdded: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
106
106
  /**
107
107
  * Called each time Component is removed from the room.
108
108
  */
109
- componentRemoved: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
109
+ componentRemoved: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
110
110
  /**
111
111
  * Called each time Component has its metadata updated.
112
112
  */
113
- componentUpdated: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
113
+ componentUpdated: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
114
114
  /**
115
115
  * Called in case of errors related to multimedia session e.g. ICE connection.
116
116
  */
117
- connectionError: (error: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["connectionError"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
117
+ connectionError: (error: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["connectionError"]>[0], client: ClientApi) => void;
118
118
  /**
119
119
  * Called every time the server estimates client's bandiwdth.
120
120
  *
121
121
  * @param {bigint} estimation - client's available incoming bitrate estimated
122
122
  * by the server. It's measured in bits per second.
123
123
  */
124
- bandwidthEstimationChanged: (estimation: bigint, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
125
- encodingChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
124
+ bandwidthEstimationChanged: (estimation: bigint, client: ClientApi) => void;
125
+ encodingChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
126
126
  /**
127
127
  * Emitted every time an update about voice activity is received from the server.
128
128
  */
129
- voiceActivityChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
130
- managerStarted: (event: Parameters<DeviceManagerEvents["managerInitialized"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
129
+ voiceActivityChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
130
+ managerStarted: (event: Parameters<DeviceManagerEvents["managerInitialized"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
131
131
  managerInitialized: (event: {
132
132
  audio?: DeviceState;
133
133
  video?: DeviceState;
134
- }, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
135
- deviceReady: (event: Parameters<DeviceManagerEvents["deviceReady"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
136
- devicesStarted: (event: Parameters<DeviceManagerEvents["devicesStarted"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
137
- devicesReady: (event: Parameters<DeviceManagerEvents["devicesReady"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
138
- deviceStopped: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
139
- deviceEnabled: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
140
- deviceDisabled: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
141
- error: (arg: any, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
142
- targetTrackEncodingRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["targetTrackEncodingRequested"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
143
- localTrackAdded: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackAdded"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
144
- localTrackRemoved: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackRemoved"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
145
- localTrackReplaced: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackReplaced"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
146
- localTrackMuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMuted"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
147
- localTrackUnmuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackUnmuted"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
148
- localTrackBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackBandwidthSet"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
149
- localTrackEncodingBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingBandwidthSet"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
150
- localTrackEncodingEnabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingEnabled"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
151
- localTrackEncodingDisabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingDisabled"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
152
- localPeerMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localPeerMetadataChanged"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
153
- localTrackMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMetadataChanged"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
154
- disconnectRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["disconnectRequested"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
134
+ }, client: ClientApi) => void;
135
+ deviceReady: (event: Parameters<DeviceManagerEvents["deviceReady"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
136
+ devicesStarted: (event: Parameters<DeviceManagerEvents["devicesStarted"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
137
+ devicesReady: (event: Parameters<DeviceManagerEvents["devicesReady"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
138
+ deviceStopped: (event: DeviceTypeInfo, client: ClientApi) => void;
139
+ deviceEnabled: (event: DeviceTypeInfo, client: ClientApi) => void;
140
+ deviceDisabled: (event: DeviceTypeInfo, client: ClientApi) => void;
141
+ error: (arg: any, client: ClientApi) => void;
142
+ targetTrackEncodingRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["targetTrackEncodingRequested"]>[0], client: ClientApi) => void;
143
+ localTrackAdded: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackAdded"]>[0], client: ClientApi) => void;
144
+ localTrackRemoved: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackRemoved"]>[0], client: ClientApi) => void;
145
+ localTrackReplaced: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackReplaced"]>[0], client: ClientApi) => void;
146
+ localTrackMuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMuted"]>[0], client: ClientApi) => void;
147
+ localTrackUnmuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackUnmuted"]>[0], client: ClientApi) => void;
148
+ localTrackBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackBandwidthSet"]>[0], client: ClientApi) => void;
149
+ localTrackEncodingBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingBandwidthSet"]>[0], client: ClientApi) => void;
150
+ localTrackEncodingEnabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingEnabled"]>[0], client: ClientApi) => void;
151
+ localTrackEncodingDisabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingDisabled"]>[0], client: ClientApi) => void;
152
+ localPeerMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localPeerMetadataChanged"]>[0], client: ClientApi) => void;
153
+ localTrackMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMetadataChanged"]>[0], client: ClientApi) => void;
154
+ disconnectRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["disconnectRequested"]>[0], client: ClientApi) => void;
155
155
  }
156
- export type ReactClientCreteConfig<PeerMetadata, TrackMetadata> = {
156
+ export type ReactClientCreateConfig = {
157
157
  clientConfig?: CreateConfig<PeerMetadata, TrackMetadata>;
158
158
  deviceManagerDefaultConfig?: DeviceManagerConfig;
159
159
  };
160
- declare const Client_base: new <PeerMetadata_1, TrackMetadata_1>() => TypedEmitter<Required<ClientEvents<PeerMetadata_1, TrackMetadata_1>>>;
161
- export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<PeerMetadata, TrackMetadata> {
160
+ declare const Client_base: new () => TypedEmitter<Required<ClientEvents>>;
161
+ export declare class Client extends Client_base {
162
162
  private readonly tsClient;
163
- local: PeerState<PeerMetadata, TrackMetadata> | null;
164
- peers: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
165
- components: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
166
- peersTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
167
- componentsTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
163
+ local: PeerState | null;
164
+ peers: Record<PeerId, PeerState>;
165
+ components: Record<PeerId, PeerState>;
166
+ peersTracks: Record<TrackId, TrackWithOrigin>;
167
+ componentsTracks: Record<TrackId, TrackWithOrigin>;
168
168
  bandwidthEstimation: bigint;
169
169
  status: PeerStatus;
170
170
  media: MediaState | null;
@@ -172,13 +172,14 @@ export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<Pee
172
172
  reconnectionStatus: ReconnectionStatus;
173
173
  videoDeviceManager: DeviceManager;
174
174
  audioDeviceManager: DeviceManager;
175
- constructor(config?: ReactClientCreteConfig<PeerMetadata, TrackMetadata>);
175
+ private initialized;
176
+ constructor(config?: ReactClientCreateConfig);
176
177
  setDeviceManagerConfig(config: DeviceManagerConfig): void;
177
178
  private trackContextToTrack;
178
179
  getTsClient: () => FishjamClient<PeerMetadata, TrackMetadata>;
179
- connect(config: ConnectConfig<PeerMetadata>): void;
180
+ connect(config: ConnectConfig): void;
180
181
  disconnect(): void;
181
- addTrack(track: MediaStreamTrack, trackMetadata?: TrackMetadata, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit): Promise<string>;
182
+ addTrack(track: MediaStreamTrack, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit): Promise<string>;
182
183
  removeTrack(trackId: string): Promise<void>;
183
184
  replaceTrack(trackId: string, newTrack: MediaStreamTrack | null): Promise<void>;
184
185
  getStatistics(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;
@@ -188,8 +189,6 @@ export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<Pee
188
189
  setTargetTrackEncoding(trackId: string, encoding: Encoding): void;
189
190
  enableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
190
191
  disableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
191
- updatePeerMetadata: (peerMetadata: PeerMetadata) => void;
192
- updateTrackMetadata: (trackId: string, trackMetadata: TrackMetadata) => void;
193
192
  isReconnecting: () => boolean;
194
193
  initializeDevices: (config?: DeviceManagerInitConfig) => Promise<void>;
195
194
  startDevices: (config: DeviceManagerStartConfig) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
package/dist/Client.js CHANGED
@@ -16,6 +16,7 @@ export class Client extends EventEmitter {
16
16
  reconnectionStatus = "idle";
17
17
  videoDeviceManager;
18
18
  audioDeviceManager;
19
+ initialized = false;
19
20
  constructor(config) {
20
21
  super();
21
22
  this.tsClient = new FishjamClient(config?.clientConfig);
@@ -292,14 +293,14 @@ export class Client extends EventEmitter {
292
293
  getTsClient = () => this.tsClient;
293
294
  connect(config) {
294
295
  this.status = "connecting";
295
- this.tsClient.connect(config);
296
+ this.tsClient.connect({ ...config, peerMetadata: config?.peerMetadata ?? {} });
296
297
  }
297
298
  disconnect() {
298
299
  this.status = null;
299
300
  this.tsClient.disconnect();
300
301
  }
301
- addTrack(track, trackMetadata, simulcastConfig = { enabled: false, activeEncodings: [], disabledEncodings: [] }, maxBandwidth = 0) {
302
- return this.tsClient.addTrack(track, trackMetadata, simulcastConfig, maxBandwidth);
302
+ addTrack(track, simulcastConfig = { enabled: false, activeEncodings: [], disabledEncodings: [] }, maxBandwidth = 0) {
303
+ return this.tsClient.addTrack(track, undefined, simulcastConfig, maxBandwidth);
303
304
  }
304
305
  removeTrack(trackId) {
305
306
  return this.tsClient.removeTrack(trackId);
@@ -328,16 +329,15 @@ export class Client extends EventEmitter {
328
329
  disableTrackEncoding(trackId, encoding) {
329
330
  return this.tsClient.disableTrackEncoding(trackId, encoding);
330
331
  }
331
- updatePeerMetadata = (peerMetadata) => {
332
- this.tsClient.updatePeerMetadata(peerMetadata);
333
- };
334
- updateTrackMetadata = (trackId, trackMetadata) => {
335
- this.tsClient.updateTrackMetadata(trackId, trackMetadata);
336
- };
337
332
  isReconnecting = () => {
338
333
  return this.tsClient.isReconnecting();
339
334
  };
340
335
  initializeDevices = async (config) => {
336
+ // This function should be called only once.
337
+ // Any subsequent calls to this function will be ignored.
338
+ if (this.initialized)
339
+ return;
340
+ this.initialized = true;
341
341
  const constraints = {
342
342
  video: this.videoDeviceManager.getConstraints(config?.videoTrackConstraints),
343
343
  audio: this.audioDeviceManager.getConstraints(config?.audioTrackConstraints),
@@ -26,7 +26,7 @@ export declare class DeviceManager extends DeviceManager_base implements MediaMa
26
26
  private constraints;
27
27
  private storageConfig;
28
28
  private status;
29
- private deviceType;
29
+ private readonly deviceType;
30
30
  deviceState: DeviceState;
31
31
  constructor(deviceType: "audio" | "video", defaultConfig?: DeviceManagerConfig);
32
32
  private createStorageConfig;
@@ -43,6 +43,7 @@ export declare class DeviceManager extends DeviceManager_base implements MediaMa
43
43
  stop(): Promise<void>;
44
44
  disable(): void;
45
45
  enable(): void;
46
+ getDeviceType: () => "audio" | "video";
46
47
  setConfig(storage?: boolean | StorageConfig, constraints?: boolean | MediaTrackConstraints): void;
47
48
  }
48
49
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../src/DeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK1G,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,CACd,KAAK,EAAE,WAAW,GAAG;QACnB,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;KAChD,EACD,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;IACV,kBAAkB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7G,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1E,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxF,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE7C,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;4CAGxD,YAAY,CAAC,mBAAmB,CAAC;AADtE,qBAAa,aACX,SAAQ,kBACR,YAAW,YAAY;IAEvB,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,UAAU,CAAoB;IAE/B,WAAW,EAAE,WAAW,CAM7B;gBAEU,UAAU,EAAE,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC,EAAE,mBAAmB;IAS9E,OAAO,CAAC,mBAAmB;IAMpB,SAAS,IAAI,mBAAmB;IAIhC,cAAc,CACnB,kBAAkB,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,GAC9D,qBAAqB,GAAG,SAAS;IAO7B,QAAQ,uCAAgC;IAExC,SAAS,2BAKd;IAEK,UAAU,WACP,WAAW,GAAG,IAAI,SACnB,gBAAgB,GAAG,IAAI,WACrB,eAAe,EAAE,kBACV,OAAO,UAChB,WAAW,GAAG,IAAI,iBAWzB;IAEF,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,YAAY,CAIlB;IAEK,aAAa,IAAI,eAAe,GAAG,IAAI;IAI9C,OAAO,CAAC,cAAc;IAMT,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IA4EjC,IAAI;IAOV,OAAO;IAWP,MAAM;IAWN,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,qBAAqB;CAIlG"}
1
+ {"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../src/DeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK1G,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,CACd,KAAK,EAAE,WAAW,GAAG;QACnB,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;KAChD,EACD,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;IACV,kBAAkB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7G,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1E,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxF,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE7C,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;4CAGxD,YAAY,CAAC,mBAAmB,CAAC;AADtE,qBAAa,aACX,SAAQ,kBACR,YAAW,YAAY;IAEvB,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAExC,WAAW,EAAE,WAAW,CAM7B;gBAEU,UAAU,EAAE,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC,EAAE,mBAAmB;IAS9E,OAAO,CAAC,mBAAmB;IAMpB,SAAS,IAAI,mBAAmB;IAIhC,cAAc,CACnB,kBAAkB,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,GAC9D,qBAAqB,GAAG,SAAS;IAO7B,QAAQ,uCAAgC;IAExC,SAAS,2BAKd;IAEK,UAAU,WACP,WAAW,GAAG,IAAI,SACnB,gBAAgB,GAAG,IAAI,WACrB,eAAe,EAAE,kBACV,OAAO,UAChB,WAAW,GAAG,IAAI,iBAWzB;IAEF,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,YAAY,CAIlB;IAEK,aAAa,IAAI,eAAe,GAAG,IAAI;IAI9C,OAAO,CAAC,cAAc;IAMT,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IA4EjC,IAAI;IAOV,OAAO;IAWP,MAAM;IAWN,aAAa,0BAElB;IAEK,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,qBAAqB;CAIlG"}
@@ -150,6 +150,9 @@ export class DeviceManager extends EventEmitter {
150
150
  this.deviceState.media.enabled = true;
151
151
  this.emit("deviceEnabled", this.deviceState);
152
152
  }
153
+ getDeviceType = () => {
154
+ return this.deviceType;
155
+ };
153
156
  setConfig(storage, constraints) {
154
157
  this.storageConfig = this.createStorageConfig(storage);
155
158
  this.constraints = constraints ? toMediaTrackConstraints(constraints) : undefined;
@@ -0,0 +1,12 @@
1
+ import type { PropsWithChildren } from "react";
2
+ import type { DeviceManagerConfig } from "./types";
3
+ import type { ReconnectConfig } from "@fishjam-cloud/ts-client";
4
+ interface FishjamProviderProps extends PropsWithChildren {
5
+ config?: {
6
+ reconnect?: ReconnectConfig | boolean;
7
+ };
8
+ deviceManagerDefaultConfig?: DeviceManagerConfig;
9
+ }
10
+ export declare function FishjamProvider({ children, config, deviceManagerDefaultConfig }: FishjamProviderProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=fishjamProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fishjamProvider.d.ts","sourceRoot":"","sources":["../src/fishjamProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI/C,OAAO,KAAK,EAAE,mBAAmB,EAAoB,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,UAAU,oBAAqB,SAAQ,iBAAiB;IACtD,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,GAAG,OAAO,CAAA;KAAE,CAAC;IACnD,0BAA0B,CAAC,EAAE,mBAAmB,CAAC;CAClD;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE,oBAAoB,2CAmCrG"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { Client } from "./Client";
4
+ import { useTrackManager } from "./trackManager";
5
+ import { useClientState } from "./hooks/clientState";
6
+ import { FishjamContext } from "./hooks/fishjamContext";
7
+ export function FishjamProvider({ children, config, deviceManagerDefaultConfig }) {
8
+ const client = useRef(new Client({
9
+ clientConfig: config,
10
+ deviceManagerDefaultConfig,
11
+ }));
12
+ // TODO: do the same for client config or just remove the Client class
13
+ useEffect(() => {
14
+ if (!deviceManagerDefaultConfig)
15
+ return;
16
+ client.current.setDeviceManagerConfig(deviceManagerDefaultConfig);
17
+ }, [deviceManagerDefaultConfig]);
18
+ const state = useClientState(client.current);
19
+ const tsClient = client.current.getTsClient();
20
+ const screenshareState = useState(null);
21
+ const videoTrackManager = useTrackManager({
22
+ mediaManager: client.current.videoDeviceManager,
23
+ tsClient,
24
+ });
25
+ const audioTrackManager = useTrackManager({
26
+ mediaManager: client.current.audioDeviceManager,
27
+ tsClient,
28
+ });
29
+ return (_jsx(FishjamContext.Provider, { value: { state, screenshareState, videoTrackManager, audioTrackManager }, children: children }));
30
+ }
@@ -0,0 +1,4 @@
1
+ import type { State } from "../state.types";
2
+ import type { Client } from "../Client";
3
+ export declare const useClientState: (client: Client) => State;
4
+ //# sourceMappingURL=clientState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientState.d.ts","sourceRoot":"","sources":["../../src/hooks/clientState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAmDxC,eAAO,MAAM,cAAc,WAAY,MAAM,UAwC5C,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { useCallback, useRef, useSyncExternalStore } from "react";
2
+ const eventNames = [
3
+ "socketOpen",
4
+ "socketError",
5
+ "socketClose",
6
+ "authSuccess",
7
+ "authError",
8
+ "disconnected",
9
+ "joined",
10
+ "joinError",
11
+ "peerJoined",
12
+ "peerUpdated",
13
+ "peerLeft",
14
+ "reconnected",
15
+ "reconnectionRetriesLimitReached",
16
+ "reconnectionStarted",
17
+ "componentAdded",
18
+ "componentUpdated",
19
+ "componentRemoved",
20
+ "trackReady",
21
+ "trackAdded",
22
+ "trackRemoved",
23
+ "trackUpdated",
24
+ "bandwidthEstimationChanged",
25
+ "encodingChanged",
26
+ "voiceActivityChanged",
27
+ "deviceDisabled",
28
+ "deviceEnabled",
29
+ "managerInitialized",
30
+ "managerStarted",
31
+ "deviceStopped",
32
+ "deviceReady",
33
+ "devicesStarted",
34
+ "devicesReady",
35
+ "error",
36
+ "targetTrackEncodingRequested",
37
+ "localTrackAdded",
38
+ "localTrackRemoved",
39
+ "localTrackReplaced",
40
+ "localTrackMuted",
41
+ "localTrackUnmuted",
42
+ "localTrackBandwidthSet",
43
+ "localTrackEncodingBandwidthSet",
44
+ "localTrackEncodingEnabled",
45
+ "localTrackEncodingDisabled",
46
+ "localPeerMetadataChanged",
47
+ "localTrackMetadataChanged",
48
+ "disconnectRequested",
49
+ ];
50
+ export const useClientState = (client) => {
51
+ const mutationRef = useRef(false);
52
+ const subscribe = useCallback((subscribeCallback) => {
53
+ const callback = () => {
54
+ mutationRef.current = true;
55
+ subscribeCallback();
56
+ };
57
+ eventNames.forEach((eventName) => client.on(eventName, callback));
58
+ return () => {
59
+ eventNames.forEach((eventName) => client.removeListener(eventName, callback));
60
+ };
61
+ }, [client]);
62
+ const lastSnapshotRef = useRef(null);
63
+ const getSnapshot = useCallback(() => {
64
+ if (mutationRef.current || lastSnapshotRef.current === null) {
65
+ lastSnapshotRef.current = {
66
+ remote: client.peers,
67
+ media: client.media,
68
+ bandwidthEstimation: client.bandwidthEstimation,
69
+ tracks: client.peersTracks,
70
+ local: client.local,
71
+ status: client.status,
72
+ devices: client.devices,
73
+ client: client,
74
+ reconnectionStatus: client.reconnectionStatus,
75
+ };
76
+ mutationRef.current = false;
77
+ }
78
+ return lastSnapshotRef.current;
79
+ }, [client]);
80
+ return useSyncExternalStore(subscribe, getSnapshot);
81
+ };
@@ -0,0 +1,6 @@
1
+ import type { UseConnect } from "../types";
2
+ import type { UseReconnection } from "../state.types";
3
+ export declare function useConnect(): UseConnect;
4
+ export declare function useDisconnect(): () => void;
5
+ export declare function useReconnection(): UseReconnection;
6
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,wBAAgB,UAAU,IAAI,UAAU,CAWvC;AAED,wBAAgB,aAAa,eAM5B;AAED,wBAAgB,eAAe,IAAI,eAAe,CASjD"}
@@ -0,0 +1,28 @@
1
+ import { useFishjamContext } from "./fishjamContext";
2
+ import { useCallback, useMemo } from "react";
3
+ export function useConnect() {
4
+ const { state } = useFishjamContext();
5
+ return useMemo(() => {
6
+ return (config) => {
7
+ state.client.connect(config);
8
+ return () => {
9
+ state.client.disconnect();
10
+ };
11
+ };
12
+ }, [state.client]);
13
+ }
14
+ export function useDisconnect() {
15
+ const { state } = useFishjamContext();
16
+ return useCallback(() => {
17
+ state.client.disconnect();
18
+ }, [state.client]);
19
+ }
20
+ export function useReconnection() {
21
+ const { state } = useFishjamContext();
22
+ return {
23
+ status: state.reconnectionStatus,
24
+ isReconnecting: state.reconnectionStatus === "reconnecting",
25
+ isError: state.reconnectionStatus === "error",
26
+ isIdle: state.reconnectionStatus === "idle",
27
+ };
28
+ }
@@ -0,0 +1,4 @@
1
+ import type { UserMediaAPI, TrackManager } from "../types";
2
+ export declare function useCamera(): UserMediaAPI & TrackManager;
3
+ export declare function useMicrophone(): UserMediaAPI & TrackManager;
4
+ //# sourceMappingURL=devices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../src/hooks/devices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE3D,wBAAgB,SAAS,IAAI,YAAY,GAAG,YAAY,CAGvD;AAED,wBAAgB,aAAa,IAAI,YAAY,GAAG,YAAY,CAG3D"}
@@ -0,0 +1,9 @@
1
+ import { useFishjamContext } from "./fishjamContext";
2
+ export function useCamera() {
3
+ const { state, videoTrackManager } = useFishjamContext();
4
+ return { ...state.devices.camera, ...videoTrackManager };
5
+ }
6
+ export function useMicrophone() {
7
+ const { state, audioTrackManager } = useFishjamContext();
8
+ return { ...state.devices.microphone, ...audioTrackManager };
9
+ }
@@ -0,0 +1,4 @@
1
+ import type { FishjamContextType } from "../types";
2
+ export declare const FishjamContext: import("react").Context<FishjamContextType | null>;
3
+ export declare function useFishjamContext(): FishjamContextType;
4
+ //# sourceMappingURL=fishjamContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fishjamContext.d.ts","sourceRoot":"","sources":["../../src/hooks/fishjamContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,cAAc,oDAAiD,CAAC;AAE7E,wBAAgB,iBAAiB,IAGb,kBAAkB,CACrC"}
@@ -0,0 +1,8 @@
1
+ import { createContext, useContext } from "react";
2
+ export const FishjamContext = createContext(null);
3
+ export function useFishjamContext() {
4
+ const context = useContext(FishjamContext);
5
+ if (!context)
6
+ throw new Error("useFishjamContext must be used within a FishjamContextProvider");
7
+ return context;
8
+ }