@microsoft/live-share-react 2.0.0-internal.15 → 2.0.0-internal.16

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 (113) hide show
  1. package/bin/index.d.ts +7 -0
  2. package/bin/index.d.ts.map +1 -0
  3. package/bin/index.js +7 -0
  4. package/bin/index.js.map +1 -0
  5. package/bin/interfaces/LiveInterfaceExtensions.d.ts +26 -0
  6. package/bin/interfaces/LiveInterfaceExtensions.d.ts.map +1 -0
  7. package/bin/interfaces/LiveInterfaceExtensions.js +6 -0
  8. package/bin/interfaces/LiveInterfaceExtensions.js.map +1 -0
  9. package/bin/interfaces/index.d.ts +2 -0
  10. package/bin/interfaces/index.d.ts.map +1 -0
  11. package/bin/interfaces/index.js +2 -0
  12. package/bin/interfaces/index.js.map +1 -0
  13. package/bin/internal/errors.d.ts +41 -0
  14. package/bin/internal/errors.d.ts.map +1 -0
  15. package/bin/internal/errors.js +42 -0
  16. package/bin/internal/errors.js.map +1 -0
  17. package/bin/internal/index.d.ts +3 -0
  18. package/bin/internal/index.d.ts.map +1 -0
  19. package/bin/internal/index.js +3 -0
  20. package/bin/internal/index.js.map +1 -0
  21. package/bin/internal/type-guards.d.ts +11 -0
  22. package/bin/internal/type-guards.d.ts.map +1 -0
  23. package/bin/internal/type-guards.js +20 -0
  24. package/bin/internal/type-guards.js.map +1 -0
  25. package/bin/live-hooks/index.d.ts +8 -0
  26. package/bin/live-hooks/index.d.ts.map +1 -0
  27. package/bin/live-hooks/index.js +8 -0
  28. package/bin/live-hooks/index.js.map +1 -0
  29. package/bin/live-hooks/useLiveCanvas.d.ts +29 -0
  30. package/bin/live-hooks/useLiveCanvas.d.ts.map +1 -0
  31. package/bin/live-hooks/useLiveCanvas.js +160 -0
  32. package/bin/live-hooks/useLiveCanvas.js.map +1 -0
  33. package/bin/live-hooks/useLiveEvent.d.ts +23 -0
  34. package/bin/live-hooks/useLiveEvent.d.ts.map +1 -0
  35. package/bin/live-hooks/useLiveEvent.js +108 -0
  36. package/bin/live-hooks/useLiveEvent.js.map +1 -0
  37. package/bin/live-hooks/useLiveFollowMode.d.ts +24 -0
  38. package/bin/live-hooks/useLiveFollowMode.d.ts.map +1 -0
  39. package/bin/live-hooks/useLiveFollowMode.js +211 -0
  40. package/bin/live-hooks/useLiveFollowMode.js.map +1 -0
  41. package/bin/live-hooks/useLivePresence.d.ts +26 -0
  42. package/bin/live-hooks/useLivePresence.d.ts.map +1 -0
  43. package/bin/live-hooks/useLivePresence.js +106 -0
  44. package/bin/live-hooks/useLivePresence.js.map +1 -0
  45. package/bin/live-hooks/useLiveState.d.ts +21 -0
  46. package/bin/live-hooks/useLiveState.d.ts.map +1 -0
  47. package/bin/live-hooks/useLiveState.js +83 -0
  48. package/bin/live-hooks/useLiveState.js.map +1 -0
  49. package/bin/live-hooks/useLiveTimer.d.ts +25 -0
  50. package/bin/live-hooks/useLiveTimer.d.ts.map +1 -0
  51. package/bin/live-hooks/useLiveTimer.js +172 -0
  52. package/bin/live-hooks/useLiveTimer.js.map +1 -0
  53. package/bin/live-hooks/useMediaSynchronizer.d.ts +25 -0
  54. package/bin/live-hooks/useMediaSynchronizer.d.ts.map +1 -0
  55. package/bin/live-hooks/useMediaSynchronizer.js +234 -0
  56. package/bin/live-hooks/useMediaSynchronizer.js.map +1 -0
  57. package/bin/providers/AzureProvider.d.ts +113 -0
  58. package/bin/providers/AzureProvider.d.ts.map +1 -0
  59. package/bin/providers/AzureProvider.js +119 -0
  60. package/bin/providers/AzureProvider.js.map +1 -0
  61. package/bin/providers/LiveShareProvider.d.ts +91 -0
  62. package/bin/providers/LiveShareProvider.d.ts.map +1 -0
  63. package/bin/providers/LiveShareProvider.js +95 -0
  64. package/bin/providers/LiveShareProvider.js.map +1 -0
  65. package/bin/providers/index.d.ts +3 -0
  66. package/bin/providers/index.d.ts.map +1 -0
  67. package/bin/providers/index.js +3 -0
  68. package/bin/providers/index.js.map +1 -0
  69. package/bin/shared-hooks/index.d.ts +5 -0
  70. package/bin/shared-hooks/index.d.ts.map +1 -0
  71. package/bin/shared-hooks/index.js +5 -0
  72. package/bin/shared-hooks/index.js.map +1 -0
  73. package/bin/shared-hooks/useDynamicDDS.d.ts +23 -0
  74. package/bin/shared-hooks/useDynamicDDS.d.ts.map +1 -0
  75. package/bin/shared-hooks/useDynamicDDS.js +72 -0
  76. package/bin/shared-hooks/useDynamicDDS.js.map +1 -0
  77. package/bin/shared-hooks/useSharedMap.d.ts +23 -0
  78. package/bin/shared-hooks/useSharedMap.d.ts.map +1 -0
  79. package/bin/shared-hooks/useSharedMap.js +114 -0
  80. package/bin/shared-hooks/useSharedMap.js.map +1 -0
  81. package/bin/shared-hooks/useSharedState.d.ts +22 -0
  82. package/bin/shared-hooks/useSharedState.d.ts.map +1 -0
  83. package/bin/shared-hooks/useSharedState.js +74 -0
  84. package/bin/shared-hooks/useSharedState.js.map +1 -0
  85. package/bin/shared-hooks/useSharedStateRegistry.d.ts +37 -0
  86. package/bin/shared-hooks/useSharedStateRegistry.d.ts.map +1 -0
  87. package/bin/shared-hooks/useSharedStateRegistry.js +105 -0
  88. package/bin/shared-hooks/useSharedStateRegistry.js.map +1 -0
  89. package/bin/types/ActionTypes.d.ts +112 -0
  90. package/bin/types/ActionTypes.d.ts.map +1 -0
  91. package/bin/types/ActionTypes.js +6 -0
  92. package/bin/types/ActionTypes.js.map +1 -0
  93. package/bin/types/PropTypes.d.ts +8 -0
  94. package/bin/types/PropTypes.d.ts.map +1 -0
  95. package/bin/types/PropTypes.js +6 -0
  96. package/bin/types/PropTypes.js.map +1 -0
  97. package/bin/types/ResultTypes.d.ts +302 -0
  98. package/bin/types/ResultTypes.d.ts.map +1 -0
  99. package/bin/types/ResultTypes.js +6 -0
  100. package/bin/types/ResultTypes.js.map +1 -0
  101. package/bin/types/index.d.ts +4 -0
  102. package/bin/types/index.d.ts.map +1 -0
  103. package/bin/types/index.js +4 -0
  104. package/bin/types/index.js.map +1 -0
  105. package/bin/utils/index.d.ts +2 -0
  106. package/bin/utils/index.d.ts.map +1 -0
  107. package/bin/utils/index.js +2 -0
  108. package/bin/utils/index.js.map +1 -0
  109. package/bin/utils/type-check.d.ts +15 -0
  110. package/bin/utils/type-check.d.ts.map +1 -0
  111. package/bin/utils/type-check.js +54 -0
  112. package/bin/utils/type-check.js.map +1 -0
  113. package/package.json +7 -7
@@ -0,0 +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;AAI1E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,GAAG,EAClC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,GAChB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAkExD"}
@@ -0,0 +1,74 @@
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 { useFluidObjectsContext } from "../providers";
7
+ import { v4 as uuid } from "uuid";
8
+ import { isPrevStateCallback } from "../internal";
9
+ /**
10
+ * Inspired by React's `useState` hook, `useSharedState` makes it easy to synchronize state in your app.
11
+ *
12
+ * @remarks
13
+ * Values set through this state is automatically attached to a `SharedMap` that the `AzureProvider`
14
+ * creates. If you are synchronizing complex data structures that multiple users will be setting simultaneously,
15
+ * consider using an optimized hook for your data structure (e.g., `useSharedMap`, `useSharedString`, etc.).
16
+ * This hook can only be used in a child component of `<LiveShareProvider>` or `<AzureProvider>`.
17
+ *
18
+ * @template S Typing for objects stored associated with the `uniqueKey`.
19
+ * @param uniqueKey the unique key for a `SharedMap`. If you use the same key for multiple components, those components will reference the same state.
20
+ * @param initialState a default state for the `SharedMap`.
21
+ *
22
+ * @returns a stateful value, the function to update it, and an optional dispose method to delete it from the `SharedMap`.
23
+ */
24
+ export function useSharedState(uniqueKey, initialState) {
25
+ /**
26
+ * User facing: stateful value and non-user facing setter.
27
+ */
28
+ const [localState, setLocalState] = React.useState(initialState);
29
+ /**
30
+ * Unique ID reference for the component.
31
+ */
32
+ const componentIdRef = React.useRef(uuid());
33
+ /**
34
+ * Register set state callbacks from AzureProvider and update/delete callbacks for initial object's `stateMap`.
35
+ */
36
+ const { registerSharedSetStateAction, unregisterSharedSetStateAction, updateSharedState, deleteSharedState, } = useFluidObjectsContext();
37
+ /**
38
+ * User facing: callback to change the shared state.
39
+ */
40
+ const setSharedState = React.useCallback((state) => {
41
+ setLocalState((prevState) => {
42
+ const valueToSet = isPrevStateCallback(state)
43
+ ? state(prevState)
44
+ : state;
45
+ updateSharedState(uniqueKey, valueToSet);
46
+ return valueToSet;
47
+ });
48
+ }, [uniqueKey, setLocalState, updateSharedState]);
49
+ /**
50
+ * User facing: callback to dispose the shared state from the `stateMap`.
51
+ */
52
+ const disposeSharedState = React.useCallback(() => {
53
+ deleteSharedState(uniqueKey);
54
+ }, [uniqueKey, deleteSharedState]);
55
+ /**
56
+ * Once container is available, this effect will register the setter method so that the `S` value
57
+ * from `stateMap` that matches `uniqueKey` can be passed back to this hook whenever changed.
58
+ *
59
+ * @see registerSharedSetStateAction to see how new values from `stateMap` are passed to this hook.
60
+ * @see unregisterSharedSetStateAction to see how this component stops listening to changes in the `stateMap`.
61
+ */
62
+ React.useEffect(() => {
63
+ registerSharedSetStateAction(uniqueKey, componentIdRef.current, setLocalState);
64
+ return () => {
65
+ unregisterSharedSetStateAction(uniqueKey, componentIdRef.current);
66
+ };
67
+ }, [
68
+ uniqueKey,
69
+ registerSharedSetStateAction,
70
+ unregisterSharedSetStateAction,
71
+ ]);
72
+ return [localState, setSharedState, disposeSharedState];
73
+ }
74
+ //# sourceMappingURL=useSharedState.js.map
@@ -0,0 +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;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;;;GAcG;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"}
@@ -0,0 +1,37 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { DeleteSharedStateAction, IAzureContainerResults, RegisterSharedSetStateAction, UnregisterSharedSetStateAction, UpdateSharedStateAction } from "../types";
6
+ /**
7
+ * Response for the {@link useSharedStateRegistry} hook.
8
+ */
9
+ export interface ISharedStateRegistryResponse {
10
+ /**
11
+ * Register a set state action callback
12
+ */
13
+ registerSharedSetStateAction: RegisterSharedSetStateAction;
14
+ /**
15
+ * Unregister a set state action callback
16
+ */
17
+ unregisterSharedSetStateAction: UnregisterSharedSetStateAction;
18
+ /**
19
+ * Setter callback to update the shared state
20
+ */
21
+ updateSharedState: UpdateSharedStateAction;
22
+ /**
23
+ * Delete a shared state value
24
+ */
25
+ deleteSharedState: DeleteSharedStateAction;
26
+ }
27
+ /**
28
+ * Hook used internally to keep track of the SharedSetStateActionMap for each unique key. It sets state values for provided keys and updates components listening to the values.
29
+ *
30
+ * @remarks
31
+ * Use this if you are building a custom `LiveShareProvider` or `AzureProvider` implementation in your app.
32
+ *
33
+ * @param results IAzureContainerResults response or undefined
34
+ * @returns ISharedStateRegistryResponse object
35
+ */
36
+ export declare const useSharedStateRegistry: (results: IAzureContainerResults | undefined) => ISharedStateRegistryResponse;
37
+ //# sourceMappingURL=useSharedStateRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedStateRegistry.d.ts","sourceRoot":"","sources":["../../src/shared-hooks/useSharedStateRegistry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAE5B,8BAA8B,EAC9B,uBAAuB,EAC1B,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,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;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,YACtB,sBAAsB,GAAG,SAAS,KAC5C,4BAwHF,CAAC"}
@@ -0,0 +1,105 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import React from "react";
6
+ /**
7
+ * Hook used internally to keep track of the SharedSetStateActionMap for each unique key. It sets state values for provided keys and updates components listening to the values.
8
+ *
9
+ * @remarks
10
+ * Use this if you are building a custom `LiveShareProvider` or `AzureProvider` implementation in your app.
11
+ *
12
+ * @param results IAzureContainerResults response or undefined
13
+ * @returns ISharedStateRegistryResponse object
14
+ */
15
+ export const useSharedStateRegistry = (results) => {
16
+ const registeredSharedSetStateActionMapRef = React.useRef(new Map());
17
+ /**
18
+ * @see ISharedStateRegistryResponse.registerSharedSetStateAction
19
+ */
20
+ const registerSharedSetStateAction = React.useCallback((uniqueKey, componentId, setLocalStateAction) => {
21
+ let actionsMap = registeredSharedSetStateActionMapRef.current.get(uniqueKey);
22
+ if (actionsMap) {
23
+ if (!actionsMap.has(componentId)) {
24
+ actionsMap.set(componentId, setLocalStateAction);
25
+ }
26
+ }
27
+ else {
28
+ actionsMap = new Map();
29
+ actionsMap.set(componentId, setLocalStateAction);
30
+ registeredSharedSetStateActionMapRef.current.set(uniqueKey, actionsMap);
31
+ }
32
+ // Set initial values, if known
33
+ const stateMap = results === null || results === void 0 ? void 0 : results.container.initialObjects.TURBO_STATE_MAP;
34
+ const initialValue = stateMap === null || stateMap === void 0 ? void 0 : stateMap.get(uniqueKey);
35
+ if (initialValue) {
36
+ setLocalStateAction(initialValue);
37
+ }
38
+ }, [results]);
39
+ /**
40
+ * @see ISharedStateRegistryResponse.unregisterSharedSetStateAction
41
+ */
42
+ const unregisterSharedSetStateAction = React.useCallback((uniqueKey, componentId) => {
43
+ let actionsMap = registeredSharedSetStateActionMapRef.current.get(uniqueKey);
44
+ if (actionsMap === null || actionsMap === void 0 ? void 0 : actionsMap.has(componentId)) {
45
+ actionsMap.delete(componentId);
46
+ }
47
+ }, []);
48
+ /**
49
+ * @see ISharedStateRegistryResponse.updateSharedState
50
+ */
51
+ const updateSharedState = React.useCallback((uniqueKey, value) => {
52
+ if (!results)
53
+ return;
54
+ const { container } = results;
55
+ const stateMap = container.initialObjects
56
+ .TURBO_STATE_MAP;
57
+ stateMap.set(uniqueKey, value);
58
+ }, [results]);
59
+ /**
60
+ * @see ISharedStateRegistryResponse.deleteSharedState
61
+ */
62
+ const deleteSharedState = React.useCallback((uniqueKey) => {
63
+ if (!results)
64
+ return;
65
+ const { container } = results;
66
+ let actionsMap = registeredSharedSetStateActionMapRef.current.get(uniqueKey);
67
+ actionsMap === null || actionsMap === void 0 ? void 0 : actionsMap.clear();
68
+ const stateMap = container.initialObjects
69
+ .TURBO_STATE_MAP;
70
+ stateMap.delete(uniqueKey);
71
+ }, [results]);
72
+ React.useEffect(() => {
73
+ if (!results)
74
+ return;
75
+ const { container } = results;
76
+ const stateMap = container.initialObjects.TURBO_STATE_MAP;
77
+ const valueChangedListener = (changed) => {
78
+ if (registeredSharedSetStateActionMapRef.current.has(changed.key)) {
79
+ const value = stateMap.get(changed.key);
80
+ const actionMap = registeredSharedSetStateActionMapRef.current.get(changed.key);
81
+ actionMap === null || actionMap === void 0 ? void 0 : actionMap.forEach((setLocalStateHandler) => {
82
+ setLocalStateHandler(value);
83
+ });
84
+ }
85
+ };
86
+ stateMap.on("valueChanged", valueChangedListener);
87
+ // Set initial values
88
+ stateMap.forEach((value, key) => {
89
+ const actionMap = registeredSharedSetStateActionMapRef.current.get(key);
90
+ actionMap === null || actionMap === void 0 ? void 0 : actionMap.forEach((setLocalStateHandler) => {
91
+ setLocalStateHandler(value);
92
+ });
93
+ });
94
+ return () => {
95
+ stateMap.off("valueChanged", valueChangedListener);
96
+ };
97
+ }, [results]);
98
+ return {
99
+ registerSharedSetStateAction,
100
+ unregisterSharedSetStateAction,
101
+ updateSharedState,
102
+ deleteSharedState,
103
+ };
104
+ };
105
+ //# sourceMappingURL=useSharedStateRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedStateRegistry.js","sourceRoot":"","sources":["../../src/shared-hooks/useSharedStateRegistry.ts"],"names":[],"mappings":"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"}
@@ -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 { LoadableObjectClass } from "fluid-framework";
8
+ import { ITimerConfig, ILiveEvent, PresenceState } from "@microsoft/live-share";
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: LoadableObjectClass<T>, setLocalStateAction: SetLocalStateAction, onDidFirstInitialize?: (dds: T) => void) => void
20
+ */
21
+ export type RegisterDDSSetStateAction = <T extends IFluidLoadable>(uniqueKey: string, componentId: string, objectClass: LoadableObjectClass<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) => Promise<void>
60
+ */
61
+ export type SendLiveEventAction<TEvent> = (event: TEvent) => 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 object = object> = (data?: TData | undefined, state?: PresenceState | undefined) => 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,6 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ export {};
6
+ //# 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,8 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ export type SharedMapInitialData<T> = Map<string, T> | readonly (readonly [string, T])[] | {
6
+ [key: string]: T;
7
+ } | undefined;
8
+ //# 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,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"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=PropTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropTypes.js","sourceRoot":"","sources":["../../src/types/PropTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG"}