@powerhousedao/reactor-browser 3.3.0-dev.11 → 3.3.0-dev.12
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 +2 -2
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/relational/hooks/index.d.ts +3 -0
- package/dist/src/relational/hooks/index.d.ts.map +1 -0
- package/dist/src/relational/hooks/index.js +3 -0
- package/dist/src/relational/hooks/index.js.map +1 -0
- package/dist/src/relational/hooks/useRelationalDb.d.ts +12 -0
- package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -0
- package/dist/src/{operational/hooks/useOperationalStore.js → relational/hooks/useRelationalDb.js} +12 -9
- package/dist/src/relational/hooks/useRelationalDb.js.map +1 -0
- package/dist/src/relational/hooks/useRelationalQuery.d.ts +16 -0
- package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +1 -0
- package/dist/src/{operational/hooks/useOperationalQuery.js → relational/hooks/useRelationalQuery.js} +11 -11
- package/dist/src/relational/hooks/useRelationalQuery.js.map +1 -0
- package/dist/src/relational/index.d.ts.map +1 -0
- package/dist/src/relational/index.js.map +1 -0
- package/dist/src/relational/utils/createProcessorQuery.d.ts +17 -0
- package/dist/src/relational/utils/createProcessorQuery.d.ts.map +1 -0
- package/dist/src/{operational/utils/createTypedQuery.js → relational/utils/createProcessorQuery.js} +4 -4
- package/dist/src/relational/utils/createProcessorQuery.js.map +1 -0
- package/dist/src/relational/utils/index.d.ts +2 -0
- package/dist/src/relational/utils/index.d.ts.map +1 -0
- package/dist/src/relational/utils/index.js +2 -0
- package/dist/src/relational/utils/index.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/src/operational/hooks/index.d.ts +0 -3
- package/dist/src/operational/hooks/index.d.ts.map +0 -1
- package/dist/src/operational/hooks/index.js +0 -3
- package/dist/src/operational/hooks/index.js.map +0 -1
- package/dist/src/operational/hooks/useOperationalQuery.d.ts +0 -15
- package/dist/src/operational/hooks/useOperationalQuery.d.ts.map +0 -1
- package/dist/src/operational/hooks/useOperationalQuery.js.map +0 -1
- package/dist/src/operational/hooks/useOperationalStore.d.ts +0 -12
- package/dist/src/operational/hooks/useOperationalStore.d.ts.map +0 -1
- package/dist/src/operational/hooks/useOperationalStore.js.map +0 -1
- package/dist/src/operational/index.d.ts.map +0 -1
- package/dist/src/operational/index.js.map +0 -1
- package/dist/src/operational/utils/createTypedQuery.d.ts +0 -17
- package/dist/src/operational/utils/createTypedQuery.d.ts.map +0 -1
- package/dist/src/operational/utils/createTypedQuery.js.map +0 -1
- package/dist/src/operational/utils/index.d.ts +0 -2
- package/dist/src/operational/utils/index.d.ts.map +0 -1
- package/dist/src/operational/utils/index.js +0 -2
- package/dist/src/operational/utils/index.js.map +0 -1
- /package/dist/src/{operational → relational}/index.d.ts +0 -0
- /package/dist/src/{operational → relational}/index.js +0 -0
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/reactor-browser",
|
|
3
|
-
"version": "3.3.0-dev.
|
|
3
|
+
"version": "3.3.0-dev.11",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
".": "./dist/src/index.js",
|
|
20
20
|
"./analytics": "./dist/src/analytics/analytics.js",
|
|
21
21
|
"./pglite": "./dist/src/pglite/index.js",
|
|
22
|
-
"./
|
|
22
|
+
"./relational": "./dist/src/relational/index.js",
|
|
23
23
|
"./*": "./dist/src/*.js"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
package/dist/src/index.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { type IDocumentDriveServer } from "document-drive";
|
|
|
2
2
|
export * from "./context/index.js";
|
|
3
3
|
export * from "./document-model.js";
|
|
4
4
|
export * from "./hooks/index.js";
|
|
5
|
-
export * from "./operational/index.js";
|
|
6
5
|
export * from "./pglite/index.js";
|
|
7
6
|
export * from "./reactor.js";
|
|
7
|
+
export * from "./relational/index.js";
|
|
8
8
|
export * from "./renown/types.js";
|
|
9
9
|
export * from "./types/index.js";
|
|
10
10
|
export * from "./utils/export-document.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export * from "./context/index.js";
|
|
2
2
|
export * from "./document-model.js";
|
|
3
3
|
export * from "./hooks/index.js";
|
|
4
|
-
export * from "./operational/index.js";
|
|
5
4
|
export * from "./pglite/index.js";
|
|
6
5
|
export * from "./reactor.js";
|
|
6
|
+
export * from "./relational/index.js";
|
|
7
7
|
export * from "./renown/types.js";
|
|
8
8
|
export * from "./types/index.js";
|
|
9
9
|
export * from "./utils/export-document.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/relational/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/relational/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type LiveNamespace } from "@electric-sql/pglite/live";
|
|
2
|
+
import { type IRelationalDb as _IRelationalDb } from "document-drive/processors/types";
|
|
3
|
+
export type RelationalDbWithLive<Schema> = _IRelationalDb<Schema> & {
|
|
4
|
+
live: LiveNamespace;
|
|
5
|
+
};
|
|
6
|
+
export interface IRelationalDb<Schema> {
|
|
7
|
+
db: RelationalDbWithLive<Schema> | null;
|
|
8
|
+
isLoading: boolean;
|
|
9
|
+
error: Error | null;
|
|
10
|
+
}
|
|
11
|
+
export declare const useRelationalDb: <Schema>() => IRelationalDb<Schema>;
|
|
12
|
+
//# sourceMappingURL=useRelationalDb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRelationalDb.d.ts","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalDb.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,aAAa,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAQvF,MAAM,MAAM,oBAAoB,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG;IAClE,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC,EAAE,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAkBD,eAAO,MAAM,eAAe,GAAI,MAAM,4BAsBrC,CAAC"}
|
package/dist/src/{operational/hooks/useOperationalStore.js → relational/hooks/useRelationalDb.js}
RENAMED
|
@@ -1,19 +1,22 @@
|
|
|
1
|
+
import { createRelationalDb } from "document-drive/processors/utils";
|
|
1
2
|
import { Kysely } from "kysely";
|
|
2
3
|
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
3
4
|
import { useMemo } from "react";
|
|
4
5
|
import { usePGliteDB } from "../../pglite/hooks/usePGlite.js";
|
|
5
6
|
// Custom initializer that creates enhanced Kysely instance with live capabilities
|
|
6
|
-
function
|
|
7
|
-
const
|
|
7
|
+
function createRelationalDbWithLive(pgliteInstance) {
|
|
8
|
+
const baseDb = new Kysely({
|
|
8
9
|
dialect: new PGliteDialect(pgliteInstance),
|
|
9
10
|
});
|
|
11
|
+
const relationalDb = createRelationalDb(baseDb);
|
|
10
12
|
// Inject the live namespace with proper typing
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
const relationalDBWithLive = relationalDb;
|
|
14
|
+
relationalDBWithLive.live = pgliteInstance.live;
|
|
15
|
+
return relationalDBWithLive;
|
|
13
16
|
}
|
|
14
|
-
export const
|
|
17
|
+
export const useRelationalDb = () => {
|
|
15
18
|
const pglite = usePGliteDB();
|
|
16
|
-
const
|
|
19
|
+
const relationalDb = useMemo(() => {
|
|
17
20
|
if (!pglite.db || pglite.isLoading || pglite.error) {
|
|
18
21
|
return {
|
|
19
22
|
db: null,
|
|
@@ -21,13 +24,13 @@ export const useOperationalStore = () => {
|
|
|
21
24
|
error: pglite.error,
|
|
22
25
|
};
|
|
23
26
|
}
|
|
24
|
-
const db =
|
|
27
|
+
const db = createRelationalDbWithLive(pglite.db);
|
|
25
28
|
return {
|
|
26
29
|
db,
|
|
27
30
|
isLoading: false,
|
|
28
31
|
error: null,
|
|
29
32
|
};
|
|
30
33
|
}, [pglite]);
|
|
31
|
-
return
|
|
34
|
+
return relationalDb;
|
|
32
35
|
};
|
|
33
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=useRelationalDb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRelationalDb.js","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalDb.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAa9D,kFAAkF;AAClF,SAAS,0BAA0B,CACjC,cAA8B;IAE9B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAS;QAChC,OAAO,EAAE,IAAI,aAAa,CAAC,cAAmC,CAAC;KAChE,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,MAAM,oBAAoB,GAAG,YAA4C,CAAC;IAC1E,oBAAoB,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAEhD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE;IAC1C,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAE7B,MAAM,YAAY,GAAG,OAAO,CAAwB,GAAG,EAAE;QACvD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACnD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,0BAA0B,CAAS,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzD,OAAO;YACL,EAAE;YACF,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type LiveQueryResults } from "@electric-sql/pglite/live";
|
|
2
|
+
import { type RelationalDbProcessorClass } from "document-drive/processors/relational";
|
|
3
|
+
import { type IRelationalQueryBuilder } from "document-drive/processors/types";
|
|
4
|
+
export type QueryCallbackReturnType = {
|
|
5
|
+
sql: string;
|
|
6
|
+
parameters?: readonly unknown[];
|
|
7
|
+
};
|
|
8
|
+
export type useRelationalQueryOptions = {
|
|
9
|
+
hashNamespace?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function useRelationalQuery<Schema, T = unknown, TParams = undefined>(ProcessorClass: RelationalDbProcessorClass<Schema>, driveId: string, queryCallback: (db: IRelationalQueryBuilder<Schema>, parameters?: TParams) => QueryCallbackReturnType, parameters?: TParams, options?: useRelationalQueryOptions): {
|
|
12
|
+
readonly isLoading: boolean;
|
|
13
|
+
readonly error: Error | null;
|
|
14
|
+
readonly result: LiveQueryResults<T> | null;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useRelationalQuery.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/src/{operational/hooks/useOperationalQuery.js → relational/hooks/useRelationalQuery.js}
RENAMED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { createNamespacedQueryBuilder, } from "document-drive/processors/operational-processor";
|
|
2
1
|
import { useEffect, useState } from "react";
|
|
3
|
-
import {
|
|
4
|
-
export function
|
|
2
|
+
import { useRelationalDb } from "./useRelationalDb.js";
|
|
3
|
+
export function useRelationalQuery(ProcessorClass, driveId, queryCallback, parameters, options) {
|
|
5
4
|
const [result, setResult] = useState(null);
|
|
6
5
|
const [queryLoading, setQueryLoading] = useState(true);
|
|
7
6
|
const [error, setError] = useState(undefined);
|
|
8
|
-
const
|
|
7
|
+
const relationalDb = useRelationalDb();
|
|
9
8
|
useEffect(() => {
|
|
10
9
|
setError(undefined);
|
|
11
10
|
setQueryLoading(true);
|
|
12
|
-
if (!
|
|
11
|
+
if (!relationalDb.db) {
|
|
13
12
|
return;
|
|
14
13
|
}
|
|
15
14
|
// Use processor's query method to get namespaced database
|
|
16
|
-
const
|
|
15
|
+
const namespace = ProcessorClass.getNamespace(driveId);
|
|
16
|
+
const db = relationalDb.db.queryNamespace(namespace);
|
|
17
17
|
const compiledQuery = queryCallback(db, parameters);
|
|
18
18
|
const { sql, parameters: queryParameters } = compiledQuery;
|
|
19
|
-
const live =
|
|
19
|
+
const live = relationalDb.db.live
|
|
20
20
|
.query(sql, queryParameters ? [...queryParameters] : [], (result) => {
|
|
21
21
|
setResult(result);
|
|
22
22
|
setQueryLoading(false);
|
|
@@ -28,11 +28,11 @@ export function useOperationalQuery(ProcessorClass, driveId, queryCallback, para
|
|
|
28
28
|
return () => {
|
|
29
29
|
void live.then((l) => l?.unsubscribe());
|
|
30
30
|
};
|
|
31
|
-
}, [
|
|
31
|
+
}, [relationalDb.db, ProcessorClass, driveId, queryCallback, parameters]);
|
|
32
32
|
return {
|
|
33
|
-
isLoading:
|
|
34
|
-
error: error ||
|
|
33
|
+
isLoading: relationalDb.isLoading || queryLoading,
|
|
34
|
+
error: error || relationalDb.error,
|
|
35
35
|
result,
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=useRelationalQuery.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/relational/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relational/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type LiveQueryResults } from "@electric-sql/pglite/live";
|
|
2
|
+
import { type IRelationalQueryBuilder, type RelationalDbProcessorClass } from "document-drive/processors/relational";
|
|
3
|
+
import { type CompiledQuery } from "kysely";
|
|
4
|
+
import { type QueryCallbackReturnType, type useRelationalQueryOptions } from "../hooks/useRelationalQuery.js";
|
|
5
|
+
export declare function createProcessorQuery<TSchema>(ProcessorClass: RelationalDbProcessorClass<TSchema>): {
|
|
6
|
+
<TQueryBuilder extends (db: IRelationalQueryBuilder<TSchema>) => QueryCallbackReturnType>(driveId: string, queryCallback: TQueryBuilder): {
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
error: Error | null;
|
|
9
|
+
result: LiveQueryResults<ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any> | null;
|
|
10
|
+
};
|
|
11
|
+
<TParams, TQueryBuilder extends (db: IRelationalQueryBuilder<TSchema>, parameters: TParams) => QueryCallbackReturnType>(driveId: string, queryCallback: TQueryBuilder, parameters: TParams, options?: useRelationalQueryOptions): {
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
error: Error | null;
|
|
14
|
+
result: LiveQueryResults<ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any> | null;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=createProcessorQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProcessorQuery.d.ts","sourceRoot":"","sources":["../../../../src/relational/utils/createProcessorQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG5C,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAC;AAcxC,wBAAgB,oBAAoB,CAAC,OAAO,EAC1C,cAAc,EAAE,0BAA0B,CAAC,OAAO,CAAC;KAIjD,aAAa,SAAS,CACpB,EAAE,EAAE,uBAAuB,CAAC,OAAO,CAAC,KACjC,uBAAuB,WAEnB,MAAM,iBACA,aAAa,GAC3B;QACD,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,gBAAgB,CACtB,UAAU,CAAC,aAAa,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CACnE,GAAG,IAAI,CAAC;KACV;KAIC,OAAO,EACP,aAAa,SAAS,CACpB,EAAE,EAAE,uBAAuB,CAAC,OAAO,CAAC,EACpC,UAAU,EAAE,OAAO,KAChB,uBAAuB,WAEnB,MAAM,iBACA,aAAa,cAChB,OAAO,YACT,yBAAyB,GAClC;QACD,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,gBAAgB,CACtB,UAAU,CAAC,aAAa,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CACnE,GAAG,IAAI,CAAC;KACV;EA2CF"}
|
package/dist/src/{operational/utils/createTypedQuery.js → relational/utils/createProcessorQuery.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import deepEqual from "lodash.isequal";
|
|
2
2
|
import { useCallback, useMemo, useRef } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { useRelationalQuery, } from "../hooks/useRelationalQuery.js";
|
|
4
4
|
// Custom hook for parameter memoization
|
|
5
5
|
function useStableParams(params) {
|
|
6
6
|
const prevParamsRef = useRef();
|
|
@@ -11,14 +11,14 @@ function useStableParams(params) {
|
|
|
11
11
|
return prevParamsRef.current;
|
|
12
12
|
}, [params]);
|
|
13
13
|
}
|
|
14
|
-
export function
|
|
14
|
+
export function createProcessorQuery(ProcessorClass) {
|
|
15
15
|
function useQuery(driveId, queryCallback, parameters, options) {
|
|
16
16
|
// Automatically memoize parameters using deep comparison
|
|
17
17
|
const stableParams = useStableParams(parameters);
|
|
18
18
|
// Memoize the callback to prevent infinite loops, updating when parameters change
|
|
19
19
|
const memoizedCallback = useCallback(queryCallback, [stableParams]);
|
|
20
|
-
return
|
|
20
|
+
return useRelationalQuery(ProcessorClass, driveId, memoizedCallback, stableParams, options);
|
|
21
21
|
}
|
|
22
22
|
return useQuery;
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=createProcessorQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProcessorQuery.js","sourceRoot":"","sources":["../../../../src/relational/utils/createProcessorQuery.ts"],"names":[],"mappings":"AAMA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAEL,kBAAkB,GAEnB,MAAM,gCAAgC,CAAC;AAExC,wCAAwC;AACxC,SAAS,eAAe,CAAI,MAAS;IACnC,MAAM,aAAa,GAAG,MAAM,EAAK,CAAC;IAElC,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YAC9C,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC;QACjC,CAAC;QACD,OAAO,aAAa,CAAC,OAAY,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAmD;IAsCnD,SAAS,QAAQ,CAOf,OAAe,EACf,aAA4B,EAC5B,UAAoB,EACpB,OAAmC;QAWnC,yDAAyD;QACzD,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAEjD,kFAAkF;QAClF,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAEpE,OAAO,kBAAkB,CACvB,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,OAAO,CAKR,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/relational/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/relational/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
|