@microsoft/live-share-react 2.0.0-internal.17 → 2.0.0-internal.19
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 +6 -0
- package/bin/esm/live-hooks/useLiveCanvas.js +29 -30
- package/bin/esm/live-hooks/useLiveCanvas.js.map +1 -1
- package/bin/esm/live-hooks/useLiveEvent.js +6 -15
- package/bin/esm/live-hooks/useLiveEvent.js.map +1 -1
- package/bin/esm/live-hooks/useLiveFollowMode.js +25 -34
- package/bin/esm/live-hooks/useLiveFollowMode.js.map +1 -1
- package/bin/esm/live-hooks/useLivePresence.js +5 -14
- package/bin/esm/live-hooks/useLivePresence.js.map +1 -1
- package/bin/esm/live-hooks/useLiveState.js +4 -13
- package/bin/esm/live-hooks/useLiveState.js.map +1 -1
- package/bin/esm/live-hooks/useLiveTimer.js +22 -31
- package/bin/esm/live-hooks/useLiveTimer.js.map +1 -1
- package/bin/esm/live-hooks/useMediaSynchronizer.js +24 -33
- package/bin/esm/live-hooks/useMediaSynchronizer.js.map +1 -1
- package/bin/esm/providers/AzureProvider.js +22 -27
- package/bin/esm/providers/AzureProvider.js.map +1 -1
- package/bin/esm/providers/LiveShareProvider.js +20 -21
- package/bin/esm/providers/LiveShareProvider.js.map +1 -1
- package/bin/esm/shared-hooks/internals/tree-node-types.js +1 -1
- package/bin/esm/shared-hooks/internals/tree-node-types.js.map +1 -1
- package/bin/esm/shared-hooks/internals/tree-node-utils.js +2 -4
- package/bin/esm/shared-hooks/internals/tree-node-utils.js.map +1 -1
- package/bin/esm/shared-hooks/useDynamicDDS.js +3 -12
- package/bin/esm/shared-hooks/useDynamicDDS.js.map +1 -1
- package/bin/esm/shared-hooks/useSharedMap.js +1 -1
- package/bin/esm/shared-hooks/useSharedMap.js.map +1 -1
- package/bin/esm/shared-hooks/useSharedStateRegistry.js +13 -10
- package/bin/esm/shared-hooks/useSharedStateRegistry.js.map +1 -1
- package/bin/esm/shared-hooks/useSharedTree.js +4 -4
- package/bin/esm/shared-hooks/useSharedTree.js.map +1 -1
- package/bin/esm/types/FluidMap.d.ts +151 -0
- package/bin/esm/types/FluidMap.d.ts.map +1 -0
- package/bin/esm/types/FluidMap.js +24 -0
- package/bin/esm/types/FluidMap.js.map +1 -0
- package/bin/esm/types/ResultTypes.d.ts +15 -1
- package/bin/esm/types/ResultTypes.d.ts.map +1 -1
- package/bin/esm/utils/type-check.js +1 -1
- package/bin/esm/utils/type-check.js.map +1 -1
- package/package.json +11 -21
- package/src/types/FluidMap.ts +169 -0
- package/src/types/ResultTypes.ts +18 -1
- package/tsconfig.json +3 -4
- package/bin/cjs/index.d.ts +0 -7
- package/bin/cjs/index.d.ts.map +0 -1
- package/bin/cjs/index.js +0 -23
- package/bin/cjs/index.js.map +0 -1
- package/bin/cjs/interfaces/LiveInterfaceExtensions.d.ts +0 -26
- package/bin/cjs/interfaces/LiveInterfaceExtensions.d.ts.map +0 -1
- package/bin/cjs/interfaces/LiveInterfaceExtensions.js +0 -7
- package/bin/cjs/interfaces/LiveInterfaceExtensions.js.map +0 -1
- package/bin/cjs/interfaces/index.d.ts +0 -2
- package/bin/cjs/interfaces/index.d.ts.map +0 -1
- package/bin/cjs/interfaces/index.js +0 -18
- package/bin/cjs/interfaces/index.js.map +0 -1
- package/bin/cjs/internal/errors.d.ts +0 -41
- package/bin/cjs/internal/errors.d.ts.map +0 -1
- package/bin/cjs/internal/errors.js +0 -48
- package/bin/cjs/internal/errors.js.map +0 -1
- package/bin/cjs/internal/index.d.ts +0 -3
- package/bin/cjs/internal/index.d.ts.map +0 -1
- package/bin/cjs/internal/index.js +0 -19
- package/bin/cjs/internal/index.js.map +0 -1
- package/bin/cjs/internal/type-guards.d.ts +0 -11
- package/bin/cjs/internal/type-guards.d.ts.map +0 -1
- package/bin/cjs/internal/type-guards.js +0 -24
- package/bin/cjs/internal/type-guards.js.map +0 -1
- package/bin/cjs/live-hooks/index.d.ts +0 -8
- package/bin/cjs/live-hooks/index.d.ts.map +0 -1
- package/bin/cjs/live-hooks/index.js +0 -24
- package/bin/cjs/live-hooks/index.js.map +0 -1
- package/bin/cjs/live-hooks/useLiveCanvas.d.ts +0 -80
- package/bin/cjs/live-hooks/useLiveCanvas.d.ts.map +0 -1
- package/bin/cjs/live-hooks/useLiveCanvas.js +0 -244
- package/bin/cjs/live-hooks/useLiveCanvas.js.map +0 -1
- package/bin/cjs/live-hooks/useLiveEvent.d.ts +0 -59
- package/bin/cjs/live-hooks/useLiveEvent.d.ts.map +0 -1
- package/bin/cjs/live-hooks/useLiveEvent.js +0 -150
- package/bin/cjs/live-hooks/useLiveEvent.js.map +0 -1
- package/bin/cjs/live-hooks/useLiveFollowMode.d.ts +0 -163
- package/bin/cjs/live-hooks/useLiveFollowMode.d.ts.map +0 -1
- package/bin/cjs/live-hooks/useLiveFollowMode.js +0 -360
- package/bin/cjs/live-hooks/useLiveFollowMode.js.map +0 -1
- package/bin/cjs/live-hooks/useLivePresence.d.ts +0 -76
- package/bin/cjs/live-hooks/useLivePresence.d.ts.map +0 -1
- package/bin/cjs/live-hooks/useLivePresence.js +0 -170
- package/bin/cjs/live-hooks/useLivePresence.js.map +0 -1
- package/bin/cjs/live-hooks/useLiveState.d.ts +0 -66
- package/bin/cjs/live-hooks/useLiveState.d.ts.map +0 -1
- package/bin/cjs/live-hooks/useLiveState.js +0 -134
- package/bin/cjs/live-hooks/useLiveState.js.map +0 -1
- package/bin/cjs/live-hooks/useLiveTimer.d.ts +0 -80
- package/bin/cjs/live-hooks/useLiveTimer.d.ts.map +0 -1
- package/bin/cjs/live-hooks/useLiveTimer.js +0 -233
- package/bin/cjs/live-hooks/useLiveTimer.js.map +0 -1
- package/bin/cjs/live-hooks/useMediaSynchronizer.d.ts +0 -86
- package/bin/cjs/live-hooks/useMediaSynchronizer.d.ts.map +0 -1
- package/bin/cjs/live-hooks/useMediaSynchronizer.js +0 -301
- package/bin/cjs/live-hooks/useMediaSynchronizer.js.map +0 -1
- package/bin/cjs/package.json +0 -1
- package/bin/cjs/providers/AzureProvider.d.ts +0 -113
- package/bin/cjs/providers/AzureProvider.d.ts.map +0 -1
- package/bin/cjs/providers/AzureProvider.js +0 -127
- package/bin/cjs/providers/AzureProvider.js.map +0 -1
- package/bin/cjs/providers/LiveShareProvider.d.ts +0 -193
- package/bin/cjs/providers/LiveShareProvider.d.ts.map +0 -1
- package/bin/cjs/providers/LiveShareProvider.js +0 -205
- package/bin/cjs/providers/LiveShareProvider.js.map +0 -1
- package/bin/cjs/providers/index.d.ts +0 -3
- package/bin/cjs/providers/index.d.ts.map +0 -1
- package/bin/cjs/providers/index.js +0 -19
- package/bin/cjs/providers/index.js.map +0 -1
- package/bin/cjs/shared-hooks/index.d.ts +0 -7
- package/bin/cjs/shared-hooks/index.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/index.js +0 -23
- package/bin/cjs/shared-hooks/index.js.map +0 -1
- package/bin/cjs/shared-hooks/internals/tree-node-constants.d.ts +0 -3
- package/bin/cjs/shared-hooks/internals/tree-node-constants.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/internals/tree-node-constants.js +0 -6
- package/bin/cjs/shared-hooks/internals/tree-node-constants.js.map +0 -1
- package/bin/cjs/shared-hooks/internals/tree-node-types.d.ts +0 -10
- package/bin/cjs/shared-hooks/internals/tree-node-types.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/internals/tree-node-types.js +0 -23
- package/bin/cjs/shared-hooks/internals/tree-node-types.js.map +0 -1
- package/bin/cjs/shared-hooks/internals/tree-node-utils.d.ts +0 -33
- package/bin/cjs/shared-hooks/internals/tree-node-utils.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/internals/tree-node-utils.js +0 -193
- package/bin/cjs/shared-hooks/internals/tree-node-utils.js.map +0 -1
- package/bin/cjs/shared-hooks/useDynamicDDS.d.ts +0 -23
- package/bin/cjs/shared-hooks/useDynamicDDS.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/useDynamicDDS.js +0 -87
- package/bin/cjs/shared-hooks/useDynamicDDS.js.map +0 -1
- package/bin/cjs/shared-hooks/useSharedMap.d.ts +0 -25
- package/bin/cjs/shared-hooks/useSharedMap.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/useSharedMap.js +0 -134
- package/bin/cjs/shared-hooks/useSharedMap.js.map +0 -1
- package/bin/cjs/shared-hooks/useSharedState.d.ts +0 -22
- package/bin/cjs/shared-hooks/useSharedState.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/useSharedState.js +0 -80
- package/bin/cjs/shared-hooks/useSharedState.js.map +0 -1
- package/bin/cjs/shared-hooks/useSharedStateRegistry.d.ts +0 -37
- package/bin/cjs/shared-hooks/useSharedStateRegistry.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/useSharedStateRegistry.js +0 -120
- package/bin/cjs/shared-hooks/useSharedStateRegistry.js.map +0 -1
- package/bin/cjs/shared-hooks/useSharedTree.d.ts +0 -57
- package/bin/cjs/shared-hooks/useSharedTree.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/useSharedTree.js +0 -123
- package/bin/cjs/shared-hooks/useSharedTree.js.map +0 -1
- package/bin/cjs/shared-hooks/useTreeNode.d.ts +0 -96
- package/bin/cjs/shared-hooks/useTreeNode.d.ts.map +0 -1
- package/bin/cjs/shared-hooks/useTreeNode.js +0 -135
- package/bin/cjs/shared-hooks/useTreeNode.js.map +0 -1
- package/bin/cjs/types/ActionTypes.d.ts +0 -112
- package/bin/cjs/types/ActionTypes.d.ts.map +0 -1
- package/bin/cjs/types/ActionTypes.js +0 -7
- package/bin/cjs/types/ActionTypes.js.map +0 -1
- package/bin/cjs/types/PropTypes.d.ts +0 -56
- package/bin/cjs/types/PropTypes.d.ts.map +0 -1
- package/bin/cjs/types/PropTypes.js +0 -7
- package/bin/cjs/types/PropTypes.js.map +0 -1
- package/bin/cjs/types/ResultTypes.d.ts +0 -334
- package/bin/cjs/types/ResultTypes.d.ts.map +0 -1
- package/bin/cjs/types/ResultTypes.js +0 -7
- package/bin/cjs/types/ResultTypes.js.map +0 -1
- package/bin/cjs/types/index.d.ts +0 -4
- package/bin/cjs/types/index.d.ts.map +0 -1
- package/bin/cjs/types/index.js +0 -20
- package/bin/cjs/types/index.js.map +0 -1
- package/bin/cjs/utils/index.d.ts +0 -2
- package/bin/cjs/utils/index.d.ts.map +0 -1
- package/bin/cjs/utils/index.js +0 -18
- package/bin/cjs/utils/index.js.map +0 -1
- package/bin/cjs/utils/type-check.d.ts +0 -15
- package/bin/cjs/utils/type-check.d.ts.map +0 -1
- package/bin/cjs/utils/type-check.js +0 -62
- package/bin/cjs/utils/type-check.js.map +0 -1
- package/bin/index.d.ts +0 -7
- package/bin/index.d.ts.map +0 -1
- package/bin/index.js +0 -7
- package/bin/index.js.map +0 -1
- package/bin/interfaces/LiveInterfaceExtensions.d.ts +0 -26
- package/bin/interfaces/LiveInterfaceExtensions.d.ts.map +0 -1
- package/bin/interfaces/LiveInterfaceExtensions.js +0 -6
- package/bin/interfaces/LiveInterfaceExtensions.js.map +0 -1
- package/bin/interfaces/index.d.ts +0 -2
- package/bin/interfaces/index.d.ts.map +0 -1
- package/bin/interfaces/index.js +0 -2
- package/bin/interfaces/index.js.map +0 -1
- package/bin/internal/errors.d.ts +0 -41
- package/bin/internal/errors.d.ts.map +0 -1
- package/bin/internal/errors.js +0 -42
- package/bin/internal/errors.js.map +0 -1
- package/bin/internal/index.d.ts +0 -3
- package/bin/internal/index.d.ts.map +0 -1
- package/bin/internal/index.js +0 -3
- package/bin/internal/index.js.map +0 -1
- package/bin/internal/type-guards.d.ts +0 -11
- package/bin/internal/type-guards.d.ts.map +0 -1
- package/bin/internal/type-guards.js +0 -20
- package/bin/internal/type-guards.js.map +0 -1
- package/bin/live-hooks/index.d.ts +0 -8
- package/bin/live-hooks/index.d.ts.map +0 -1
- package/bin/live-hooks/index.js +0 -8
- package/bin/live-hooks/index.js.map +0 -1
- package/bin/live-hooks/useLiveCanvas.d.ts +0 -29
- package/bin/live-hooks/useLiveCanvas.d.ts.map +0 -1
- package/bin/live-hooks/useLiveCanvas.js +0 -160
- package/bin/live-hooks/useLiveCanvas.js.map +0 -1
- package/bin/live-hooks/useLiveEvent.d.ts +0 -23
- package/bin/live-hooks/useLiveEvent.d.ts.map +0 -1
- package/bin/live-hooks/useLiveEvent.js +0 -108
- package/bin/live-hooks/useLiveEvent.js.map +0 -1
- package/bin/live-hooks/useLiveFollowMode.d.ts +0 -24
- package/bin/live-hooks/useLiveFollowMode.d.ts.map +0 -1
- package/bin/live-hooks/useLiveFollowMode.js +0 -211
- package/bin/live-hooks/useLiveFollowMode.js.map +0 -1
- package/bin/live-hooks/useLivePresence.d.ts +0 -26
- package/bin/live-hooks/useLivePresence.d.ts.map +0 -1
- package/bin/live-hooks/useLivePresence.js +0 -106
- package/bin/live-hooks/useLivePresence.js.map +0 -1
- package/bin/live-hooks/useLiveState.d.ts +0 -21
- package/bin/live-hooks/useLiveState.d.ts.map +0 -1
- package/bin/live-hooks/useLiveState.js +0 -83
- package/bin/live-hooks/useLiveState.js.map +0 -1
- package/bin/live-hooks/useLiveTimer.d.ts +0 -25
- package/bin/live-hooks/useLiveTimer.d.ts.map +0 -1
- package/bin/live-hooks/useLiveTimer.js +0 -172
- package/bin/live-hooks/useLiveTimer.js.map +0 -1
- package/bin/live-hooks/useMediaSynchronizer.d.ts +0 -25
- package/bin/live-hooks/useMediaSynchronizer.d.ts.map +0 -1
- package/bin/live-hooks/useMediaSynchronizer.js +0 -234
- package/bin/live-hooks/useMediaSynchronizer.js.map +0 -1
- package/bin/providers/AzureProvider.d.ts +0 -113
- package/bin/providers/AzureProvider.d.ts.map +0 -1
- package/bin/providers/AzureProvider.js +0 -119
- package/bin/providers/AzureProvider.js.map +0 -1
- package/bin/providers/LiveShareProvider.d.ts +0 -91
- package/bin/providers/LiveShareProvider.d.ts.map +0 -1
- package/bin/providers/LiveShareProvider.js +0 -95
- package/bin/providers/LiveShareProvider.js.map +0 -1
- package/bin/providers/index.d.ts +0 -3
- package/bin/providers/index.d.ts.map +0 -1
- package/bin/providers/index.js +0 -3
- package/bin/providers/index.js.map +0 -1
- package/bin/shared-hooks/index.d.ts +0 -5
- package/bin/shared-hooks/index.d.ts.map +0 -1
- package/bin/shared-hooks/index.js +0 -5
- package/bin/shared-hooks/index.js.map +0 -1
- package/bin/shared-hooks/useDynamicDDS.d.ts +0 -23
- package/bin/shared-hooks/useDynamicDDS.d.ts.map +0 -1
- package/bin/shared-hooks/useDynamicDDS.js +0 -72
- package/bin/shared-hooks/useDynamicDDS.js.map +0 -1
- package/bin/shared-hooks/useSharedMap.d.ts +0 -23
- package/bin/shared-hooks/useSharedMap.d.ts.map +0 -1
- package/bin/shared-hooks/useSharedMap.js +0 -114
- package/bin/shared-hooks/useSharedMap.js.map +0 -1
- package/bin/shared-hooks/useSharedState.d.ts +0 -22
- package/bin/shared-hooks/useSharedState.d.ts.map +0 -1
- package/bin/shared-hooks/useSharedState.js +0 -74
- package/bin/shared-hooks/useSharedState.js.map +0 -1
- package/bin/shared-hooks/useSharedStateRegistry.d.ts +0 -37
- package/bin/shared-hooks/useSharedStateRegistry.d.ts.map +0 -1
- package/bin/shared-hooks/useSharedStateRegistry.js +0 -105
- package/bin/shared-hooks/useSharedStateRegistry.js.map +0 -1
- package/bin/types/ActionTypes.d.ts +0 -112
- package/bin/types/ActionTypes.d.ts.map +0 -1
- package/bin/types/ActionTypes.js +0 -6
- package/bin/types/ActionTypes.js.map +0 -1
- package/bin/types/PropTypes.d.ts +0 -8
- package/bin/types/PropTypes.d.ts.map +0 -1
- package/bin/types/PropTypes.js +0 -6
- package/bin/types/PropTypes.js.map +0 -1
- package/bin/types/ResultTypes.d.ts +0 -302
- package/bin/types/ResultTypes.d.ts.map +0 -1
- package/bin/types/ResultTypes.js +0 -6
- package/bin/types/ResultTypes.js.map +0 -1
- package/bin/types/index.d.ts +0 -4
- package/bin/types/index.d.ts.map +0 -1
- package/bin/types/index.js +0 -4
- package/bin/types/index.js.map +0 -1
- package/bin/utils/index.d.ts +0 -2
- package/bin/utils/index.d.ts.map +0 -1
- package/bin/utils/index.js +0 -2
- package/bin/utils/index.js.map +0 -1
- package/bin/utils/type-check.d.ts +0 -15
- package/bin/utils/type-check.d.ts.map +0 -1
- package/bin/utils/type-check.js +0 -54
- package/bin/utils/type-check.js.map +0 -1
- package/tsconfig.cjs.json +0 -14
|
@@ -2,15 +2,6 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
6
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
8
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
9
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
10
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
11
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
5
|
import { LiveTimerEvents, LiveTimer, LiveDataObjectInitializeState, } from "@microsoft/live-share";
|
|
15
6
|
import React from "react";
|
|
16
7
|
import { useDynamicDDS } from "../shared-hooks/index.js";
|
|
@@ -107,7 +98,7 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
|
|
|
107
98
|
* @param duration the duration for the timer in milliseconds
|
|
108
99
|
* @returns void promise that will throw when user does not have required roles
|
|
109
100
|
*/
|
|
110
|
-
const start = React.useCallback((duration) =>
|
|
101
|
+
const start = React.useCallback(async (duration) => {
|
|
111
102
|
if (!container) {
|
|
112
103
|
throw new ActionContainerNotJoinedError("liveTimer", "start");
|
|
113
104
|
}
|
|
@@ -117,13 +108,13 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
|
|
|
117
108
|
if (!liveTimer.isInitialized) {
|
|
118
109
|
throw new ActionLiveDataObjectInitializedError("liveTimer", "start");
|
|
119
110
|
}
|
|
120
|
-
return
|
|
121
|
-
}
|
|
111
|
+
return await liveTimer.start(duration);
|
|
112
|
+
}, [container, liveTimer]);
|
|
122
113
|
/**
|
|
123
114
|
* Callback to send event through `LiveTimer`
|
|
124
115
|
* @returns void promise that will throw when user does not have required roles
|
|
125
116
|
*/
|
|
126
|
-
const play = React.useCallback(() =>
|
|
117
|
+
const play = React.useCallback(async () => {
|
|
127
118
|
if (!container) {
|
|
128
119
|
throw new ActionContainerNotJoinedError("liveTimer", "play");
|
|
129
120
|
}
|
|
@@ -133,13 +124,13 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
|
|
|
133
124
|
if (!liveTimer.isInitialized) {
|
|
134
125
|
throw new ActionLiveDataObjectInitializedError("liveTimer", "play");
|
|
135
126
|
}
|
|
136
|
-
return
|
|
137
|
-
}
|
|
127
|
+
return await liveTimer.play();
|
|
128
|
+
}, [container, liveTimer]);
|
|
138
129
|
/**
|
|
139
130
|
* Callback to send event through `LiveTimer`
|
|
140
131
|
* @returns void promise that will throw when user does not have required roles
|
|
141
132
|
*/
|
|
142
|
-
const pause = React.useCallback(() =>
|
|
133
|
+
const pause = React.useCallback(async () => {
|
|
143
134
|
if (!container) {
|
|
144
135
|
throw new ActionContainerNotJoinedError("liveTimer", "pause");
|
|
145
136
|
}
|
|
@@ -149,8 +140,8 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
|
|
|
149
140
|
if (!liveTimer.isInitialized) {
|
|
150
141
|
throw new ActionLiveDataObjectInitializedError("liveTimer", "pause");
|
|
151
142
|
}
|
|
152
|
-
return
|
|
153
|
-
}
|
|
143
|
+
return await liveTimer.pause();
|
|
144
|
+
}, [container, liveTimer]);
|
|
154
145
|
/**
|
|
155
146
|
* Setup change listeners and start `LiveTimer` if needed
|
|
156
147
|
*/
|
|
@@ -167,25 +158,25 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
|
|
|
167
158
|
};
|
|
168
159
|
const onDidStart = (config) => {
|
|
169
160
|
onTimerConfigChange(config);
|
|
170
|
-
onStart
|
|
161
|
+
onStart?.(config);
|
|
171
162
|
setMilliRemaining(config.duration);
|
|
172
163
|
};
|
|
173
164
|
const onDidFinish = (config) => {
|
|
174
165
|
onTimerConfigChange(config);
|
|
175
|
-
onFinish
|
|
166
|
+
onFinish?.(config);
|
|
176
167
|
setMilliRemaining(0);
|
|
177
168
|
};
|
|
178
169
|
const onDidPlay = (config) => {
|
|
179
170
|
onTimerConfigChange(config);
|
|
180
|
-
onPlay
|
|
171
|
+
onPlay?.(config);
|
|
181
172
|
};
|
|
182
173
|
const onDidPause = (config) => {
|
|
183
174
|
onTimerConfigChange(config);
|
|
184
|
-
onPause
|
|
175
|
+
onPause?.(config);
|
|
185
176
|
};
|
|
186
177
|
const onDidTick = (milliseconds) => {
|
|
187
178
|
setMilliRemaining(milliseconds);
|
|
188
|
-
onTick
|
|
179
|
+
onTick?.(milliseconds);
|
|
189
180
|
};
|
|
190
181
|
liveTimer.on(LiveTimerEvents.started, onDidStart);
|
|
191
182
|
liveTimer.on(LiveTimerEvents.finished, onDidFinish);
|
|
@@ -198,11 +189,11 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
|
|
|
198
189
|
}
|
|
199
190
|
return () => {
|
|
200
191
|
// on unmount, remove event listeners
|
|
201
|
-
liveTimer
|
|
202
|
-
liveTimer
|
|
203
|
-
liveTimer
|
|
204
|
-
liveTimer
|
|
205
|
-
liveTimer
|
|
192
|
+
liveTimer?.off(LiveTimerEvents.started, onDidStart);
|
|
193
|
+
liveTimer?.off(LiveTimerEvents.finished, onDidFinish);
|
|
194
|
+
liveTimer?.off(LiveTimerEvents.played, onDidPlay);
|
|
195
|
+
liveTimer?.off(LiveTimerEvents.paused, onDidPause);
|
|
196
|
+
liveTimer?.off(LiveTimerEvents.onTick, onDidTick);
|
|
206
197
|
};
|
|
207
198
|
}, [liveTimer, onTick, onStart, onFinish, onPlay, onPause]);
|
|
208
199
|
/**
|
|
@@ -210,11 +201,11 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
|
|
|
210
201
|
*/
|
|
211
202
|
React.useEffect(() => {
|
|
212
203
|
if (tickRate !== undefined &&
|
|
213
|
-
|
|
214
|
-
tickRate !==
|
|
204
|
+
liveTimer?.tickRate !== undefined &&
|
|
205
|
+
tickRate !== liveTimer?.tickRate) {
|
|
215
206
|
liveTimer.tickRate = tickRate;
|
|
216
207
|
}
|
|
217
|
-
}, [tickRate, liveTimer
|
|
208
|
+
}, [tickRate, liveTimer?.tickRate]);
|
|
218
209
|
return {
|
|
219
210
|
liveTimer,
|
|
220
211
|
milliRemaining,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveTimer.js","sourceRoot":"","sources":["../../../src/live-hooks/useLiveTimer.ts"],"names":[],"mappings":"AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"useLiveTimer.js","sourceRoot":"","sources":["../../../src/live-hooks/useLiveTimer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,6 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
6
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
8
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
9
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
10
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
11
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
5
|
import { LiveDataObjectInitializeState, } from "@microsoft/live-share";
|
|
15
6
|
import React from "react";
|
|
16
7
|
import { LiveMediaSession, } from "@microsoft/live-share-media";
|
|
@@ -111,43 +102,43 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElement, initialTrack
|
|
|
111
102
|
/**
|
|
112
103
|
* Play callback
|
|
113
104
|
*/
|
|
114
|
-
const play = React.useCallback(() =>
|
|
105
|
+
const play = React.useCallback(async () => {
|
|
115
106
|
if (!container) {
|
|
116
107
|
throw new ActionContainerNotJoinedError("mediaSynchronizer", "play");
|
|
117
108
|
}
|
|
118
109
|
if (mediaSynchronizer === undefined) {
|
|
119
110
|
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "play");
|
|
120
111
|
}
|
|
121
|
-
return
|
|
122
|
-
}
|
|
112
|
+
return await mediaSynchronizer.play();
|
|
113
|
+
}, [container, mediaSynchronizer]);
|
|
123
114
|
/**
|
|
124
115
|
* Pause callback
|
|
125
116
|
*/
|
|
126
|
-
const pause = React.useCallback(() =>
|
|
117
|
+
const pause = React.useCallback(async () => {
|
|
127
118
|
if (!container) {
|
|
128
119
|
throw new ActionContainerNotJoinedError("mediaSynchronizer", "pause");
|
|
129
120
|
}
|
|
130
121
|
if (mediaSynchronizer === undefined) {
|
|
131
122
|
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "pause");
|
|
132
123
|
}
|
|
133
|
-
return
|
|
134
|
-
}
|
|
124
|
+
return await mediaSynchronizer.pause();
|
|
125
|
+
}, [container, mediaSynchronizer]);
|
|
135
126
|
/**
|
|
136
127
|
* User facing: seek callback
|
|
137
128
|
*/
|
|
138
|
-
const seekTo = React.useCallback((time) =>
|
|
129
|
+
const seekTo = React.useCallback(async (time) => {
|
|
139
130
|
if (!container) {
|
|
140
131
|
throw new ActionContainerNotJoinedError("mediaSynchronizer", "seekTo");
|
|
141
132
|
}
|
|
142
133
|
if (mediaSynchronizer === undefined) {
|
|
143
134
|
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "seekTo");
|
|
144
135
|
}
|
|
145
|
-
return
|
|
146
|
-
}
|
|
136
|
+
return await mediaSynchronizer.seekTo(time);
|
|
137
|
+
}, [container, mediaSynchronizer]);
|
|
147
138
|
/**
|
|
148
139
|
* User facing: set track callback
|
|
149
140
|
*/
|
|
150
|
-
const setTrack = React.useCallback((track) =>
|
|
141
|
+
const setTrack = React.useCallback(async (track) => {
|
|
151
142
|
if (!container) {
|
|
152
143
|
throw new ActionContainerNotJoinedError("mediaSynchronizer", "setTrack");
|
|
153
144
|
}
|
|
@@ -155,26 +146,26 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElement, initialTrack
|
|
|
155
146
|
throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "setTrack");
|
|
156
147
|
}
|
|
157
148
|
if (isExtendedMediaMetadata(track)) {
|
|
158
|
-
return
|
|
149
|
+
return await mediaSynchronizer.setTrack(track);
|
|
159
150
|
}
|
|
160
151
|
else if (typeof track === "string") {
|
|
161
|
-
return
|
|
152
|
+
return await mediaSynchronizer.setTrack({
|
|
162
153
|
trackIdentifier: track,
|
|
163
154
|
});
|
|
164
155
|
}
|
|
165
|
-
}
|
|
156
|
+
}, [container, mediaSynchronizer]);
|
|
166
157
|
/**
|
|
167
158
|
* User facing: create a new suspension and set it locally to state
|
|
168
159
|
*/
|
|
169
160
|
const beginSuspension = React.useCallback((waitPoint) => {
|
|
170
|
-
const suspension = mediaSession
|
|
161
|
+
const suspension = mediaSession?.coordinator.beginSuspension(waitPoint);
|
|
171
162
|
setSuspension(suspension);
|
|
172
163
|
}, [mediaSession]);
|
|
173
164
|
/**
|
|
174
165
|
* User facing: if a suspension is active, end it. Called when "Follow presenter" button is clicked.
|
|
175
166
|
*/
|
|
176
167
|
const endSuspension = React.useCallback(() => {
|
|
177
|
-
suspension
|
|
168
|
+
suspension?.end();
|
|
178
169
|
setSuspension(undefined);
|
|
179
170
|
}, [suspension]);
|
|
180
171
|
/**
|
|
@@ -222,18 +213,18 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElement, initialTrack
|
|
|
222
213
|
if (mediaSession.initializeState ===
|
|
223
214
|
LiveDataObjectInitializeState.needed) {
|
|
224
215
|
// Start synchronizing the media session
|
|
225
|
-
mediaSession.initialize(allowedRoles
|
|
216
|
+
mediaSession.initialize(allowedRoles ?? []);
|
|
226
217
|
}
|
|
227
218
|
else if (initialTrack) {
|
|
228
|
-
mediaSession.onLocalUserAllowed(() =>
|
|
219
|
+
mediaSession.onLocalUserAllowed(async () => {
|
|
229
220
|
if (!mounted)
|
|
230
221
|
return;
|
|
231
222
|
try {
|
|
232
223
|
if (isExtendedMediaMetadata(initialTrack)) {
|
|
233
|
-
|
|
224
|
+
await synchronizer.setTrack(initialTrack);
|
|
234
225
|
}
|
|
235
226
|
else if (typeof initialTrack === "string") {
|
|
236
|
-
|
|
227
|
+
await synchronizer.setTrack({
|
|
237
228
|
trackIdentifier: initialTrack,
|
|
238
229
|
});
|
|
239
230
|
}
|
|
@@ -241,15 +232,15 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElement, initialTrack
|
|
|
241
232
|
catch (err) {
|
|
242
233
|
console.error(err);
|
|
243
234
|
}
|
|
244
|
-
})
|
|
235
|
+
});
|
|
245
236
|
}
|
|
246
237
|
setMediaSynchronizer(synchronizer);
|
|
247
238
|
return () => {
|
|
248
239
|
mounted = false;
|
|
249
240
|
synchronizer.removeAllListeners();
|
|
250
241
|
mediaSession.removeAllListeners();
|
|
251
|
-
synchronizer
|
|
252
|
-
mediaSession
|
|
242
|
+
synchronizer?.end();
|
|
243
|
+
mediaSession?.dispose();
|
|
253
244
|
};
|
|
254
245
|
}, [mediaSession, mediaPlayerElement]);
|
|
255
246
|
/**
|
|
@@ -263,7 +254,7 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElement, initialTrack
|
|
|
263
254
|
if (mediaSynchronizer.viewOnly === viewOnly)
|
|
264
255
|
return;
|
|
265
256
|
mediaSynchronizer.viewOnly = viewOnly;
|
|
266
|
-
}, [viewOnly, mediaSynchronizer
|
|
257
|
+
}, [viewOnly, mediaSynchronizer?.viewOnly]);
|
|
267
258
|
/**
|
|
268
259
|
* Change canSendPositionUpdates when prop changes
|
|
269
260
|
*/
|
|
@@ -279,7 +270,7 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElement, initialTrack
|
|
|
279
270
|
canSendPositionUpdates;
|
|
280
271
|
}, [
|
|
281
272
|
canSendPositionUpdates,
|
|
282
|
-
mediaSynchronizer
|
|
273
|
+
mediaSynchronizer?.mediaSession.coordinator.canSendPositionUpdates,
|
|
283
274
|
]);
|
|
284
275
|
return {
|
|
285
276
|
suspended: !!suspension,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaSynchronizer.js","sourceRoot":"","sources":["../../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"useMediaSynchronizer.js","sourceRoot":"","sources":["../../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
2
|
import React from "react";
|
|
12
3
|
import { useSharedStateRegistry, } from "../shared-hooks/index.js";
|
|
@@ -34,7 +25,6 @@ export const useFluidObjectsContext = () => {
|
|
|
34
25
|
* React Context provider component for using Fluid data objects & joining/creating a Fluid document `AzureClient`.
|
|
35
26
|
*/
|
|
36
27
|
export const AzureProvider = (props) => {
|
|
37
|
-
var _a;
|
|
38
28
|
const startedRef = React.useRef(false);
|
|
39
29
|
const clientRef = React.useRef(new AzureLiveShareClient(props.clientOptions));
|
|
40
30
|
const [results, setResults] = React.useState();
|
|
@@ -43,10 +33,10 @@ export const AzureProvider = (props) => {
|
|
|
43
33
|
/**
|
|
44
34
|
* Get the container for a given containerId using AzureClient
|
|
45
35
|
*/
|
|
46
|
-
const getContainer = React.useCallback((containerId, fluidContainerSchema) =>
|
|
47
|
-
return new Promise((resolve, reject) =>
|
|
36
|
+
const getContainer = React.useCallback(async (containerId, fluidContainerSchema) => {
|
|
37
|
+
return new Promise(async (resolve, reject) => {
|
|
48
38
|
try {
|
|
49
|
-
const results =
|
|
39
|
+
const results = await clientRef.current.getContainer(containerId, fluidContainerSchema);
|
|
50
40
|
setResults(results);
|
|
51
41
|
resolve(results);
|
|
52
42
|
}
|
|
@@ -56,19 +46,19 @@ export const AzureProvider = (props) => {
|
|
|
56
46
|
}
|
|
57
47
|
reject(error);
|
|
58
48
|
}
|
|
59
|
-
})
|
|
60
|
-
}
|
|
49
|
+
});
|
|
50
|
+
}, [props.containerId, setResults]);
|
|
61
51
|
/**
|
|
62
52
|
* Create container callback to create a new container using AzureClient
|
|
63
53
|
*/
|
|
64
|
-
const createContainer = React.useCallback((fluidContainerSchema, onInitializeContainer) =>
|
|
65
|
-
return new Promise((resolve, reject) =>
|
|
54
|
+
const createContainer = React.useCallback(async (fluidContainerSchema, onInitializeContainer) => {
|
|
55
|
+
return new Promise(async (resolve, reject) => {
|
|
66
56
|
try {
|
|
67
|
-
const results =
|
|
57
|
+
const results = await clientRef.current.createContainer(fluidContainerSchema);
|
|
68
58
|
if (onInitializeContainer) {
|
|
69
59
|
onInitializeContainer(results.container);
|
|
70
60
|
}
|
|
71
|
-
const containerId =
|
|
61
|
+
const containerId = await results.container.attach();
|
|
72
62
|
window.location.hash = containerId;
|
|
73
63
|
setResults(results);
|
|
74
64
|
resolve(results);
|
|
@@ -79,18 +69,17 @@ export const AzureProvider = (props) => {
|
|
|
79
69
|
}
|
|
80
70
|
reject(error);
|
|
81
71
|
}
|
|
82
|
-
})
|
|
83
|
-
}
|
|
72
|
+
});
|
|
73
|
+
}, [props.containerId, setResults]);
|
|
84
74
|
/**
|
|
85
75
|
* Joins a container if `props.joinOnLoad` is true and `props.containerId` is known. Creates a new container if `props.createOnLoad` is true
|
|
86
76
|
* and `props.containerId` is not known.
|
|
87
77
|
*/
|
|
88
78
|
React.useEffect(() => {
|
|
89
|
-
var _a;
|
|
90
79
|
// This hook should only be called once, so we use a ref to track if it has been called.
|
|
91
80
|
// This is a workaround for the fact that useEffect is called twice on initial render in React V18.
|
|
92
81
|
// We are not doing this here for backwards compatibility. View the README for more information.
|
|
93
|
-
if (
|
|
82
|
+
if (results?.container?.connectionState !== undefined ||
|
|
94
83
|
startedRef.current)
|
|
95
84
|
return;
|
|
96
85
|
startedRef.current = true;
|
|
@@ -101,7 +90,7 @@ export const AzureProvider = (props) => {
|
|
|
101
90
|
createContainer(props.fluidContainerSchema);
|
|
102
91
|
}
|
|
103
92
|
}, [
|
|
104
|
-
|
|
93
|
+
results?.container?.connectionState,
|
|
105
94
|
props.containerId,
|
|
106
95
|
props.createOnLoad,
|
|
107
96
|
props.joinOnLoad,
|
|
@@ -109,11 +98,17 @@ export const AzureProvider = (props) => {
|
|
|
109
98
|
getContainer,
|
|
110
99
|
createContainer,
|
|
111
100
|
]);
|
|
112
|
-
return (_jsx(FluidContext.Provider, { value:
|
|
101
|
+
return (_jsx(FluidContext.Provider, { value: {
|
|
102
|
+
clientRef,
|
|
103
|
+
container: results?.container,
|
|
104
|
+
services: results?.services,
|
|
105
|
+
joinError,
|
|
113
106
|
createContainer,
|
|
114
|
-
getContainer
|
|
107
|
+
getContainer,
|
|
108
|
+
...stateRegistryCallbacks,
|
|
109
|
+
}, children: props.children }));
|
|
115
110
|
};
|
|
116
111
|
function isFluidObjectsContext(value) {
|
|
117
|
-
return !!
|
|
112
|
+
return !!value?.clientRef;
|
|
118
113
|
}
|
|
119
114
|
//# sourceMappingURL=AzureProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureProvider.js","sourceRoot":"","sources":["../../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AzureProvider.js","sourceRoot":"","sources":["../../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
2
|
import React from "react";
|
|
12
3
|
import { useSharedStateRegistry } from "../shared-hooks/index.js";
|
|
@@ -147,12 +138,12 @@ export const LiveShareProvider = (props) => {
|
|
|
147
138
|
/**
|
|
148
139
|
* Join container callback for joining the Live Share session
|
|
149
140
|
*/
|
|
150
|
-
const join = React.useCallback((fluidContainerSchema, onInitializeContainer) =>
|
|
141
|
+
const join = React.useCallback(async (fluidContainerSchema, onInitializeContainer) => {
|
|
151
142
|
startedRef.current = true;
|
|
152
|
-
const results =
|
|
143
|
+
const results = await clientRef.current.join(fluidContainerSchema, onInitializeContainer);
|
|
153
144
|
setResults(results);
|
|
154
145
|
return results;
|
|
155
|
-
}
|
|
146
|
+
}, []);
|
|
156
147
|
/**
|
|
157
148
|
* Joins the container on load if `props.joinOnLoad` is true
|
|
158
149
|
*/
|
|
@@ -163,13 +154,13 @@ export const LiveShareProvider = (props) => {
|
|
|
163
154
|
if (results !== undefined || startedRef.current || !props.joinOnLoad)
|
|
164
155
|
return;
|
|
165
156
|
join(props.fluidContainerSchema).catch((error) => {
|
|
166
|
-
var _a;
|
|
167
157
|
console.error(error);
|
|
168
158
|
if (error instanceof Error) {
|
|
169
159
|
setJoinError(error);
|
|
170
160
|
}
|
|
171
161
|
else if (isITeamsJsSdkError(error)) {
|
|
172
|
-
setJoinError(new Error(`[${error.errorCode}] ${
|
|
162
|
+
setJoinError(new Error(`[${error.errorCode}] ${error.message ??
|
|
163
|
+
"An unknown error occurred while joining container."}`));
|
|
173
164
|
}
|
|
174
165
|
else if (typeof error == "string") {
|
|
175
166
|
setJoinError(new Error(error));
|
|
@@ -180,18 +171,26 @@ export const LiveShareProvider = (props) => {
|
|
|
180
171
|
});
|
|
181
172
|
}, [results, props.joinOnLoad, props.fluidContainerSchema, join]);
|
|
182
173
|
return (_jsx(LiveShareContext.Provider, { value: {
|
|
183
|
-
created: !!
|
|
184
|
-
timestampProvider: results
|
|
185
|
-
joined: !!
|
|
174
|
+
created: !!results?.created,
|
|
175
|
+
timestampProvider: results?.timestampProvider,
|
|
176
|
+
joined: !!results?.container,
|
|
186
177
|
joinError,
|
|
187
178
|
join,
|
|
188
|
-
}, children: _jsx(FluidContext.Provider, { value:
|
|
179
|
+
}, children: _jsx(FluidContext.Provider, { value: {
|
|
180
|
+
clientRef,
|
|
181
|
+
container: results?.container,
|
|
182
|
+
services: results?.services,
|
|
183
|
+
joinError,
|
|
184
|
+
getContainer: async () => {
|
|
189
185
|
throw new Error("Cannot join new container through getContainer in LiveShareProvider");
|
|
190
|
-
}
|
|
186
|
+
},
|
|
187
|
+
createContainer: async () => {
|
|
191
188
|
throw new Error("Cannot create new container through createContainer in LiveShareProvider");
|
|
192
|
-
}
|
|
189
|
+
},
|
|
190
|
+
...stateRegistryCallbacks,
|
|
191
|
+
}, children: props.children }) }));
|
|
193
192
|
};
|
|
194
193
|
function isLiveShareContext(value) {
|
|
195
|
-
return (typeof
|
|
194
|
+
return (typeof value?.created === "boolean" && typeof value?.join === "function");
|
|
196
195
|
}
|
|
197
196
|
//# sourceMappingURL=LiveShareProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveShareProvider.js","sourceRoot":"","sources":["../../../src/providers/LiveShareProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LiveShareProvider.js","sourceRoot":"","sources":["../../../src/providers/LiveShareProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export function isProxy(value) {
|
|
|
4
4
|
return value && value["[[Handler]]"];
|
|
5
5
|
}
|
|
6
6
|
export function isCustomProxyHandler(value) {
|
|
7
|
-
return
|
|
7
|
+
return value?.[rawTNodeKey] !== undefined;
|
|
8
8
|
}
|
|
9
9
|
export function isTreeNode(value) {
|
|
10
10
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node-types.js","sourceRoot":"","sources":["../../../../src/shared-hooks/internals/tree-node-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAO3E,MAAM,UAAU,OAAO,CAAC,KAAU;IAC9B,OAAO,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,KAAU;IAEV,OAAO,
|
|
1
|
+
{"version":3,"file":"tree-node-types.js","sourceRoot":"","sources":["../../../../src/shared-hooks/internals/tree-node-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAO3E,MAAM,UAAU,OAAO,CAAC,KAAU;IAC9B,OAAO,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,KAAU;IAEV,OAAO,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;IACjC,IAAI,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
|
|
@@ -11,7 +11,6 @@ import { Tree } from "fluid-framework";
|
|
|
11
11
|
* @returns TNode instance
|
|
12
12
|
*/
|
|
13
13
|
export function buildProxy(rawNode, treeMap) {
|
|
14
|
-
var _a;
|
|
15
14
|
const previousProxy = treeMap.get(rawNode);
|
|
16
15
|
const previousProxyHandler = previousProxy
|
|
17
16
|
? getCustomProxyHandler(previousProxy)
|
|
@@ -20,7 +19,7 @@ export function buildProxy(rawNode, treeMap) {
|
|
|
20
19
|
// Add some extra stuff into the handler so we can store the original Fluid TreeNode and access it later
|
|
21
20
|
// Without overriding the rest of the getters in the object.
|
|
22
21
|
[rawTNodeKey]: rawNode,
|
|
23
|
-
[proxiedChildrenKey]:
|
|
22
|
+
[proxiedChildrenKey]: previousProxyHandler?.[proxiedChildrenKey] ?? {},
|
|
24
23
|
get: (target, prop, _) => {
|
|
25
24
|
if (prop === "[[Handler]]") {
|
|
26
25
|
return proxyHandler;
|
|
@@ -182,7 +181,6 @@ function getCustomProxyHandler(proxy) {
|
|
|
182
181
|
* @returns the raw node if valid, otherwise undefined
|
|
183
182
|
*/
|
|
184
183
|
function getRawNodeFromProxy(proxy) {
|
|
185
|
-
|
|
186
|
-
return (_a = getCustomProxyHandler(proxy)) === null || _a === void 0 ? void 0 : _a[rawTNodeKey];
|
|
184
|
+
return getCustomProxyHandler(proxy)?.[rawTNodeKey];
|
|
187
185
|
}
|
|
188
186
|
//# sourceMappingURL=tree-node-utils.js.map
|