@microsoft/live-share-react 1.0.0-preview.23 → 1.0.0-preview.24
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 +7 -10
- package/bin/interfaces/LiveInterfaceExtensions.d.ts +17 -0
- package/bin/interfaces/LiveInterfaceExtensions.d.ts.map +1 -1
- package/bin/live-hooks/useLiveEvent.d.ts.map +1 -1
- package/bin/live-hooks/useLiveEvent.js +3 -1
- package/bin/live-hooks/useLiveEvent.js.map +1 -1
- package/bin/live-hooks/useLivePresence.d.ts.map +1 -1
- package/bin/live-hooks/useLivePresence.js +6 -1
- package/bin/live-hooks/useLivePresence.js.map +1 -1
- package/package.json +9 -9
- package/src/interfaces/LiveInterfaceExtensions.ts +17 -0
- package/src/live-hooks/useLiveEvent.ts +8 -1
- package/src/live-hooks/useLivePresence.ts +7 -1
- package/bin/internal-hooks/index.d.ts +0 -2
- package/bin/internal-hooks/index.d.ts.map +0 -1
- package/bin/internal-hooks/index.js +0 -2
- package/bin/internal-hooks/index.js.map +0 -1
- package/bin/internal-hooks/useDynamicDDSRegistry.d.ts +0 -14
- package/bin/internal-hooks/useDynamicDDSRegistry.d.ts.map +0 -1
- package/bin/internal-hooks/useDynamicDDSRegistry.js +0 -142
- package/bin/internal-hooks/useDynamicDDSRegistry.js.map +0 -1
- package/bin/internal-hooks/useSharedStateRegistry.d.ts +0 -31
- package/bin/internal-hooks/useSharedStateRegistry.d.ts.map +0 -1
- package/bin/internal-hooks/useSharedStateRegistry.js +0 -102
- package/bin/internal-hooks/useSharedStateRegistry.js.map +0 -1
- package/bin/internal-hooks/useStateRef.d.ts +0 -7
- package/bin/internal-hooks/useStateRef.d.ts.map +0 -1
- package/bin/internal-hooks/useStateRef.js +0 -15
- package/bin/internal-hooks/useStateRef.js.map +0 -1
- package/bin/live-hooks/useLiveAICompletion.d.ts +0 -29
- package/bin/live-hooks/useLiveAICompletion.d.ts.map +0 -1
- package/bin/live-hooks/useLiveAICompletion.js +0 -186
- package/bin/live-hooks/useLiveAICompletion.js.map +0 -1
- package/bin/live-hooks/useLiveCoPilot.d.ts +0 -28
- package/bin/live-hooks/useLiveCoPilot.d.ts.map +0 -1
- package/bin/live-hooks/useLiveCoPilot.js +0 -178
- package/bin/live-hooks/useLiveCoPilot.js.map +0 -1
- package/bin/live-share-turbo/AzureTurboClient.d.ts +0 -39
- package/bin/live-share-turbo/AzureTurboClient.d.ts.map +0 -1
- package/bin/live-share-turbo/AzureTurboClient.js +0 -56
- package/bin/live-share-turbo/AzureTurboClient.js.map +0 -1
- package/bin/live-share-turbo/LiveShareTurboClient.d.ts +0 -53
- package/bin/live-share-turbo/LiveShareTurboClient.d.ts.map +0 -1
- package/bin/live-share-turbo/LiveShareTurboClient.js +0 -69
- package/bin/live-share-turbo/LiveShareTurboClient.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboDataObject.d.ts +0 -31
- package/bin/live-share-turbo/dds-objects/TurboDataObject.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboDataObject.js +0 -75
- package/bin/live-share-turbo/dds-objects/TurboDataObject.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.d.ts +0 -48
- package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.js +0 -104
- package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveEvent.d.ts +0 -28
- package/bin/live-share-turbo/dds-objects/TurboLiveEvent.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveEvent.js +0 -68
- package/bin/live-share-turbo/dds-objects/TurboLiveEvent.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.d.ts +0 -60
- package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.js +0 -111
- package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLivePresence.d.ts +0 -77
- package/bin/live-share-turbo/dds-objects/TurboLivePresence.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLivePresence.js +0 -137
- package/bin/live-share-turbo/dds-objects/TurboLivePresence.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveState.d.ts +0 -30
- package/bin/live-share-turbo/dds-objects/TurboLiveState.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboLiveState.js +0 -74
- package/bin/live-share-turbo/dds-objects/TurboLiveState.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboSharedMap.d.ts +0 -61
- package/bin/live-share-turbo/dds-objects/TurboSharedMap.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/TurboSharedMap.js +0 -108
- package/bin/live-share-turbo/dds-objects/TurboSharedMap.js.map +0 -1
- package/bin/live-share-turbo/dds-objects/index.d.ts +0 -8
- package/bin/live-share-turbo/dds-objects/index.d.ts.map +0 -1
- package/bin/live-share-turbo/dds-objects/index.js +0 -8
- package/bin/live-share-turbo/dds-objects/index.js.map +0 -1
- package/bin/live-share-turbo/index.d.ts +0 -5
- package/bin/live-share-turbo/index.d.ts.map +0 -1
- package/bin/live-share-turbo/index.js +0 -5
- package/bin/live-share-turbo/index.js.map +0 -1
- package/bin/live-share-turbo/interfaces/IFluidTurboClient.d.ts +0 -15
- package/bin/live-share-turbo/interfaces/IFluidTurboClient.d.ts.map +0 -1
- package/bin/live-share-turbo/interfaces/IFluidTurboClient.js +0 -2
- package/bin/live-share-turbo/interfaces/IFluidTurboClient.js.map +0 -1
- package/bin/live-share-turbo/interfaces/index.d.ts +0 -3
- package/bin/live-share-turbo/interfaces/index.d.ts.map +0 -1
- package/bin/live-share-turbo/interfaces/index.js +0 -3
- package/bin/live-share-turbo/interfaces/index.js.map +0 -1
- package/bin/live-share-turbo/internals/FluidTurboClient.d.ts +0 -39
- package/bin/live-share-turbo/internals/FluidTurboClient.d.ts.map +0 -1
- package/bin/live-share-turbo/internals/FluidTurboClient.js +0 -121
- package/bin/live-share-turbo/internals/FluidTurboClient.js.map +0 -1
- package/bin/live-share-turbo/internals/index.d.ts +0 -2
- package/bin/live-share-turbo/internals/index.d.ts.map +0 -1
- package/bin/live-share-turbo/internals/index.js +0 -2
- package/bin/live-share-turbo/internals/index.js.map +0 -1
- package/bin/live-share-turbo/internals/types.d.ts +0 -4
- package/bin/live-share-turbo/internals/types.d.ts.map +0 -1
- package/bin/live-share-turbo/internals/types.js +0 -2
- package/bin/live-share-turbo/internals/types.js.map +0 -1
- package/bin/providers/FluidContextProvider.d.ts +0 -34
- package/bin/providers/FluidContextProvider.d.ts.map +0 -1
- package/bin/providers/FluidContextProvider.js +0 -99
- package/bin/providers/FluidContextProvider.js.map +0 -1
- package/bin/providers/LiveShareContextProvider.d.ts +0 -42
- package/bin/providers/LiveShareContextProvider.d.ts.map +0 -1
- package/bin/providers/LiveShareContextProvider.js +0 -63
- package/bin/providers/LiveShareContextProvider.js.map +0 -1
- package/bin/shared-hooks/useLockedTask.d.ts +0 -11
- package/bin/shared-hooks/useLockedTask.d.ts.map +0 -1
- package/bin/shared-hooks/useLockedTask.js +0 -82
- package/bin/shared-hooks/useLockedTask.js.map +0 -1
- package/bin/shared-hooks/useTaskManager.d.ts +0 -13
- package/bin/shared-hooks/useTaskManager.d.ts.map +0 -1
- package/bin/shared-hooks/useTaskManager.js +0 -86
- package/bin/shared-hooks/useTaskManager.js.map +0 -1
- package/bin/utils/getContainerSchema.d.ts +0 -8
- package/bin/utils/getContainerSchema.d.ts.map +0 -1
- package/bin/utils/getContainerSchema.js +0 -41
- package/bin/utils/getContainerSchema.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Live Share React
|
|
2
2
|
|
|
3
|
+
**DISCLAIMER:** This package is in preview and experimental. We are not yet committed to maintaining this package and may make breaking changes at any time. Read this package's [license](./LICENSE) for more information.
|
|
4
|
+
|
|
3
5
|
Live Share React is designed to make building collaborative apps in React simple and intuitive, all using familiar patterns from functional React.
|
|
4
6
|
|
|
5
7
|
Here is a simple example of how to get started:
|
|
@@ -66,7 +68,7 @@ npm install
|
|
|
66
68
|
npm run build
|
|
67
69
|
```
|
|
68
70
|
|
|
69
|
-
This will use
|
|
71
|
+
This will use npm workspaces to hoist and build all dependencies.
|
|
70
72
|
|
|
71
73
|
### Sample app
|
|
72
74
|
|
|
@@ -584,12 +586,7 @@ The Live Share SDK contains dependencies for [@microsoft/teams-js](https://www.n
|
|
|
584
586
|
|
|
585
587
|
| @microsoft/live-share | @microsoft/teams-js | fluid-framework | @microsoft/live-share-\* | @fluidframework/azure-client | @microsoft/TeamsFx | @microsoft/TeamsFx-react |
|
|
586
588
|
| --------------------- | -------------------- | --------------- | -------------------------- | ---------------------------- | ------------------------------- | ------------------------------- |
|
|
587
|
-
| 1.0.0
|
|
588
|
-
| 1.0.0-preview.10 | ^2.10.1 | ~1.2.3 | 1.0.0-preview.10 (optional) | ~1.0.2 (optional) | ^2.5.0 (optional) | ^2.5.0 (optional) |
|
|
589
|
-
| 1.0.0-preview.8 | ^2.5.0 | ~1.2.3 | 1.0.0-preview.10 (optional) | ~1.0.2 (optional) | ^2.5.0 (optional) | ^2.5.0 (optional) |
|
|
590
|
-
| 1.0.0-preview.3 | 2.0.0-experimental.1 | ~1.2.3 | 1.0.0-preview.3 (optional) | ~1.0.2 (optional) | 2.0.0-experimental.0 (optional) | 2.0.0-experimental.0 (optional) |
|
|
591
|
-
| ~0.5.1 | 2.0.0-experimental.1 | ~1.2.3 | ~0.5.1 (optional) | ~1.0.2 (optional) | 2.0.0-experimental.0 (optional) | 2.0.0-experimental.0 (optional) |
|
|
592
|
-
| ~0.3.1 | 2.0.0-experimental.0 | ~0.59.0 | ~0.3.1 (optional) | ~0.59.0 (optional) | 2.0.0-experimental.0 (optional) | 2.0.0-experimental.0 (optional) |
|
|
589
|
+
| ^1.0.0 | ^2.11.0 | ^1.2.3 | ^1.0.0 | ^1.0.0 | ^2.5.0 | ^2.5.0 |
|
|
593
590
|
|
|
594
591
|
## Contributing
|
|
595
592
|
|
|
@@ -600,12 +597,12 @@ There are several ways you can [contribute](../../CONTRIBUTING.md) to this proje
|
|
|
600
597
|
- Engage with other Live Share developers on [StackOverflow](https://stackoverflow.com/questions/tagged/live-share).
|
|
601
598
|
- [Contribute bug fixes](../../CONTRIBUTING.md).
|
|
602
599
|
|
|
603
|
-
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com with any additional questions or comments.
|
|
600
|
+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact <opencode@microsoft.com> with any additional questions or comments.
|
|
604
601
|
|
|
605
602
|
## Reporting Security Issues
|
|
606
603
|
|
|
607
|
-
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at secure@microsoft.com
|
|
604
|
+
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at <secure@microsoft.com>. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the [MSRC PGP](https://technet.microsoft.com/security/dn606155) key, can be found in the [Security TechCenter](https://technet.microsoft.com/security/default).
|
|
608
605
|
|
|
609
606
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
610
607
|
|
|
611
|
-
Licensed under a special [Microsoft](
|
|
608
|
+
Licensed under a special [Microsoft](./LICENSE) License.
|
|
@@ -2,8 +2,25 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Object response for a received event
|
|
7
|
+
*/
|
|
5
8
|
export interface IReceiveLiveEvent<TEvent = any> {
|
|
9
|
+
/**
|
|
10
|
+
* The value of the event that was sent
|
|
11
|
+
*/
|
|
6
12
|
value: TEvent;
|
|
13
|
+
/**
|
|
14
|
+
* True if the local client was the one to send this event
|
|
15
|
+
*/
|
|
7
16
|
local: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Client ID of the user that sent the event
|
|
19
|
+
*/
|
|
20
|
+
clientId: string;
|
|
21
|
+
/**
|
|
22
|
+
* Server timestamp at which the event was sent
|
|
23
|
+
*/
|
|
24
|
+
timestamp: number;
|
|
8
25
|
}
|
|
9
26
|
//# sourceMappingURL=LiveInterfaceExtensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveInterfaceExtensions.d.ts","sourceRoot":"","sources":["../../src/interfaces/LiveInterfaceExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LiveInterfaceExtensions.d.ts","sourceRoot":"","sources":["../../src/interfaces/LiveInterfaceExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,GAAG;IAC3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveEvent.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLiveEvent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,eAAe,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,oBAAoB,EACpB,yBAAyB,EAE5B,MAAM,UAAU,CAAC;AAUlB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAG,GAAG,EACrC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,eAAe,EAAE,EAChC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,GACpD,oBAAoB,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"useLiveEvent.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLiveEvent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,eAAe,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,oBAAoB,EACpB,yBAAyB,EAE5B,MAAM,UAAU,CAAC;AAUlB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAG,GAAG,EACrC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,eAAe,EAAE,EAChC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,GACpD,oBAAoB,CAAC,MAAM,CAAC,CA4F9B"}
|
|
@@ -67,7 +67,7 @@ export function useLiveEvent(uniqueKey, allowedRoles, onReceivedEvent) {
|
|
|
67
67
|
if ((liveEvent === null || liveEvent === void 0 ? void 0 : liveEvent.isInitialized) === undefined)
|
|
68
68
|
return;
|
|
69
69
|
// Register event listener
|
|
70
|
-
const onEventReceived = (event, local) => {
|
|
70
|
+
const onEventReceived = (event, local, clientId, timestamp) => {
|
|
71
71
|
// If developer passed the optional onReceivedEvent callback, we
|
|
72
72
|
// call it.
|
|
73
73
|
onReceivedEvent === null || onReceivedEvent === void 0 ? void 0 : onReceivedEvent(event, local);
|
|
@@ -75,6 +75,8 @@ export function useLiveEvent(uniqueKey, allowedRoles, onReceivedEvent) {
|
|
|
75
75
|
const received = {
|
|
76
76
|
value: event,
|
|
77
77
|
local,
|
|
78
|
+
clientId,
|
|
79
|
+
timestamp,
|
|
78
80
|
};
|
|
79
81
|
allEventsRef.current = [...allEventsRef.current, received];
|
|
80
82
|
setLatestReceived(received);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveEvent.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveEvent.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AAEH,OAAO,EACH,eAAe,EAEf,SAAS,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACH,6BAA6B,EAC7B,oCAAoC,EACpC,kCAAkC,GACrC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CACxB,SAAiB,EACjB,YAAgC,EAChC,eAAmD;IAEnD;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,GAClC,KAAK,CAAC,QAAQ,EAA6B,CAAC;IAChD;;;OAGG;IACH,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAA8B,EAAE,CAAC,CAAC;IACnE;;OAEG;IACH,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,aAAa,CACpC,SAAS,EACT,CAAA,SAAiB,CAAA,CACpB,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAE/C;;OAEG;IACH,MAAM,SAAS,GAAgC,KAAK,CAAC,WAAW,CAC5D,CAAO,KAAa,EAAE,EAAE;QACpB,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,6BAA6B,CACnC,WAAW,EACX,WAAW,CACd,CAAC;SACL;QACD,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,MAAM,IAAI,kCAAkC,CACxC,WAAW,EACX,WAAW,CACd,CAAC;SACL;QACD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC1B,MAAM,IAAI,oCAAoC,CAC1C,WAAW,EACX,WAAW,CACd,CAAC;SACL;QACD,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAA,EACD,CAAC,SAAS,EAAE,SAAS,CAAC,CACzB,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,MAAK,SAAS;YAAE,OAAO;QACnD,0BAA0B;QAC1B,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"useLiveEvent.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLivePresence.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLivePresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,aAAa,EAEb,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAA8B,MAAM,UAAU,CAAC;AAS/E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACzD,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,EAC/C,oBAAoB,GAAE,aAAoC,EAC1D,YAAY,CAAC,EAAE,eAAe,EAAE,GACjC,uBAAuB,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"useLivePresence.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLivePresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,aAAa,EAEb,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAA8B,MAAM,UAAU,CAAC;AAS/E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACzD,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,EAC/C,oBAAoB,GAAE,aAAoC,EAC1D,YAAY,CAAC,EAAE,eAAe,EAAE,GACjC,uBAAuB,CAAC,KAAK,CAAC,CA8FhC"}
|
|
@@ -82,7 +82,9 @@ export function useLivePresence(uniqueKey, initialData, initialPresenceState = P
|
|
|
82
82
|
};
|
|
83
83
|
livePresence.on("presenceChanged", onPresenceChanged);
|
|
84
84
|
if (!livePresence.isInitialized) {
|
|
85
|
-
livePresence.initialize(
|
|
85
|
+
livePresence.initialize(isInitialDataCallback(initialData)
|
|
86
|
+
? initialData()
|
|
87
|
+
: initialData, initialPresenceState, allowedRoles);
|
|
86
88
|
}
|
|
87
89
|
else {
|
|
88
90
|
onPresenceChanged();
|
|
@@ -99,4 +101,7 @@ export function useLivePresence(uniqueKey, initialData, initialPresenceState = P
|
|
|
99
101
|
updatePresence,
|
|
100
102
|
};
|
|
101
103
|
}
|
|
104
|
+
function isInitialDataCallback(value) {
|
|
105
|
+
return typeof value === "function";
|
|
106
|
+
}
|
|
102
107
|
//# sourceMappingURL=useLivePresence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLivePresence.js","sourceRoot":"","sources":["../../src/live-hooks/useLivePresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AAEH,OAAO,EAEH,aAAa,EACb,YAAY,GAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACH,6BAA6B,EAC7B,oCAAoC,EACpC,kCAAkC,GACrC,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAC3B,SAAiB,EACjB,WAA+C,EAC/C,uBAAsC,aAAa,CAAC,MAAM,EAC1D,YAAgC;IAEhC;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC1C,EAAE,CACL,CAAC;IACF;;OAEG;IACH,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,aAAa,CACvC,SAAS,EACT,CAAA,YAAmB,CAAA,CACtB,CAAC;IAEF;;OAEG;IACH,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEhE;;OAEG;IACH,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE5D,MAAM,EAAE,SAAS,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAE/C;;OAEG;IACH,MAAM,cAAc,GAAsC,KAAK,CAAC,WAAW,CACvE,CAAO,IAAwB,EAAE,KAAiC,EAAE,EAAE;QAClE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,6BAA6B,CACnC,cAAc,EACd,gBAAgB,CACnB,CAAC;SACL;QACD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,MAAM,IAAI,kCAAkC,CACxC,cAAc,EACd,gBAAgB,CACnB,CAAC;SACL;QACD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YAC7B,MAAM,IAAI,oCAAoC,CAC1C,cAAc,EACd,gBAAgB,CACnB,CAAC;SACL;QACD,OAAO,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAA,EACD,CAAC,SAAS,EAAE,YAAY,CAAC,CAC5B,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QAEvC,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC3B,MAAM,iBAAiB,GAA8B,EAAE,CAAC;YACxD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,YAAY,CAAC,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QAEtD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YAC7B,YAAY,CAAC,UAAU,CACnB,
|
|
1
|
+
{"version":3,"file":"useLivePresence.js","sourceRoot":"","sources":["../../src/live-hooks/useLivePresence.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.24",
|
|
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,17 +12,17 @@
|
|
|
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.24",
|
|
16
16
|
"url": "^0.11.0",
|
|
17
17
|
"uuid": "^9.0.0"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@babel/core": "^7.21.8",
|
|
21
|
-
"@fluidframework/azure-client": "
|
|
21
|
+
"@fluidframework/azure-client": "^1.1.1",
|
|
22
22
|
"@fluidframework/test-client-utils": "^1.3.6",
|
|
23
|
-
"@microsoft/live-share": "1.0.0
|
|
24
|
-
"@microsoft/live-share-canvas": "1.0.0
|
|
25
|
-
"@microsoft/live-share-media": "1.0.0
|
|
23
|
+
"@microsoft/live-share": "1.0.0",
|
|
24
|
+
"@microsoft/live-share-canvas": "1.0.0",
|
|
25
|
+
"@microsoft/live-share-media": "1.0.0",
|
|
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
|
|
36
|
-
"@microsoft/live-share-canvas": "1.0.0
|
|
37
|
-
"@microsoft/live-share-media": "1.0.0
|
|
35
|
+
"@microsoft/live-share": "1.0.0",
|
|
36
|
+
"@microsoft/live-share-canvas": "1.0.0",
|
|
37
|
+
"@microsoft/live-share-media": "1.0.0",
|
|
38
38
|
"fluid-framework": "^1.2.3",
|
|
39
39
|
"react": "^16.8.0 || ^17 || ^18",
|
|
40
40
|
"react-dom": "^16.8.0 || ^17 || ^18"
|
|
@@ -3,7 +3,24 @@
|
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Object response for a received event
|
|
8
|
+
*/
|
|
6
9
|
export interface IReceiveLiveEvent<TEvent = any> {
|
|
10
|
+
/**
|
|
11
|
+
* The value of the event that was sent
|
|
12
|
+
*/
|
|
7
13
|
value: TEvent;
|
|
14
|
+
/**
|
|
15
|
+
* True if the local client was the one to send this event
|
|
16
|
+
*/
|
|
8
17
|
local: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Client ID of the user that sent the event
|
|
20
|
+
*/
|
|
21
|
+
clientId: string;
|
|
22
|
+
/**
|
|
23
|
+
* Server timestamp at which the event was sent
|
|
24
|
+
*/
|
|
25
|
+
timestamp: number;
|
|
9
26
|
}
|
|
@@ -96,7 +96,12 @@ export function useLiveEvent<TEvent = any>(
|
|
|
96
96
|
React.useEffect(() => {
|
|
97
97
|
if (liveEvent?.isInitialized === undefined) return;
|
|
98
98
|
// Register event listener
|
|
99
|
-
const onEventReceived = (
|
|
99
|
+
const onEventReceived = (
|
|
100
|
+
event: TEvent,
|
|
101
|
+
local: boolean,
|
|
102
|
+
clientId: string,
|
|
103
|
+
timestamp: number
|
|
104
|
+
) => {
|
|
100
105
|
// If developer passed the optional onReceivedEvent callback, we
|
|
101
106
|
// call it.
|
|
102
107
|
onReceivedEvent?.(event, local);
|
|
@@ -104,6 +109,8 @@ export function useLiveEvent<TEvent = any>(
|
|
|
104
109
|
const received: IReceiveLiveEvent<TEvent> = {
|
|
105
110
|
value: event,
|
|
106
111
|
local,
|
|
112
|
+
clientId,
|
|
113
|
+
timestamp,
|
|
107
114
|
};
|
|
108
115
|
allEventsRef.current = [...allEventsRef.current, received];
|
|
109
116
|
setLatestReceived(received);
|
|
@@ -114,7 +114,9 @@ export function useLivePresence<TData extends object = object>(
|
|
|
114
114
|
|
|
115
115
|
if (!livePresence.isInitialized) {
|
|
116
116
|
livePresence.initialize(
|
|
117
|
-
|
|
117
|
+
isInitialDataCallback<TData>(initialData)
|
|
118
|
+
? initialData()
|
|
119
|
+
: initialData,
|
|
118
120
|
initialPresenceState,
|
|
119
121
|
allowedRoles
|
|
120
122
|
);
|
|
@@ -135,3 +137,7 @@ export function useLivePresence<TData extends object = object>(
|
|
|
135
137
|
updatePresence,
|
|
136
138
|
};
|
|
137
139
|
}
|
|
140
|
+
|
|
141
|
+
function isInitialDataCallback<TData>(value: any): value is () => TData {
|
|
142
|
+
return typeof value === "function";
|
|
143
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal-hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal-hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IAzureContainerResults, RegisterDDSSetStateAction, UnregisterDDSSetStateAction } from "../types";
|
|
2
|
-
export interface IDynamicDDSRegistry {
|
|
3
|
-
registerDDSSetStateAction: RegisterDDSSetStateAction;
|
|
4
|
-
unregisterDDSSetStateAction: UnregisterDDSSetStateAction;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Hook used internally to keep track of the DDSSetStateActionMap for each unique key. It gets DDS objects for provided keys where they exist and creates
|
|
8
|
-
* them where they do not, providing the DDS objects to components that use them.
|
|
9
|
-
*
|
|
10
|
-
* @param results IAzureContainerResults response or undefined
|
|
11
|
-
* @returns IDynamicDDSRegistry object
|
|
12
|
-
*/
|
|
13
|
-
export declare const useDynamicDDSRegistry: (results: IAzureContainerResults | undefined) => IDynamicDDSRegistry;
|
|
14
|
-
//# sourceMappingURL=useDynamicDDSRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicDDSRegistry.d.ts","sourceRoot":"","sources":["../../src/internal-hooks/useDynamicDDSRegistry.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,sBAAsB,EACtB,yBAAyB,EAEzB,2BAA2B,EAC9B,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,mBAAmB;IAChC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,2BAA2B,EAAE,2BAA2B,CAAC;CAC5D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,YACrB,sBAAsB,GAAG,SAAS,KAC5C,mBAyKF,CAAC"}
|
|
@@ -1,142 +0,0 @@
|
|
|
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
|
-
import { useCallback, useEffect, useRef } from "react";
|
|
11
|
-
/**
|
|
12
|
-
* Hook used internally to keep track of the DDSSetStateActionMap for each unique key. It gets DDS objects for provided keys where they exist and creates
|
|
13
|
-
* them where they do not, providing the DDS objects to components that use them.
|
|
14
|
-
*
|
|
15
|
-
* @param results IAzureContainerResults response or undefined
|
|
16
|
-
* @returns IDynamicDDSRegistry object
|
|
17
|
-
*/
|
|
18
|
-
export const useDynamicDDSRegistry = (results) => {
|
|
19
|
-
const registeredDDSSetStateActionMapRef = useRef(new Map());
|
|
20
|
-
// Get the DDS from dynamicObjects for a given key, if known
|
|
21
|
-
const getDDS = useCallback((key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const dynamicObjectMap = results === null || results === void 0 ? void 0 : results.container.initialObjects.dynamicObjects;
|
|
23
|
-
if (dynamicObjectMap) {
|
|
24
|
-
const handleValue = dynamicObjectMap.get(key);
|
|
25
|
-
if (handleValue) {
|
|
26
|
-
const dds = yield handleValue.get();
|
|
27
|
-
return dds;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
throw new Error("getDDS should never be called if dynamicObjects is undefined");
|
|
35
|
-
}
|
|
36
|
-
}), [results]);
|
|
37
|
-
// Create a new DDS of type T in dynamicObjects
|
|
38
|
-
const createDDS = useCallback((key, objectClass) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
-
const dynamicObjectMap = results === null || results === void 0 ? void 0 : results.container.initialObjects.dynamicObjects;
|
|
40
|
-
if (dynamicObjectMap) {
|
|
41
|
-
// Create a new DDS and set the handle to the DDS
|
|
42
|
-
const dds = yield results.container.create(objectClass);
|
|
43
|
-
dynamicObjectMap.set(key, dds.handle);
|
|
44
|
-
return dds;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
throw new Error("createDDS: should never be called if dynamicObjectsMap is undefined");
|
|
48
|
-
}
|
|
49
|
-
}), [results]);
|
|
50
|
-
// Callback for hooks (e.g., useSharedMap) to register a new set state action so they
|
|
51
|
-
// always have the most recent DDS. If one does not exist, we create it here.
|
|
52
|
-
const registerDDSSetStateAction = useCallback((uniqueKey, componentId, objectClass, setLocalStateAction, onDidFirstInitialize) => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
|
-
let shouldCreateIfNeeded = false;
|
|
54
|
-
let actionsMap = registeredDDSSetStateActionMapRef.current.get(uniqueKey);
|
|
55
|
-
if (actionsMap) {
|
|
56
|
-
if (!actionsMap.has(componentId)) {
|
|
57
|
-
shouldCreateIfNeeded = true;
|
|
58
|
-
actionsMap.set(componentId, setLocalStateAction);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
shouldCreateIfNeeded = true;
|
|
63
|
-
actionsMap = new Map();
|
|
64
|
-
actionsMap.set(componentId, setLocalStateAction);
|
|
65
|
-
registeredDDSSetStateActionMapRef.current.set(uniqueKey, actionsMap);
|
|
66
|
-
}
|
|
67
|
-
try {
|
|
68
|
-
// Set initial values, if known
|
|
69
|
-
let dds = yield getDDS(uniqueKey);
|
|
70
|
-
if (dds) {
|
|
71
|
-
setLocalStateAction(dds);
|
|
72
|
-
}
|
|
73
|
-
else if (shouldCreateIfNeeded) {
|
|
74
|
-
// Create a new DDS of type T
|
|
75
|
-
dds = yield createDDS(uniqueKey, objectClass);
|
|
76
|
-
setLocalStateAction(dds);
|
|
77
|
-
onDidFirstInitialize === null || onDidFirstInitialize === void 0 ? void 0 : onDidFirstInitialize(dds);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
throw error;
|
|
82
|
-
}
|
|
83
|
-
}), [results]);
|
|
84
|
-
// Callback for hooks (e.g., useSharedMap) to unregister their set state actions
|
|
85
|
-
const unregisterDDSSetStateAction = useCallback((uniqueKey, componentId) => {
|
|
86
|
-
let actionsMap = registeredDDSSetStateActionMapRef.current.get(uniqueKey);
|
|
87
|
-
if (actionsMap === null || actionsMap === void 0 ? void 0 : actionsMap.has(componentId)) {
|
|
88
|
-
actionsMap.delete(componentId);
|
|
89
|
-
}
|
|
90
|
-
}, []);
|
|
91
|
-
// Initial setup
|
|
92
|
-
useEffect(() => {
|
|
93
|
-
if (!results)
|
|
94
|
-
return;
|
|
95
|
-
const { container } = results;
|
|
96
|
-
const dynamicObjectMap = container.initialObjects
|
|
97
|
-
.dynamicObjects;
|
|
98
|
-
// Register value changed listener
|
|
99
|
-
const valueChangedListener = (changed, local) => {
|
|
100
|
-
if (local)
|
|
101
|
-
return;
|
|
102
|
-
if (registeredDDSSetStateActionMapRef.current.has(changed.key)) {
|
|
103
|
-
const actionMap = registeredDDSSetStateActionMapRef.current.get(changed.key);
|
|
104
|
-
// Get the DDS for the changed value, if known
|
|
105
|
-
getDDS(changed.key)
|
|
106
|
-
.then((dds) => {
|
|
107
|
-
// Update each component that has registered an action in actionMap
|
|
108
|
-
actionMap === null || actionMap === void 0 ? void 0 : actionMap.forEach((setLocalStateHandler) => {
|
|
109
|
-
setLocalStateHandler(dds);
|
|
110
|
-
});
|
|
111
|
-
})
|
|
112
|
-
.catch((error) => console.error(error));
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
dynamicObjectMap.on("valueChanged", valueChangedListener);
|
|
116
|
-
// Set initial values
|
|
117
|
-
dynamicObjectMap.forEach((handleValue, key) => {
|
|
118
|
-
const actionMap = registeredDDSSetStateActionMapRef.current.get(key);
|
|
119
|
-
if (handleValue) {
|
|
120
|
-
handleValue
|
|
121
|
-
.get()
|
|
122
|
-
.then((dds) => {
|
|
123
|
-
// Update each component that has registered an action in actionMap
|
|
124
|
-
actionMap === null || actionMap === void 0 ? void 0 : actionMap.forEach((setLocalStateHandler) => {
|
|
125
|
-
setLocalStateHandler(dds);
|
|
126
|
-
});
|
|
127
|
-
})
|
|
128
|
-
.catch((error) => {
|
|
129
|
-
console.error(error);
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
return () => {
|
|
134
|
-
dynamicObjectMap.off("valueChanged", valueChangedListener);
|
|
135
|
-
};
|
|
136
|
-
}, [results]);
|
|
137
|
-
return {
|
|
138
|
-
registerDDSSetStateAction,
|
|
139
|
-
unregisterDDSSetStateAction,
|
|
140
|
-
};
|
|
141
|
-
};
|
|
142
|
-
//# sourceMappingURL=useDynamicDDSRegistry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicDDSRegistry.js","sourceRoot":"","sources":["../../src/internal-hooks/useDynamicDDSRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the Microsoft Live Share SDK License.
|
|
4
|
-
*/
|
|
5
|
-
import { DeleteSharedStateAction, IAzureContainerResults, RegisterSharedSetStateAction, UnregisterSharedSetStateAction, UpdateSharedStateAction } from "../types";
|
|
6
|
-
export interface ISharedStateRegistryResponse {
|
|
7
|
-
/**
|
|
8
|
-
* Register a set state action callback
|
|
9
|
-
*/
|
|
10
|
-
registerSharedSetStateAction: RegisterSharedSetStateAction;
|
|
11
|
-
/**
|
|
12
|
-
* Unregister a set state action callback
|
|
13
|
-
*/
|
|
14
|
-
unregisterSharedSetStateAction: UnregisterSharedSetStateAction;
|
|
15
|
-
/**
|
|
16
|
-
* Setter callback to update the shared state
|
|
17
|
-
*/
|
|
18
|
-
updateSharedState: UpdateSharedStateAction;
|
|
19
|
-
/**
|
|
20
|
-
* Delete a shared state value
|
|
21
|
-
*/
|
|
22
|
-
deleteSharedState: DeleteSharedStateAction;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Hook used internally to keep track of the SharedSetStateActionMap for each unique key. It sets state values for provided keys and updates components listening to the values.
|
|
26
|
-
*
|
|
27
|
-
* @param results IAzureContainerResults response or undefined
|
|
28
|
-
* @returns ISharedStateRegistryResponse object
|
|
29
|
-
*/
|
|
30
|
-
export declare const useSharedStateRegistry: (results: IAzureContainerResults | undefined) => ISharedStateRegistryResponse;
|
|
31
|
-
//# sourceMappingURL=useSharedStateRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedStateRegistry.d.ts","sourceRoot":"","sources":["../../src/internal-hooks/useSharedStateRegistry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAE5B,8BAA8B,EAC9B,uBAAuB,EAC1B,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,4BAA4B,EAAE,4BAA4B,CAAC;IAC3D;;OAEG;IACH,8BAA8B,EAAE,8BAA8B,CAAC;IAC/D;;OAEG;IACH,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C;;OAEG;IACH,iBAAiB,EAAE,uBAAuB,CAAC;CAC9C;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,YACtB,sBAAsB,GAAG,SAAS,KAC5C,4BAwHF,CAAC"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the Microsoft Live Share SDK License.
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
/**
|
|
7
|
-
* Hook used internally to keep track of the SharedSetStateActionMap for each unique key. It sets state values for provided keys and updates components listening to the values.
|
|
8
|
-
*
|
|
9
|
-
* @param results IAzureContainerResults response or undefined
|
|
10
|
-
* @returns ISharedStateRegistryResponse object
|
|
11
|
-
*/
|
|
12
|
-
export const useSharedStateRegistry = (results) => {
|
|
13
|
-
const registeredSharedSetStateActionMapRef = React.useRef(new Map());
|
|
14
|
-
/**
|
|
15
|
-
* @see ISharedStateRegistryResponse.registerSharedSetStateAction
|
|
16
|
-
*/
|
|
17
|
-
const registerSharedSetStateAction = React.useCallback((uniqueKey, componentId, setLocalStateAction) => {
|
|
18
|
-
let actionsMap = registeredSharedSetStateActionMapRef.current.get(uniqueKey);
|
|
19
|
-
if (actionsMap) {
|
|
20
|
-
if (!actionsMap.has(componentId)) {
|
|
21
|
-
actionsMap.set(componentId, setLocalStateAction);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
actionsMap = new Map();
|
|
26
|
-
actionsMap.set(componentId, setLocalStateAction);
|
|
27
|
-
registeredSharedSetStateActionMapRef.current.set(uniqueKey, actionsMap);
|
|
28
|
-
}
|
|
29
|
-
// Set initial values, if known
|
|
30
|
-
const stateMap = results === null || results === void 0 ? void 0 : results.container.initialObjects.TURBO_STATE_MAP;
|
|
31
|
-
const initialValue = stateMap === null || stateMap === void 0 ? void 0 : stateMap.get(uniqueKey);
|
|
32
|
-
if (initialValue) {
|
|
33
|
-
setLocalStateAction(initialValue);
|
|
34
|
-
}
|
|
35
|
-
}, [results]);
|
|
36
|
-
/**
|
|
37
|
-
* @see ISharedStateRegistryResponse.unregisterSharedSetStateAction
|
|
38
|
-
*/
|
|
39
|
-
const unregisterSharedSetStateAction = React.useCallback((uniqueKey, componentId) => {
|
|
40
|
-
let actionsMap = registeredSharedSetStateActionMapRef.current.get(uniqueKey);
|
|
41
|
-
if (actionsMap === null || actionsMap === void 0 ? void 0 : actionsMap.has(componentId)) {
|
|
42
|
-
actionsMap.delete(componentId);
|
|
43
|
-
}
|
|
44
|
-
}, []);
|
|
45
|
-
/**
|
|
46
|
-
* @see ISharedStateRegistryResponse.updateSharedState
|
|
47
|
-
*/
|
|
48
|
-
const updateSharedState = React.useCallback((uniqueKey, value) => {
|
|
49
|
-
if (!results)
|
|
50
|
-
return;
|
|
51
|
-
const { container } = results;
|
|
52
|
-
const stateMap = container.initialObjects
|
|
53
|
-
.TURBO_STATE_MAP;
|
|
54
|
-
stateMap.set(uniqueKey, value);
|
|
55
|
-
}, [results]);
|
|
56
|
-
/**
|
|
57
|
-
* @see ISharedStateRegistryResponse.deleteSharedState
|
|
58
|
-
*/
|
|
59
|
-
const deleteSharedState = React.useCallback((uniqueKey) => {
|
|
60
|
-
if (!results)
|
|
61
|
-
return;
|
|
62
|
-
const { container } = results;
|
|
63
|
-
let actionsMap = registeredSharedSetStateActionMapRef.current.get(uniqueKey);
|
|
64
|
-
actionsMap === null || actionsMap === void 0 ? void 0 : actionsMap.clear();
|
|
65
|
-
const stateMap = container.initialObjects
|
|
66
|
-
.TURBO_STATE_MAP;
|
|
67
|
-
stateMap.delete(uniqueKey);
|
|
68
|
-
}, [results]);
|
|
69
|
-
React.useEffect(() => {
|
|
70
|
-
if (!results)
|
|
71
|
-
return;
|
|
72
|
-
const { container } = results;
|
|
73
|
-
const stateMap = container.initialObjects.TURBO_STATE_MAP;
|
|
74
|
-
const valueChangedListener = (changed) => {
|
|
75
|
-
if (registeredSharedSetStateActionMapRef.current.has(changed.key)) {
|
|
76
|
-
const value = stateMap.get(changed.key);
|
|
77
|
-
const actionMap = registeredSharedSetStateActionMapRef.current.get(changed.key);
|
|
78
|
-
actionMap === null || actionMap === void 0 ? void 0 : actionMap.forEach((setLocalStateHandler) => {
|
|
79
|
-
setLocalStateHandler(value);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
stateMap.on("valueChanged", valueChangedListener);
|
|
84
|
-
// Set initial values
|
|
85
|
-
stateMap.forEach((value, key) => {
|
|
86
|
-
const actionMap = registeredSharedSetStateActionMapRef.current.get(key);
|
|
87
|
-
actionMap === null || actionMap === void 0 ? void 0 : actionMap.forEach((setLocalStateHandler) => {
|
|
88
|
-
setLocalStateHandler(value);
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
return () => {
|
|
92
|
-
stateMap.off("valueChanged", valueChangedListener);
|
|
93
|
-
};
|
|
94
|
-
}, [results]);
|
|
95
|
-
return {
|
|
96
|
-
registerSharedSetStateAction,
|
|
97
|
-
unregisterSharedSetStateAction,
|
|
98
|
-
updateSharedState,
|
|
99
|
-
deleteSharedState,
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=useSharedStateRegistry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedStateRegistry.js","sourceRoot":"","sources":["../../src/internal-hooks/useSharedStateRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { MutableRefObject } from "react";
|
|
6
|
-
export declare function useStateRef<T>(initialValue: T): [T, MutableRefObject<T>, (value: T) => void];
|
|
7
|
-
//# sourceMappingURL=useStateRef.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStateRef.d.ts","sourceRoot":"","sources":["../../src/internal-hooks/useStateRef.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAiC,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAExE,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAa5F"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { useState, useRef, useCallback } from "react";
|
|
6
|
-
export function useStateRef(initialValue) {
|
|
7
|
-
const reference = useRef(initialValue);
|
|
8
|
-
const [state, setState] = useState(reference.current);
|
|
9
|
-
const setValue = useCallback((value) => {
|
|
10
|
-
reference.current = value;
|
|
11
|
-
setState(reference.current);
|
|
12
|
-
}, [reference, setState]);
|
|
13
|
-
return [state, reference, setValue];
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=useStateRef.js.map
|