@microsoft/live-share-react 1.0.0-preview.22 → 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.
Files changed (173) hide show
  1. package/README.md +7 -10
  2. package/bin/interfaces/LiveInterfaceExtensions.d.ts +17 -0
  3. package/bin/interfaces/LiveInterfaceExtensions.d.ts.map +1 -1
  4. package/bin/internal/errors.d.ts +26 -0
  5. package/bin/internal/errors.d.ts.map +1 -0
  6. package/bin/internal/errors.js +39 -0
  7. package/bin/internal/errors.js.map +1 -0
  8. package/bin/internal/index.d.ts +4 -0
  9. package/bin/internal/index.d.ts.map +1 -0
  10. package/bin/internal/index.js +4 -0
  11. package/bin/internal/index.js.map +1 -0
  12. package/bin/internal/type-guards.d.ts +6 -0
  13. package/bin/internal/type-guards.d.ts.map +1 -0
  14. package/bin/internal/type-guards.js +8 -0
  15. package/bin/internal/type-guards.js.map +1 -0
  16. package/bin/internal/useSharedStateRegistry.d.ts.map +1 -0
  17. package/bin/internal/useSharedStateRegistry.js.map +1 -0
  18. package/bin/live-hooks/useLiveEvent.d.ts.map +1 -1
  19. package/bin/live-hooks/useLiveEvent.js +12 -4
  20. package/bin/live-hooks/useLiveEvent.js.map +1 -1
  21. package/bin/live-hooks/useLivePresence.d.ts +2 -2
  22. package/bin/live-hooks/useLivePresence.d.ts.map +1 -1
  23. package/bin/live-hooks/useLivePresence.js +19 -14
  24. package/bin/live-hooks/useLivePresence.js.map +1 -1
  25. package/bin/live-hooks/useLiveState.d.ts +2 -2
  26. package/bin/live-hooks/useLiveState.d.ts.map +1 -1
  27. package/bin/live-hooks/useLiveState.js +15 -8
  28. package/bin/live-hooks/useLiveState.js.map +1 -1
  29. package/bin/live-hooks/useLiveTimer.d.ts.map +1 -1
  30. package/bin/live-hooks/useLiveTimer.js +21 -15
  31. package/bin/live-hooks/useLiveTimer.js.map +1 -1
  32. package/bin/live-hooks/useMediaSynchronizer.d.ts.map +1 -1
  33. package/bin/live-hooks/useMediaSynchronizer.js +31 -12
  34. package/bin/live-hooks/useMediaSynchronizer.js.map +1 -1
  35. package/bin/providers/AzureProvider.d.ts +1 -1
  36. package/bin/providers/AzureProvider.d.ts.map +1 -1
  37. package/bin/providers/AzureProvider.js +1 -1
  38. package/bin/providers/AzureProvider.js.map +1 -1
  39. package/bin/providers/LiveShareProvider.js +1 -1
  40. package/bin/providers/LiveShareProvider.js.map +1 -1
  41. package/bin/shared-hooks/useSharedMap.d.ts.map +1 -1
  42. package/bin/shared-hooks/useSharedMap.js +15 -8
  43. package/bin/shared-hooks/useSharedMap.js.map +1 -1
  44. package/bin/shared-hooks/useSharedState.d.ts.map +1 -1
  45. package/bin/shared-hooks/useSharedState.js +9 -3
  46. package/bin/shared-hooks/useSharedState.js.map +1 -1
  47. package/bin/types/ActionTypes.d.ts +8 -2
  48. package/bin/types/ActionTypes.d.ts.map +1 -1
  49. package/package.json +9 -9
  50. package/src/interfaces/LiveInterfaceExtensions.ts +17 -0
  51. package/src/internal/errors.ts +48 -0
  52. package/src/internal/index.ts +3 -0
  53. package/src/internal/type-guards.ts +9 -0
  54. package/src/live-hooks/useLiveEvent.ts +29 -6
  55. package/src/live-hooks/useLivePresence.ts +33 -21
  56. package/src/live-hooks/useLiveState.ts +31 -17
  57. package/src/live-hooks/useLiveTimer.ts +32 -26
  58. package/src/live-hooks/useMediaSynchronizer.ts +60 -8
  59. package/src/providers/AzureProvider.tsx +1 -1
  60. package/src/providers/LiveShareProvider.tsx +1 -1
  61. package/src/shared-hooks/useSharedMap.ts +29 -10
  62. package/src/shared-hooks/useSharedState.ts +9 -3
  63. package/src/types/ActionTypes.ts +10 -2
  64. package/bin/internal-hooks/index.d.ts +0 -2
  65. package/bin/internal-hooks/index.d.ts.map +0 -1
  66. package/bin/internal-hooks/index.js +0 -2
  67. package/bin/internal-hooks/index.js.map +0 -1
  68. package/bin/internal-hooks/useDynamicDDSRegistry.d.ts +0 -14
  69. package/bin/internal-hooks/useDynamicDDSRegistry.d.ts.map +0 -1
  70. package/bin/internal-hooks/useDynamicDDSRegistry.js +0 -142
  71. package/bin/internal-hooks/useDynamicDDSRegistry.js.map +0 -1
  72. package/bin/internal-hooks/useSharedStateRegistry.d.ts.map +0 -1
  73. package/bin/internal-hooks/useSharedStateRegistry.js.map +0 -1
  74. package/bin/internal-hooks/useStateRef.d.ts +0 -7
  75. package/bin/internal-hooks/useStateRef.d.ts.map +0 -1
  76. package/bin/internal-hooks/useStateRef.js +0 -15
  77. package/bin/internal-hooks/useStateRef.js.map +0 -1
  78. package/bin/live-hooks/useLiveAICompletion.d.ts +0 -29
  79. package/bin/live-hooks/useLiveAICompletion.d.ts.map +0 -1
  80. package/bin/live-hooks/useLiveAICompletion.js +0 -186
  81. package/bin/live-hooks/useLiveAICompletion.js.map +0 -1
  82. package/bin/live-hooks/useLiveCoPilot.d.ts +0 -28
  83. package/bin/live-hooks/useLiveCoPilot.d.ts.map +0 -1
  84. package/bin/live-hooks/useLiveCoPilot.js +0 -178
  85. package/bin/live-hooks/useLiveCoPilot.js.map +0 -1
  86. package/bin/live-share-turbo/AzureTurboClient.d.ts +0 -39
  87. package/bin/live-share-turbo/AzureTurboClient.d.ts.map +0 -1
  88. package/bin/live-share-turbo/AzureTurboClient.js +0 -56
  89. package/bin/live-share-turbo/AzureTurboClient.js.map +0 -1
  90. package/bin/live-share-turbo/LiveShareTurboClient.d.ts +0 -53
  91. package/bin/live-share-turbo/LiveShareTurboClient.d.ts.map +0 -1
  92. package/bin/live-share-turbo/LiveShareTurboClient.js +0 -69
  93. package/bin/live-share-turbo/LiveShareTurboClient.js.map +0 -1
  94. package/bin/live-share-turbo/dds-objects/TurboDataObject.d.ts +0 -31
  95. package/bin/live-share-turbo/dds-objects/TurboDataObject.d.ts.map +0 -1
  96. package/bin/live-share-turbo/dds-objects/TurboDataObject.js +0 -75
  97. package/bin/live-share-turbo/dds-objects/TurboDataObject.js.map +0 -1
  98. package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.d.ts +0 -48
  99. package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.d.ts.map +0 -1
  100. package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.js +0 -104
  101. package/bin/live-share-turbo/dds-objects/TurboLiveCanvas.js.map +0 -1
  102. package/bin/live-share-turbo/dds-objects/TurboLiveEvent.d.ts +0 -28
  103. package/bin/live-share-turbo/dds-objects/TurboLiveEvent.d.ts.map +0 -1
  104. package/bin/live-share-turbo/dds-objects/TurboLiveEvent.js +0 -68
  105. package/bin/live-share-turbo/dds-objects/TurboLiveEvent.js.map +0 -1
  106. package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.d.ts +0 -60
  107. package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.d.ts.map +0 -1
  108. package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.js +0 -111
  109. package/bin/live-share-turbo/dds-objects/TurboLiveMediaSession.js.map +0 -1
  110. package/bin/live-share-turbo/dds-objects/TurboLivePresence.d.ts +0 -77
  111. package/bin/live-share-turbo/dds-objects/TurboLivePresence.d.ts.map +0 -1
  112. package/bin/live-share-turbo/dds-objects/TurboLivePresence.js +0 -137
  113. package/bin/live-share-turbo/dds-objects/TurboLivePresence.js.map +0 -1
  114. package/bin/live-share-turbo/dds-objects/TurboLiveState.d.ts +0 -30
  115. package/bin/live-share-turbo/dds-objects/TurboLiveState.d.ts.map +0 -1
  116. package/bin/live-share-turbo/dds-objects/TurboLiveState.js +0 -74
  117. package/bin/live-share-turbo/dds-objects/TurboLiveState.js.map +0 -1
  118. package/bin/live-share-turbo/dds-objects/TurboSharedMap.d.ts +0 -61
  119. package/bin/live-share-turbo/dds-objects/TurboSharedMap.d.ts.map +0 -1
  120. package/bin/live-share-turbo/dds-objects/TurboSharedMap.js +0 -108
  121. package/bin/live-share-turbo/dds-objects/TurboSharedMap.js.map +0 -1
  122. package/bin/live-share-turbo/dds-objects/index.d.ts +0 -8
  123. package/bin/live-share-turbo/dds-objects/index.d.ts.map +0 -1
  124. package/bin/live-share-turbo/dds-objects/index.js +0 -8
  125. package/bin/live-share-turbo/dds-objects/index.js.map +0 -1
  126. package/bin/live-share-turbo/index.d.ts +0 -5
  127. package/bin/live-share-turbo/index.d.ts.map +0 -1
  128. package/bin/live-share-turbo/index.js +0 -5
  129. package/bin/live-share-turbo/index.js.map +0 -1
  130. package/bin/live-share-turbo/interfaces/IFluidTurboClient.d.ts +0 -15
  131. package/bin/live-share-turbo/interfaces/IFluidTurboClient.d.ts.map +0 -1
  132. package/bin/live-share-turbo/interfaces/IFluidTurboClient.js +0 -2
  133. package/bin/live-share-turbo/interfaces/IFluidTurboClient.js.map +0 -1
  134. package/bin/live-share-turbo/interfaces/index.d.ts +0 -3
  135. package/bin/live-share-turbo/interfaces/index.d.ts.map +0 -1
  136. package/bin/live-share-turbo/interfaces/index.js +0 -3
  137. package/bin/live-share-turbo/interfaces/index.js.map +0 -1
  138. package/bin/live-share-turbo/internals/FluidTurboClient.d.ts +0 -39
  139. package/bin/live-share-turbo/internals/FluidTurboClient.d.ts.map +0 -1
  140. package/bin/live-share-turbo/internals/FluidTurboClient.js +0 -121
  141. package/bin/live-share-turbo/internals/FluidTurboClient.js.map +0 -1
  142. package/bin/live-share-turbo/internals/index.d.ts +0 -2
  143. package/bin/live-share-turbo/internals/index.d.ts.map +0 -1
  144. package/bin/live-share-turbo/internals/index.js +0 -2
  145. package/bin/live-share-turbo/internals/index.js.map +0 -1
  146. package/bin/live-share-turbo/internals/types.d.ts +0 -4
  147. package/bin/live-share-turbo/internals/types.d.ts.map +0 -1
  148. package/bin/live-share-turbo/internals/types.js +0 -2
  149. package/bin/live-share-turbo/internals/types.js.map +0 -1
  150. package/bin/providers/FluidContextProvider.d.ts +0 -34
  151. package/bin/providers/FluidContextProvider.d.ts.map +0 -1
  152. package/bin/providers/FluidContextProvider.js +0 -99
  153. package/bin/providers/FluidContextProvider.js.map +0 -1
  154. package/bin/providers/LiveShareContextProvider.d.ts +0 -42
  155. package/bin/providers/LiveShareContextProvider.d.ts.map +0 -1
  156. package/bin/providers/LiveShareContextProvider.js +0 -63
  157. package/bin/providers/LiveShareContextProvider.js.map +0 -1
  158. package/bin/shared-hooks/useLockedTask.d.ts +0 -11
  159. package/bin/shared-hooks/useLockedTask.d.ts.map +0 -1
  160. package/bin/shared-hooks/useLockedTask.js +0 -82
  161. package/bin/shared-hooks/useLockedTask.js.map +0 -1
  162. package/bin/shared-hooks/useTaskManager.d.ts +0 -13
  163. package/bin/shared-hooks/useTaskManager.d.ts.map +0 -1
  164. package/bin/shared-hooks/useTaskManager.js +0 -86
  165. package/bin/shared-hooks/useTaskManager.js.map +0 -1
  166. package/bin/utils/getContainerSchema.d.ts +0 -8
  167. package/bin/utils/getContainerSchema.d.ts.map +0 -1
  168. package/bin/utils/getContainerSchema.js +0 -41
  169. package/bin/utils/getContainerSchema.js.map +0 -1
  170. package/src/internal-hooks/index.ts +0 -1
  171. /package/bin/{internal-hooks → internal}/useSharedStateRegistry.d.ts +0 -0
  172. /package/bin/{internal-hooks → internal}/useSharedStateRegistry.js +0 -0
  173. /package/src/{internal-hooks → internal}/useSharedStateRegistry.ts +0 -0
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 lerna to hoist and build all dependencies.
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-preview.22 | ^2.11.0 | ^1.2.3 | 1.0.0-preview.22 (optional) | ^1.0.0 (optional) | ^2.5.0 (optional) | ^2.5.0 (optional) |
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. 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).
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](../../LICENSE) License.
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;CAClB"}
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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ declare class UseLiveDataObjectActionError extends Error {
5
+ constructor(ddsName: string, functionName: string, message: string);
6
+ }
7
+ /**
8
+ * @hidden
9
+ */
10
+ export declare class ActionContainerNotJoinedError extends UseLiveDataObjectActionError {
11
+ constructor(ddsName: string, functionName: string);
12
+ }
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare class ActionLiveDataObjectUndefinedError extends UseLiveDataObjectActionError {
17
+ constructor(ddsName: string, functionName: string);
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ export declare class ActionLiveDataObjectInitializedError extends UseLiveDataObjectActionError {
23
+ constructor(ddsName: string, functionName: string);
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAM,4BAA6B,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKrE;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,4BAA4B;gBAC/D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAGpD;AAED;;GAEG;AACH,qBAAa,kCAAmC,SAAQ,4BAA4B;gBACpE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAOpD;AAED;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,4BAA4B;gBACtE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAGpD"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ class UseLiveDataObjectActionError extends Error {
5
+ constructor(ddsName, functionName, message) {
6
+ super(`use${toFirstLetterUppercase(ddsName)} ${functionName}: ${message}`);
7
+ }
8
+ }
9
+ /**
10
+ * @hidden
11
+ */
12
+ export class ActionContainerNotJoinedError extends UseLiveDataObjectActionError {
13
+ constructor(ddsName, functionName) {
14
+ super(ddsName, functionName, "container has not yet been joined");
15
+ }
16
+ }
17
+ /**
18
+ * @hidden
19
+ */
20
+ export class ActionLiveDataObjectUndefinedError extends UseLiveDataObjectActionError {
21
+ constructor(ddsName, functionName) {
22
+ super(ddsName, functionName, `${ddsName} is undefined, which means it is still being dynamically created`);
23
+ }
24
+ }
25
+ /**
26
+ * @hidden
27
+ */
28
+ export class ActionLiveDataObjectInitializedError extends UseLiveDataObjectActionError {
29
+ constructor(ddsName, functionName) {
30
+ super(ddsName, functionName, `${ddsName} is not initialized`);
31
+ }
32
+ }
33
+ /**
34
+ * @hidden
35
+ */
36
+ function toFirstLetterUppercase(word) {
37
+ return word[0].toUpperCase() + word.substring(1);
38
+ }
39
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,4BAA6B,SAAQ,KAAK;IAC5C,YAAY,OAAe,EAAE,YAAoB,EAAE,OAAe;QAC9D,KAAK,CACD,MAAM,sBAAsB,CAAC,OAAO,CAAC,IAAI,YAAY,KAAK,OAAO,EAAE,CACtE,CAAC;IACN,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,4BAA4B;IAC3E,YAAY,OAAe,EAAE,YAAoB;QAC7C,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,mCAAmC,CAAC,CAAC;IACtE,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,kCAAmC,SAAQ,4BAA4B;IAChF,YAAY,OAAe,EAAE,YAAoB;QAC7C,KAAK,CACD,OAAO,EACP,YAAY,EACZ,GAAG,OAAO,kEAAkE,CAC/E,CAAC;IACN,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,oCAAqC,SAAQ,4BAA4B;IAClF,YAAY,OAAe,EAAE,YAAoB;QAC7C,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,qBAAqB,CAAC,CAAC;IAClE,CAAC;CACJ;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./useSharedStateRegistry";
2
+ export * from "./errors";
3
+ export * from "./type-guards";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./useSharedStateRegistry";
2
+ export * from "./errors";
3
+ export * from "./type-guards";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @hidden
3
+ * Used for useLiveState and useSharedState for checking if a value is a prevState callback
4
+ */
5
+ export declare function isPrevStateCallback<TState>(value: any): value is (value: TState) => TState;
6
+ //# sourceMappingURL=type-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/internal/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EACtC,KAAK,EAAE,GAAG,GACX,KAAK,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAEpC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @hidden
3
+ * Used for useLiveState and useSharedState for checking if a value is a prevState callback
4
+ */
5
+ export function isPrevStateCallback(value) {
6
+ return typeof value === "function";
7
+ }
8
+ //# sourceMappingURL=type-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/internal/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAU;IAEV,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACvC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedStateRegistry.d.ts","sourceRoot":"","sources":["../../src/internal/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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedStateRegistry.js","sourceRoot":"","sources":["../../src/internal/useSharedStateRegistry.ts"],"names":[],"mappings":"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"}
@@ -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;AAIlB;;;;;;;;;;;;;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,CA2E9B"}
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"}
@@ -14,6 +14,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  import { LiveEventEvents, LiveEvent, } from "@microsoft/live-share";
15
15
  import React from "react";
16
16
  import { useDynamicDDS } from "../shared-hooks";
17
+ import { ActionContainerNotJoinedError, ActionLiveDataObjectInitializedError, ActionLiveDataObjectUndefinedError, } from "../internal";
18
+ import { useFluidObjectsContext } from "../providers";
17
19
  /**
18
20
  * React hook for using a Live Share `LiveEvent`.
19
21
  *
@@ -42,18 +44,22 @@ export function useLiveEvent(uniqueKey, allowedRoles, onReceivedEvent) {
42
44
  * User facing: dynamically load the DDS for the given unique key.
43
45
  */
44
46
  const { dds: liveEvent } = useDynamicDDS(uniqueKey, (LiveEvent));
47
+ const { container } = useFluidObjectsContext();
45
48
  /**
46
49
  * User facing: callback to send event through `LiveEvent`
47
50
  */
48
51
  const sendEvent = React.useCallback((event) => __awaiter(this, void 0, void 0, function* () {
52
+ if (!container) {
53
+ throw new ActionContainerNotJoinedError("liveEvent", "sendEvent");
54
+ }
49
55
  if (liveEvent === undefined) {
50
- throw new Error("Cannot call emitEvent when liveEvent is undefined");
56
+ throw new ActionLiveDataObjectUndefinedError("liveEvent", "sendEvent");
51
57
  }
52
58
  if (!liveEvent.isInitialized) {
53
- throw new Error("Cannot call emitEvent while liveEvent is not started");
59
+ throw new ActionLiveDataObjectInitializedError("liveEvent", "sendEvent");
54
60
  }
55
61
  return yield liveEvent.send(event);
56
- }), [liveEvent]);
62
+ }), [container, liveEvent]);
57
63
  /**
58
64
  * Setup change listeners and start `LiveEvent` if needed
59
65
  */
@@ -61,7 +67,7 @@ export function useLiveEvent(uniqueKey, allowedRoles, onReceivedEvent) {
61
67
  if ((liveEvent === null || liveEvent === void 0 ? void 0 : liveEvent.isInitialized) === undefined)
62
68
  return;
63
69
  // Register event listener
64
- const onEventReceived = (event, local) => {
70
+ const onEventReceived = (event, local, clientId, timestamp) => {
65
71
  // If developer passed the optional onReceivedEvent callback, we
66
72
  // call it.
67
73
  onReceivedEvent === null || onReceivedEvent === void 0 ? void 0 : onReceivedEvent(event, local);
@@ -69,6 +75,8 @@ export function useLiveEvent(uniqueKey, allowedRoles, onReceivedEvent) {
69
75
  const received = {
70
76
  value: event,
71
77
  local,
78
+ clientId,
79
+ timestamp,
72
80
  };
73
81
  allEventsRef.current = [...allEventsRef.current, received];
74
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;AAEhD;;;;;;;;;;;;;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;;OAEG;IACH,MAAM,SAAS,GAAgC,KAAK,CAAC,WAAW,CAC5D,CAAO,KAAa,EAAE,EAAE;QACpB,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;SACL;QACD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC1B,MAAM,IAAI,KAAK,CACX,sDAAsD,CACzD,CAAC;SACL;QACD,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAA,EACD,CAAC,SAAS,CAAC,CACd,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,CAAC,KAAa,EAAE,KAAc,EAAE,EAAE;YACtD,gEAAgE;YAChE,WAAW;YACX,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,4CAA4C;YAC5C,MAAM,QAAQ,GAA8B;gBACxC,KAAK,EAAE,KAAK;gBACZ,KAAK;aACR,CAAC;YACF,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3D,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC1B,mBAAmB;YACnB,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACtC;QAED,OAAO,GAAG,EAAE;YACR,qCAAqC;YACrC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO;QACH,WAAW;QACX,SAAS,EAAE,YAAY,CAAC,OAAO;QAC/B,SAAS;QACT,SAAS;KACZ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"useLiveEvent.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveEvent.ts"],"names":[],"mappings":"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"}
@@ -15,12 +15,12 @@ import { IUseLivePresenceResults } from "../types";
15
15
  * @template TData Optional typing for the custom user presence data object. Default is `object` type.
16
16
  * @param uniqueKey The unique key for `LivePresence`. If one does not yet exist, a new one
17
17
  * @param userId Optional. The unique ID for a user. If none is provided, a random UUID will be generated.
18
- * @param initialData Optional. Initial presence data object for the user.
18
+ * @param initialData Optional. Initial presence data object for the user. Can be value or a function to get the value.
19
19
  * @param initialPresenceState Optional. Initial status of the user's presence. Default is online.
20
20
  * @param allowedRoles Optional. the user roles that are allowed to mutate the synchronized state
21
21
  * will be created, otherwise it will use the existing one. Default value is ":<dds-default>"
22
22
  * @returns stateful `localUser`, `otherUsers` list, and `allUsers` list. Also returns a callback method
23
23
  * to update the local user's presence and the `LivePresence` Fluid object.
24
24
  */
25
- export declare function useLivePresence<TData extends object = object>(uniqueKey: string, initialData?: TData | undefined, initialPresenceState?: PresenceState, allowedRoles?: UserMeetingRole[]): IUseLivePresenceResults<TData>;
25
+ export declare function useLivePresence<TData extends object = object>(uniqueKey: string, initialData?: TData | (() => TData) | undefined, initialPresenceState?: PresenceState, allowedRoles?: UserMeetingRole[]): IUseLivePresenceResults<TData>;
26
26
  //# sourceMappingURL=useLivePresence.d.ts.map
@@ -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;AAG/E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACzD,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,KAAK,GAAG,SAAS,EAC/B,oBAAoB,GAAE,aAAoC,EAC1D,YAAY,CAAC,EAAE,eAAe,EAAE,GACjC,uBAAuB,CAAC,KAAK,CAAC,CA4FhC"}
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"}
@@ -14,6 +14,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  import { PresenceState, LivePresence, } from "@microsoft/live-share";
15
15
  import React from "react";
16
16
  import { useDynamicDDS } from "../shared-hooks";
17
+ import { useFluidObjectsContext } from "../providers";
18
+ import { ActionContainerNotJoinedError, ActionLiveDataObjectInitializedError, ActionLiveDataObjectUndefinedError, } from "../internal";
17
19
  /**
18
20
  * React hook for using a Live Share `LivePresence`.
19
21
  *
@@ -25,7 +27,7 @@ import { useDynamicDDS } from "../shared-hooks";
25
27
  * @template TData Optional typing for the custom user presence data object. Default is `object` type.
26
28
  * @param uniqueKey The unique key for `LivePresence`. If one does not yet exist, a new one
27
29
  * @param userId Optional. The unique ID for a user. If none is provided, a random UUID will be generated.
28
- * @param initialData Optional. Initial presence data object for the user.
30
+ * @param initialData Optional. Initial presence data object for the user. Can be value or a function to get the value.
29
31
  * @param initialPresenceState Optional. Initial status of the user's presence. Default is online.
30
32
  * @param allowedRoles Optional. the user roles that are allowed to mutate the synchronized state
31
33
  * will be created, otherwise it will use the existing one. Default value is ":<dds-default>"
@@ -44,29 +46,27 @@ export function useLivePresence(uniqueKey, initialData, initialPresenceState = P
44
46
  /**
45
47
  * User facing: list of non-local user's presence objects.
46
48
  */
47
- const otherUsers = React.useMemo(() => {
48
- return [...allUsers.filter((user) => !user.isLocalUser)];
49
- }, [allUsers]);
49
+ const otherUsers = allUsers.filter((user) => !user.isLocalUser);
50
50
  /**
51
51
  * User facing: local user's presence object.
52
52
  */
53
- const localUser = React.useMemo(() => {
54
- return allUsers.find((user) => user.isLocalUser);
55
- }, [allUsers]);
53
+ const localUser = allUsers.find((user) => user.isLocalUser);
54
+ const { container } = useFluidObjectsContext();
56
55
  /**
57
56
  * User facing: callback to update the local user's presence.
58
57
  */
59
58
  const updatePresence = React.useCallback((data, state) => __awaiter(this, void 0, void 0, function* () {
60
- if (!livePresence) {
61
- console.error(new Error("Cannot call updatePresence when presence is undefined"));
62
- return;
59
+ if (!container) {
60
+ throw new ActionContainerNotJoinedError("livePresence", "updatePresence");
61
+ }
62
+ if (livePresence === undefined) {
63
+ throw new ActionLiveDataObjectUndefinedError("livePresence", "updatePresence");
63
64
  }
64
65
  if (!livePresence.isInitialized) {
65
- console.error(new Error("Cannot call updatePresence while presence is not started"));
66
- return;
66
+ throw new ActionLiveDataObjectInitializedError("livePresence", "updatePresence");
67
67
  }
68
68
  return yield livePresence.update(data, state);
69
- }), [livePresence]);
69
+ }), [container, livePresence]);
70
70
  /**
71
71
  * Setup change listeners and start `LivePresence` if needed
72
72
  */
@@ -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(initialData, initialPresenceState, allowedRoles);
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":"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"}
1
+ {"version":3,"file":"useLivePresence.js","sourceRoot":"","sources":["../../src/live-hooks/useLivePresence.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- import { UserMeetingRole } from "@microsoft/live-share";
5
+ import { LiveState, UserMeetingRole } from "@microsoft/live-share";
6
6
  import { SetLiveStateAction } from "../types";
7
7
  /**
8
8
  * React hook for using a Live Share `LiveState`.
@@ -16,5 +16,5 @@ import { SetLiveStateAction } from "../types";
16
16
  * @returns ordered values: first value is the synchronized state value and the second is a setter to change the state value.
17
17
  * The setter returns a void promise, which will throw if the user does not have the required roles to set.
18
18
  */
19
- export declare function useLiveState<TState = any>(uniqueKey: string, initialState: TState, allowedRoles?: UserMeetingRole[]): [TState, SetLiveStateAction<TState>];
19
+ export declare function useLiveState<TState>(uniqueKey: string, initialState: TState, allowedRoles?: UserMeetingRole[]): [TState, SetLiveStateAction<TState>, LiveState<TState> | undefined];
20
20
  //# sourceMappingURL=useLiveState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveState.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLiveState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAG,GAAG,EACrC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,eAAe,EAAE,GACjC,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CA8DtC"}
1
+ {"version":3,"file":"useLiveState.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLiveState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAU9C;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAC/B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,eAAe,EAAE,GACjC,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAqErE"}
@@ -14,6 +14,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  import { LiveState } from "@microsoft/live-share";
15
15
  import React from "react";
16
16
  import { useDynamicDDS } from "../shared-hooks";
17
+ import { useFluidObjectsContext } from "../providers";
18
+ import { ActionContainerNotJoinedError, ActionLiveDataObjectInitializedError, ActionLiveDataObjectUndefinedError, isPrevStateCallback, } from "../internal";
17
19
  /**
18
20
  * React hook for using a Live Share `LiveState`.
19
21
  *
@@ -32,22 +34,27 @@ export function useLiveState(uniqueKey, initialState, allowedRoles) {
32
34
  * User facing: dynamically load the DDS for the given unique key.
33
35
  */
34
36
  const { dds: liveState } = useDynamicDDS(uniqueKey, (LiveState));
37
+ const { container } = useFluidObjectsContext();
35
38
  /**
36
39
  * Change state callback that is user facing
37
40
  * @param state TState to set
38
41
  * @returns void promise, which will throw if the user does not have the required roles
39
42
  */
40
43
  const setState = React.useCallback((state) => __awaiter(this, void 0, void 0, function* () {
41
- if (!liveState) {
42
- console.error(new Error("Cannot call changeState when liveState is undefined"));
43
- return;
44
+ if (!container) {
45
+ throw new ActionContainerNotJoinedError("liveState", "setState");
46
+ }
47
+ if (liveState === undefined) {
48
+ throw new ActionLiveDataObjectUndefinedError("liveState", "setState");
44
49
  }
45
50
  if (!liveState.isInitialized) {
46
- console.error(new Error("Cannot call changeState while liveState is not started"));
47
- return;
51
+ throw new ActionLiveDataObjectInitializedError("liveState", "setState");
48
52
  }
49
- return yield liveState.set(state);
50
- }), [liveState]);
53
+ const valueToSet = isPrevStateCallback(state)
54
+ ? state(liveState.state)
55
+ : state;
56
+ return yield liveState.set(valueToSet);
57
+ }), [container, liveState]);
51
58
  /**
52
59
  * Setup change listeners and start `LiveState` if needed
53
60
  */
@@ -68,6 +75,6 @@ export function useLiveState(uniqueKey, initialState, allowedRoles) {
68
75
  liveState === null || liveState === void 0 ? void 0 : liveState.off("stateChanged", onStateChanged);
69
76
  };
70
77
  }, [liveState]);
71
- return [currentState, setState];
78
+ return [currentState, setState, liveState];
72
79
  }
73
80
  //# sourceMappingURL=useLiveState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveState.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AAEH,OAAO,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CACxB,SAAiB,EACjB,YAAoB,EACpB,YAAgC;IAEhC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GACjC,KAAK,CAAC,QAAQ,CAAS,YAAY,CAAC,CAAC;IACzC;;OAEG;IACH,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,aAAa,CACpC,SAAS,EACT,CAAA,SAAiB,CAAA,CACpB,CAAC;IAEF;;;;OAIG;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAO,KAAa,EAAE,EAAE;QACpB,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,CAAC,KAAK,CACT,IAAI,KAAK,CACL,qDAAqD,CACxD,CACJ,CAAC;YACF,OAAO;SACV;QACD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC1B,OAAO,CAAC,KAAK,CACT,IAAI,KAAK,CACL,wDAAwD,CAC3D,CACJ,CAAC;YACF,OAAO;SACV;QACD,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAA,EACD,CAAC,SAAS,CAAC,CACd,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QAEpC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;YACrC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC1B,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SACpD;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YAClE,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,OAAO,GAAG,EAAE;YACR,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"useLiveState.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AAEH,OAAO,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAC;AACnE,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,EAClC,mBAAmB,GACtB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CACxB,SAAiB,EACjB,YAAoB,EACpB,YAAgC;IAEhC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GACjC,KAAK,CAAC,QAAQ,CAAS,YAAY,CAAC,CAAC;IACzC;;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;;;;OAIG;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAO,KAA+C,EAAE,EAAE;QACtD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,6BAA6B,CACnC,WAAW,EACX,UAAU,CACb,CAAC;SACL;QACD,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,MAAM,IAAI,kCAAkC,CACxC,WAAW,EACX,UAAU,CACb,CAAC;SACL;QACD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC1B,MAAM,IAAI,oCAAoC,CAC1C,WAAW,EACX,UAAU,CACb,CAAC;SACL;QACD,MAAM,UAAU,GAAG,mBAAmB,CAAS,KAAK,CAAC;YACjD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YACxB,CAAC,CAAC,KAAK,CAAC;QACZ,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAA,EACD,CAAC,SAAS,EAAE,SAAS,CAAC,CACzB,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QAEpC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;YACrC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAC1B,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SACpD;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YAClE,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,OAAO,GAAG,EAAE;YACR,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveTimer.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLiveTimer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGH,eAAe,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,oBAAoB,EAIpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,YAAY,CACxB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,eAAe,EAAE,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,qBAAqB,EAC/B,OAAO,CAAC,EAAE,qBAAqB,EAC/B,MAAM,CAAC,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,sBAAsB,GAClC,oBAAoB,CAwJtB"}
1
+ {"version":3,"file":"useLiveTimer.d.ts","sourceRoot":"","sources":["../../src/live-hooks/useLiveTimer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGH,eAAe,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,oBAAoB,EAIpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACpB,MAAM,UAAU,CAAC;AASlB,wBAAgB,YAAY,CACxB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,eAAe,EAAE,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,qBAAqB,EAC/B,OAAO,CAAC,EAAE,qBAAqB,EAC/B,MAAM,CAAC,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,sBAAsB,GAClC,oBAAoB,CAwJtB"}
@@ -14,6 +14,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  import { LiveTimerEvents, LiveTimer, } from "@microsoft/live-share";
15
15
  import React from "react";
16
16
  import { useDynamicDDS } from "../shared-hooks";
17
+ import { useFluidObjectsContext } from "../providers";
18
+ import { ActionContainerNotJoinedError, ActionLiveDataObjectInitializedError, ActionLiveDataObjectUndefinedError, } from "../internal";
17
19
  export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart, onPause, onPlay, onFinish) {
18
20
  /**
19
21
  * User facing: Stateful timer config.
@@ -27,52 +29,56 @@ export function useLiveTimer(uniqueKey, allowedRoles, tickRate, onTick, onStart,
27
29
  * User facing: dynamically load the DDS for the given unique key.
28
30
  */
29
31
  const { dds: liveTimer } = useDynamicDDS(uniqueKey, LiveTimer);
32
+ const { container } = useFluidObjectsContext();
30
33
  /**
31
34
  * Callback to send event through `LiveTimer`
32
35
  * @param duration the duration for the timer in milliseconds
33
36
  * @returns void promise that will throw when user does not have required roles
34
37
  */
35
38
  const start = React.useCallback((duration) => __awaiter(this, void 0, void 0, function* () {
39
+ if (!container) {
40
+ throw new ActionContainerNotJoinedError("liveTimer", "start");
41
+ }
36
42
  if (liveTimer === undefined) {
37
- console.error(new Error("Cannot call start when liveTimer is undefined"));
38
- return;
43
+ throw new ActionLiveDataObjectUndefinedError("liveTimer", "start");
39
44
  }
40
45
  if (!liveTimer.isInitialized) {
41
- console.error(new Error("Cannot call start while liveTimer is not started"));
42
- return;
46
+ throw new ActionLiveDataObjectInitializedError("liveTimer", "start");
43
47
  }
44
48
  return yield liveTimer.start(duration);
45
- }), [liveTimer]);
49
+ }), [container, liveTimer]);
46
50
  /**
47
51
  * Callback to send event through `LiveTimer`
48
52
  * @returns void promise that will throw when user does not have required roles
49
53
  */
50
54
  const play = React.useCallback(() => __awaiter(this, void 0, void 0, function* () {
55
+ if (!container) {
56
+ throw new ActionContainerNotJoinedError("liveTimer", "play");
57
+ }
51
58
  if (liveTimer === undefined) {
52
- console.error(new Error("Cannot call play when liveTimer is undefined"));
53
- return;
59
+ throw new ActionLiveDataObjectUndefinedError("liveTimer", "play");
54
60
  }
55
61
  if (!liveTimer.isInitialized) {
56
- console.error(new Error("Cannot call play while liveTimer is not started"));
57
- return;
62
+ throw new ActionLiveDataObjectInitializedError("liveTimer", "play");
58
63
  }
59
64
  return yield liveTimer.play();
60
- }), [liveTimer]);
65
+ }), [container, liveTimer]);
61
66
  /**
62
67
  * Callback to send event through `LiveTimer`
63
68
  * @returns void promise that will throw when user does not have required roles
64
69
  */
65
70
  const pause = React.useCallback(() => __awaiter(this, void 0, void 0, function* () {
71
+ if (!container) {
72
+ throw new ActionContainerNotJoinedError("liveTimer", "pause");
73
+ }
66
74
  if (liveTimer === undefined) {
67
- console.error(new Error("Cannot call pause when liveTimer is undefined"));
68
- return;
75
+ throw new ActionLiveDataObjectUndefinedError("liveTimer", "pause");
69
76
  }
70
77
  if (!liveTimer.isInitialized) {
71
- console.error(new Error("Cannot call pause while liveTimer is not started"));
72
- return;
78
+ throw new ActionLiveDataObjectInitializedError("liveTimer", "pause");
73
79
  }
74
80
  return yield liveTimer.pause();
75
- }), [liveTimer]);
81
+ }), [container, liveTimer]);
76
82
  /**
77
83
  * Setup change listeners and start `LiveTimer` if needed
78
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveTimer.js","sourceRoot":"","sources":["../../src/live-hooks/useLiveTimer.ts"],"names":[],"mappings":"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"}
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;AAExD;;;;;;;;;;;;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,CA2K9B"}
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"}