@microsoft/live-share-react 1.4.0-preview.0 → 1.4.2-preview.0

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 (283) hide show
  1. package/bin/cjs/index.d.ts +7 -0
  2. package/bin/cjs/index.d.ts.map +1 -0
  3. package/bin/cjs/index.js +23 -0
  4. package/bin/cjs/index.js.map +1 -0
  5. package/bin/cjs/interfaces/LiveInterfaceExtensions.d.ts +26 -0
  6. package/bin/cjs/interfaces/LiveInterfaceExtensions.d.ts.map +1 -0
  7. package/bin/cjs/interfaces/LiveInterfaceExtensions.js +7 -0
  8. package/bin/cjs/interfaces/LiveInterfaceExtensions.js.map +1 -0
  9. package/bin/cjs/interfaces/index.d.ts +2 -0
  10. package/bin/cjs/interfaces/index.d.ts.map +1 -0
  11. package/bin/cjs/interfaces/index.js +18 -0
  12. package/bin/cjs/interfaces/index.js.map +1 -0
  13. package/bin/cjs/internal/errors.d.ts +41 -0
  14. package/bin/cjs/internal/errors.d.ts.map +1 -0
  15. package/bin/cjs/internal/errors.js +48 -0
  16. package/bin/cjs/internal/errors.js.map +1 -0
  17. package/bin/cjs/internal/index.d.ts +3 -0
  18. package/bin/cjs/internal/index.d.ts.map +1 -0
  19. package/bin/cjs/internal/index.js +19 -0
  20. package/bin/cjs/internal/index.js.map +1 -0
  21. package/bin/cjs/internal/type-guards.d.ts +11 -0
  22. package/bin/cjs/internal/type-guards.d.ts.map +1 -0
  23. package/bin/cjs/internal/type-guards.js +24 -0
  24. package/bin/cjs/internal/type-guards.js.map +1 -0
  25. package/bin/cjs/live-hooks/index.d.ts +8 -0
  26. package/bin/cjs/live-hooks/index.d.ts.map +1 -0
  27. package/bin/cjs/live-hooks/index.js +24 -0
  28. package/bin/cjs/live-hooks/index.js.map +1 -0
  29. package/bin/cjs/live-hooks/useLiveCanvas.d.ts +80 -0
  30. package/bin/cjs/live-hooks/useLiveCanvas.d.ts.map +1 -0
  31. package/bin/cjs/live-hooks/useLiveCanvas.js +244 -0
  32. package/bin/cjs/live-hooks/useLiveCanvas.js.map +1 -0
  33. package/bin/cjs/live-hooks/useLiveEvent.d.ts +59 -0
  34. package/bin/cjs/live-hooks/useLiveEvent.d.ts.map +1 -0
  35. package/bin/cjs/live-hooks/useLiveEvent.js +150 -0
  36. package/bin/cjs/live-hooks/useLiveEvent.js.map +1 -0
  37. package/bin/cjs/live-hooks/useLiveFollowMode.d.ts +163 -0
  38. package/bin/cjs/live-hooks/useLiveFollowMode.d.ts.map +1 -0
  39. package/bin/cjs/live-hooks/useLiveFollowMode.js +360 -0
  40. package/bin/cjs/live-hooks/useLiveFollowMode.js.map +1 -0
  41. package/bin/cjs/live-hooks/useLivePresence.d.ts +76 -0
  42. package/bin/cjs/live-hooks/useLivePresence.d.ts.map +1 -0
  43. package/bin/cjs/live-hooks/useLivePresence.js +170 -0
  44. package/bin/cjs/live-hooks/useLivePresence.js.map +1 -0
  45. package/bin/cjs/live-hooks/useLiveState.d.ts +66 -0
  46. package/bin/cjs/live-hooks/useLiveState.d.ts.map +1 -0
  47. package/bin/cjs/live-hooks/useLiveState.js +134 -0
  48. package/bin/cjs/live-hooks/useLiveState.js.map +1 -0
  49. package/bin/cjs/live-hooks/useLiveTimer.d.ts +80 -0
  50. package/bin/cjs/live-hooks/useLiveTimer.d.ts.map +1 -0
  51. package/bin/cjs/live-hooks/useLiveTimer.js +233 -0
  52. package/bin/cjs/live-hooks/useLiveTimer.js.map +1 -0
  53. package/bin/cjs/live-hooks/useMediaSynchronizer.d.ts +86 -0
  54. package/bin/cjs/live-hooks/useMediaSynchronizer.d.ts.map +1 -0
  55. package/bin/cjs/live-hooks/useMediaSynchronizer.js +301 -0
  56. package/bin/cjs/live-hooks/useMediaSynchronizer.js.map +1 -0
  57. package/bin/cjs/package.json +1 -0
  58. package/bin/cjs/providers/AzureProvider.d.ts +113 -0
  59. package/bin/cjs/providers/AzureProvider.d.ts.map +1 -0
  60. package/bin/cjs/providers/AzureProvider.js +127 -0
  61. package/bin/cjs/providers/AzureProvider.js.map +1 -0
  62. package/bin/cjs/providers/LiveShareProvider.d.ts +193 -0
  63. package/bin/cjs/providers/LiveShareProvider.d.ts.map +1 -0
  64. package/bin/cjs/providers/LiveShareProvider.js +205 -0
  65. package/bin/cjs/providers/LiveShareProvider.js.map +1 -0
  66. package/bin/cjs/providers/index.d.ts +3 -0
  67. package/bin/cjs/providers/index.d.ts.map +1 -0
  68. package/bin/cjs/providers/index.js +19 -0
  69. package/bin/cjs/providers/index.js.map +1 -0
  70. package/bin/cjs/shared-hooks/index.d.ts +7 -0
  71. package/bin/cjs/shared-hooks/index.d.ts.map +1 -0
  72. package/bin/cjs/shared-hooks/index.js +23 -0
  73. package/bin/cjs/shared-hooks/index.js.map +1 -0
  74. package/bin/cjs/shared-hooks/internals/tree-node-constants.d.ts +3 -0
  75. package/bin/cjs/shared-hooks/internals/tree-node-constants.d.ts.map +1 -0
  76. package/bin/cjs/shared-hooks/internals/tree-node-constants.js +6 -0
  77. package/bin/cjs/shared-hooks/internals/tree-node-constants.js.map +1 -0
  78. package/bin/cjs/shared-hooks/internals/tree-node-types.d.ts +10 -0
  79. package/bin/cjs/shared-hooks/internals/tree-node-types.d.ts.map +1 -0
  80. package/bin/cjs/shared-hooks/internals/tree-node-types.js +23 -0
  81. package/bin/cjs/shared-hooks/internals/tree-node-types.js.map +1 -0
  82. package/bin/cjs/shared-hooks/internals/tree-node-utils.d.ts +33 -0
  83. package/bin/cjs/shared-hooks/internals/tree-node-utils.d.ts.map +1 -0
  84. package/bin/cjs/shared-hooks/internals/tree-node-utils.js +193 -0
  85. package/bin/cjs/shared-hooks/internals/tree-node-utils.js.map +1 -0
  86. package/bin/cjs/shared-hooks/useDynamicDDS.d.ts +23 -0
  87. package/bin/cjs/shared-hooks/useDynamicDDS.d.ts.map +1 -0
  88. package/bin/cjs/shared-hooks/useDynamicDDS.js +87 -0
  89. package/bin/cjs/shared-hooks/useDynamicDDS.js.map +1 -0
  90. package/bin/cjs/shared-hooks/useSharedMap.d.ts +25 -0
  91. package/bin/cjs/shared-hooks/useSharedMap.d.ts.map +1 -0
  92. package/bin/cjs/shared-hooks/useSharedMap.js +134 -0
  93. package/bin/cjs/shared-hooks/useSharedMap.js.map +1 -0
  94. package/bin/cjs/shared-hooks/useSharedState.d.ts +22 -0
  95. package/bin/cjs/shared-hooks/useSharedState.d.ts.map +1 -0
  96. package/bin/cjs/shared-hooks/useSharedState.js +80 -0
  97. package/bin/cjs/shared-hooks/useSharedState.js.map +1 -0
  98. package/bin/cjs/shared-hooks/useSharedStateRegistry.d.ts +37 -0
  99. package/bin/cjs/shared-hooks/useSharedStateRegistry.d.ts.map +1 -0
  100. package/bin/cjs/shared-hooks/useSharedStateRegistry.js +120 -0
  101. package/bin/cjs/shared-hooks/useSharedStateRegistry.js.map +1 -0
  102. package/bin/cjs/shared-hooks/useSharedTree.d.ts +57 -0
  103. package/bin/cjs/shared-hooks/useSharedTree.d.ts.map +1 -0
  104. package/bin/cjs/shared-hooks/useSharedTree.js +123 -0
  105. package/bin/cjs/shared-hooks/useSharedTree.js.map +1 -0
  106. package/bin/cjs/shared-hooks/useTreeNode.d.ts +96 -0
  107. package/bin/cjs/shared-hooks/useTreeNode.d.ts.map +1 -0
  108. package/bin/cjs/shared-hooks/useTreeNode.js +135 -0
  109. package/bin/cjs/shared-hooks/useTreeNode.js.map +1 -0
  110. package/bin/cjs/types/ActionTypes.d.ts +112 -0
  111. package/bin/cjs/types/ActionTypes.d.ts.map +1 -0
  112. package/bin/cjs/types/ActionTypes.js +7 -0
  113. package/bin/cjs/types/ActionTypes.js.map +1 -0
  114. package/bin/cjs/types/PropTypes.d.ts +56 -0
  115. package/bin/cjs/types/PropTypes.d.ts.map +1 -0
  116. package/bin/cjs/types/PropTypes.js +7 -0
  117. package/bin/cjs/types/PropTypes.js.map +1 -0
  118. package/bin/cjs/types/ResultTypes.d.ts +334 -0
  119. package/bin/cjs/types/ResultTypes.d.ts.map +1 -0
  120. package/bin/cjs/types/ResultTypes.js +7 -0
  121. package/bin/cjs/types/ResultTypes.js.map +1 -0
  122. package/bin/cjs/types/index.d.ts +4 -0
  123. package/bin/cjs/types/index.d.ts.map +1 -0
  124. package/bin/cjs/types/index.js +20 -0
  125. package/bin/cjs/types/index.js.map +1 -0
  126. package/bin/cjs/utils/index.d.ts +2 -0
  127. package/bin/cjs/utils/index.d.ts.map +1 -0
  128. package/bin/cjs/utils/index.js +18 -0
  129. package/bin/cjs/utils/index.js.map +1 -0
  130. package/bin/cjs/utils/type-check.d.ts +15 -0
  131. package/bin/cjs/utils/type-check.d.ts.map +1 -0
  132. package/bin/cjs/utils/type-check.js +62 -0
  133. package/bin/cjs/utils/type-check.js.map +1 -0
  134. package/bin/esm/index.d.ts +7 -0
  135. package/bin/esm/index.d.ts.map +1 -0
  136. package/bin/esm/index.js +7 -0
  137. package/bin/esm/index.js.map +1 -0
  138. package/bin/esm/interfaces/LiveInterfaceExtensions.d.ts +26 -0
  139. package/bin/esm/interfaces/LiveInterfaceExtensions.d.ts.map +1 -0
  140. package/bin/esm/interfaces/LiveInterfaceExtensions.js +6 -0
  141. package/bin/esm/interfaces/LiveInterfaceExtensions.js.map +1 -0
  142. package/bin/esm/interfaces/index.d.ts +2 -0
  143. package/bin/esm/interfaces/index.d.ts.map +1 -0
  144. package/bin/esm/interfaces/index.js +2 -0
  145. package/bin/esm/interfaces/index.js.map +1 -0
  146. package/bin/esm/internal/errors.d.ts +41 -0
  147. package/bin/esm/internal/errors.d.ts.map +1 -0
  148. package/bin/esm/internal/errors.js +42 -0
  149. package/bin/esm/internal/errors.js.map +1 -0
  150. package/bin/esm/internal/index.d.ts +3 -0
  151. package/bin/esm/internal/index.d.ts.map +1 -0
  152. package/bin/esm/internal/index.js +3 -0
  153. package/bin/esm/internal/index.js.map +1 -0
  154. package/bin/esm/internal/type-guards.d.ts +11 -0
  155. package/bin/esm/internal/type-guards.d.ts.map +1 -0
  156. package/bin/esm/internal/type-guards.js +20 -0
  157. package/bin/esm/internal/type-guards.js.map +1 -0
  158. package/bin/esm/live-hooks/index.d.ts +8 -0
  159. package/bin/esm/live-hooks/index.d.ts.map +1 -0
  160. package/bin/esm/live-hooks/index.js +8 -0
  161. package/bin/esm/live-hooks/index.js.map +1 -0
  162. package/bin/esm/live-hooks/useLiveCanvas.d.ts +80 -0
  163. package/bin/esm/live-hooks/useLiveCanvas.d.ts.map +1 -0
  164. package/bin/esm/live-hooks/useLiveCanvas.js +238 -0
  165. package/bin/esm/live-hooks/useLiveCanvas.js.map +1 -0
  166. package/bin/esm/live-hooks/useLiveEvent.d.ts +59 -0
  167. package/bin/esm/live-hooks/useLiveEvent.d.ts.map +1 -0
  168. package/bin/esm/live-hooks/useLiveEvent.js +144 -0
  169. package/bin/esm/live-hooks/useLiveEvent.js.map +1 -0
  170. package/bin/esm/live-hooks/useLiveFollowMode.d.ts +163 -0
  171. package/bin/esm/live-hooks/useLiveFollowMode.d.ts.map +1 -0
  172. package/bin/esm/live-hooks/useLiveFollowMode.js +354 -0
  173. package/bin/esm/live-hooks/useLiveFollowMode.js.map +1 -0
  174. package/bin/esm/live-hooks/useLivePresence.d.ts +76 -0
  175. package/bin/esm/live-hooks/useLivePresence.d.ts.map +1 -0
  176. package/bin/esm/live-hooks/useLivePresence.js +164 -0
  177. package/bin/esm/live-hooks/useLivePresence.js.map +1 -0
  178. package/bin/esm/live-hooks/useLiveState.d.ts +66 -0
  179. package/bin/esm/live-hooks/useLiveState.d.ts.map +1 -0
  180. package/bin/esm/live-hooks/useLiveState.js +128 -0
  181. package/bin/esm/live-hooks/useLiveState.js.map +1 -0
  182. package/bin/esm/live-hooks/useLiveTimer.d.ts +80 -0
  183. package/bin/esm/live-hooks/useLiveTimer.d.ts.map +1 -0
  184. package/bin/esm/live-hooks/useLiveTimer.js +227 -0
  185. package/bin/esm/live-hooks/useLiveTimer.js.map +1 -0
  186. package/bin/esm/live-hooks/useMediaSynchronizer.d.ts +86 -0
  187. package/bin/esm/live-hooks/useMediaSynchronizer.d.ts.map +1 -0
  188. package/bin/esm/live-hooks/useMediaSynchronizer.js +295 -0
  189. package/bin/esm/live-hooks/useMediaSynchronizer.js.map +1 -0
  190. package/bin/esm/providers/AzureProvider.d.ts +113 -0
  191. package/bin/esm/providers/AzureProvider.d.ts.map +1 -0
  192. package/bin/esm/providers/AzureProvider.js +119 -0
  193. package/bin/esm/providers/AzureProvider.js.map +1 -0
  194. package/bin/esm/providers/LiveShareProvider.d.ts +193 -0
  195. package/bin/esm/providers/LiveShareProvider.d.ts.map +1 -0
  196. package/bin/esm/providers/LiveShareProvider.js +197 -0
  197. package/bin/esm/providers/LiveShareProvider.js.map +1 -0
  198. package/bin/esm/providers/index.d.ts +3 -0
  199. package/bin/esm/providers/index.d.ts.map +1 -0
  200. package/bin/esm/providers/index.js +3 -0
  201. package/bin/esm/providers/index.js.map +1 -0
  202. package/bin/esm/shared-hooks/index.d.ts +7 -0
  203. package/bin/esm/shared-hooks/index.d.ts.map +1 -0
  204. package/bin/esm/shared-hooks/index.js +7 -0
  205. package/bin/esm/shared-hooks/index.js.map +1 -0
  206. package/bin/esm/shared-hooks/internals/tree-node-constants.d.ts +3 -0
  207. package/bin/esm/shared-hooks/internals/tree-node-constants.d.ts.map +1 -0
  208. package/bin/esm/shared-hooks/internals/tree-node-constants.js +3 -0
  209. package/bin/esm/shared-hooks/internals/tree-node-constants.js.map +1 -0
  210. package/bin/esm/shared-hooks/internals/tree-node-types.d.ts +10 -0
  211. package/bin/esm/shared-hooks/internals/tree-node-types.d.ts.map +1 -0
  212. package/bin/esm/shared-hooks/internals/tree-node-types.js +18 -0
  213. package/bin/esm/shared-hooks/internals/tree-node-types.js.map +1 -0
  214. package/bin/esm/shared-hooks/internals/tree-node-utils.d.ts +33 -0
  215. package/bin/esm/shared-hooks/internals/tree-node-utils.d.ts.map +1 -0
  216. package/bin/esm/shared-hooks/internals/tree-node-utils.js +188 -0
  217. package/bin/esm/shared-hooks/internals/tree-node-utils.js.map +1 -0
  218. package/bin/esm/shared-hooks/useDynamicDDS.d.ts +23 -0
  219. package/bin/esm/shared-hooks/useDynamicDDS.d.ts.map +1 -0
  220. package/bin/esm/shared-hooks/useDynamicDDS.js +81 -0
  221. package/bin/esm/shared-hooks/useDynamicDDS.js.map +1 -0
  222. package/bin/esm/shared-hooks/useSharedMap.d.ts +25 -0
  223. package/bin/esm/shared-hooks/useSharedMap.d.ts.map +1 -0
  224. package/bin/esm/shared-hooks/useSharedMap.js +128 -0
  225. package/bin/esm/shared-hooks/useSharedMap.js.map +1 -0
  226. package/bin/esm/shared-hooks/useSharedState.d.ts +22 -0
  227. package/bin/esm/shared-hooks/useSharedState.d.ts.map +1 -0
  228. package/bin/esm/shared-hooks/useSharedState.js +74 -0
  229. package/bin/esm/shared-hooks/useSharedState.js.map +1 -0
  230. package/bin/esm/shared-hooks/useSharedStateRegistry.d.ts +37 -0
  231. package/bin/esm/shared-hooks/useSharedStateRegistry.d.ts.map +1 -0
  232. package/bin/esm/shared-hooks/useSharedStateRegistry.js +113 -0
  233. package/bin/esm/shared-hooks/useSharedStateRegistry.js.map +1 -0
  234. package/bin/esm/shared-hooks/useSharedTree.d.ts +57 -0
  235. package/bin/esm/shared-hooks/useSharedTree.d.ts.map +1 -0
  236. package/bin/esm/shared-hooks/useSharedTree.js +117 -0
  237. package/bin/esm/shared-hooks/useSharedTree.js.map +1 -0
  238. package/bin/esm/shared-hooks/useTreeNode.d.ts +96 -0
  239. package/bin/esm/shared-hooks/useTreeNode.d.ts.map +1 -0
  240. package/bin/esm/shared-hooks/useTreeNode.js +132 -0
  241. package/bin/esm/shared-hooks/useTreeNode.js.map +1 -0
  242. package/bin/esm/types/ActionTypes.d.ts +112 -0
  243. package/bin/esm/types/ActionTypes.d.ts.map +1 -0
  244. package/bin/esm/types/ActionTypes.js +6 -0
  245. package/bin/esm/types/ActionTypes.js.map +1 -0
  246. package/bin/esm/types/PropTypes.d.ts +56 -0
  247. package/bin/esm/types/PropTypes.d.ts.map +1 -0
  248. package/bin/esm/types/PropTypes.js +6 -0
  249. package/bin/esm/types/PropTypes.js.map +1 -0
  250. package/bin/esm/types/ResultTypes.d.ts +334 -0
  251. package/bin/esm/types/ResultTypes.d.ts.map +1 -0
  252. package/bin/esm/types/ResultTypes.js +6 -0
  253. package/bin/esm/types/ResultTypes.js.map +1 -0
  254. package/bin/esm/types/index.d.ts +4 -0
  255. package/bin/esm/types/index.d.ts.map +1 -0
  256. package/bin/esm/types/index.js +4 -0
  257. package/bin/esm/types/index.js.map +1 -0
  258. package/bin/esm/utils/index.d.ts +2 -0
  259. package/bin/esm/utils/index.d.ts.map +1 -0
  260. package/bin/esm/utils/index.js +2 -0
  261. package/bin/esm/utils/index.js.map +1 -0
  262. package/bin/esm/utils/type-check.d.ts +15 -0
  263. package/bin/esm/utils/type-check.d.ts.map +1 -0
  264. package/bin/esm/utils/type-check.js +54 -0
  265. package/bin/esm/utils/type-check.js.map +1 -0
  266. package/bin/internal/errors.d.ts +15 -0
  267. package/bin/internal/errors.d.ts.map +1 -1
  268. package/bin/internal/errors.js.map +1 -1
  269. package/bin/internal/type-guards.d.ts +5 -0
  270. package/bin/internal/type-guards.d.ts.map +1 -1
  271. package/bin/internal/type-guards.js +12 -0
  272. package/bin/internal/type-guards.js.map +1 -1
  273. package/bin/live-hooks/useLiveState.d.ts.map +1 -1
  274. package/bin/live-hooks/useLiveState.js +6 -2
  275. package/bin/live-hooks/useLiveState.js.map +1 -1
  276. package/bin/providers/LiveShareProvider.d.ts.map +1 -1
  277. package/bin/providers/LiveShareProvider.js +8 -0
  278. package/bin/providers/LiveShareProvider.js.map +1 -1
  279. package/package.json +50 -50
  280. package/src/internal/errors.ts +16 -0
  281. package/src/internal/type-guards.ts +12 -0
  282. package/src/live-hooks/useLiveState.ts +5 -2
  283. package/src/providers/LiveShareProvider.tsx +12 -0
@@ -0,0 +1,112 @@
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
+ import { IFluidLoadable } from "@fluidframework/core-interfaces";
7
+ import { ITimerConfig, ILiveEvent, LivePresenceData } from "@microsoft/live-share";
8
+ import { SharedObjectKind } from "fluid-framework";
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
+ */
16
+ export type SetLocalStateAction = React.Dispatch<React.SetStateAction<any>>;
17
+ /**
18
+ * Callback for UnregisterDDSSetStateAction.
19
+ * <T extends IFluidLoadable>(uniqueKey: string, componentId: string, objectClass: SharedObjectKind<T>, setLocalStateAction: SetLocalStateAction, onDidFirstInitialize?: (dds: T) => void) => void
20
+ */
21
+ export type RegisterDDSSetStateAction = <T extends IFluidLoadable>(uniqueKey: string, componentId: string, objectClass: SharedObjectKind<T>, setLocalStateAction: SetLocalStateAction, onDidFirstInitialize?: (dds: T) => void) => void;
22
+ /**
23
+ * Callback for UnregisterDDSSetStateAction.
24
+ * (uniqueKey: string, componentId: string) => void
25
+ */
26
+ export type UnregisterDDSSetStateAction = (uniqueKey: string, componentId: string) => void;
27
+ /**
28
+ * Callback for RegisterSharedSetStateAction.
29
+ * (uniqueKey: string, componentId: string, setLocalStateAction: SetLocalStateAction) => void
30
+ */
31
+ export type RegisterSharedSetStateAction = (uniqueKey: string, componentId: string, setLocalStateAction: SetLocalStateAction) => void;
32
+ /**
33
+ * Callback for UnregisterSharedSetStateAction.
34
+ * (uniqueKey: string, componentId: string) => void
35
+ */
36
+ export type UnregisterSharedSetStateAction = (uniqueKey: string, componentId: string) => void;
37
+ /**
38
+ * Callback for UpdateSharedStateAction.
39
+ * (uniqueKey: string, value: any) => void
40
+ */
41
+ export type UpdateSharedStateAction = (uniqueKey: string, value: any) => void;
42
+ /**
43
+ * Callback for DeleteSharedStateAction.
44
+ * (uniqueKey: string) => void
45
+ */
46
+ export type DeleteSharedStateAction = (uniqueKey: string) => void;
47
+ /**
48
+ * Callback for DisposeSharedStateAction.
49
+ * () => void
50
+ */
51
+ export type DisposeSharedStateAction = () => void;
52
+ /**
53
+ * Callback for SetLiveStateAction<TState = undefined>.
54
+ * (state: TState) => Promise<void>
55
+ */
56
+ export type SetLiveStateAction<TState = undefined> = (state: TState | ((prevState: TState) => TState)) => Promise<void>;
57
+ /**
58
+ * Callback for SendLiveEventAction<TEvent>.
59
+ * (event: TEvent, targetClientId?: string) => Promise<void>
60
+ */
61
+ export type SendLiveEventAction<TEvent> = (event: TEvent, targetClientId?: string) => Promise<ILiveEvent<TEvent>>;
62
+ /**
63
+ * Callback for OnReceivedLiveEventAction<TEvent>.
64
+ * (event: TEvent, local: boolean) => void
65
+ */
66
+ export type OnReceivedLiveEventAction<TEvent> = (event: TEvent, local: boolean) => void;
67
+ /**
68
+ * Callback for OnUpdateLivePresenceAction<TData extends object = object>.
69
+ * (data?: TData | undefined, state?: PresenceState | undefined) => Promise<void>
70
+ */
71
+ export type OnUpdateLivePresenceAction<TData extends LivePresenceData = any> = (data: TData) => Promise<void>;
72
+ /**
73
+ * Callback for OnStartTimerAction.
74
+ * (duration: number) => Promise<void>
75
+ */
76
+ export type OnStartTimerAction = (duration: number) => Promise<void>;
77
+ /**
78
+ * Callback for OnPlayTimerAction.
79
+ * () => Promise<void>
80
+ */
81
+ export type OnPlayTimerAction = () => Promise<void>;
82
+ /**
83
+ * Callback for OnPauseTimerAction.
84
+ * () => Promise<void>
85
+ */
86
+ export type OnPauseTimerAction = () => Promise<void>;
87
+ /**
88
+ * Callback for OnTimerTickAction.
89
+ * (milliRemaining: number) => void
90
+ */
91
+ export type OnTimerTickAction = (milliRemaining: number) => void;
92
+ /**
93
+ * Callback for OnTimerDidStartAction.
94
+ * (timerConfig: ITimerConfig) => void
95
+ */
96
+ export type OnTimerDidStartAction = (timerConfig: ITimerConfig) => void;
97
+ /**
98
+ * Callback for OnTimerDidPauseAction.
99
+ * (timerConfig: ITimerConfig) => void
100
+ */
101
+ export type OnTimerDidPauseAction = (timerConfig: ITimerConfig) => void;
102
+ /**
103
+ * Callback for OnTimerDidPlayAction.
104
+ * (timerConfig: ITimerConfig) => void
105
+ */
106
+ export type OnTimerDidPlayAction = (timerConfig: ITimerConfig) => void;
107
+ /**
108
+ * Callback for OnTimerDidFinishAction.
109
+ * (timerConfig: ITimerConfig) => void
110
+ */
111
+ export type OnTimerDidFinishAction = (timerConfig: ITimerConfig) => void;
112
+ //# sourceMappingURL=ActionTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionTypes.d.ts","sourceRoot":"","sources":["../../../src/types/ActionTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the Microsoft Live Share SDK License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=ActionTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionTypes.js","sourceRoot":"","sources":["../../../src/types/ActionTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,56 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { UserMeetingRole } from "@microsoft/live-share";
6
+ import { CanvasReferencePoint, IBrush, IPoint, InkingTool, LiveCanvasTreeNode } from "@microsoft/live-share-canvas";
7
+ export type SharedMapInitialData<T> = Map<string, T> | readonly (readonly [string, T])[] | {
8
+ [key: string]: T;
9
+ } | undefined;
10
+ /**
11
+ * Optional props for {@link useLiveCanvas}
12
+ */
13
+ export interface IUseLiveCanvasOptionalProps {
14
+ /**
15
+ * Optional. Stateful boolean that will activate/de-activate `InkingManager` accordingly.
16
+ */
17
+ active?: boolean;
18
+ /**
19
+ * Optional. Stateful enum for what tool to use in the `InkingManager`.
20
+ */
21
+ tool?: InkingTool;
22
+ /**
23
+ * Optional. Stateful lineBrush object for the selected lineBrush options to use in `InkingManager`.
24
+ */
25
+ lineBrush?: IBrush;
26
+ /**
27
+ * Optional. Stateful offset point to use in the `InkingManager`. Gets the viewport offset. Defaults to 0,0.
28
+ */
29
+ offset?: IPoint;
30
+ /**
31
+ * Optional. Stateful scale number to use in the `InkingManager`. Defaults to 1 and must be greater than 0.
32
+ */
33
+ scale?: number;
34
+ /**
35
+ * Optional. Stateful reference point enum to use in the `InkingManger`. Defaults to "center".
36
+ */
37
+ referencePoint?: CanvasReferencePoint;
38
+ /**
39
+ * Optional. Stateful boolean flag for whether cursor should be shared in `LiveCanvas`. Defaults to false.
40
+ */
41
+ isCursorShared?: boolean;
42
+ /**
43
+ * Optional. url string for the local user to display alongside their cursor. Defaults to undefined.
44
+ */
45
+ localUserPictureUrl?: string;
46
+ /**
47
+ * Optional. A Fluid `LiveCanvasTree` `TreeNode` instance to swap out the underlying storage solution for strokes.
48
+ * To learn more, look at Fluid's [SharedTree](https://fluidframework.com/docs/data-structures/tree/) documentation.
49
+ */
50
+ node?: LiveCanvasTreeNode;
51
+ /**
52
+ * Optional. The user roles that are allowed to start/stop/pause the timer.
53
+ */
54
+ allowedRoles?: UserMeetingRole[];
55
+ }
56
+ //# sourceMappingURL=PropTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropTypes.d.ts","sourceRoot":"","sources":["../../../src/types/PropTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,oBAAoB,EACpB,MAAM,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EACrB,MAAM,8BAA8B,CAAC;AAGtC,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAC5B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GACd,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GACjC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,GACpB,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CACpC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the Microsoft Live Share SDK License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=PropTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropTypes.js","sourceRoot":"","sources":["../../../src/types/PropTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,334 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { AzureContainerServices } from "@fluidframework/azure-client";
6
+ import { ITimerConfig, LivePresenceUser, LiveEvent, LivePresence, LiveTimer, IFollowModeState, FollowModePresenceUser, LiveFollowMode, LivePresenceData } from "@microsoft/live-share";
7
+ import { InkingManager, LiveCanvas } from "@microsoft/live-share-canvas";
8
+ import { CoordinationWaitPoint, ExtendedMediaMetadata, MediaPlayerSynchronizer } from "@microsoft/live-share-media";
9
+ import { IFluidContainer, ITree, ImplicitFieldSchema, TreeFieldFromImplicitField, TreeView } from "fluid-framework";
10
+ import { SharedMap } from "fluid-framework/legacy";
11
+ import { IReceiveLiveEvent } from "../interfaces/index.js";
12
+ import { OnPauseTimerAction, OnPlayTimerAction, OnStartTimerAction, OnUpdateLivePresenceAction, SendLiveEventAction } from "./ActionTypes.js";
13
+ export interface IAzureContainerResults {
14
+ /**
15
+ * Fluid Container.
16
+ */
17
+ container: IFluidContainer;
18
+ /**
19
+ * Azure container services which has information such as current socket connections.
20
+ */
21
+ services: AzureContainerServices;
22
+ }
23
+ export interface ILiveShareContainerResults extends IAzureContainerResults {
24
+ /**
25
+ * Whether the local user/client initially created the container.
26
+ */
27
+ created: boolean;
28
+ }
29
+ /**
30
+ * @deprecated use {@link useSharedTree} instead.
31
+ *
32
+ * Return type of {@link useSharedMap} hook.
33
+ */
34
+ export interface IUseSharedMapResults<TData> {
35
+ /**
36
+ * The Fluid `SharedMap` object.
37
+ */
38
+ sharedMap: (Map<string, TData> & SharedMap) | undefined;
39
+ /**
40
+ * Callback method to get entries in the `SharedMap`.
41
+ */
42
+ getEntry: (key: string) => TData | undefined;
43
+ /**
44
+ * Callback method to set/replace new entries in the `SharedMap`.
45
+ */
46
+ setEntry: (key: string, value: TData) => void;
47
+ /**
48
+ * Callback method to delete an existing entry in the `SharedMap`.
49
+ */
50
+ deleteEntry: (key: string) => void;
51
+ }
52
+ /**
53
+ * Return type of {@link useSharedTree} hook.
54
+ */
55
+ export interface IUseSharedTreeResults<TSchema extends ImplicitFieldSchema> {
56
+ /**
57
+ * The Fluid `TreeView`.
58
+ */
59
+ treeView: TreeView<TSchema> | undefined;
60
+ /**
61
+ * The Fluid `SharedTree` object, should you want to use it directly.
62
+ */
63
+ sharedTree: ITree | undefined;
64
+ /**
65
+ * Root node
66
+ */
67
+ root: TreeFieldFromImplicitField<TSchema> | undefined;
68
+ }
69
+ /**
70
+ * Return type of {@link useTreeNode} hook.
71
+ */
72
+ export interface IUseTreeNodeResults<TNode = any> {
73
+ /**
74
+ * The Fluid `TreeNode`
75
+ */
76
+ node: TNode;
77
+ }
78
+ /**
79
+ * Return type of {@link useLiveEvent} hook.
80
+ */
81
+ export interface IUseLiveEventResults<TEvent = any> {
82
+ /**
83
+ * The most recent event that has been received in the session.
84
+ */
85
+ latestEvent: IReceiveLiveEvent<TEvent> | undefined;
86
+ /**
87
+ * All received events since initializing this component, sorted from oldest -> newest.
88
+ */
89
+ allEvents: IReceiveLiveEvent<TEvent>[];
90
+ /**
91
+ * Callback method to send a new event to users in the session.
92
+ * @param TEvent to send.
93
+ * @returns void promise that will throw when user does not have required roles
94
+ */
95
+ sendEvent: SendLiveEventAction<TEvent>;
96
+ /**
97
+ * The `LiveEvent` object, should you want to use it directly.
98
+ */
99
+ liveEvent: LiveEvent | undefined;
100
+ }
101
+ /**
102
+ * Return type of {@link useLiveTimer} hook.
103
+ */
104
+ export interface IUseLiveTimerResults {
105
+ /**
106
+ * The current timer configuration.
107
+ */
108
+ timerConfig: ITimerConfig | undefined;
109
+ /**
110
+ * The time remaining in milliseconds.
111
+ */
112
+ milliRemaining: number | undefined;
113
+ /**
114
+ * The `LiveTimer` object, should you want to use it directly.
115
+ */
116
+ liveTimer: LiveTimer | undefined;
117
+ /**
118
+ * Callback to send event through `LiveTimer`
119
+ * @param duration the duration for the timer in milliseconds
120
+ * @returns void promise that will throw when user does not have required roles
121
+ */
122
+ start: OnStartTimerAction;
123
+ /**
124
+ * Callback to send event through `LiveTimer`
125
+ * @returns void promise that will throw when user does not have required roles
126
+ */
127
+ play: OnPlayTimerAction;
128
+ /**
129
+ * Callback to send event through `LiveTimer`
130
+ * @returns void promise that will throw when user does not have required roles
131
+ */
132
+ pause: OnPauseTimerAction;
133
+ }
134
+ /**
135
+ * Return type of {@link useLivePresence} hook.
136
+ */
137
+ export interface IUseLivePresenceResults<TData extends LivePresenceData = any> {
138
+ /**
139
+ * The local user's presence object.
140
+ */
141
+ localUser: LivePresenceUser<TData> | undefined;
142
+ /**
143
+ * List of non-local user's presence objects.
144
+ */
145
+ otherUsers: LivePresenceUser<TData>[];
146
+ /**
147
+ * List of all online users.
148
+ */
149
+ onlineUsers: LivePresenceUser<TData>[];
150
+ /**
151
+ * List of all user's presence objects.
152
+ */
153
+ allUsers: LivePresenceUser<TData>[];
154
+ /**
155
+ * Live Share `LivePresence` object, should you want to use it directly.
156
+ */
157
+ livePresence: LivePresence<TData> | undefined;
158
+ /**
159
+ * Callback method to update the local user's presence.
160
+ * @param data TData to set for user.
161
+ * @returns void promise that will throw when user does not have required roles
162
+ */
163
+ updatePresence: OnUpdateLivePresenceAction<TData>;
164
+ }
165
+ /**
166
+ * Return type of {@link useMediaSynchronizer} hook.
167
+ */
168
+ export interface IUseMediaSynchronizerResults {
169
+ /**
170
+ * Stateful boolean on whether the session has an active suspension.
171
+ */
172
+ suspended: boolean;
173
+ /**
174
+ * Callback to initiate a play action for the group media session.
175
+ * @returns void promise that will throw when user does not have required roles
176
+ */
177
+ play: () => Promise<void>;
178
+ /**
179
+ * Callback to initiate a pause action for the group media session.
180
+ * @returns void promise that will throw when user does not have required roles
181
+ */
182
+ pause: () => Promise<void>;
183
+ /**
184
+ * Callback to initiate a seek action for the group media session.
185
+ * @param time timestamp of the video in seconds to seek to
186
+ * @returns void promise that will throw when user does not have required roles
187
+ */
188
+ seekTo: (time: number) => Promise<void>;
189
+ /**
190
+ * Callback to change the track for the group media session.
191
+ * @param track media metadata object, track src string, or null
192
+ * @returns void promise that will throw when user does not have required roles
193
+ */
194
+ setTrack: (track: Partial<ExtendedMediaMetadata> | string | null) => Promise<void>;
195
+ /**
196
+ * Begin a new suspension. If a wait point is not set, the suspension will only impact the
197
+ * local user.
198
+ *
199
+ * @param waitPoint Optional. Point in track to set the suspension at.
200
+ * @see CoordinationWaitPoint
201
+ */
202
+ beginSuspension: (waitPoint?: CoordinationWaitPoint) => void;
203
+ /**
204
+ * End the currently active exception.
205
+ */
206
+ endSuspension: () => void;
207
+ /**
208
+ * Live Share `MediaPlayerSynchronizer` object, should you want to use it directly.
209
+ */
210
+ mediaSynchronizer: MediaPlayerSynchronizer | undefined;
211
+ }
212
+ /**
213
+ * Return type of {@link useLiveCanvas} hook.
214
+ */
215
+ export interface IUseLiveCanvasResults {
216
+ /**
217
+ * Inking manager for the canvas, which is synchronized by `liveCanvas`. It is set when loaded and undefined while loading.
218
+ */
219
+ inkingManager: InkingManager | undefined;
220
+ /**
221
+ * Live Canvas data object which synchronizes inking & cursors in the session. It is set when loaded and undefined while loading.
222
+ */
223
+ liveCanvas: LiveCanvas | undefined;
224
+ }
225
+ /**
226
+ * Return type of {@link useLiveFollowMode} hook.
227
+ */
228
+ export interface IUseLiveFollowModeResults<TData = any> {
229
+ /**
230
+ * Gets the current follow mode state.
231
+ */
232
+ state: IFollowModeState<TData> | undefined;
233
+ /**
234
+ * Local LivePresenceUser.
235
+ */
236
+ localUser: FollowModePresenceUser<TData> | undefined;
237
+ /**
238
+ * List of non-local user's presence objects.
239
+ */
240
+ otherUsers: FollowModePresenceUser<TData>[];
241
+ /**
242
+ * List of all user's presence objects.
243
+ */
244
+ allUsers: FollowModePresenceUser<TData>[];
245
+ /**
246
+ * LiveFollowMode DDS
247
+ */
248
+ liveFollowMode: LiveFollowMode<TData> | undefined;
249
+ /**
250
+ * Broadcast a new custom data value for the local user's current state.
251
+ *
252
+ * @remarks
253
+ * Each user has their own state value, though it will differ from what is shown in {@link state} depending on the value of {@link FollowModeType}.
254
+ * Will cause the user to become out of sync if another user is presenting or the local user is following another user.
255
+ * To see each user's state, use the {@link getUsers} API, or listen to "presenceChanged" updates.
256
+ *
257
+ * @param newValue the state value for the local user's presence record.
258
+ *
259
+ * @returns a void promise that resolves once the update event has been sent to the server.
260
+ *
261
+ * @throws error if initialization has not yet succeeded.
262
+ */
263
+ update: (stateValue: TData) => Promise<void>;
264
+ /**
265
+ * Start presenting the local user's state.
266
+ *
267
+ * @remarks
268
+ * If another user is already presenting, the local user will take control of presenting from the previous presenter.
269
+ * To update the local user's state that both the local and remote users will reference, use the {@link update} function.
270
+ * This API will override any `followingUserId` value that was set through {@link followUser} until presenting has stopped.
271
+ * To stop presenting, use the {@link stopPresenting} API.
272
+ *
273
+ * @returns a void promise that resolves once the event has been sent to the server.
274
+ *
275
+ * @throws error if initialization has not yet succeeded.
276
+ * @throws error if the local user is already the presenter.
277
+ * @throws error if the local user does not have the required roles to present.
278
+ */
279
+ startPresenting: () => Promise<void>;
280
+ /**
281
+ * Stop presenting the presenting user's current state.
282
+ *
283
+ * @remarks
284
+ * This API allows any user with valid roles to cancel presenting, though we generally recommend only allowing the active presenter to do so.
285
+ * To start presenting, use the {@link startPresenting} API.
286
+ *
287
+ * @returns a void promise that resolves once the event has been sent to the server.
288
+ *
289
+ * @throws error if initialization has not yet succeeded.
290
+ * @throws error if the local user does not have the required roles to stop presenting.
291
+ */
292
+ stopPresenting: () => Promise<void>;
293
+ /**
294
+ * Temporarily stop following presenter/follower.
295
+ *
296
+ * @returns a void promise once the operation succeeds.
297
+ *
298
+ * @throws error if initialization has not yet succeeded.
299
+ */
300
+ beginSuspension: () => Promise<void>;
301
+ /**
302
+ * Resume following presenter/follower.
303
+ *
304
+ * @returns a void promise once the operation succeeds.
305
+ *
306
+ * @throws error if initialization has not yet succeeded.
307
+ */
308
+ endSuspension: () => Promise<void>;
309
+ /**
310
+ * Follows another user in the session.
311
+ *
312
+ * @remarks
313
+ * If another user is presenting, {@link state} will not reflect following this user until there is no longer a presenter.
314
+ *
315
+ * @param userId the userId for the user to follow.
316
+ *
317
+ * @returns a void promise that resolves once the event has been sent to the server.
318
+ *
319
+ * @throws error if initialization has not yet succeeded.
320
+ * @throws error if attempting to follow a user that is not recognized by this object's `LivePresence` instance.
321
+ * @throws error if the `userId` provided is equal to the local user's `userId`.
322
+ */
323
+ followUser: (userId: string) => Promise<void>;
324
+ /**
325
+ * Stop following the currently following user.
326
+ *
327
+ * @returns a void promise that resolves once the event has been sent to the server.
328
+ *
329
+ * @throws error if initialization has not yet succeeded.
330
+ * @throws error if the user is not already following another user.
331
+ */
332
+ stopFollowing: () => Promise<void>;
333
+ }
334
+ //# sourceMappingURL=ResultTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultTypes.d.ts","sourceRoot":"","sources":["../../../src/types/ResultTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the Microsoft Live Share SDK License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=ResultTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultTypes.js","sourceRoot":"","sources":["../../../src/types/ResultTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,4 @@
1
+ export * from "./ActionTypes.js";
2
+ export * from "./ResultTypes.js";
3
+ export * from "./PropTypes.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ActionTypes.js"), exports);
18
+ __exportStar(require("./ResultTypes.js"), exports);
19
+ __exportStar(require("./PropTypes.js"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,iDAA+B"}
@@ -0,0 +1,2 @@
1
+ export * from "./type-check.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./type-check.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { ExtendedMediaMetadata, IMediaPlayer } from "@microsoft/live-share-media";
6
+ import React from "react";
7
+ export declare function isRefObject<T>(value: any): value is React.RefObject<T>;
8
+ export declare function isMediaElement(value: any): value is IMediaPlayer;
9
+ export declare function isExtendedMediaMetadata(value: any): value is ExtendedMediaMetadata;
10
+ export declare function isMap(value: any): value is Map<string, any>;
11
+ export declare function isEntries(value: any): value is readonly (readonly [string, any])[];
12
+ export declare function isJSON(value: any): value is {
13
+ [key: string]: any;
14
+ };
15
+ //# sourceMappingURL=type-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-check.d.ts","sourceRoot":"","sources":["../../../src/utils/type-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,qBAAqB,EACrB,YAAY,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAEtE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAoBhE;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,GAAG,GACX,KAAK,IAAI,qBAAqB,CAEhC;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAE3D;AAED,wBAAgB,SAAS,CACrB,KAAK,EAAE,GAAG,GACX,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAU9C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAOlE"}