@fishjam-cloud/react-client 0.7.0 → 0.7.1
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/DeviceManager.d.ts +13 -7
- package/dist/DeviceManager.d.ts.map +1 -1
- package/dist/DeviceManager.js +7 -18
- package/dist/constraints.d.ts +2 -3
- package/dist/constraints.d.ts.map +1 -1
- package/dist/constraints.js +9 -10
- package/dist/fishjamProvider.d.ts +8 -6
- package/dist/fishjamProvider.d.ts.map +1 -1
- package/dist/fishjamProvider.js +23 -8
- package/dist/hooks/deviceManagers/useAudioDeviceManager.d.ts +5 -1
- package/dist/hooks/deviceManagers/useAudioDeviceManager.d.ts.map +1 -1
- package/dist/hooks/deviceManagers/useAudioDeviceManager.js +4 -0
- package/dist/hooks/deviceManagers/useDeviceManager.d.ts +1 -1
- package/dist/hooks/deviceManagers/useDeviceManager.d.ts.map +1 -1
- package/dist/hooks/deviceManagers/useVideoDeviceManager.d.ts +5 -1
- package/dist/hooks/deviceManagers/useVideoDeviceManager.d.ts.map +1 -1
- package/dist/hooks/deviceManagers/useVideoDeviceManager.js +4 -0
- package/dist/hooks/public.d.ts +1 -3
- package/dist/hooks/public.d.ts.map +1 -1
- package/dist/hooks/public.js +1 -3
- package/dist/hooks/useConnection.d.ts +10 -2
- package/dist/hooks/useConnection.d.ts.map +1 -1
- package/dist/hooks/useConnection.js +8 -0
- package/dist/hooks/useDevices.d.ts +13 -1
- package/dist/hooks/useDevices.d.ts.map +1 -1
- package/dist/hooks/useDevices.js +18 -4
- package/dist/hooks/useFishjamClientState.d.ts +1 -2
- package/dist/hooks/useFishjamClientState.d.ts.map +1 -1
- package/dist/hooks/useFishjamClientState.js +0 -4
- package/dist/hooks/useFishjamClient_DO_NOT_USE.d.ts +6 -1
- package/dist/hooks/useFishjamClient_DO_NOT_USE.d.ts.map +1 -1
- package/dist/hooks/useFishjamClient_DO_NOT_USE.js +5 -0
- package/dist/hooks/useFishjamContext.d.ts +3 -3
- package/dist/hooks/useFishjamContext.d.ts.map +1 -1
- package/dist/hooks/usePeerStatus.d.ts +8 -0
- package/dist/hooks/usePeerStatus.d.ts.map +1 -0
- package/dist/hooks/{useParticipantStatus.js → usePeerStatus.js} +12 -12
- package/dist/hooks/usePeers.d.ts +10 -0
- package/dist/hooks/usePeers.d.ts.map +1 -0
- package/dist/hooks/{useParticipants.js → usePeers.js} +8 -5
- package/dist/hooks/useProcessedPreviewStream.d.ts +1 -1
- package/dist/hooks/useProcessedPreviewStream.d.ts.map +1 -1
- package/dist/hooks/useReconnection.d.ts +4 -0
- package/dist/hooks/useReconnection.d.ts.map +1 -1
- package/dist/hooks/useReconnection.js +4 -0
- package/dist/hooks/useScreenShare.d.ts +5 -1
- package/dist/hooks/useScreenShare.d.ts.map +1 -1
- package/dist/hooks/useScreenShare.js +5 -1
- package/dist/hooks/useStatus.d.ts +5 -1
- package/dist/hooks/useStatus.d.ts.map +1 -1
- package/dist/hooks/useStatus.js +4 -0
- package/dist/hooks/useTrackManager.d.ts +4 -4
- package/dist/hooks/useTrackManager.d.ts.map +1 -1
- package/dist/hooks/useTrackManager.js +3 -3
- package/dist/index.d.ts +3 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/mediaInitializer.d.ts +2 -2
- package/dist/mediaInitializer.d.ts.map +1 -1
- package/dist/types/internal.d.ts +129 -0
- package/dist/types/internal.d.ts.map +1 -0
- package/dist/types/public.d.ts +65 -0
- package/dist/types/public.d.ts.map +1 -0
- package/dist/utils/errors.d.ts +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/media.d.ts +3 -2
- package/dist/utils/media.d.ts.map +1 -1
- package/dist/utils/track.d.ts +2 -2
- package/dist/utils/track.d.ts.map +1 -1
- package/dist/utils/track.js +0 -2
- package/package.json +6 -6
- package/readme.md +20 -118
- package/dist/hooks/useParticipantStatus.d.ts +0 -8
- package/dist/hooks/useParticipantStatus.d.ts.map +0 -1
- package/dist/hooks/useParticipants.d.ts +0 -6
- package/dist/hooks/useParticipants.d.ts.map +0 -1
- package/dist/state.types.d.ts +0 -42
- package/dist/state.types.d.ts.map +0 -1
- package/dist/types.d.ts +0 -255
- package/dist/types.d.ts.map +0 -1
- /package/dist/{state.types.js → types/internal.js} +0 -0
- /package/dist/{types.js → types/public.js} +0 -0
package/dist/DeviceManager.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DeviceState, MediaManager, DeviceError, DeviceManagerStatus } from "./types/internal";
|
|
2
2
|
import type TypedEmitter from "typed-emitter";
|
|
3
|
+
import type { PersistLastDeviceHandlers } from "./types/public";
|
|
3
4
|
export type DeviceManagerEvents = {
|
|
4
5
|
managerStarted: (event: DeviceState & {
|
|
5
6
|
constraints: MediaTrackConstraints | undefined;
|
|
@@ -20,18 +21,24 @@ export type DeviceManagerEvents = {
|
|
|
20
21
|
deviceDisabled: (state: DeviceState) => void;
|
|
21
22
|
error: (event: any, state: DeviceState) => void;
|
|
22
23
|
};
|
|
24
|
+
export type DeviceManagerConfig = {
|
|
25
|
+
deviceType: "audio" | "video";
|
|
26
|
+
defaultConstraints: MediaTrackConstraints;
|
|
27
|
+
userConstraints?: boolean | MediaTrackConstraints;
|
|
28
|
+
storage?: boolean | PersistLastDeviceHandlers;
|
|
29
|
+
};
|
|
23
30
|
declare const DeviceManager_base: new () => TypedEmitter<DeviceManagerEvents>;
|
|
24
31
|
export declare class DeviceManager extends DeviceManager_base implements MediaManager {
|
|
25
|
-
private constraints;
|
|
26
|
-
private storageConfig;
|
|
32
|
+
private readonly constraints;
|
|
33
|
+
private readonly storageConfig;
|
|
27
34
|
private status;
|
|
28
35
|
private readonly deviceType;
|
|
29
36
|
deviceState: DeviceState;
|
|
30
|
-
constructor(deviceType
|
|
37
|
+
constructor({ deviceType, storage, userConstraints, defaultConstraints }: DeviceManagerConfig);
|
|
31
38
|
private createStorageConfig;
|
|
32
39
|
getStatus(): DeviceManagerStatus;
|
|
33
|
-
getConstraints(
|
|
34
|
-
getMedia: () => import("./types").Media | null;
|
|
40
|
+
getConstraints(): MediaTrackConstraints | boolean;
|
|
41
|
+
getMedia: () => import("./types/internal").Media | null;
|
|
35
42
|
getTracks: () => MediaStreamTrack[];
|
|
36
43
|
initialize: (stream: MediaStream | null, track: MediaStreamTrack | null, devices: MediaDeviceInfo[], requestedMedia: boolean, error?: DeviceError | null) => DeviceState;
|
|
37
44
|
private setupOnEndedCallback;
|
|
@@ -43,7 +50,6 @@ export declare class DeviceManager extends DeviceManager_base implements MediaMa
|
|
|
43
50
|
disable(): void;
|
|
44
51
|
enable(): void;
|
|
45
52
|
getDeviceType: () => "audio" | "video";
|
|
46
|
-
setConfig(storage?: boolean | StorageConfig, constraints?: boolean | MediaTrackConstraints): void;
|
|
47
53
|
}
|
|
48
54
|
export {};
|
|
49
55
|
//# sourceMappingURL=DeviceManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../src/DeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../src/DeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKpG,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,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,CACd,KAAK,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAA;KAAE,EAC7E,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;IACV,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;IAChC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9B,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,eAAe,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC/C,CAAC;4CAGmC,YAAY,CAAC,mBAAmB,CAAC;AADtE,qBAAa,aACX,SAAQ,kBACR,YAAW,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IAEjE,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAExC,WAAW,EAAE,WAAW,CAM7B;gBAEU,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,EAAE,mBAAmB;IAO7F,OAAO,CAAC,mBAAmB;IASpB,SAAS,IAAI,mBAAmB;IAIhC,cAAc,IAAI,qBAAqB,GAAG,OAAO;IAIjD,QAAQ,gDAAgC;IAExC,SAAS,2BAMd;IAEK,UAAU,WACP,WAAW,GAAG,IAAI,SACnB,gBAAgB,GAAG,IAAI,WACrB,eAAe,EAAE,kBACV,OAAO,UAChB,WAAW,GAAG,IAAI,iBAazB;IAEF,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,YAAY,CAIlB;IAEK,aAAa,IAAI,eAAe,GAAG,IAAI;IAI9C,OAAO,CAAC,cAAc;IAIT,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM;IAgFvB,IAAI;IAOV,OAAO;IAWP,MAAM;IAWN,aAAa,0BAElB;CACH"}
|
package/dist/DeviceManager.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { prepareMediaTrackConstraints
|
|
1
|
+
import { prepareMediaTrackConstraints } from "./constraints";
|
|
2
2
|
import EventEmitter from "events";
|
|
3
3
|
import { getDeviceInfo, getLocalStorageConfig, prepareDeviceState } from "./utils/media";
|
|
4
4
|
import { parseUserMediaError } from "./utils/errors";
|
|
@@ -14,11 +14,11 @@ export class DeviceManager extends EventEmitter {
|
|
|
14
14
|
devicesStatus: "Not requested",
|
|
15
15
|
error: null,
|
|
16
16
|
};
|
|
17
|
-
constructor(deviceType,
|
|
17
|
+
constructor({ deviceType, storage, userConstraints, defaultConstraints }) {
|
|
18
18
|
super();
|
|
19
|
-
this.storageConfig = this.createStorageConfig(deviceType,
|
|
19
|
+
this.storageConfig = this.createStorageConfig(deviceType, storage);
|
|
20
20
|
this.deviceType = deviceType;
|
|
21
|
-
this.constraints =
|
|
21
|
+
this.constraints = userConstraints ?? defaultConstraints;
|
|
22
22
|
}
|
|
23
23
|
createStorageConfig(deviceType, storage) {
|
|
24
24
|
if (storage === false)
|
|
@@ -30,12 +30,8 @@ export class DeviceManager extends EventEmitter {
|
|
|
30
30
|
getStatus() {
|
|
31
31
|
return this.status;
|
|
32
32
|
}
|
|
33
|
-
getConstraints(
|
|
34
|
-
|
|
35
|
-
return undefined;
|
|
36
|
-
if (currentConstraints === undefined || currentConstraints === true)
|
|
37
|
-
return this.constraints;
|
|
38
|
-
return currentConstraints ?? this.constraints;
|
|
33
|
+
getConstraints() {
|
|
34
|
+
return this.constraints;
|
|
39
35
|
}
|
|
40
36
|
getMedia = () => this.deviceState.media;
|
|
41
37
|
getTracks = () => {
|
|
@@ -69,8 +65,6 @@ export class DeviceManager extends EventEmitter {
|
|
|
69
65
|
return this.storageConfig?.getLastDevice?.() ?? null;
|
|
70
66
|
}
|
|
71
67
|
saveLastDevice(info) {
|
|
72
|
-
if (!this.storageConfig)
|
|
73
|
-
console.warn("Device manager storage has been disabled");
|
|
74
68
|
this.storageConfig?.saveLastDevice(info);
|
|
75
69
|
}
|
|
76
70
|
async start(deviceId) {
|
|
@@ -79,8 +73,7 @@ export class DeviceManager extends EventEmitter {
|
|
|
79
73
|
const shouldReplaceDevice = Boolean(currentDeviceId && currentDeviceId !== newDeviceId);
|
|
80
74
|
const isDeviceStopped = currentDeviceId === undefined;
|
|
81
75
|
const shouldProceed = isDeviceStopped || shouldReplaceDevice;
|
|
82
|
-
const
|
|
83
|
-
const exactConstraints = shouldProceed && prepareMediaTrackConstraints(newDeviceId, trackConstraints);
|
|
76
|
+
const exactConstraints = shouldProceed && prepareMediaTrackConstraints(newDeviceId, this.constraints);
|
|
84
77
|
if (!exactConstraints)
|
|
85
78
|
return;
|
|
86
79
|
this.deviceState.mediaStatus = "Requesting";
|
|
@@ -158,8 +151,4 @@ export class DeviceManager extends EventEmitter {
|
|
|
158
151
|
getDeviceType = () => {
|
|
159
152
|
return this.deviceType;
|
|
160
153
|
};
|
|
161
|
-
setConfig(storage, constraints) {
|
|
162
|
-
this.storageConfig = this.createStorageConfig(this.deviceType, storage);
|
|
163
|
-
this.constraints = constraints ? toMediaTrackConstraints(constraints) : undefined;
|
|
164
|
-
}
|
|
165
154
|
}
|
package/dist/constraints.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export declare const AUDIO_TRACK_CONSTRAINTS: MediaTrackConstraints;
|
|
2
2
|
export declare const VIDEO_TRACK_CONSTRAINTS: MediaTrackConstraints;
|
|
3
3
|
export declare const SCREEN_SHARING_MEDIA_CONSTRAINTS: MediaStreamConstraints;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const prepareConstraints: (deviceIdToStart: string | undefined, constraints: MediaTrackConstraints | undefined) => MediaTrackConstraints | undefined;
|
|
4
|
+
export declare const prepareMediaTrackConstraints: (deviceId: string | undefined, constraints: MediaTrackConstraints | undefined | boolean) => MediaTrackConstraints | boolean;
|
|
5
|
+
export declare const prepareConstraints: (deviceIdToStart: string | undefined, constraints: MediaTrackConstraints | undefined | boolean) => MediaTrackConstraints | undefined | boolean;
|
|
7
6
|
//# sourceMappingURL=constraints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../src/constraints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,EAAE,qBAErC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,qBAerC,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,sBAM9C,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../src/constraints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,EAAE,qBAErC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,qBAerC,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,sBAM9C,CAAC;AAEF,eAAO,MAAM,4BAA4B,aAC7B,MAAM,GAAG,SAAS,eACf,qBAAqB,GAAG,SAAS,GAAG,OAAO,KACvD,qBAAqB,GAAG,OAM1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,oBACZ,MAAM,GAAG,SAAS,eACtB,qBAAqB,GAAG,SAAS,GAAG,OAAO,KACvD,qBAAqB,GAAG,SAAS,GAAG,OAUtC,CAAC"}
|
package/dist/constraints.js
CHANGED
|
@@ -24,20 +24,19 @@ export const SCREEN_SHARING_MEDIA_CONSTRAINTS = {
|
|
|
24
24
|
height: { max: 1080, ideal: 1080 },
|
|
25
25
|
},
|
|
26
26
|
};
|
|
27
|
-
export const toMediaTrackConstraints = (constraint) => {
|
|
28
|
-
if (typeof constraint === "boolean") {
|
|
29
|
-
return constraint ? {} : undefined;
|
|
30
|
-
}
|
|
31
|
-
return constraint;
|
|
32
|
-
};
|
|
33
27
|
export const prepareMediaTrackConstraints = (deviceId, constraints) => {
|
|
28
|
+
const trackConstraints = typeof constraints === "boolean" ? {} : constraints;
|
|
34
29
|
if (!deviceId)
|
|
35
|
-
return { ...
|
|
36
|
-
|
|
37
|
-
return { ...constraints, ...exactId };
|
|
30
|
+
return { ...trackConstraints };
|
|
31
|
+
return { ...trackConstraints, deviceId: { exact: deviceId } };
|
|
38
32
|
};
|
|
39
33
|
export const prepareConstraints = (deviceIdToStart, constraints) => {
|
|
40
34
|
if (!deviceIdToStart)
|
|
41
35
|
return constraints;
|
|
42
|
-
|
|
36
|
+
// The resulting stream will not contain a track of this type,
|
|
37
|
+
// which means that the device will not be activated.
|
|
38
|
+
if (constraints === false)
|
|
39
|
+
return false;
|
|
40
|
+
const constraintsObj = constraints === true ? {} : constraints;
|
|
41
|
+
return { ...constraintsObj, deviceId: { ideal: deviceIdToStart } };
|
|
43
42
|
};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { type PropsWithChildren } from "react";
|
|
2
|
-
import type { DeviceManagerConfig } from "./types";
|
|
3
2
|
import { type ReconnectConfig } from "@fishjam-cloud/ts-client";
|
|
3
|
+
import type { PersistLastDeviceHandlers } from "./types/public";
|
|
4
4
|
interface FishjamProviderProps extends PropsWithChildren {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
deviceManagerDefaultConfig?: DeviceManagerConfig;
|
|
5
|
+
reconnect?: ReconnectConfig | boolean;
|
|
6
|
+
constraints?: Pick<MediaStreamConstraints, "audio" | "video">;
|
|
7
|
+
persistLastDevice?: boolean | PersistLastDeviceHandlers;
|
|
9
8
|
}
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* @category Components
|
|
11
|
+
*/
|
|
12
|
+
export declare function FishjamProvider({ children, reconnect, constraints, persistLastDevice }: FishjamProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
11
13
|
export {};
|
|
12
14
|
//# sourceMappingURL=fishjamProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fishjamProvider.d.ts","sourceRoot":"","sources":["../src/fishjamProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fishjamProvider.d.ts","sourceRoot":"","sources":["../src/fishjamProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,UAAU,oBAAqB,SAAQ,iBAAiB;IACtD,SAAS,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IACtC,WAAW,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CACzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,oBAAoB,2CAsD5G"}
|
package/dist/fishjamProvider.js
CHANGED
|
@@ -4,24 +4,39 @@ import { useTrackManager } from "./hooks/useTrackManager";
|
|
|
4
4
|
import { FishjamClient } from "@fishjam-cloud/ts-client";
|
|
5
5
|
import { FishjamContext } from "./hooks/useFishjamContext";
|
|
6
6
|
import { DeviceManager } from "./DeviceManager";
|
|
7
|
-
import {
|
|
7
|
+
import { usePeerStatus } from "./hooks/usePeerStatus";
|
|
8
8
|
import { useFishjamClientState } from "./hooks/useFishjamClientState";
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
import { AUDIO_TRACK_CONSTRAINTS, VIDEO_TRACK_CONSTRAINTS } from "./constraints";
|
|
10
|
+
/**
|
|
11
|
+
* @category Components
|
|
12
|
+
*/
|
|
13
|
+
export function FishjamProvider({ children, reconnect, constraints, persistLastDevice }) {
|
|
14
|
+
const fishjamClientRef = useRef(new FishjamClient({ reconnect }));
|
|
11
15
|
const hasDevicesBeenInitializedRef = useRef(false);
|
|
12
|
-
const
|
|
13
|
-
const
|
|
16
|
+
const storage = persistLastDevice;
|
|
17
|
+
const videoDeviceManagerRef = useRef(new DeviceManager({
|
|
18
|
+
deviceType: "video",
|
|
19
|
+
defaultConstraints: VIDEO_TRACK_CONSTRAINTS,
|
|
20
|
+
userConstraints: constraints?.video,
|
|
21
|
+
storage,
|
|
22
|
+
}));
|
|
23
|
+
const audioDeviceManagerRef = useRef(new DeviceManager({
|
|
24
|
+
deviceType: "audio",
|
|
25
|
+
defaultConstraints: AUDIO_TRACK_CONSTRAINTS,
|
|
26
|
+
userConstraints: constraints?.audio,
|
|
27
|
+
storage,
|
|
28
|
+
}));
|
|
14
29
|
const screenShareState = useState({ stream: null, trackIds: null });
|
|
15
|
-
const { peerStatus,
|
|
30
|
+
const { peerStatus, getCurrentPeerStatus } = usePeerStatus(fishjamClientRef.current);
|
|
16
31
|
const videoTrackManager = useTrackManager({
|
|
17
32
|
mediaManager: videoDeviceManagerRef.current,
|
|
18
33
|
tsClient: fishjamClientRef.current,
|
|
19
|
-
|
|
34
|
+
getCurrentPeerStatus,
|
|
20
35
|
});
|
|
21
36
|
const audioTrackManager = useTrackManager({
|
|
22
37
|
mediaManager: audioDeviceManagerRef.current,
|
|
23
38
|
tsClient: fishjamClientRef.current,
|
|
24
|
-
|
|
39
|
+
getCurrentPeerStatus,
|
|
25
40
|
});
|
|
26
41
|
const clientState = useFishjamClientState(fishjamClientRef.current);
|
|
27
42
|
const context = {
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @category Devices
|
|
4
|
+
*/
|
|
5
|
+
export declare const useAudioDeviceManager: () => import("../../types/internal").DeviceManagerState;
|
|
2
6
|
//# sourceMappingURL=useAudioDeviceManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAudioDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useAudioDeviceManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAudioDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useAudioDeviceManager.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,yDAKjC,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { useFishjamContext } from "../useFishjamContext";
|
|
2
2
|
import { useDeviceManager } from "./useDeviceManager";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @category Devices
|
|
6
|
+
*/
|
|
3
7
|
export const useAudioDeviceManager = () => {
|
|
4
8
|
const { audioDeviceManagerRef } = useFishjamContext();
|
|
5
9
|
const audioDeviceState = useDeviceManager(audioDeviceManagerRef.current);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DeviceManagerState } from "../../types";
|
|
1
|
+
import type { DeviceManagerState } from "../../types/internal";
|
|
2
2
|
import type { DeviceManager } from "../../DeviceManager";
|
|
3
3
|
export declare const useDeviceManager: (deviceManager: DeviceManager) => DeviceManagerState;
|
|
4
4
|
//# sourceMappingURL=useDeviceManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useDeviceManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useDeviceManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAc9E,eAAO,MAAM,gBAAgB,kBAAmB,aAAa,uBAoC5D,CAAC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @category Devices
|
|
4
|
+
*/
|
|
5
|
+
export declare const useVideoDeviceManager: () => import("../../types/internal").DeviceManagerState;
|
|
2
6
|
//# sourceMappingURL=useVideoDeviceManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVideoDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useVideoDeviceManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useVideoDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useVideoDeviceManager.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,yDAIjC,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { useFishjamContext } from "../useFishjamContext";
|
|
2
2
|
import { useDeviceManager } from "./useDeviceManager";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @category Devices
|
|
6
|
+
*/
|
|
3
7
|
export const useVideoDeviceManager = () => {
|
|
4
8
|
const { videoDeviceManagerRef } = useFishjamContext();
|
|
5
9
|
const videoDeviceState = useDeviceManager(videoDeviceManagerRef.current);
|
package/dist/hooks/public.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
export { useConnect, useDisconnect } from "./useConnection";
|
|
2
2
|
export { useReconnection } from "./useReconnection";
|
|
3
3
|
export { useCamera, useMicrophone, useInitializeDevices } from "./useDevices";
|
|
4
|
-
export {
|
|
4
|
+
export { usePeers } from "./usePeers";
|
|
5
5
|
export { useScreenShare } from "./useScreenShare";
|
|
6
6
|
export { useStatus } from "./useStatus";
|
|
7
|
-
export { useAudioDeviceManager } from "./deviceManagers/useAudioDeviceManager";
|
|
8
|
-
export { useVideoDeviceManager } from "./deviceManagers/useVideoDeviceManager";
|
|
9
7
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/hooks/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/hooks/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/hooks/public.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export { useConnect, useDisconnect } from "./useConnection";
|
|
2
2
|
export { useReconnection } from "./useReconnection";
|
|
3
3
|
export { useCamera, useMicrophone, useInitializeDevices } from "./useDevices";
|
|
4
|
-
export {
|
|
4
|
+
export { usePeers } from "./usePeers";
|
|
5
5
|
export { useScreenShare } from "./useScreenShare";
|
|
6
6
|
export { useStatus } from "./useStatus";
|
|
7
|
-
export { useAudioDeviceManager } from "./deviceManagers/useAudioDeviceManager";
|
|
8
|
-
export { useVideoDeviceManager } from "./deviceManagers/useVideoDeviceManager";
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { ConnectConfig } from "../types/public";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @category Connection
|
|
5
|
+
*/
|
|
6
|
+
export declare function useConnect(): (config: ConnectConfig) => Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @category Connection
|
|
10
|
+
*/
|
|
3
11
|
export declare function useDisconnect(): () => void;
|
|
4
12
|
//# sourceMappingURL=useConnection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnection.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useConnection.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAIrE;AAED;;;GAGG;AACH,wBAAgB,aAAa,eAM5B"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
2
|
import { useFishjamContext } from "./useFishjamContext";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @category Connection
|
|
6
|
+
*/
|
|
3
7
|
export function useConnect() {
|
|
4
8
|
const client = useFishjamContext().fishjamClientRef.current;
|
|
5
9
|
return useCallback((config) => client.connect({ ...config, peerMetadata: config.peerMetadata ?? {} }), [client]);
|
|
6
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @category Connection
|
|
14
|
+
*/
|
|
7
15
|
export function useDisconnect() {
|
|
8
16
|
const client = useFishjamContext().fishjamClientRef.current;
|
|
9
17
|
return useCallback(() => {
|
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
import type { AudioDevice, Device } from "../types";
|
|
1
|
+
import type { AudioDevice, Device } from "../types/public";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @category Devices
|
|
5
|
+
*/
|
|
2
6
|
export declare function useCamera(): Device;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @category Devices
|
|
10
|
+
*/
|
|
3
11
|
export declare function useMicrophone(): AudioDevice;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @category Devices
|
|
15
|
+
*/
|
|
4
16
|
export declare const useInitializeDevices: () => {
|
|
5
17
|
initializeDevices: () => Promise<void>;
|
|
6
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDevices.d.ts","sourceRoot":"","sources":["../../src/hooks/useDevices.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDevices.d.ts","sourceRoot":"","sources":["../../src/hooks/useDevices.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAuBlC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,CA2B3C;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;CAqDhC,CAAC"}
|
package/dist/hooks/useDevices.js
CHANGED
|
@@ -5,9 +5,13 @@ import { useCallback } from "react";
|
|
|
5
5
|
import { getAvailableMedia, getCorrectedResult } from "../mediaInitializer";
|
|
6
6
|
import { useProcessedPreviewStream } from "./useProcessedPreviewStream";
|
|
7
7
|
import { prepareConstraints } from "../constraints";
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @category Devices
|
|
11
|
+
*/
|
|
8
12
|
export function useCamera() {
|
|
9
13
|
const { videoTrackManager } = useFishjamContext();
|
|
10
|
-
const { deviceState } = useVideoDeviceManager();
|
|
14
|
+
const { deviceState, status } = useVideoDeviceManager();
|
|
11
15
|
const { currentTrack, ...trackManager } = videoTrackManager;
|
|
12
16
|
const processedPreviewStream = useProcessedPreviewStream(videoTrackManager, deviceState.media?.track);
|
|
13
17
|
const stream = currentTrack?.stream ?? processedPreviewStream ?? deviceState.media?.stream ?? null;
|
|
@@ -18,6 +22,7 @@ export function useCamera() {
|
|
|
18
22
|
const activeDevice = deviceState.media?.deviceInfo ?? null;
|
|
19
23
|
return {
|
|
20
24
|
...trackManager,
|
|
25
|
+
status,
|
|
21
26
|
stream,
|
|
22
27
|
devices,
|
|
23
28
|
activeDevice,
|
|
@@ -26,9 +31,13 @@ export function useCamera() {
|
|
|
26
31
|
trackId,
|
|
27
32
|
};
|
|
28
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @category Devices
|
|
37
|
+
*/
|
|
29
38
|
export function useMicrophone() {
|
|
30
39
|
const { audioTrackManager } = useFishjamContext();
|
|
31
|
-
const { deviceState } = useAudioDeviceManager();
|
|
40
|
+
const { deviceState, status } = useAudioDeviceManager();
|
|
32
41
|
const { currentTrack, ...trackManager } = audioTrackManager;
|
|
33
42
|
const processedPreviewStream = useProcessedPreviewStream(audioTrackManager, deviceState.media?.track);
|
|
34
43
|
const stream = currentTrack?.stream ?? processedPreviewStream ?? deviceState.media?.stream ?? null;
|
|
@@ -40,6 +49,7 @@ export function useMicrophone() {
|
|
|
40
49
|
const isAudioPlaying = currentTrack?.vadStatus === "speech";
|
|
41
50
|
return {
|
|
42
51
|
...trackManager,
|
|
52
|
+
status,
|
|
43
53
|
stream,
|
|
44
54
|
isStreaming,
|
|
45
55
|
track,
|
|
@@ -49,6 +59,10 @@ export function useMicrophone() {
|
|
|
49
59
|
isAudioPlaying,
|
|
50
60
|
};
|
|
51
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* @category Devices
|
|
65
|
+
*/
|
|
52
66
|
export const useInitializeDevices = () => {
|
|
53
67
|
const { videoDeviceManagerRef, audioDeviceManagerRef, hasDevicesBeenInitializedRef } = useFishjamContext();
|
|
54
68
|
const initializeDevices = useCallback(async () => {
|
|
@@ -58,8 +72,8 @@ export const useInitializeDevices = () => {
|
|
|
58
72
|
const videoManager = videoDeviceManagerRef.current;
|
|
59
73
|
const audioManager = audioDeviceManagerRef.current;
|
|
60
74
|
const constraints = {
|
|
61
|
-
video: videoManager.getConstraints(
|
|
62
|
-
audio: audioManager.getConstraints(
|
|
75
|
+
video: videoManager.getConstraints(),
|
|
76
|
+
audio: audioManager.getConstraints(),
|
|
63
77
|
};
|
|
64
78
|
const previousDevices = {
|
|
65
79
|
video: videoManager.getLastDevice(),
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { FishjamClient } from "@fishjam-cloud/ts-client";
|
|
2
|
-
import type { PeerMetadata, TrackMetadata } from "../types";
|
|
3
|
-
import type { PeerState } from "../state.types";
|
|
2
|
+
import type { PeerMetadata, PeerState, TrackMetadata } from "../types/internal";
|
|
4
3
|
export interface FishjamClientState {
|
|
5
4
|
peers: PeerState[];
|
|
6
5
|
components: PeerState[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFishjamClientState.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamClientState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0D,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACtH,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"useFishjamClientState.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamClientState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0D,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACtH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA2CzF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;CACzB;AAmCD,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,kBAAkB,CAyCnH"}
|
|
@@ -40,7 +40,6 @@ const eventNames = [
|
|
|
40
40
|
];
|
|
41
41
|
function trackContextToTrack(track) {
|
|
42
42
|
return {
|
|
43
|
-
rawMetadata: track.rawMetadata,
|
|
44
43
|
metadata: track.metadata,
|
|
45
44
|
trackId: track.trackId,
|
|
46
45
|
stream: track.stream,
|
|
@@ -48,15 +47,12 @@ function trackContextToTrack(track) {
|
|
|
48
47
|
encoding: track.encoding ?? null,
|
|
49
48
|
vadStatus: track.vadStatus,
|
|
50
49
|
track: track.track,
|
|
51
|
-
metadataParsingError: track.metadataParsingError,
|
|
52
50
|
};
|
|
53
51
|
}
|
|
54
52
|
function endpointToPeerState(peer) {
|
|
55
53
|
const tracks = [...peer.tracks].reduce((acc, [, track]) => ({ ...acc, [track.trackId]: trackContextToTrack(track) }), {});
|
|
56
54
|
return {
|
|
57
|
-
rawMetadata: peer.rawMetadata,
|
|
58
55
|
metadata: peer.metadata,
|
|
59
|
-
metadataParsingError: peer.metadataParsingError,
|
|
60
56
|
id: peer.id,
|
|
61
57
|
tracks,
|
|
62
58
|
};
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @category Connection
|
|
4
|
+
* @deprecated
|
|
5
|
+
*/
|
|
6
|
+
export declare function useFishjamClient_DO_NOT_USE(): import("@fishjam-cloud/ts-client").FishjamClient<import("../types/internal").PeerMetadata, import("../types/internal").TrackMetadata>;
|
|
2
7
|
//# sourceMappingURL=useFishjamClient_DO_NOT_USE.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFishjamClient_DO_NOT_USE.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamClient_DO_NOT_USE.ts"],"names":[],"mappings":"AAGA,wBAAgB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"useFishjamClient_DO_NOT_USE.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamClient_DO_NOT_USE.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,2BAA2B,0IAI1C"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { useFishjamContext } from "./useFishjamContext";
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @category Connection
|
|
6
|
+
* @deprecated
|
|
7
|
+
*/
|
|
3
8
|
export function useFishjamClient_DO_NOT_USE() {
|
|
4
9
|
const client = useFishjamContext().fishjamClientRef.current;
|
|
5
10
|
return useMemo(() => client, [client]);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { FishjamClient } from "@fishjam-cloud/ts-client";
|
|
2
2
|
import { type MutableRefObject } from "react";
|
|
3
|
-
import type { PeerMetadata, TrackMetadata, ScreenShareState, TrackManager } from "../types";
|
|
3
|
+
import type { PeerMetadata, TrackMetadata, ScreenShareState, TrackManager } from "../types/internal";
|
|
4
4
|
import type { DeviceManager } from "../DeviceManager";
|
|
5
|
-
import type { ParticipantStatus } from "../state.types";
|
|
6
5
|
import type { FishjamClientState } from "./useFishjamClientState";
|
|
6
|
+
import type { PeerStatus } from "../types/public";
|
|
7
7
|
export type FishjamContextType = {
|
|
8
8
|
fishjamClientRef: MutableRefObject<FishjamClient<PeerMetadata, TrackMetadata>>;
|
|
9
9
|
videoDeviceManagerRef: MutableRefObject<DeviceManager>;
|
|
10
10
|
audioDeviceManagerRef: MutableRefObject<DeviceManager>;
|
|
11
11
|
hasDevicesBeenInitializedRef: MutableRefObject<boolean>;
|
|
12
12
|
screenShareState: [ScreenShareState, React.Dispatch<React.SetStateAction<ScreenShareState>>];
|
|
13
|
-
peerStatus:
|
|
13
|
+
peerStatus: PeerStatus;
|
|
14
14
|
videoTrackManager: TrackManager;
|
|
15
15
|
audioTrackManager: TrackManager;
|
|
16
16
|
clientState: FishjamClientState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFishjamContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAiB,KAAK,gBAAgB,EAAc,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useFishjamContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAiB,KAAK,gBAAgB,EAAc,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAC/E,qBAAqB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvD,qBAAqB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvD,4BAA4B,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxD,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7F,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,YAAY,CAAC;IAChC,iBAAiB,EAAE,YAAY,CAAC;IAChC,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,cAAc,oDAAiD,CAAC;AAE7E,wBAAgB,iBAAiB,IAGb,kBAAkB,CACrC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FishjamClient } from "@fishjam-cloud/ts-client";
|
|
2
|
+
import type { PeerMetadata, TrackMetadata } from "../types/internal";
|
|
3
|
+
import type { PeerStatus } from "../types/public";
|
|
4
|
+
export declare const usePeerStatus: (client: FishjamClient<PeerMetadata, TrackMetadata>) => {
|
|
5
|
+
readonly peerStatus: PeerStatus;
|
|
6
|
+
readonly getCurrentPeerStatus: () => PeerStatus;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=usePeerStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePeerStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/usePeerStatus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,aAAa,WAAY,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC;;;CA8C/E,CAAC"}
|