clivly 0.8.0 → 0.9.1
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/README.md +330 -134
- package/core-drizzle.cjs +3 -1
- package/core-drizzle.d.cts +3 -2
- package/core-drizzle.d.mts +3 -2
- package/core-drizzle.mjs +2 -2
- package/core-entity-config.cjs +2 -1
- package/core-entity-config.d.cts +2 -2
- package/core-entity-config.d.mts +2 -2
- package/core-entity-config.mjs +2 -2
- package/core-entity-heuristics.d.cts +3 -2
- package/core-entity-heuristics.d.mts +3 -2
- package/core-mapping-form.d.cts +1 -1
- package/core-mapping-form.d.mts +1 -1
- package/core-mappings-config.cjs +1 -1
- package/core-mappings-config.d.cts +1 -1
- package/core-mappings-config.d.mts +1 -1
- package/core-mappings-config.mjs +1 -1
- package/core-sync-engine.cjs +1 -1
- package/core-sync-engine.d.cts +1 -1
- package/core-sync-engine.d.mts +1 -1
- package/core-sync-engine.mjs +1 -1
- package/core-view-compiler.cjs +2 -1
- package/core-view-compiler.d.cts +2 -2
- package/core-view-compiler.d.mts +2 -2
- package/core-view-compiler.mjs +2 -2
- package/core.cjs +21 -5
- package/core.d.cts +7 -6
- package/core.d.mts +7 -6
- package/core.mjs +7 -6
- package/drizzle-3kvhkwO7.mjs +110 -0
- package/drizzle-DooDUGqO.d.mts +41 -0
- package/drizzle-bfjVzYR6.cjs +127 -0
- package/drizzle-jz0lrAgl.d.cts +41 -0
- package/drizzle.cjs +12 -40
- package/drizzle.d.cts +3 -11
- package/drizzle.d.mts +3 -11
- package/drizzle.mjs +12 -41
- package/entity-config-D08zAeFY.mjs +657 -0
- package/{entity-config-DoUCXtq5.d.cts → entity-config-fKQhimtD.d.cts} +263 -2
- package/{entity-config-DoUCXtq5.d.mts → entity-config-fKQhimtD.d.mts} +263 -2
- package/entity-config-nuXge6rY.cjs +778 -0
- package/index.cjs +768 -122
- package/index.d.cts +12 -0
- package/index.d.mts +12 -0
- package/index.mjs +769 -123
- package/internal-BGVUG312.mjs +68 -0
- package/internal-BLCK81kB.d.mts +72 -0
- package/internal-C-YBW2DB.d.cts +72 -0
- package/internal-D4HDi2GC.cjs +97 -0
- package/internal-drizzle.cjs +3 -1
- package/internal-drizzle.d.cts +2 -2
- package/internal-drizzle.d.mts +2 -2
- package/internal-drizzle.mjs +2 -2
- package/internal-entity-config.cjs +2 -1
- package/internal-entity-config.d.cts +2 -2
- package/internal-entity-config.d.mts +2 -2
- package/internal-entity-config.mjs +2 -2
- package/internal-entity-heuristics.cjs +28 -8
- package/internal-entity-heuristics.d.cts +2 -12
- package/internal-entity-heuristics.d.mts +2 -12
- package/internal-entity-heuristics.mjs +28 -8
- package/internal-mapping-form.d.cts +1 -1
- package/internal-mapping-form.d.mts +1 -1
- package/internal-mappings-config.cjs +1 -1
- package/internal-mappings-config.d.cts +1 -1
- package/internal-mappings-config.d.mts +1 -1
- package/internal-mappings-config.mjs +1 -1
- package/internal-sync-engine.cjs +1 -1
- package/internal-sync-engine.d.cts +1 -1
- package/internal-sync-engine.d.mts +1 -1
- package/internal-sync-engine.mjs +1 -1
- package/internal-view-compiler.cjs +2 -1
- package/internal-view-compiler.d.cts +2 -2
- package/internal-view-compiler.d.mts +2 -2
- package/internal-view-compiler.mjs +2 -2
- package/internal.cjs +21 -4
- package/internal.d.cts +7 -6
- package/internal.d.mts +7 -6
- package/internal.mjs +7 -5
- package/{mapping-form-D93lhHEc.d.mts → mapping-form-DhY0iFmN.d.cts} +1 -1
- package/{mapping-form-lfyEE7EJ.d.cts → mapping-form-Du36VZr1.d.mts} +1 -1
- package/{mappings-config-DsUa7-1w.d.mts → mappings-config-B1qNM8VL.d.cts} +7 -1
- package/{mappings-config-XmzB4dag.d.cts → mappings-config-BChZsany.d.mts} +7 -1
- package/{mappings-config-BsRADNRv.cjs → mappings-config-C8ynKmDK.cjs} +32 -6
- package/{mappings-config-Dbgxx3Nv.mjs → mappings-config-DNaYGyKN.mjs} +32 -6
- package/namespace-probe-BkUs8raG.d.mts +381 -0
- package/namespace-probe-aRFmpU85.d.cts +381 -0
- package/package.json +1 -1
- package/{entity-config-va2bkH5o.mjs → projection-C5244vGa.cjs} +130 -309
- package/{entity-config-D87rV-tE.cjs → projection-D7xmQP4S.mjs} +60 -381
- package/{sdk-iqOXeWIp.cjs → sdk-Bj-ZDf4u.cjs} +126 -28
- package/{sdk-C6WANW8M.mjs → sdk-BvRD2jAp.mjs} +126 -28
- package/sdk.cjs +2 -2
- package/sdk.d.cts +36 -1
- package/sdk.d.mts +36 -1
- package/sdk.mjs +2 -2
- package/{sync-engine-DGk_AeHJ.d.mts → sync-engine-DHQ7rXZe.d.mts} +2 -2
- package/{sync-engine-B7QIbXro.d.cts → sync-engine-DiPjH53O.d.cts} +2 -2
- package/{sync-engine-Do5ru3WF.mjs → sync-engine-SuxSzbZ4.mjs} +9 -2
- package/{sync-engine-CzEbpQGv.cjs → sync-engine-abE94g6X.cjs} +9 -2
- package/{view-compiler-BIwvm-o2.cjs → view-compiler-Blu4OXJ7.cjs} +103 -12
- package/{view-compiler-ChWr_Lml.mjs → view-compiler-CQx8TRrW.mjs} +98 -13
- package/{view-compiler-BWz0sGdm.d.cts → view-compiler-CcUwzZut.d.mts} +12 -2
- package/{view-compiler-Bn_EJJMO.d.mts → view-compiler-DqAdVxLq.d.cts} +12 -2
- package/vite.d.cts +1 -1
- package/vite.d.mts +1 -1
- package/drizzle-B89tLo4T.mjs +0 -31
- package/drizzle-CFOr9dU9.d.mts +0 -20
- package/drizzle-DiReZf6d.cjs +0 -36
- package/drizzle-DmeKSqeF.d.cts +0 -20
- package/types-CsL0rFYh.d.cts +0 -155
- package/types-CsL0rFYh.d.mts +0 -155
package/drizzle.cjs
CHANGED
|
@@ -1,43 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_drizzle_meta = require("./drizzle-meta-Bb1JWYqf.cjs");
|
|
3
|
-
const require_drizzle = require("./drizzle-
|
|
3
|
+
const require_drizzle = require("./drizzle-bfjVzYR6.cjs");
|
|
4
4
|
let drizzle_orm = require("drizzle-orm");
|
|
5
|
-
let drizzle_orm_pg_core = require("drizzle-orm/pg-core");
|
|
6
5
|
//#region ../sdk/src/drizzle.ts
|
|
7
|
-
function buildColumnsMeta(table) {
|
|
8
|
-
const columns = (0, drizzle_orm.getTableColumns)(table);
|
|
9
|
-
const fkByColumn = /* @__PURE__ */ new Map();
|
|
10
|
-
try {
|
|
11
|
-
for (const fk of (0, drizzle_orm_pg_core.getTableConfig)(table).foreignKeys) {
|
|
12
|
-
const ref = fk.reference();
|
|
13
|
-
const foreignTable = (0, drizzle_orm.getTableName)(ref.foreignTable);
|
|
14
|
-
ref.columns.forEach((col, i) => {
|
|
15
|
-
const foreignCol = ref.foreignColumns[i];
|
|
16
|
-
if (foreignCol) fkByColumn.set(col.name, {
|
|
17
|
-
table: foreignTable,
|
|
18
|
-
column: foreignCol.name
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
} catch {}
|
|
23
|
-
return Object.values(columns).map((col) => {
|
|
24
|
-
const references = fkByColumn.get(col.name);
|
|
25
|
-
let type;
|
|
26
|
-
try {
|
|
27
|
-
type = col.getSQLType();
|
|
28
|
-
} catch {
|
|
29
|
-
type = void 0;
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
name: col.name,
|
|
33
|
-
type,
|
|
34
|
-
nullable: !col.notNull,
|
|
35
|
-
isPrimaryKey: Boolean(col.primary),
|
|
36
|
-
isForeignKey: references !== void 0,
|
|
37
|
-
...references ? { references } : {}
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
6
|
function inferIdField(table) {
|
|
42
7
|
const columns = (0, drizzle_orm.getTableColumns)(table);
|
|
43
8
|
const primaryKeys = Object.entries(columns).filter(([, column]) => column.primary);
|
|
@@ -65,18 +30,24 @@ function fromDrizzle(db, table, opts) {
|
|
|
65
30
|
const idColumn = columns[idField];
|
|
66
31
|
if (!cursorColumn) throw new Error(`fromDrizzle: cursorField "${opts.cursorField}" is not a column on "${(0, drizzle_orm.getTableName)(table)}".`);
|
|
67
32
|
if (!idColumn) throw new Error(`fromDrizzle: idField "${idField}" is not a column on "${(0, drizzle_orm.getTableName)(table)}".`);
|
|
33
|
+
const projection = {};
|
|
34
|
+
for (const column of Object.values(columns)) projection[column.name] = column;
|
|
35
|
+
const cursorColumnName = cursorColumn.name;
|
|
36
|
+
const idColumnName = idColumn.name;
|
|
68
37
|
const source = {
|
|
69
38
|
entity: opts.entity,
|
|
70
|
-
cursorField:
|
|
71
|
-
idField,
|
|
72
|
-
fetchPage: ({ since, limit }) => drizzleDb.select().from(table).where(since ? drizzle_orm.sql`(${cursorColumn}, ${idColumn}) > (${since.time}, ${since.id})` : void 0).orderBy((0, drizzle_orm.asc)(cursorColumn), (0, drizzle_orm.asc)(idColumn)).limit(limit)
|
|
39
|
+
cursorField: cursorColumnName,
|
|
40
|
+
idField: idColumnName,
|
|
41
|
+
fetchPage: ({ since, limit }) => drizzleDb.select(projection).from(table).where(since ? drizzle_orm.sql`(${cursorColumn}, ${idColumn}) > (${since.time}, ${since.id})` : void 0).orderBy((0, drizzle_orm.asc)(cursorColumn), (0, drizzle_orm.asc)(idColumn)).limit(limit)
|
|
73
42
|
};
|
|
43
|
+
const uniqueConstraints = require_drizzle.buildUniqueConstraints(table);
|
|
74
44
|
const meta = {
|
|
75
45
|
columnKeys: Object.keys(columns),
|
|
76
46
|
cursorField: opts.cursorField,
|
|
77
47
|
idField,
|
|
78
48
|
tableName: (0, drizzle_orm.getTableName)(table),
|
|
79
|
-
columnsMeta: buildColumnsMeta(table)
|
|
49
|
+
columnsMeta: require_drizzle.buildColumnsMeta(table),
|
|
50
|
+
...uniqueConstraints === void 0 ? {} : { uniqueConstraints }
|
|
80
51
|
};
|
|
81
52
|
Object.defineProperty(source, require_drizzle_meta.DRIZZLE_META, {
|
|
82
53
|
value: meta,
|
|
@@ -104,6 +75,7 @@ function drizzleIntrospector(db) {
|
|
|
104
75
|
};
|
|
105
76
|
}
|
|
106
77
|
//#endregion
|
|
78
|
+
exports.buildUniqueConstraints = require_drizzle.buildUniqueConstraints;
|
|
107
79
|
exports.discoverFromDrizzle = require_drizzle.discoverFromDrizzle;
|
|
108
80
|
exports.drizzleIntrospector = drizzleIntrospector;
|
|
109
81
|
exports.fromDrizzle = fromDrizzle;
|
package/drizzle.d.cts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { n as buildUniqueConstraints, r as discoverFromDrizzle } from "./drizzle-jz0lrAgl.cjs";
|
|
2
|
+
import { m as SyncSource, t as NamespaceIntrospector } from "./namespace-probe-aRFmpU85.cjs";
|
|
3
3
|
import { Table } from "drizzle-orm";
|
|
4
|
-
//#region ../sdk/src/namespace-probe.d.ts
|
|
5
|
-
interface NamespaceIntrospector {
|
|
6
|
-
/** All base table names in the reachable schema. */
|
|
7
|
-
listTables(): Promise<string[]>;
|
|
8
|
-
/** Prove a table is genuinely selectable (SELECT ... LIMIT 1). Throws if unreachable/denied. */
|
|
9
|
-
sampleSelect(table: string): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
4
|
//#region ../sdk/src/drizzle.d.ts
|
|
13
5
|
interface DrizzleDb {
|
|
14
6
|
select: (...args: any[]) => any;
|
|
@@ -33,4 +25,4 @@ declare function fromDrizzle(db: DrizzleDb, table: Table, opts: {
|
|
|
33
25
|
*/
|
|
34
26
|
declare function drizzleIntrospector(db: unknown): NamespaceIntrospector;
|
|
35
27
|
//#endregion
|
|
36
|
-
export { discoverFromDrizzle, drizzleIntrospector, fromDrizzle };
|
|
28
|
+
export { buildUniqueConstraints, discoverFromDrizzle, drizzleIntrospector, fromDrizzle };
|
package/drizzle.d.mts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { n as buildUniqueConstraints, r as discoverFromDrizzle } from "./drizzle-DooDUGqO.mjs";
|
|
2
|
+
import { m as SyncSource, t as NamespaceIntrospector } from "./namespace-probe-BkUs8raG.mjs";
|
|
3
3
|
import { Table } from "drizzle-orm";
|
|
4
|
-
//#region ../sdk/src/namespace-probe.d.ts
|
|
5
|
-
interface NamespaceIntrospector {
|
|
6
|
-
/** All base table names in the reachable schema. */
|
|
7
|
-
listTables(): Promise<string[]>;
|
|
8
|
-
/** Prove a table is genuinely selectable (SELECT ... LIMIT 1). Throws if unreachable/denied. */
|
|
9
|
-
sampleSelect(table: string): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
4
|
//#region ../sdk/src/drizzle.d.ts
|
|
13
5
|
interface DrizzleDb {
|
|
14
6
|
select: (...args: any[]) => any;
|
|
@@ -33,4 +25,4 @@ declare function fromDrizzle(db: DrizzleDb, table: Table, opts: {
|
|
|
33
25
|
*/
|
|
34
26
|
declare function drizzleIntrospector(db: unknown): NamespaceIntrospector;
|
|
35
27
|
//#endregion
|
|
36
|
-
export { discoverFromDrizzle, drizzleIntrospector, fromDrizzle };
|
|
28
|
+
export { buildUniqueConstraints, discoverFromDrizzle, drizzleIntrospector, fromDrizzle };
|
package/drizzle.mjs
CHANGED
|
@@ -1,42 +1,7 @@
|
|
|
1
1
|
import { t as DRIZZLE_META } from "./drizzle-meta-D-5k3n0i.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { n as buildUniqueConstraints, r as discoverFromDrizzle, t as buildColumnsMeta } from "./drizzle-3kvhkwO7.mjs";
|
|
3
3
|
import { asc, getTableColumns, getTableName, sql } from "drizzle-orm";
|
|
4
|
-
import { getTableConfig } from "drizzle-orm/pg-core";
|
|
5
4
|
//#region ../sdk/src/drizzle.ts
|
|
6
|
-
function buildColumnsMeta(table) {
|
|
7
|
-
const columns = getTableColumns(table);
|
|
8
|
-
const fkByColumn = /* @__PURE__ */ new Map();
|
|
9
|
-
try {
|
|
10
|
-
for (const fk of getTableConfig(table).foreignKeys) {
|
|
11
|
-
const ref = fk.reference();
|
|
12
|
-
const foreignTable = getTableName(ref.foreignTable);
|
|
13
|
-
ref.columns.forEach((col, i) => {
|
|
14
|
-
const foreignCol = ref.foreignColumns[i];
|
|
15
|
-
if (foreignCol) fkByColumn.set(col.name, {
|
|
16
|
-
table: foreignTable,
|
|
17
|
-
column: foreignCol.name
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
} catch {}
|
|
22
|
-
return Object.values(columns).map((col) => {
|
|
23
|
-
const references = fkByColumn.get(col.name);
|
|
24
|
-
let type;
|
|
25
|
-
try {
|
|
26
|
-
type = col.getSQLType();
|
|
27
|
-
} catch {
|
|
28
|
-
type = void 0;
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
name: col.name,
|
|
32
|
-
type,
|
|
33
|
-
nullable: !col.notNull,
|
|
34
|
-
isPrimaryKey: Boolean(col.primary),
|
|
35
|
-
isForeignKey: references !== void 0,
|
|
36
|
-
...references ? { references } : {}
|
|
37
|
-
};
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
5
|
function inferIdField(table) {
|
|
41
6
|
const columns = getTableColumns(table);
|
|
42
7
|
const primaryKeys = Object.entries(columns).filter(([, column]) => column.primary);
|
|
@@ -64,18 +29,24 @@ function fromDrizzle(db, table, opts) {
|
|
|
64
29
|
const idColumn = columns[idField];
|
|
65
30
|
if (!cursorColumn) throw new Error(`fromDrizzle: cursorField "${opts.cursorField}" is not a column on "${getTableName(table)}".`);
|
|
66
31
|
if (!idColumn) throw new Error(`fromDrizzle: idField "${idField}" is not a column on "${getTableName(table)}".`);
|
|
32
|
+
const projection = {};
|
|
33
|
+
for (const column of Object.values(columns)) projection[column.name] = column;
|
|
34
|
+
const cursorColumnName = cursorColumn.name;
|
|
35
|
+
const idColumnName = idColumn.name;
|
|
67
36
|
const source = {
|
|
68
37
|
entity: opts.entity,
|
|
69
|
-
cursorField:
|
|
70
|
-
idField,
|
|
71
|
-
fetchPage: ({ since, limit }) => drizzleDb.select().from(table).where(since ? sql`(${cursorColumn}, ${idColumn}) > (${since.time}, ${since.id})` : void 0).orderBy(asc(cursorColumn), asc(idColumn)).limit(limit)
|
|
38
|
+
cursorField: cursorColumnName,
|
|
39
|
+
idField: idColumnName,
|
|
40
|
+
fetchPage: ({ since, limit }) => drizzleDb.select(projection).from(table).where(since ? sql`(${cursorColumn}, ${idColumn}) > (${since.time}, ${since.id})` : void 0).orderBy(asc(cursorColumn), asc(idColumn)).limit(limit)
|
|
72
41
|
};
|
|
42
|
+
const uniqueConstraints = buildUniqueConstraints(table);
|
|
73
43
|
const meta = {
|
|
74
44
|
columnKeys: Object.keys(columns),
|
|
75
45
|
cursorField: opts.cursorField,
|
|
76
46
|
idField,
|
|
77
47
|
tableName: getTableName(table),
|
|
78
|
-
columnsMeta: buildColumnsMeta(table)
|
|
48
|
+
columnsMeta: buildColumnsMeta(table),
|
|
49
|
+
...uniqueConstraints === void 0 ? {} : { uniqueConstraints }
|
|
79
50
|
};
|
|
80
51
|
Object.defineProperty(source, DRIZZLE_META, {
|
|
81
52
|
value: meta,
|
|
@@ -103,4 +74,4 @@ function drizzleIntrospector(db) {
|
|
|
103
74
|
};
|
|
104
75
|
}
|
|
105
76
|
//#endregion
|
|
106
|
-
export { discoverFromDrizzle, drizzleIntrospector, fromDrizzle };
|
|
77
|
+
export { buildUniqueConstraints, discoverFromDrizzle, drizzleIntrospector, fromDrizzle };
|