@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
@@ -15,6 +15,8 @@ import React from "react";
15
15
  import { LiveMediaSession, } from "@microsoft/live-share-media";
16
16
  import { isExtendedMediaMetadata, isMediaElement, isRefObject } from "../utils";
17
17
  import { useDynamicDDS } from "../shared-hooks";
18
+ import { useFluidObjectsContext } from "../providers";
19
+ import { ActionContainerNotJoinedError, ActionLiveDataObjectUndefinedError, } from "../internal";
18
20
  /**
19
21
  * React hook for using a Live Share media `MediaPlayerSynchronizer`.
20
22
  *
@@ -41,36 +43,53 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElementRef, initialTr
41
43
  * User facing: dynamically load the LiveMediaSession DDS for the given unique key.
42
44
  */
43
45
  const { dds: mediaSession } = useDynamicDDS(uniqueKey, LiveMediaSession);
46
+ const { container } = useFluidObjectsContext();
44
47
  /**
45
48
  * Play callback
46
49
  */
47
50
  const play = React.useCallback(() => __awaiter(this, void 0, void 0, function* () {
48
- if (!mediaSynchronizer)
49
- return;
51
+ if (!container) {
52
+ throw new ActionContainerNotJoinedError("mediaSynchronizer", "play");
53
+ }
54
+ if (mediaSynchronizer === undefined) {
55
+ throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "play");
56
+ }
50
57
  return yield mediaSynchronizer.play();
51
- }), [mediaSynchronizer]);
58
+ }), [container, mediaSynchronizer]);
52
59
  /**
53
60
  * Pause callback
54
61
  */
55
62
  const pause = React.useCallback(() => __awaiter(this, void 0, void 0, function* () {
56
- if (!mediaSynchronizer)
57
- return;
63
+ if (!container) {
64
+ throw new ActionContainerNotJoinedError("mediaSynchronizer", "pause");
65
+ }
66
+ if (mediaSynchronizer === undefined) {
67
+ throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "pause");
68
+ }
58
69
  return yield mediaSynchronizer.pause();
59
- }), [mediaSynchronizer]);
70
+ }), [container, mediaSynchronizer]);
60
71
  /**
61
72
  * User facing: seek callback
62
73
  */
63
74
  const seekTo = React.useCallback((time) => __awaiter(this, void 0, void 0, function* () {
64
- if (!mediaSynchronizer)
65
- return;
75
+ if (!container) {
76
+ throw new ActionContainerNotJoinedError("mediaSynchronizer", "seekTo");
77
+ }
78
+ if (mediaSynchronizer === undefined) {
79
+ throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "seekTo");
80
+ }
66
81
  return yield mediaSynchronizer.seekTo(time);
67
- }), [mediaSynchronizer]);
82
+ }), [container, mediaSynchronizer]);
68
83
  /**
69
84
  * User facing: set track callback
70
85
  */
71
86
  const setTrack = React.useCallback((track) => __awaiter(this, void 0, void 0, function* () {
72
- if (!mediaSynchronizer)
73
- return;
87
+ if (!container) {
88
+ throw new ActionContainerNotJoinedError("mediaSynchronizer", "setTrack");
89
+ }
90
+ if (mediaSynchronizer === undefined) {
91
+ throw new ActionLiveDataObjectUndefinedError("mediaSynchronizer", "setTrack");
92
+ }
74
93
  if (isExtendedMediaMetadata(track)) {
75
94
  return yield mediaSynchronizer.setTrack(track);
76
95
  }
@@ -79,7 +98,7 @@ export function useMediaSynchronizer(uniqueKey, mediaPlayerElementRef, initialTr
79
98
  trackIdentifier: track,
80
99
  });
81
100
  }
82
- }), [mediaSynchronizer]);
101
+ }), [container, mediaSynchronizer]);
83
102
  /**
84
103
  * User facing: create a new suspension and set it locally to state
85
104
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaSynchronizer.js","sourceRoot":"","sources":["../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMediaSynchronizer.js","sourceRoot":"","sources":["../../src/live-hooks/useMediaSynchronizer.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { IFluidContainer, LoadableObjectClassRecord } from "fluid-framework";
6
6
  import React from "react";
7
7
  import { AzureClientProps, AzureContainerServices } from "@fluidframework/azure-client";
8
8
  import { IAzureContainerResults } from "../types";
9
- import { ISharedStateRegistryResponse } from "../internal-hooks";
9
+ import { ISharedStateRegistryResponse } from "../internal";
10
10
  import { IFluidTurboClient } from "@microsoft/live-share-turbo";
11
11
  interface IFluidContext extends ISharedStateRegistryResponse {
12
12
  clientRef: React.MutableRefObject<IFluidTurboClient>;
@@ -1 +1 @@
1
- {"version":3,"file":"AzureProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACH,4BAA4B,EAE/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEH,iBAAiB,EACpB,MAAM,6BAA6B,CAAC;AAErC,UAAU,aAAc,SAAQ,4BAA4B;IACxD,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACrD,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,CACV,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,yBAAyB,KACzC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,eAAe,EAAE,CACb,cAAc,CAAC,EAAE,yBAAyB,EAC1C,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,KAC3D,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,8BAExB,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,aAGzC,CAAC;AAEF,UAAU,mBAAmB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkHvD,CAAC"}
1
+ {"version":3,"file":"AzureProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACH,4BAA4B,EAE/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEH,iBAAiB,EACpB,MAAM,6BAA6B,CAAC;AAErC,UAAU,aAAc,SAAQ,4BAA4B;IACxD,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACrD,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,CACV,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,yBAAyB,KACzC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,eAAe,EAAE,CACb,cAAc,CAAC,EAAE,yBAAyB,EAC1C,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,KAC3D,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,8BAExB,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,aAGzC,CAAC;AAEF,UAAU,mBAAmB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkHvD,CAAC"}
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import React from "react";
12
- import { useSharedStateRegistry, } from "../internal-hooks";
12
+ import { useSharedStateRegistry, } from "../internal";
13
13
  import { AzureTurboClient, } from "@microsoft/live-share-turbo";
14
14
  export const FluidContext = React.createContext({});
15
15
  export const useFluidObjectsContext = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"AzureProvider.js","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AzureProvider.js","sourceRoot":"","sources":["../../src/providers/AzureProvider.tsx"],"names":[],"mappings":";;;;;;;;;;AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAEH,sBAAsB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,gBAAgB,GAEnB,MAAM,6BAA6B,CAAC;AAiBrC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAC3C,EAAmB,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAkB,EAAE;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAWF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAkC,CAAC,KAAK,EAAE,EAAE;;IAClE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAU,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC1B,IAAI,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAC5C,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,EAEzC,CAAC;IACJ,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAqB,CAAC;IAEtE,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE/D;;OAEG;IACH,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAClC,CACI,WAAmB,EACnB,cAA0C,EACX,EAAE;QACjC,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI;gBACA,MAAM,OAAO,GACT,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,CAChC,WAAW,EACX,cAAc,CACjB,CAAC;gBACN,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,CAAC;aACpB;YAAC,OAAO,KAAU,EAAE;gBACjB,IAAI,KAAK,YAAY,KAAK,EAAE;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;iBACvB;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;QACL,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAA,EACD,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAClC,CAAC;IAEF;;OAEG;IACH,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACrC,CACI,cAA0C,EAC1C,qBAA4D,EAC7B,EAAE;QACjC,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI;gBACA,MAAM,OAAO,GACT,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBAC5D,IAAI,qBAAqB,EAAE;oBACvB,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;iBAC5C;gBACD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;gBACnC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,CAAC;aACpB;YAAC,OAAO,KAAU,EAAE;gBACjB,IAAI,KAAK,YAAY,KAAK,EAAE;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;iBACvB;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;QACL,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAA,EACD,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAClC,CAAC;IAEF;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACjB,wFAAwF;QACxF,mGAAmG;QACnG,gGAAgG;QAChG,IACI,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,eAAe,MAAK,SAAS;YACjD,UAAU,CAAC,OAAO;YAElB,OAAO;QACX,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE;YACvC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;SACzD;aAAM,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE;YACjD,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SACzC;IACL,CAAC,EAAE;QACC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,eAAe;QACnC,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,cAAc;QACpB,YAAY;QACZ,eAAe;KAClB,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,YAAY,CAAC,QAAQ,kBAClB,KAAK,kBACD,SAAS,EACT,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAC7B,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAC3B,SAAS;YACT,eAAe;YACf,YAAY,IACT,sBAAsB,iBAG5B,KAAK,CAAC,QAAQ,IACK,CAC3B,CAAC;AACN,CAAC,CAAC"}
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import React from "react";
12
- import { useSharedStateRegistry } from "../internal-hooks";
12
+ import { useSharedStateRegistry } from "../internal";
13
13
  import { FluidContext } from "./AzureProvider";
14
14
  import { LiveShareTurboClient } from "@microsoft/live-share-turbo";
15
15
  export const LiveShareContext = React.createContext({});
@@ -1 +1 @@
1
- {"version":3,"file":"LiveShareProvider.js","sourceRoot":"","sources":["../../src/providers/LiveShareProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiveShareProvider.js","sourceRoot":"","sources":["../../src/providers/LiveShareProvider.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSharedMap.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAItE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACtD,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,KAAK,CAAC,CAqF7B"}
1
+ {"version":3,"file":"useSharedMap.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAStE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACtD,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,KAAK,CAAC,CAmG7B"}
@@ -6,6 +6,8 @@ import React from "react";
6
6
  import { isEntries, isJSON, isMap } from "../utils";
7
7
  import { useDynamicDDS } from "./useDynamicDDS";
8
8
  import { SharedMap } from "fluid-framework";
9
+ import { useFluidObjectsContext } from "../providers";
10
+ import { ActionContainerNotJoinedError, ActionLiveDataObjectUndefinedError, } from "../internal";
9
11
  /**
10
12
  * React hook for using a Fluid `SharedMap`.
11
13
  *
@@ -39,26 +41,31 @@ export function useSharedMap(uniqueKey, initialData) {
39
41
  * User facing: dynamically load the SharedMap DDS for the given unique key.
40
42
  */
41
43
  const { dds: sharedMap } = useDynamicDDS(uniqueKey, SharedMap, onFirstInitialize);
44
+ const { container } = useFluidObjectsContext();
42
45
  /**
43
46
  * User facing: set a value to the Fluid `SharedMap`.
44
47
  */
45
48
  const setEntry = React.useCallback((key, value) => {
46
- if (!sharedMap) {
47
- console.error(new Error("Cannot call set when sharedMap is undefined"));
48
- return;
49
+ if (!container) {
50
+ throw new ActionContainerNotJoinedError("sharedMap", "setEntry");
51
+ }
52
+ if (sharedMap === undefined) {
53
+ throw new ActionLiveDataObjectUndefinedError("sharedMap", "setEntry");
49
54
  }
50
55
  sharedMap.set(key, value);
51
- }, [sharedMap]);
56
+ }, [container, sharedMap]);
52
57
  /**
53
58
  * User facing: delete a value from the Fluid `SharedMap`.
54
59
  */
55
60
  const deleteEntry = React.useCallback((key) => {
56
- if (!sharedMap) {
57
- console.error(new Error("Cannot call remove when sharedMap is undefined"));
58
- return;
61
+ if (!container) {
62
+ throw new ActionContainerNotJoinedError("sharedMap", "deleteEntry");
63
+ }
64
+ if (sharedMap === undefined) {
65
+ throw new ActionLiveDataObjectUndefinedError("sharedMap", "deleteEntry");
59
66
  }
60
67
  sharedMap.delete(key);
61
- }, [sharedMap]);
68
+ }, [container, sharedMap]);
62
69
  // Setup change listeners, initial values, etc.
63
70
  React.useEffect(() => {
64
71
  if (!sharedMap)
@@ -1 +1 @@
1
- {"version":3,"file":"useSharedMap.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSharedMap.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedMap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC5B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,GAChB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CA6DxD"}
1
+ {"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC5B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,GAChB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAkExD"}
@@ -5,6 +5,7 @@
5
5
  import React from "react";
6
6
  import { useFluidObjectsContext } from "../providers";
7
7
  import { v4 as uuid } from "uuid";
8
+ import { isPrevStateCallback } from "../internal";
8
9
  /**
9
10
  * Inspired by React's `useState` hook, `useSharedState` makes it easy to synchronize state in your app.
10
11
  *
@@ -35,9 +36,14 @@ export function useSharedState(uniqueKey, initialState) {
35
36
  /**
36
37
  * User facing: callback to change the shared state.
37
38
  */
38
- const setSharedState = React.useCallback((updatedState) => {
39
- setLocalState(updatedState);
40
- updateSharedState(uniqueKey, updatedState);
39
+ const setSharedState = React.useCallback((state) => {
40
+ setLocalState((prevState) => {
41
+ const valueToSet = isPrevStateCallback(state)
42
+ ? state(prevState)
43
+ : state;
44
+ updateSharedState(uniqueKey, valueToSet);
45
+ return valueToSet;
46
+ });
41
47
  }, [uniqueKey, setLocalState, updateSharedState]);
42
48
  /**
43
49
  * User facing: callback to dispose the shared state from the `stateMap`.
@@ -1 +1 @@
1
- {"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC1B,SAAiB,EACjB,YAAe;IAEf;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAI,YAAY,CAAC,CAAC;IACpE;;OAEG;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C;;OAEG;IACH,MAAM,EACF,4BAA4B,EAC5B,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,GACpB,GAAG,sBAAsB,EAAE,CAAC;IAE7B;;OAEG;IACH,MAAM,cAAc,GAA4B,KAAK,CAAC,WAAW,CAC7D,CAAC,YAAe,EAAE,EAAE;QAChB,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5B,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC,EACD,CAAC,SAAS,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAChD,CAAC;IAEF;;OAEG;IACH,MAAM,kBAAkB,GACpB,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnB,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvC;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,4BAA4B,CACxB,SAAS,EACT,cAAc,CAAC,OAAO,EACtB,aAAa,CAChB,CAAC;QACF,OAAO,GAAG,EAAE;YACR,8BAA8B,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC;IACN,CAAC,EAAE;QACC,SAAS;QACT,4BAA4B;QAC5B,8BAA8B;KACjC,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC1B,SAAiB,EACjB,YAAe;IAEf;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAI,YAAY,CAAC,CAAC;IACpE;;OAEG;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C;;OAEG;IACH,MAAM,EACF,4BAA4B,EAC5B,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,GACpB,GAAG,sBAAsB,EAAE,CAAC;IAE7B;;OAEG;IACH,MAAM,cAAc,GAA4B,KAAK,CAAC,WAAW,CAC7D,CAAC,KAAgC,EAAE,EAAE;QACjC,aAAa,CAAC,CAAC,SAAS,EAAE,EAAE;YACxB,MAAM,UAAU,GAAG,mBAAmB,CAAI,KAAK,CAAC;gBAC5C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAC;YACZ,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,SAAS,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAChD,CAAC;IAEF;;OAEG;IACH,MAAM,kBAAkB,GACpB,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnB,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvC;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,4BAA4B,CACxB,SAAS,EACT,cAAc,CAAC,OAAO,EACtB,aAAa,CAChB,CAAC;QACF,OAAO,GAAG,EAAE;YACR,8BAA8B,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC;IACN,CAAC,EAAE;QACC,SAAS;QACT,4BAA4B;QAC5B,8BAA8B;KACjC,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC5D,CAAC"}
@@ -6,7 +6,13 @@ import React from "react";
6
6
  import { IFluidLoadable } from "@fluidframework/core-interfaces";
7
7
  import { LoadableObjectClass } from "fluid-framework";
8
8
  import { ITimerConfig, ILiveEvent, PresenceState } from "@microsoft/live-share";
9
- export type SetSharedStateAction<T> = (state: T) => void;
9
+ /**
10
+ * Callback to set shared state
11
+ */
12
+ export type SetSharedStateAction<TState> = (state: TState | ((prevState: TState) => TState)) => void;
13
+ /**
14
+ * Callback to set local state
15
+ */
10
16
  export type SetLocalStateAction = React.Dispatch<React.SetStateAction<any>>;
11
17
  /**
12
18
  * Callback for UnregisterDDSSetStateAction.
@@ -47,7 +53,7 @@ export type DisposeSharedStateAction = () => void;
47
53
  * Callback for SetLiveStateAction<TState = undefined>.
48
54
  * (state: TState) => Promise<void>
49
55
  */
50
- export type SetLiveStateAction<TState = undefined> = (state: TState) => Promise<void>;
56
+ export type SetLiveStateAction<TState = undefined> = (state: TState | ((prevState: TState) => TState)) => Promise<void>;
51
57
  /**
52
58
  * Callback for SendLiveEventAction<TEvent>.
53
59
  * (event: TEvent) => Promise<void>
@@ -1 +1 @@
1
- {"version":3,"file":"ActionTypes.d.ts","sourceRoot":"","sources":["../../src/types/ActionTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionTypes.d.ts","sourceRoot":"","sources":["../../src/types/ActionTypes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/live-share-react",
3
- "version": "1.0.0-preview.22",
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.22",
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": "~1.0.3",
21
+ "@fluidframework/azure-client": "^1.1.1",
22
22
  "@fluidframework/test-client-utils": "^1.3.6",
23
- "@microsoft/live-share": "1.0.0-preview.22",
24
- "@microsoft/live-share-canvas": "1.0.0-preview.22",
25
- "@microsoft/live-share-media": "1.0.0-preview.22",
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-preview.22",
36
- "@microsoft/live-share-canvas": "1.0.0-preview.22",
37
- "@microsoft/live-share-media": "1.0.0-preview.22",
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
  }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ class UseLiveDataObjectActionError extends Error {
5
+ constructor(ddsName: string, functionName: string, message: string) {
6
+ super(
7
+ `use${toFirstLetterUppercase(ddsName)} ${functionName}: ${message}`
8
+ );
9
+ }
10
+ }
11
+
12
+ /**
13
+ * @hidden
14
+ */
15
+ export class ActionContainerNotJoinedError extends UseLiveDataObjectActionError {
16
+ constructor(ddsName: string, functionName: string) {
17
+ super(ddsName, functionName, "container has not yet been joined");
18
+ }
19
+ }
20
+
21
+ /**
22
+ * @hidden
23
+ */
24
+ export class ActionLiveDataObjectUndefinedError extends UseLiveDataObjectActionError {
25
+ constructor(ddsName: string, functionName: string) {
26
+ super(
27
+ ddsName,
28
+ functionName,
29
+ `${ddsName} is undefined, which means it is still being dynamically created`
30
+ );
31
+ }
32
+ }
33
+
34
+ /**
35
+ * @hidden
36
+ */
37
+ export class ActionLiveDataObjectInitializedError extends UseLiveDataObjectActionError {
38
+ constructor(ddsName: string, functionName: string) {
39
+ super(ddsName, functionName, `${ddsName} is not initialized`);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * @hidden
45
+ */
46
+ function toFirstLetterUppercase(word: string) {
47
+ return word[0].toUpperCase() + word.substring(1);
48
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./useSharedStateRegistry";
2
+ export * from "./errors";
3
+ export * from "./type-guards";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @hidden
3
+ * Used for useLiveState and useSharedState for checking if a value is a prevState callback
4
+ */
5
+ export function isPrevStateCallback<TState>(
6
+ value: any
7
+ ): value is (value: TState) => TState {
8
+ return typeof value === "function";
9
+ }
@@ -16,6 +16,12 @@ import {
16
16
  } from "../types";
17
17
  import { IReceiveLiveEvent } from "../interfaces";
18
18
  import { useDynamicDDS } from "../shared-hooks";
19
+ import {
20
+ ActionContainerNotJoinedError,
21
+ ActionLiveDataObjectInitializedError,
22
+ ActionLiveDataObjectUndefinedError,
23
+ } from "../internal";
24
+ import { useFluidObjectsContext } from "../providers";
19
25
 
20
26
  /**
21
27
  * React hook for using a Live Share `LiveEvent`.
@@ -54,24 +60,34 @@ export function useLiveEvent<TEvent = any>(
54
60
  LiveEvent<TEvent>
55
61
  );
56
62
 
63
+ const { container } = useFluidObjectsContext();
64
+
57
65
  /**
58
66
  * User facing: callback to send event through `LiveEvent`
59
67
  */
60
68
  const sendEvent: SendLiveEventAction<TEvent> = React.useCallback(
61
69
  async (event: TEvent) => {
70
+ if (!container) {
71
+ throw new ActionContainerNotJoinedError(
72
+ "liveEvent",
73
+ "sendEvent"
74
+ );
75
+ }
62
76
  if (liveEvent === undefined) {
63
- throw new Error(
64
- "Cannot call emitEvent when liveEvent is undefined"
77
+ throw new ActionLiveDataObjectUndefinedError(
78
+ "liveEvent",
79
+ "sendEvent"
65
80
  );
66
81
  }
67
82
  if (!liveEvent.isInitialized) {
68
- throw new Error(
69
- "Cannot call emitEvent while liveEvent is not started"
83
+ throw new ActionLiveDataObjectInitializedError(
84
+ "liveEvent",
85
+ "sendEvent"
70
86
  );
71
87
  }
72
88
  return await liveEvent.send(event);
73
89
  },
74
- [liveEvent]
90
+ [container, liveEvent]
75
91
  );
76
92
 
77
93
  /**
@@ -80,7 +96,12 @@ export function useLiveEvent<TEvent = any>(
80
96
  React.useEffect(() => {
81
97
  if (liveEvent?.isInitialized === undefined) return;
82
98
  // Register event listener
83
- const onEventReceived = (event: TEvent, local: boolean) => {
99
+ const onEventReceived = (
100
+ event: TEvent,
101
+ local: boolean,
102
+ clientId: string,
103
+ timestamp: number
104
+ ) => {
84
105
  // If developer passed the optional onReceivedEvent callback, we
85
106
  // call it.
86
107
  onReceivedEvent?.(event, local);
@@ -88,6 +109,8 @@ export function useLiveEvent<TEvent = any>(
88
109
  const received: IReceiveLiveEvent<TEvent> = {
89
110
  value: event,
90
111
  local,
112
+ clientId,
113
+ timestamp,
91
114
  };
92
115
  allEventsRef.current = [...allEventsRef.current, received];
93
116
  setLatestReceived(received);