@microsoft/live-share-react 1.0.0-preview.22 → 1.0.0-preview.23
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/README.md +1 -1
- package/bin/internal/errors.d.ts +26 -0
- package/bin/internal/errors.d.ts.map +1 -0
- package/bin/internal/errors.js +39 -0
- package/bin/internal/errors.js.map +1 -0
- package/bin/internal/index.d.ts +4 -0
- package/bin/internal/index.d.ts.map +1 -0
- package/bin/internal/index.js +4 -0
- package/bin/internal/index.js.map +1 -0
- package/bin/internal/type-guards.d.ts +6 -0
- package/bin/internal/type-guards.d.ts.map +1 -0
- package/bin/internal/type-guards.js +8 -0
- package/bin/internal/type-guards.js.map +1 -0
- package/bin/internal/useSharedStateRegistry.d.ts +31 -0
- package/bin/internal/useSharedStateRegistry.d.ts.map +1 -0
- package/bin/internal/useSharedStateRegistry.js +102 -0
- package/bin/internal/useSharedStateRegistry.js.map +1 -0
- package/bin/live-hooks/useLiveEvent.d.ts.map +1 -1
- package/bin/live-hooks/useLiveEvent.js +9 -3
- package/bin/live-hooks/useLiveEvent.js.map +1 -1
- package/bin/live-hooks/useLivePresence.d.ts +2 -2
- package/bin/live-hooks/useLivePresence.d.ts.map +1 -1
- package/bin/live-hooks/useLivePresence.js +14 -14
- package/bin/live-hooks/useLivePresence.js.map +1 -1
- package/bin/live-hooks/useLiveState.d.ts +2 -2
- package/bin/live-hooks/useLiveState.d.ts.map +1 -1
- package/bin/live-hooks/useLiveState.js +15 -8
- package/bin/live-hooks/useLiveState.js.map +1 -1
- package/bin/live-hooks/useLiveTimer.d.ts.map +1 -1
- package/bin/live-hooks/useLiveTimer.js +21 -15
- package/bin/live-hooks/useLiveTimer.js.map +1 -1
- package/bin/live-hooks/useMediaSynchronizer.d.ts.map +1 -1
- package/bin/live-hooks/useMediaSynchronizer.js +31 -12
- package/bin/live-hooks/useMediaSynchronizer.js.map +1 -1
- package/bin/providers/AzureProvider.d.ts +1 -1
- package/bin/providers/AzureProvider.d.ts.map +1 -1
- package/bin/providers/AzureProvider.js +1 -1
- package/bin/providers/AzureProvider.js.map +1 -1
- package/bin/providers/LiveShareProvider.js +1 -1
- package/bin/providers/LiveShareProvider.js.map +1 -1
- package/bin/shared-hooks/useSharedMap.d.ts.map +1 -1
- package/bin/shared-hooks/useSharedMap.js +15 -8
- package/bin/shared-hooks/useSharedMap.js.map +1 -1
- package/bin/shared-hooks/useSharedState.d.ts.map +1 -1
- package/bin/shared-hooks/useSharedState.js +9 -3
- package/bin/shared-hooks/useSharedState.js.map +1 -1
- package/bin/types/ActionTypes.d.ts +8 -2
- package/bin/types/ActionTypes.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/internal/errors.ts +48 -0
- package/src/internal/index.ts +3 -0
- package/src/internal/type-guards.ts +9 -0
- package/src/live-hooks/useLiveEvent.ts +21 -5
- package/src/live-hooks/useLivePresence.ts +27 -21
- package/src/live-hooks/useLiveState.ts +31 -17
- package/src/live-hooks/useLiveTimer.ts +32 -26
- package/src/live-hooks/useMediaSynchronizer.ts +60 -8
- package/src/providers/AzureProvider.tsx +1 -1
- package/src/providers/LiveShareProvider.tsx +1 -1
- package/src/shared-hooks/useSharedMap.ts +29 -10
- package/src/shared-hooks/useSharedState.ts +9 -3
- package/src/types/ActionTypes.ts +10 -2
- package/src/internal-hooks/index.ts +0 -1
- /package/src/{internal-hooks → internal}/useSharedStateRegistry.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveTimer.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveTimer.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AAEH,OAAO,EAEH,eAAe,EAEf,SAAS,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useLiveTimer.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveTimer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaSynchronizer.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEH,qBAAqB,EACrB,YAAY,EAIf,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useMediaSynchronizer.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEH,qBAAqB,EACrB,YAAY,EAIf,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAQxD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,MAAM,EACjB,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,MAAM,EAC7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,MAAM,GAAG,IAAI,EAC5D,YAAY,CAAC,EAAE,eAAe,EAAE,EAChC,QAAQ,CAAC,EAAE,OAAO,GACnB,4BAA4B,CAyN9B"}
|
|
@@ -15,6 +15,8 @@ import React from "react";
|
|
|
15
15
|
import { LiveMediaSession, } from "@microsoft/live-share-media";
|
|
16
16
|
import { isExtendedMediaMetadata, isMediaElement, isRefObject } from "../utils";
|
|
17
17
|
import { useDynamicDDS } from "../shared-hooks";
|
|
18
|
+
import { useFluidObjectsContext } from "../providers";
|
|
19
|
+
import { ActionContainerNotJoinedError, ActionLiveDataObjectUndefinedError, } from "../internal";
|
|
18
20
|
/**
|
|
19
21
|
* React hook for using a Live Share media `MediaPlayerSynchronizer`.
|
|
20
22
|
*
|
|
@@ -41,36 +43,53 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElementRef, initialTr
|
|
|
41
43
|
* User facing: dynamically load the LiveMediaSession DDS for the given unique key.
|
|
42
44
|
*/
|
|
43
45
|
const { dds: mediaSession } = useDynamicDDS(uniqueKey, LiveMediaSession);
|
|
46
|
+
const { container } = useFluidObjectsContext();
|
|
44
47
|
/**
|
|
45
48
|
* Play callback
|
|
46
49
|
*/
|
|
47
50
|
const play = React.useCallback(() => __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
if (!
|
|
49
|
-
|
|
51
|
+
if (!container) {
|
|
52
|
+
throw new ActionContainerNotJoinedError("mediaSynchronizer", "play");
|
|
53
|
+
}
|
|
54
|
+
if (mediaSynchronizer === undefined) {
|
|
55
|
+
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "play");
|
|
56
|
+
}
|
|
50
57
|
return yield mediaSynchronizer.play();
|
|
51
|
-
}), [mediaSynchronizer]);
|
|
58
|
+
}), [container, mediaSynchronizer]);
|
|
52
59
|
/**
|
|
53
60
|
* Pause callback
|
|
54
61
|
*/
|
|
55
62
|
const pause = React.useCallback(() => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
if (!
|
|
57
|
-
|
|
63
|
+
if (!container) {
|
|
64
|
+
throw new ActionContainerNotJoinedError("mediaSynchronizer", "pause");
|
|
65
|
+
}
|
|
66
|
+
if (mediaSynchronizer === undefined) {
|
|
67
|
+
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "pause");
|
|
68
|
+
}
|
|
58
69
|
return yield mediaSynchronizer.pause();
|
|
59
|
-
}), [mediaSynchronizer]);
|
|
70
|
+
}), [container, mediaSynchronizer]);
|
|
60
71
|
/**
|
|
61
72
|
* User facing: seek callback
|
|
62
73
|
*/
|
|
63
74
|
const seekTo = React.useCallback((time) => __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
if (!
|
|
65
|
-
|
|
75
|
+
if (!container) {
|
|
76
|
+
throw new ActionContainerNotJoinedError("mediaSynchronizer", "seekTo");
|
|
77
|
+
}
|
|
78
|
+
if (mediaSynchronizer === undefined) {
|
|
79
|
+
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "seekTo");
|
|
80
|
+
}
|
|
66
81
|
return yield mediaSynchronizer.seekTo(time);
|
|
67
|
-
}), [mediaSynchronizer]);
|
|
82
|
+
}), [container, mediaSynchronizer]);
|
|
68
83
|
/**
|
|
69
84
|
* User facing: set track callback
|
|
70
85
|
*/
|
|
71
86
|
const setTrack = React.useCallback((track) => __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
if (!
|
|
73
|
-
|
|
87
|
+
if (!container) {
|
|
88
|
+
throw new ActionContainerNotJoinedError("mediaSynchronizer", "setTrack");
|
|
89
|
+
}
|
|
90
|
+
if (mediaSynchronizer === undefined) {
|
|
91
|
+
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "setTrack");
|
|
92
|
+
}
|
|
74
93
|
if (isExtendedMediaMetadata(track)) {
|
|
75
94
|
return yield mediaSynchronizer.setTrack(track);
|
|
76
95
|
}
|
|
@@ -79,7 +98,7 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElementRef, initialTr
|
|
|
79
98
|
trackIdentifier: track,
|
|
80
99
|
});
|
|
81
100
|
}
|
|
82
|
-
}), [mediaSynchronizer]);
|
|
101
|
+
}), [container, mediaSynchronizer]);
|
|
83
102
|
/**
|
|
84
103
|
* User facing: create a new suspension and set it locally to state
|
|
85
104
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaSynchronizer.js","sourceRoot":"","sources":["../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIH,gBAAgB,GAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMediaSynchronizer.js","sourceRoot":"","sources":["../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { IFluidContainer, LoadableObjectClassRecord } from "fluid-framework";
|
|
|
6
6
|
import React from "react";
|
|
7
7
|
import { AzureClientProps, AzureContainerServices } from "@fluidframework/azure-client";
|
|
8
8
|
import { IAzureContainerResults } from "../types";
|
|
9
|
-
import { ISharedStateRegistryResponse } from "../internal
|
|
9
|
+
import { ISharedStateRegistryResponse } from "../internal";
|
|
10
10
|
import { IFluidTurboClient } from "@microsoft/live-share-turbo";
|
|
11
11
|
interface IFluidContext extends ISharedStateRegistryResponse {
|
|
12
12
|
clientRef: React.MutableRefObject<IFluidTurboClient>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACH,4BAA4B,EAE/B,MAAM,
|
|
1
|
+
{"version":3,"file":"AzureProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACH,4BAA4B,EAE/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEH,iBAAiB,EACpB,MAAM,6BAA6B,CAAC;AAErC,UAAU,aAAc,SAAQ,4BAA4B;IACxD,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACrD,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,CACV,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,yBAAyB,KACzC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,eAAe,EAAE,CACb,cAAc,CAAC,EAAE,yBAAyB,EAC1C,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,KAC3D,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,8BAExB,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,aAGzC,CAAC;AAEF,UAAU,mBAAmB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkHvD,CAAC"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
import React from "react";
|
|
12
|
-
import { useSharedStateRegistry, } from "../internal
|
|
12
|
+
import { useSharedStateRegistry, } from "../internal";
|
|
13
13
|
import { AzureTurboClient, } from "@microsoft/live-share-turbo";
|
|
14
14
|
export const FluidContext = React.createContext({});
|
|
15
15
|
export const useFluidObjectsContext = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureProvider.js","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":";;;;;;;;;;AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAEH,sBAAsB,GACzB,MAAM,
|
|
1
|
+
{"version":3,"file":"AzureProvider.js","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
import React from "react";
|
|
12
|
-
import { useSharedStateRegistry } from "../internal
|
|
12
|
+
import { useSharedStateRegistry } from "../internal";
|
|
13
13
|
import { FluidContext } from "./AzureProvider";
|
|
14
14
|
import { LiveShareTurboClient } from "@microsoft/live-share-turbo";
|
|
15
15
|
export const LiveShareContext = React.createContext({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveShareProvider.js","sourceRoot":"","sources":["../../src/providers/LiveShareProvider.tsx"],"names":[],"mappings":";;;;;;;;;;AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"LiveShareProvider.js","sourceRoot":"","sources":["../../src/providers/LiveShareProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedMap.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useSharedMap.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAStE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACtD,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,KAAK,CAAC,CAmG7B"}
|
|
@@ -6,6 +6,8 @@ import React from "react";
|
|
|
6
6
|
import { isEntries, isJSON, isMap } from "../utils";
|
|
7
7
|
import { useDynamicDDS } from "./useDynamicDDS";
|
|
8
8
|
import { SharedMap } from "fluid-framework";
|
|
9
|
+
import { useFluidObjectsContext } from "../providers";
|
|
10
|
+
import { ActionContainerNotJoinedError, ActionLiveDataObjectUndefinedError, } from "../internal";
|
|
9
11
|
/**
|
|
10
12
|
* React hook for using a Fluid `SharedMap`.
|
|
11
13
|
*
|
|
@@ -39,26 +41,31 @@ export function useSharedMap(uniqueKey, initialData) {
|
|
|
39
41
|
* User facing: dynamically load the SharedMap DDS for the given unique key.
|
|
40
42
|
*/
|
|
41
43
|
const { dds: sharedMap } = useDynamicDDS(uniqueKey, SharedMap, onFirstInitialize);
|
|
44
|
+
const { container } = useFluidObjectsContext();
|
|
42
45
|
/**
|
|
43
46
|
* User facing: set a value to the Fluid `SharedMap`.
|
|
44
47
|
*/
|
|
45
48
|
const setEntry = React.useCallback((key, value) => {
|
|
46
|
-
if (!
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
if (!container) {
|
|
50
|
+
throw new ActionContainerNotJoinedError("sharedMap", "setEntry");
|
|
51
|
+
}
|
|
52
|
+
if (sharedMap === undefined) {
|
|
53
|
+
throw new ActionLiveDataObjectUndefinedError("sharedMap", "setEntry");
|
|
49
54
|
}
|
|
50
55
|
sharedMap.set(key, value);
|
|
51
|
-
}, [sharedMap]);
|
|
56
|
+
}, [container, sharedMap]);
|
|
52
57
|
/**
|
|
53
58
|
* User facing: delete a value from the Fluid `SharedMap`.
|
|
54
59
|
*/
|
|
55
60
|
const deleteEntry = React.useCallback((key) => {
|
|
56
|
-
if (!
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
if (!container) {
|
|
62
|
+
throw new ActionContainerNotJoinedError("sharedMap", "deleteEntry");
|
|
63
|
+
}
|
|
64
|
+
if (sharedMap === undefined) {
|
|
65
|
+
throw new ActionLiveDataObjectUndefinedError("sharedMap", "deleteEntry");
|
|
59
66
|
}
|
|
60
67
|
sharedMap.delete(key);
|
|
61
|
-
}, [sharedMap]);
|
|
68
|
+
}, [container, sharedMap]);
|
|
62
69
|
// Setup change listeners, initial values, etc.
|
|
63
70
|
React.useEffect(() => {
|
|
64
71
|
if (!sharedMap)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedMap.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSharedMap.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC5B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,GAChB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAkExD"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { useFluidObjectsContext } from "../providers";
|
|
7
7
|
import { v4 as uuid } from "uuid";
|
|
8
|
+
import { isPrevStateCallback } from "../internal";
|
|
8
9
|
/**
|
|
9
10
|
* Inspired by React's `useState` hook, `useSharedState` makes it easy to synchronize state in your app.
|
|
10
11
|
*
|
|
@@ -35,9 +36,14 @@ export function useSharedState(uniqueKey, initialState) {
|
|
|
35
36
|
/**
|
|
36
37
|
* User facing: callback to change the shared state.
|
|
37
38
|
*/
|
|
38
|
-
const setSharedState = React.useCallback((
|
|
39
|
-
setLocalState(
|
|
40
|
-
|
|
39
|
+
const setSharedState = React.useCallback((state) => {
|
|
40
|
+
setLocalState((prevState) => {
|
|
41
|
+
const valueToSet = isPrevStateCallback(state)
|
|
42
|
+
? state(prevState)
|
|
43
|
+
: state;
|
|
44
|
+
updateSharedState(uniqueKey, valueToSet);
|
|
45
|
+
return valueToSet;
|
|
46
|
+
});
|
|
41
47
|
}, [uniqueKey, setLocalState, updateSharedState]);
|
|
42
48
|
/**
|
|
43
49
|
* User facing: callback to dispose the shared state from the `stateMap`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC1B,SAAiB,EACjB,YAAe;IAEf;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAI,YAAY,CAAC,CAAC;IACpE;;OAEG;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C;;OAEG;IACH,MAAM,EACF,4BAA4B,EAC5B,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,GACpB,GAAG,sBAAsB,EAAE,CAAC;IAE7B;;OAEG;IACH,MAAM,cAAc,GAA4B,KAAK,CAAC,WAAW,CAC7D,CAAC,KAAgC,EAAE,EAAE;QACjC,aAAa,CAAC,CAAC,SAAS,EAAE,EAAE;YACxB,MAAM,UAAU,GAAG,mBAAmB,CAAI,KAAK,CAAC;gBAC5C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAC;YACZ,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,SAAS,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAChD,CAAC;IAEF;;OAEG;IACH,MAAM,kBAAkB,GACpB,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnB,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvC;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,4BAA4B,CACxB,SAAS,EACT,cAAc,CAAC,OAAO,EACtB,aAAa,CAChB,CAAC;QACF,OAAO,GAAG,EAAE;YACR,8BAA8B,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC;IACN,CAAC,EAAE;QACC,SAAS;QACT,4BAA4B;QAC5B,8BAA8B;KACjC,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -6,7 +6,13 @@ import React from "react";
|
|
|
6
6
|
import { IFluidLoadable } from "@fluidframework/core-interfaces";
|
|
7
7
|
import { LoadableObjectClass } from "fluid-framework";
|
|
8
8
|
import { ITimerConfig, ILiveEvent, PresenceState } from "@microsoft/live-share";
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Callback to set shared state
|
|
11
|
+
*/
|
|
12
|
+
export type SetSharedStateAction<TState> = (state: TState | ((prevState: TState) => TState)) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Callback to set local state
|
|
15
|
+
*/
|
|
10
16
|
export type SetLocalStateAction = React.Dispatch<React.SetStateAction<any>>;
|
|
11
17
|
/**
|
|
12
18
|
* Callback for UnregisterDDSSetStateAction.
|
|
@@ -47,7 +53,7 @@ export type DisposeSharedStateAction = () => void;
|
|
|
47
53
|
* Callback for SetLiveStateAction<TState = undefined>.
|
|
48
54
|
* (state: TState) => Promise<void>
|
|
49
55
|
*/
|
|
50
|
-
export type SetLiveStateAction<TState = undefined> = (state: TState) => Promise<void>;
|
|
56
|
+
export type SetLiveStateAction<TState = undefined> = (state: TState | ((prevState: TState) => TState)) => Promise<void>;
|
|
51
57
|
/**
|
|
52
58
|
* Callback for SendLiveEventAction<TEvent>.
|
|
53
59
|
* (event: TEvent) => Promise<void>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionTypes.d.ts","sourceRoot":"","sources":["../../src/types/ActionTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIhF,MAAM,MAAM,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"ActionTypes.d.ts","sourceRoot":"","sources":["../../src/types/ActionTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/live-share-react",
|
|
3
|
-
"version": "1.0.0-preview.
|
|
3
|
+
"version": "1.0.0-preview.23",
|
|
4
4
|
"description": "Build collaborative React apps using Microsoft's Fluid & Live Share frameworks with ease.",
|
|
5
5
|
"author": "Microsoft",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"typecheck": "tsc"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@microsoft/live-share-turbo": "1.0.0-preview.
|
|
15
|
+
"@microsoft/live-share-turbo": "1.0.0-preview.23",
|
|
16
16
|
"url": "^0.11.0",
|
|
17
17
|
"uuid": "^9.0.0"
|
|
18
18
|
},
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"@babel/core": "^7.21.8",
|
|
21
21
|
"@fluidframework/azure-client": "~1.0.3",
|
|
22
22
|
"@fluidframework/test-client-utils": "^1.3.6",
|
|
23
|
-
"@microsoft/live-share": "1.0.0-preview.
|
|
24
|
-
"@microsoft/live-share-canvas": "1.0.0-preview.
|
|
25
|
-
"@microsoft/live-share-media": "1.0.0-preview.
|
|
23
|
+
"@microsoft/live-share": "1.0.0-preview.23",
|
|
24
|
+
"@microsoft/live-share-canvas": "1.0.0-preview.23",
|
|
25
|
+
"@microsoft/live-share-media": "1.0.0-preview.23",
|
|
26
26
|
"@types/react": "^18.0.0",
|
|
27
27
|
"@types/react-dom": "^18.0.0",
|
|
28
28
|
"@types/uuid": "^9.0.1",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@fluidframework/azure-client": "^1.0.0",
|
|
35
|
-
"@microsoft/live-share": "1.0.0-preview.
|
|
36
|
-
"@microsoft/live-share-canvas": "1.0.0-preview.
|
|
37
|
-
"@microsoft/live-share-media": "1.0.0-preview.
|
|
35
|
+
"@microsoft/live-share": "1.0.0-preview.23",
|
|
36
|
+
"@microsoft/live-share-canvas": "1.0.0-preview.23",
|
|
37
|
+
"@microsoft/live-share-media": "1.0.0-preview.23",
|
|
38
38
|
"fluid-framework": "^1.2.3",
|
|
39
39
|
"react": "^16.8.0 || ^17 || ^18",
|
|
40
40
|
"react-dom": "^16.8.0 || ^17 || ^18"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
*/
|
|
4
|
+
class UseLiveDataObjectActionError extends Error {
|
|
5
|
+
constructor(ddsName: string, functionName: string, message: string) {
|
|
6
|
+
super(
|
|
7
|
+
`use${toFirstLetterUppercase(ddsName)} ${functionName}: ${message}`
|
|
8
|
+
);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
export class ActionContainerNotJoinedError extends UseLiveDataObjectActionError {
|
|
16
|
+
constructor(ddsName: string, functionName: string) {
|
|
17
|
+
super(ddsName, functionName, "container has not yet been joined");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @hidden
|
|
23
|
+
*/
|
|
24
|
+
export class ActionLiveDataObjectUndefinedError extends UseLiveDataObjectActionError {
|
|
25
|
+
constructor(ddsName: string, functionName: string) {
|
|
26
|
+
super(
|
|
27
|
+
ddsName,
|
|
28
|
+
functionName,
|
|
29
|
+
`${ddsName} is undefined, which means it is still being dynamically created`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
export class ActionLiveDataObjectInitializedError extends UseLiveDataObjectActionError {
|
|
38
|
+
constructor(ddsName: string, functionName: string) {
|
|
39
|
+
super(ddsName, functionName, `${ddsName} is not initialized`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @hidden
|
|
45
|
+
*/
|
|
46
|
+
function toFirstLetterUppercase(word: string) {
|
|
47
|
+
return word[0].toUpperCase() + word.substring(1);
|
|
48
|
+
}
|
|
@@ -16,6 +16,12 @@ import {
|
|
|
16
16
|
} from "../types";
|
|
17
17
|
import { IReceiveLiveEvent } from "../interfaces";
|
|
18
18
|
import { useDynamicDDS } from "../shared-hooks";
|
|
19
|
+
import {
|
|
20
|
+
ActionContainerNotJoinedError,
|
|
21
|
+
ActionLiveDataObjectInitializedError,
|
|
22
|
+
ActionLiveDataObjectUndefinedError,
|
|
23
|
+
} from "../internal";
|
|
24
|
+
import { useFluidObjectsContext } from "../providers";
|
|
19
25
|
|
|
20
26
|
/**
|
|
21
27
|
* React hook for using a Live Share `LiveEvent`.
|
|
@@ -54,24 +60,34 @@ export function useLiveEvent<TEvent = any>(
|
|
|
54
60
|
LiveEvent<TEvent>
|
|
55
61
|
);
|
|
56
62
|
|
|
63
|
+
const { container } = useFluidObjectsContext();
|
|
64
|
+
|
|
57
65
|
/**
|
|
58
66
|
* User facing: callback to send event through `LiveEvent`
|
|
59
67
|
*/
|
|
60
68
|
const sendEvent: SendLiveEventAction<TEvent> = React.useCallback(
|
|
61
69
|
async (event: TEvent) => {
|
|
70
|
+
if (!container) {
|
|
71
|
+
throw new ActionContainerNotJoinedError(
|
|
72
|
+
"liveEvent",
|
|
73
|
+
"sendEvent"
|
|
74
|
+
);
|
|
75
|
+
}
|
|
62
76
|
if (liveEvent === undefined) {
|
|
63
|
-
throw new
|
|
64
|
-
"
|
|
77
|
+
throw new ActionLiveDataObjectUndefinedError(
|
|
78
|
+
"liveEvent",
|
|
79
|
+
"sendEvent"
|
|
65
80
|
);
|
|
66
81
|
}
|
|
67
82
|
if (!liveEvent.isInitialized) {
|
|
68
|
-
throw new
|
|
69
|
-
"
|
|
83
|
+
throw new ActionLiveDataObjectInitializedError(
|
|
84
|
+
"liveEvent",
|
|
85
|
+
"sendEvent"
|
|
70
86
|
);
|
|
71
87
|
}
|
|
72
88
|
return await liveEvent.send(event);
|
|
73
89
|
},
|
|
74
|
-
[liveEvent]
|
|
90
|
+
[container, liveEvent]
|
|
75
91
|
);
|
|
76
92
|
|
|
77
93
|
/**
|
|
@@ -12,6 +12,12 @@ import {
|
|
|
12
12
|
import React from "react";
|
|
13
13
|
import { IUseLivePresenceResults, OnUpdateLivePresenceAction } from "../types";
|
|
14
14
|
import { useDynamicDDS } from "../shared-hooks";
|
|
15
|
+
import { useFluidObjectsContext } from "../providers";
|
|
16
|
+
import {
|
|
17
|
+
ActionContainerNotJoinedError,
|
|
18
|
+
ActionLiveDataObjectInitializedError,
|
|
19
|
+
ActionLiveDataObjectUndefinedError,
|
|
20
|
+
} from "../internal";
|
|
15
21
|
|
|
16
22
|
/**
|
|
17
23
|
* React hook for using a Live Share `LivePresence`.
|
|
@@ -24,7 +30,7 @@ import { useDynamicDDS } from "../shared-hooks";
|
|
|
24
30
|
* @template TData Optional typing for the custom user presence data object. Default is `object` type.
|
|
25
31
|
* @param uniqueKey The unique key for `LivePresence`. If one does not yet exist, a new one
|
|
26
32
|
* @param userId Optional. The unique ID for a user. If none is provided, a random UUID will be generated.
|
|
27
|
-
* @param initialData Optional. Initial presence data object for the user.
|
|
33
|
+
* @param initialData Optional. Initial presence data object for the user. Can be value or a function to get the value.
|
|
28
34
|
* @param initialPresenceState Optional. Initial status of the user's presence. Default is online.
|
|
29
35
|
* @param allowedRoles Optional. the user roles that are allowed to mutate the synchronized state
|
|
30
36
|
* will be created, otherwise it will use the existing one. Default value is ":<dds-default>"
|
|
@@ -33,7 +39,7 @@ import { useDynamicDDS } from "../shared-hooks";
|
|
|
33
39
|
*/
|
|
34
40
|
export function useLivePresence<TData extends object = object>(
|
|
35
41
|
uniqueKey: string,
|
|
36
|
-
initialData?: TData | undefined,
|
|
42
|
+
initialData?: TData | (() => TData) | undefined,
|
|
37
43
|
initialPresenceState: PresenceState = PresenceState.online,
|
|
38
44
|
allowedRoles?: UserMeetingRole[]
|
|
39
45
|
): IUseLivePresenceResults<TData> {
|
|
@@ -54,41 +60,41 @@ export function useLivePresence<TData extends object = object>(
|
|
|
54
60
|
/**
|
|
55
61
|
* User facing: list of non-local user's presence objects.
|
|
56
62
|
*/
|
|
57
|
-
const otherUsers =
|
|
58
|
-
return [...allUsers.filter((user) => !user.isLocalUser)];
|
|
59
|
-
}, [allUsers]);
|
|
63
|
+
const otherUsers = allUsers.filter((user) => !user.isLocalUser);
|
|
60
64
|
|
|
61
65
|
/**
|
|
62
66
|
* User facing: local user's presence object.
|
|
63
67
|
*/
|
|
64
|
-
const localUser =
|
|
65
|
-
|
|
66
|
-
}
|
|
68
|
+
const localUser = allUsers.find((user) => user.isLocalUser);
|
|
69
|
+
|
|
70
|
+
const { container } = useFluidObjectsContext();
|
|
67
71
|
|
|
68
72
|
/**
|
|
69
73
|
* User facing: callback to update the local user's presence.
|
|
70
74
|
*/
|
|
71
75
|
const updatePresence: OnUpdateLivePresenceAction<TData> = React.useCallback(
|
|
72
76
|
async (data?: TData | undefined, state?: PresenceState | undefined) => {
|
|
73
|
-
if (!
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
if (!container) {
|
|
78
|
+
throw new ActionContainerNotJoinedError(
|
|
79
|
+
"livePresence",
|
|
80
|
+
"updatePresence"
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
if (livePresence === undefined) {
|
|
84
|
+
throw new ActionLiveDataObjectUndefinedError(
|
|
85
|
+
"livePresence",
|
|
86
|
+
"updatePresence"
|
|
78
87
|
);
|
|
79
|
-
return;
|
|
80
88
|
}
|
|
81
89
|
if (!livePresence.isInitialized) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
)
|
|
90
|
+
throw new ActionLiveDataObjectInitializedError(
|
|
91
|
+
"livePresence",
|
|
92
|
+
"updatePresence"
|
|
86
93
|
);
|
|
87
|
-
return;
|
|
88
94
|
}
|
|
89
95
|
return await livePresence.update(data, state);
|
|
90
96
|
},
|
|
91
|
-
[livePresence]
|
|
97
|
+
[container, livePresence]
|
|
92
98
|
);
|
|
93
99
|
|
|
94
100
|
/**
|
|
@@ -108,7 +114,7 @@ export function useLivePresence<TData extends object = object>(
|
|
|
108
114
|
|
|
109
115
|
if (!livePresence.isInitialized) {
|
|
110
116
|
livePresence.initialize(
|
|
111
|
-
initialData,
|
|
117
|
+
typeof initialData === "function" ? initialData() : initialData,
|
|
112
118
|
initialPresenceState,
|
|
113
119
|
allowedRoles
|
|
114
120
|
);
|