@powerhousedao/reactor-browser 4.0.0-staging.2 → 4.0.0-staging.4

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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor-browser",
3
- "version": "4.0.0-staging.1",
3
+ "version": "4.0.0-staging.3",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "repository": {
@@ -1 +1 @@
1
- {"version":3,"file":"document-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/document-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GACzC,IAAI,CACF,gBAAgB,EAChB,cAAc,GAAG,UAAU,GAAG,iBAAiB,GAAG,sBAAsB,CACzE,CAAC;AAEJ,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAkE5B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,UAGvC;IACL,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,+BAaJ;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,UAGvC;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,eAYpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,aASA"}
1
+ {"version":3,"file":"document-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/document-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GACzC,IAAI,CACF,gBAAgB,EAChB,cAAc,GAAG,UAAU,GAAG,iBAAiB,GAAG,sBAAsB,CACzE,CAAC;AAEJ,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAgE5B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,UAGvC;IACL,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,+BAaJ;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,UAGvC;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,eAYpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,aASA"}
@@ -11,12 +11,10 @@ export function useDocumentsState(args) {
11
11
  if (!reactor || !driveId)
12
12
  return;
13
13
  isInitialized.current = true;
14
- const ids = documentIds ?? (await reactor.getDocuments(driveId)) ?? [];
14
+ const ids = documentIds ?? (await reactor.getDocuments(driveId));
15
15
  const statesByDocumentId = {};
16
16
  for (const id of ids) {
17
17
  const document = await reactor.getDocument(driveId, id, options);
18
- if (!document)
19
- continue;
20
18
  statesByDocumentId[id] = {
21
19
  ...document.state,
22
20
  documentType: document.header.documentType,
@@ -40,8 +38,6 @@ export function useDocumentsState(args) {
40
38
  (documentIds && !documentIds.includes(update.documentId)))
41
39
  return;
42
40
  const updatedDocument = await reactor.getDocument(driveId, update.documentId, options);
43
- if (!updatedDocument)
44
- return;
45
41
  setStatesByDocumentId((prev) => {
46
42
  const newStatesByDocumentId = { ...prev };
47
43
  newStatesByDocumentId[update.documentId] = {
@@ -1 +1 @@
1
- {"version":3,"file":"document-state.js","sourceRoot":"","sources":["../../../src/hooks/document-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-state.js","sourceRoot":"","sources":["../../../src/hooks/document-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentDrives.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentDrives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAW1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE;AAuBD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtE,eAAO,MAAM,yBAAyB;;CAAgC,CAAC;AAIvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,gFAwCvC,kBAAkB,6CA2C1C"}
1
+ {"version":3,"file":"useDocumentDrives.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentDrives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAW1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE;AAuBD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtE,eAAO,MAAM,yBAAyB;;CAAgC,CAAC;AAIvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,CAAC;AAgDF,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,gFAkCvC,kBAAkB,6CA4D1C"}
@@ -24,38 +24,62 @@ const readWriteDocumentDrivesAtom = (server) => () => atom((get) => (server ? (g
24
24
  export const documentDrivesInitialized = atom("INITIAL");
25
25
  documentDrivesInitialized.debugLabel =
26
26
  "documentDrivesInitializedInReactorBrowser";
27
- export function useDocumentDrives(reactor) {
28
- const [documentDrives, setDocumentDrives] = useAtom(useMemo(readWriteDocumentDrivesAtom(reactor), [reactor]));
29
- const refreshDocumentDrives = useCallback(async () => {
30
- if (!reactor) {
31
- return;
32
- }
33
- const documentDrives = [];
34
- try {
35
- const driveIds = await reactor.getDrives();
36
- if (!driveIds)
37
- return;
38
- for (const id of driveIds) {
39
- try {
40
- const drive = await reactor.getDrive(id);
41
- if (!drive)
42
- continue;
43
- documentDrives.push(drive);
44
- }
45
- catch (error) {
46
- console.error(error);
27
+ const FETCH_TIMEOUT = 250;
28
+ let timeout;
29
+ const listeners = new Array();
30
+ function waitForResult(promise, callback, onError) {
31
+ if (timeout) {
32
+ clearTimeout(timeout);
33
+ }
34
+ listeners.push(callback);
35
+ const listenersCopy = [...listeners];
36
+ timeout = setTimeout(() => {
37
+ promise()
38
+ .then(() => {
39
+ while (listenersCopy.length) {
40
+ const listener = listenersCopy.shift();
41
+ if (listener) {
42
+ listener();
43
+ const index = listeners.indexOf(listener);
44
+ if (index > -1) {
45
+ listeners.splice(index, 1);
46
+ }
47
47
  }
48
48
  }
49
+ })
50
+ .catch(onError);
51
+ }, FETCH_TIMEOUT);
52
+ }
53
+ async function fetchDocumentdrives(reactor) {
54
+ const documentDrives = [];
55
+ const driveIds = await reactor.getDrives();
56
+ for (const id of driveIds) {
57
+ try {
58
+ const drive = await reactor.getDrive(id);
59
+ documentDrives.push(drive);
49
60
  }
50
61
  catch (error) {
51
62
  console.error(error);
52
63
  }
53
- finally {
54
- setDocumentDrives(documentDrives);
64
+ }
65
+ return documentDrives;
66
+ }
67
+ export function useDocumentDrives(reactor) {
68
+ const [documentDrives, setDocumentDrives] = useAtom(useMemo(readWriteDocumentDrivesAtom(reactor), [reactor]));
69
+ const refreshDocumentDrives = useCallback(async () => {
70
+ if (!reactor) {
71
+ return;
55
72
  }
73
+ return new Promise((resolve, reject) => {
74
+ waitForResult(() => fetchDocumentdrives(reactor)
75
+ .then((documentDrives) => {
76
+ setDocumentDrives(documentDrives);
77
+ })
78
+ .catch(reject), resolve, reject);
79
+ });
56
80
  }, [reactor]);
57
81
  const [status, setStatus] = useAtom(documentDrivesInitialized);
58
- if (status === "INITIAL") {
82
+ if (status === "INITIAL" && reactor) {
59
83
  setStatus("LOADING");
60
84
  refreshDocumentDrives()
61
85
  .then(() => setStatus("LOADED"))
@@ -65,20 +89,27 @@ export function useDocumentDrives(reactor) {
65
89
  if (!reactor) {
66
90
  return;
67
91
  }
68
- const unsub1 = reactor.on("syncStatus", async (_event, _status, error) => {
92
+ const unsubStrandUpdate = reactor.on("strandUpdate", () => refreshDocumentDrives());
93
+ const unsubSyncStatus = reactor.on("syncStatus", async (_event, _status, error) => {
69
94
  if (error) {
70
95
  console.error(error);
71
96
  }
72
- await refreshDocumentDrives();
97
+ if (error)
98
+ await refreshDocumentDrives();
73
99
  });
74
- const unsub2 = reactor.on("strandUpdate", () => refreshDocumentDrives());
100
+ const unsubDriveAdded = reactor.on("driveAdded", () => refreshDocumentDrives());
101
+ const unsubDriveDeleted = reactor.on("driveDeleted", () => refreshDocumentDrives());
102
+ const unsubDriveOperations = reactor.on("driveOperationsAdded", () => refreshDocumentDrives());
75
103
  const unsubOnSyncError = reactor.on("clientStrandsError", clientErrorhandler.strandsErrorHandler);
76
- const unsub3 = reactor.on("defaultRemoteDrive", () => refreshDocumentDrives());
104
+ const unsubDefaultRemoteDrive = reactor.on("defaultRemoteDrive", () => refreshDocumentDrives());
77
105
  return () => {
78
- unsub1();
79
- unsub2();
106
+ unsubStrandUpdate();
107
+ unsubSyncStatus();
108
+ unsubDriveAdded();
109
+ unsubDriveDeleted();
110
+ unsubDriveOperations();
80
111
  unsubOnSyncError();
81
- unsub3();
112
+ unsubDefaultRemoteDrive();
82
113
  };
83
114
  }, [reactor, refreshDocumentDrives]);
84
115
  return useMemo(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentDrives.js","sourceRoot":"","sources":["../../../src/hooks/useDocumentDrives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDocumentDrives.js","sourceRoot":"","sources":["../../../src/hooks/useDocumentDrives.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useRelationalQuery.d.ts","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAI/E,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IAEtC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,OAAO,GAAG,SAAS,EACzE,cAAc,EAAE,0BAA0B,CAAC,MAAM,CAAC,EAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,CACb,EAAE,EAAE,uBAAuB,CAAC,MAAM,CAAC,EACnC,UAAU,CAAC,EAAE,OAAO,KACjB,uBAAuB,EAC5B,UAAU,CAAC,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,yBAAyB;;;;EA2CpC"}
1
+ {"version":3,"file":"useRelationalQuery.d.ts","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAI/E,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IAEtC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAuBF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,OAAO,GAAG,SAAS,EACzE,cAAc,EAAE,0BAA0B,CAAC,MAAM,CAAC,EAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,CACb,EAAE,EAAE,uBAAuB,CAAC,MAAM,CAAC,EACnC,UAAU,CAAC,EAAE,OAAO,KACjB,uBAAuB,EAC5B,UAAU,CAAC,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,yBAAyB;;;;EAiFpC"}
@@ -1,13 +1,52 @@
1
- import { useEffect, useState } from "react";
1
+ import { useEffect, useRef, useState } from "react";
2
2
  import { useRelationalDb } from "./useRelationalDb.js";
3
+ const MAX_RETRIES = 5;
4
+ const RETRY_DELAY = 200;
5
+ const isRelationNotExistError = (error) => {
6
+ const errorMessage = error instanceof Error
7
+ ? error.message
8
+ : typeof error === "string"
9
+ ? error
10
+ : String(error);
11
+ return (errorMessage.toLowerCase().includes("relation") &&
12
+ errorMessage.toLowerCase().includes("does not exist"));
13
+ };
3
14
  export function useRelationalQuery(ProcessorClass, driveId, queryCallback, parameters, options) {
4
15
  const [result, setResult] = useState(null);
5
16
  const [queryLoading, setQueryLoading] = useState(true);
6
17
  const [error, setError] = useState(undefined);
18
+ const retryCount = useRef(0);
19
+ const retryTimeoutRef = useRef();
7
20
  const relationalDb = useRelationalDb();
21
+ const executeLiveQuery = async (sql, queryParameters, retryAttempt = 0) => {
22
+ if (!relationalDb.db) {
23
+ return null;
24
+ }
25
+ try {
26
+ const live = await relationalDb.db.live.query(sql, queryParameters ? [...queryParameters] : [], (result) => {
27
+ setResult(result);
28
+ setQueryLoading(false);
29
+ retryCount.current = 0; // Reset retry count on success
30
+ });
31
+ return live;
32
+ }
33
+ catch (err) {
34
+ if (isRelationNotExistError(err) && retryAttempt < MAX_RETRIES) {
35
+ return new Promise((resolve) => {
36
+ retryTimeoutRef.current = setTimeout(() => {
37
+ resolve(executeLiveQuery(sql, queryParameters, retryAttempt + 1));
38
+ }, RETRY_DELAY);
39
+ });
40
+ }
41
+ setQueryLoading(false);
42
+ setError(err instanceof Error ? err : new Error(String(err)));
43
+ return null;
44
+ }
45
+ };
8
46
  useEffect(() => {
9
47
  setError(undefined);
10
48
  setQueryLoading(true);
49
+ retryCount.current = 0;
11
50
  if (!relationalDb.db) {
12
51
  return;
13
52
  }
@@ -16,17 +55,16 @@ export function useRelationalQuery(ProcessorClass, driveId, queryCallback, param
16
55
  const db = relationalDb.db.queryNamespace(namespace);
17
56
  const compiledQuery = queryCallback(db, parameters);
18
57
  const { sql, parameters: queryParameters } = compiledQuery;
19
- const live = relationalDb.db.live
20
- .query(sql, queryParameters ? [...queryParameters] : [], (result) => {
21
- setResult(result);
22
- setQueryLoading(false);
23
- })
24
- .catch((error) => {
25
- setQueryLoading(false);
26
- setError(error instanceof Error ? error : new Error(error));
27
- });
58
+ const liveQueryPromise = executeLiveQuery(sql, queryParameters);
28
59
  return () => {
29
- void live.then((l) => l?.unsubscribe());
60
+ if (retryTimeoutRef.current) {
61
+ clearTimeout(retryTimeoutRef.current);
62
+ }
63
+ void liveQueryPromise.then((live) => {
64
+ if (live?.unsubscribe) {
65
+ live.unsubscribe();
66
+ }
67
+ });
30
68
  };
31
69
  }, [relationalDb.db, ProcessorClass, driveId, queryCallback, parameters]);
32
70
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useRelationalQuery.js","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD,MAAM,UAAU,kBAAkB,CAChC,cAAkD,EAClD,OAAe,EACf,aAG4B,EAC5B,UAAoB,EACpB,OAAmC;IAEnC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA6B,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAoB,SAAS,CAAC,CAAC;IAEjE,MAAM,YAAY,GAAG,eAAe,EAAO,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,cAAc,CAAS,SAAS,CAAC,CAAC;QAE7D,MAAM,aAAa,GAAG,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;QAE3D,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,IAAI;aAC9B,KAAK,CAAI,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YACrE,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,QAAQ,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1E,OAAO;QACL,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,YAAY;QACjD,KAAK,EAAE,KAAK,IAAI,YAAY,CAAC,KAAK;QAClC,MAAM;KACE,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"useRelationalQuery.js","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalQuery.ts"],"names":[],"mappings":"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"}