@dxos/react-client 2.28.2-dev.e1efc380 → 2.28.3-dev.08b5c548

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.
@@ -4,7 +4,7 @@
4
4
  "packages/sdk/react-client/README.md": "f781dc2b0cf91ac94e4ee57e8c2e9c24d371e575",
5
5
  "packages/sdk/react-client/dx.yml": "772fb6cc1bb38340d10f27e2a56ad795bc60f9d0",
6
6
  "packages/sdk/react-client/esbuild-server.config.js": "cada33e1f618bb168ba26d65d1591fdfcf6305bc",
7
- "packages/sdk/react-client/package.json": "e24aa49e3ce2fa85cd3bfa4ce9f60c82f4c1c51c",
7
+ "packages/sdk/react-client/package.json": "2224288e248e5e58f078877e9ef9607d3e115d6a",
8
8
  "packages/sdk/react-client/src/banner.ts": "0c7616c09c6acb9abfdc09ebb8074ee06277cf11",
9
9
  "packages/sdk/react-client/src/containers/ClientProvider.test.tsx": "dc7ff4b7baf181522f3ab4210aed35361fd30939",
10
10
  "packages/sdk/react-client/src/containers/ClientProvider.tsx": "34f684a1698cc1f5bc3235175ab34a508f3c2856",
@@ -24,7 +24,7 @@
24
24
  "packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
25
25
  "packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
26
26
  "packages/sdk/react-client/src/hooks/echo-selections/search.ts": "6a159e4f6681bb4887e6c2be7b7c421139fb788c",
27
- "packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "bcc4f350f2ad6cd87b0fa31135f82dbd5f6d8814",
27
+ "packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "f1dd270b2564caf48813f64e13582a01f204efd7",
28
28
  "packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
29
29
  "packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
30
30
  "packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "8c6099bac176862d8f649b53b650c99de8374546",
@@ -4,7 +4,7 @@
4
4
  "packages/sdk/react-client/README.md": "f781dc2b0cf91ac94e4ee57e8c2e9c24d371e575",
5
5
  "packages/sdk/react-client/dx.yml": "772fb6cc1bb38340d10f27e2a56ad795bc60f9d0",
6
6
  "packages/sdk/react-client/esbuild-server.config.js": "cada33e1f618bb168ba26d65d1591fdfcf6305bc",
7
- "packages/sdk/react-client/package.json": "e24aa49e3ce2fa85cd3bfa4ce9f60c82f4c1c51c",
7
+ "packages/sdk/react-client/package.json": "2224288e248e5e58f078877e9ef9607d3e115d6a",
8
8
  "packages/sdk/react-client/src/banner.ts": "0c7616c09c6acb9abfdc09ebb8074ee06277cf11",
9
9
  "packages/sdk/react-client/src/containers/ClientProvider.test.tsx": "dc7ff4b7baf181522f3ab4210aed35361fd30939",
10
10
  "packages/sdk/react-client/src/containers/ClientProvider.tsx": "34f684a1698cc1f5bc3235175ab34a508f3c2856",
@@ -24,7 +24,7 @@
24
24
  "packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
25
25
  "packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
26
26
  "packages/sdk/react-client/src/hooks/echo-selections/search.ts": "6a159e4f6681bb4887e6c2be7b7c421139fb788c",
27
- "packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "bcc4f350f2ad6cd87b0fa31135f82dbd5f6d8814",
27
+ "packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "f1dd270b2564caf48813f64e13582a01f204efd7",
28
28
  "packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
29
29
  "packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
30
30
  "packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "8c6099bac176862d8f649b53b650c99de8374546",
@@ -4,7 +4,7 @@
4
4
  "packages/sdk/react-client/README.md": "f781dc2b0cf91ac94e4ee57e8c2e9c24d371e575",
5
5
  "packages/sdk/react-client/dx.yml": "772fb6cc1bb38340d10f27e2a56ad795bc60f9d0",
6
6
  "packages/sdk/react-client/esbuild-server.config.js": "cada33e1f618bb168ba26d65d1591fdfcf6305bc",
7
- "packages/sdk/react-client/package.json": "e24aa49e3ce2fa85cd3bfa4ce9f60c82f4c1c51c",
7
+ "packages/sdk/react-client/package.json": "2224288e248e5e58f078877e9ef9607d3e115d6a",
8
8
  "packages/sdk/react-client/src/banner.ts": "0c7616c09c6acb9abfdc09ebb8074ee06277cf11",
9
9
  "packages/sdk/react-client/src/containers/ClientProvider.test.tsx": "dc7ff4b7baf181522f3ab4210aed35361fd30939",
10
10
  "packages/sdk/react-client/src/containers/ClientProvider.tsx": "34f684a1698cc1f5bc3235175ab34a508f3c2856",
@@ -24,7 +24,7 @@
24
24
  "packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
25
25
  "packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
26
26
  "packages/sdk/react-client/src/hooks/echo-selections/search.ts": "6a159e4f6681bb4887e6c2be7b7c421139fb788c",
27
- "packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "bcc4f350f2ad6cd87b0fa31135f82dbd5f6d8814",
27
+ "packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "f1dd270b2564caf48813f64e13582a01f204efd7",
28
28
  "packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
29
29
  "packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
30
30
  "packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "8c6099bac176862d8f649b53b650c99de8374546",
@@ -12,4 +12,12 @@ import { Falsy } from '@dxos/util';
12
12
  * @param deps Array of values that trigger the selector when changed.
13
13
  */
14
14
  export declare const useSelection: <T extends Entity<any>>(selection: Selection<T, void> | SelectionResult<T, any> | Falsy, deps?: readonly any[]) => T[] | undefined;
15
+ /**
16
+ * Hook to process selection reducer.
17
+ *
18
+ * @param selection
19
+ * @param value
20
+ * @param deps
21
+ */
22
+ export declare const useReducer: <T extends Entity<any>, R>(selection: Falsy | Selection<T, void> | SelectionResult<T, any>, value: R, deps?: readonly any[]) => R | undefined;
15
23
  //# sourceMappingURL=useSelection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,kGAEjB,SAAS,GAAG,EAAE,oBAuBrB,CAAC"}
1
+ {"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,kGAEjB,SAAS,GAAG,EAAE,oBAsBrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,+GAGf,SAAS,GAAG,EAAE,kBAsBrB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  // Copyright 2020 DXOS.org
4
4
  //
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useSelection = void 0;
6
+ exports.useReducer = exports.useSelection = void 0;
7
7
  const react_1 = require("react");
8
8
  const client_1 = require("@dxos/client");
9
9
  /**
@@ -19,24 +19,55 @@ const client_1 = require("@dxos/client");
19
19
  */
20
20
  const useSelection = (selection, deps = []) => {
21
21
  const [result, setResult] = (0, react_1.useState)(() => coerceSelection(selection));
22
- const [data, setData] = (0, react_1.useState)(() => result ? result.result : undefined);
22
+ const [data, setData] = (0, react_1.useState)(() => result ? result.entities : undefined);
23
23
  // Update selection when the query or customs deps change.
24
24
  (0, react_1.useEffect)(() => {
25
25
  const newResult = coerceSelection(selection);
26
- const newData = newResult === null || newResult === void 0 ? void 0 : newResult.result;
27
26
  setResult(newResult);
28
- setData(newData);
27
+ setData(newResult === null || newResult === void 0 ? void 0 : newResult.entities);
29
28
  }, [!!selection, !!selection && selection.root, ...deps]);
30
29
  // Update data when database updates.
31
30
  (0, react_1.useEffect)(() => {
32
31
  if (result) {
33
- return result.update.on(newData => {
34
- setData(newData);
32
+ return result.update.on(result => {
33
+ setData(result.entities);
35
34
  });
36
35
  }
37
36
  }, [result]);
38
37
  return data;
39
38
  };
40
39
  exports.useSelection = useSelection;
41
- const coerceSelection = (arg) => !arg ? undefined : arg instanceof client_1.Selection ? arg.query() : arg;
40
+ /**
41
+ * Hook to process selection reducer.
42
+ *
43
+ * @param selection
44
+ * @param value
45
+ * @param deps
46
+ */
47
+ const useReducer = (selection, value, deps = []) => {
48
+ const [result, setResult] = (0, react_1.useState)(() => coerceSelection(selection));
49
+ const [data, setData] = (0, react_1.useState)(() => result ? result.value : undefined);
50
+ // Update selection when the query or customs deps change.
51
+ (0, react_1.useEffect)(() => {
52
+ const newResult = coerceSelection(selection);
53
+ setResult(newResult);
54
+ setData(newResult === null || newResult === void 0 ? void 0 : newResult.value);
55
+ }, [!!selection, !!selection && selection.root, ...deps]);
56
+ // Update data when database updates.
57
+ (0, react_1.useEffect)(() => {
58
+ if (result) {
59
+ return result.update.on(result => {
60
+ setData(result.value);
61
+ });
62
+ }
63
+ }, [result]);
64
+ return data;
65
+ };
66
+ exports.useReducer = useReducer;
67
+ /**
68
+ * @param value Selection or SelectionResult from hook.
69
+ */
70
+ const coerceSelection = (value) => {
71
+ return !value ? undefined : value instanceof client_1.Selection ? value.query() : value;
72
+ };
42
73
  //# sourceMappingURL=useSelection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,iCAA4C;AAE5C,yCAAkE;AAGlE;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAC1B,SAAoD,EACpD,OAAuB,EAAE,EACR,EAAE;IACnB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3E,0DAA0D;IAC1D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC;QAClC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAE1D,qCAAqC;IACrC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;gBAChC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAzBW,QAAA,YAAY,gBAyBvB;AAEF,MAAM,eAAe,GAAG,CACtB,GAA8C,EACd,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,kBAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC"}
1
+ {"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"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"}