neoorm 0.1.4 → 0.2.0
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 +423 -27
- package/dist/bin/neoorm.js +117 -30
- package/dist/bin/neoorm.js.map +1 -1
- package/dist/codegen/diff-manifest.d.ts +7 -1
- package/dist/codegen/diff-manifest.d.ts.map +1 -1
- package/dist/codegen/diff-manifest.js +100 -4
- package/dist/codegen/diff-manifest.js.map +1 -1
- package/dist/codegen/emit-includes.d.ts.map +1 -1
- package/dist/codegen/emit-includes.js +7 -1
- package/dist/codegen/emit-includes.js.map +1 -1
- package/dist/codegen/emit-models.d.ts.map +1 -1
- package/dist/codegen/emit-models.js +28 -6
- package/dist/codegen/emit-models.js.map +1 -1
- package/dist/codegen/generate-summary.d.ts +21 -0
- package/dist/codegen/generate-summary.d.ts.map +1 -0
- package/dist/codegen/generate-summary.js +101 -0
- package/dist/codegen/generate-summary.js.map +1 -0
- package/dist/codegen/generate.d.ts +12 -3
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/generate.js +36 -13
- package/dist/codegen/generate.js.map +1 -1
- package/dist/codegen/manifest-relations.d.ts.map +1 -1
- package/dist/codegen/manifest-relations.js +9 -2
- package/dist/codegen/manifest-relations.js.map +1 -1
- package/dist/codegen/schema-to-manifest.d.ts +4 -1
- package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
- package/dist/codegen/schema-to-manifest.js +69 -12
- package/dist/codegen/schema-to-manifest.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/dialect/postgres.d.ts +3 -0
- package/dist/dialect/postgres.d.ts.map +1 -1
- package/dist/dialect/postgres.js +51 -1
- package/dist/dialect/postgres.js.map +1 -1
- package/dist/dialect/types.d.ts +13 -1
- package/dist/dialect/types.d.ts.map +1 -1
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/init/scaffold.d.ts +19 -0
- package/dist/init/scaffold.d.ts.map +1 -0
- package/dist/init/scaffold.js +92 -0
- package/dist/init/scaffold.js.map +1 -0
- package/dist/init/templates.d.ts +4 -0
- package/dist/init/templates.d.ts.map +1 -0
- package/dist/init/templates.js +44 -0
- package/dist/init/templates.js.map +1 -0
- package/dist/introspect/queries.d.ts +5 -0
- package/dist/introspect/queries.d.ts.map +1 -1
- package/dist/introspect/queries.js +17 -0
- package/dist/introspect/queries.js.map +1 -1
- package/dist/introspect/to-manifest.d.ts.map +1 -1
- package/dist/introspect/to-manifest.js +58 -14
- package/dist/introspect/to-manifest.js.map +1 -1
- package/dist/migrate/runner.d.ts +26 -0
- package/dist/migrate/runner.d.ts.map +1 -1
- package/dist/migrate/runner.js +166 -7
- package/dist/migrate/runner.js.map +1 -1
- package/dist/plugins/builtin.d.ts +35 -2
- package/dist/plugins/builtin.d.ts.map +1 -1
- package/dist/plugins/builtin.js +318 -1
- package/dist/plugins/builtin.js.map +1 -1
- package/dist/plugins/json/operators.d.ts +3 -0
- package/dist/plugins/json/operators.d.ts.map +1 -0
- package/dist/plugins/json/operators.js +65 -0
- package/dist/plugins/json/operators.js.map +1 -0
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +3 -1
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/types.d.ts +1 -0
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/runtime/client.d.ts +33 -3
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +54 -36
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/errors.d.ts +20 -0
- package/dist/runtime/errors.d.ts.map +1 -0
- package/dist/runtime/errors.js +68 -0
- package/dist/runtime/errors.js.map +1 -0
- package/dist/runtime/executor.d.ts +1 -0
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +27 -4
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/pg-error.d.ts +19 -0
- package/dist/runtime/pg-error.d.ts.map +1 -0
- package/dist/runtime/pg-error.js +110 -0
- package/dist/runtime/pg-error.js.map +1 -0
- package/dist/runtime/query/aggregate.d.ts +11 -0
- package/dist/runtime/query/aggregate.d.ts.map +1 -0
- package/dist/runtime/query/aggregate.js +44 -0
- package/dist/runtime/query/aggregate.js.map +1 -0
- package/dist/runtime/query/compile.d.ts +21 -6
- package/dist/runtime/query/compile.d.ts.map +1 -1
- package/dist/runtime/query/compile.js +110 -19
- package/dist/runtime/query/compile.js.map +1 -1
- package/dist/runtime/query/count.d.ts +3 -3
- package/dist/runtime/query/count.d.ts.map +1 -1
- package/dist/runtime/query/count.js +7 -4
- package/dist/runtime/query/count.js.map +1 -1
- package/dist/runtime/query/create.d.ts +12 -2
- package/dist/runtime/query/create.d.ts.map +1 -1
- package/dist/runtime/query/create.js +74 -111
- package/dist/runtime/query/create.js.map +1 -1
- package/dist/runtime/query/cursor-codec.d.ts +3 -0
- package/dist/runtime/query/cursor-codec.d.ts.map +1 -0
- package/dist/runtime/query/cursor-codec.js +27 -0
- package/dist/runtime/query/cursor-codec.js.map +1 -0
- package/dist/runtime/query/cursor.d.ts +22 -0
- package/dist/runtime/query/cursor.d.ts.map +1 -0
- package/dist/runtime/query/cursor.js +84 -0
- package/dist/runtime/query/cursor.js.map +1 -0
- package/dist/runtime/query/delete.d.ts +4 -4
- package/dist/runtime/query/delete.d.ts.map +1 -1
- package/dist/runtime/query/delete.js +18 -8
- package/dist/runtime/query/delete.js.map +1 -1
- package/dist/runtime/query/execute.d.ts +16 -0
- package/dist/runtime/query/execute.d.ts.map +1 -0
- package/dist/runtime/query/execute.js +74 -0
- package/dist/runtime/query/execute.js.map +1 -0
- package/dist/runtime/query/find.d.ts +7 -5
- package/dist/runtime/query/find.d.ts.map +1 -1
- package/dist/runtime/query/find.js +148 -29
- package/dist/runtime/query/find.js.map +1 -1
- package/dist/runtime/query/paginate.d.ts +17 -0
- package/dist/runtime/query/paginate.d.ts.map +1 -0
- package/dist/runtime/query/paginate.js +35 -0
- package/dist/runtime/query/paginate.js.map +1 -0
- package/dist/runtime/query/primary-key.d.ts +11 -1
- package/dist/runtime/query/primary-key.d.ts.map +1 -1
- package/dist/runtime/query/primary-key.js +55 -0
- package/dist/runtime/query/primary-key.js.map +1 -1
- package/dist/runtime/query/relation-writes.d.ts +25 -0
- package/dist/runtime/query/relation-writes.d.ts.map +1 -0
- package/dist/runtime/query/relation-writes.js +404 -0
- package/dist/runtime/query/relation-writes.js.map +1 -0
- package/dist/runtime/query/unique.d.ts.map +1 -1
- package/dist/runtime/query/unique.js +1 -5
- package/dist/runtime/query/unique.js.map +1 -1
- package/dist/runtime/query/update.d.ts +4 -4
- package/dist/runtime/query/update.d.ts.map +1 -1
- package/dist/runtime/query/update.js +97 -38
- package/dist/runtime/query/update.js.map +1 -1
- package/dist/runtime/query/updated-at.d.ts +6 -0
- package/dist/runtime/query/updated-at.d.ts.map +1 -0
- package/dist/runtime/query/updated-at.js +21 -0
- package/dist/runtime/query/updated-at.js.map +1 -0
- package/dist/runtime/query/upsert.d.ts +2 -2
- package/dist/runtime/query/upsert.d.ts.map +1 -1
- package/dist/runtime/query/upsert.js +12 -8
- package/dist/runtime/query/upsert.js.map +1 -1
- package/dist/runtime/types.d.ts +21 -11
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schema/column-where.d.ts +30 -14
- package/dist/schema/column-where.d.ts.map +1 -1
- package/dist/schema/column.d.ts +6 -2
- package/dist/schema/column.d.ts.map +1 -1
- package/dist/schema/column.js +7 -1
- package/dist/schema/column.js.map +1 -1
- package/dist/schema/index.d.ts +4 -4
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/nested-relation-types.d.ts +61 -0
- package/dist/schema/nested-relation-types.d.ts.map +1 -0
- package/dist/schema/nested-relation-types.js +2 -0
- package/dist/schema/nested-relation-types.js.map +1 -0
- package/dist/schema/relation-types.d.ts +164 -22
- package/dist/schema/relation-types.d.ts.map +1 -1
- package/dist/schema/types.d.ts +83 -37
- package/dist/schema/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,61 +1,120 @@
|
|
|
1
|
-
import { postgresDialect } from "../../dialect/postgres.js";
|
|
1
|
+
import { postgresDialect, quoteIdentifier } from "../../dialect/postgres.js";
|
|
2
2
|
import { buildUpdateQuery, buildUpdateManyQuery, compileWhere, dataToSqlValues, rowToTs, } from "./compile.js";
|
|
3
3
|
import { loadRelations } from "./find.js";
|
|
4
|
-
|
|
4
|
+
import { runCreate } from "./create.js";
|
|
5
|
+
import { applyToOnePreWrites, executeRelationWrites, hasPostRelationWrites, splitScalarsAndRelationWrites, } from "./relation-writes.js";
|
|
6
|
+
import { primaryKeySqlName, requireScalarPrimaryKey, rowScalarPkValue } from "./primary-key.js";
|
|
7
|
+
import { stripUpdatedAtFromData, updatedAtSetExpressions } from "./updated-at.js";
|
|
8
|
+
import { runQuery, runQueryOne } from "./execute.js";
|
|
9
|
+
async function runUpdate(executor, runtime, tableAccessor, args) {
|
|
10
|
+
const { manifest } = runtime;
|
|
5
11
|
const table = manifest.tables[tableAccessor];
|
|
6
12
|
if (!table)
|
|
7
13
|
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
8
|
-
const scalarData =
|
|
9
|
-
|
|
10
|
-
const col = table.columns.find((c) => c.tsName === key);
|
|
11
|
-
if (col) {
|
|
12
|
-
scalarData[key] = value;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
const rel = table.relations.find((r) => r.name === key);
|
|
16
|
-
if (rel && value && typeof value === "object" && "connect" in value) {
|
|
17
|
-
const connect = value.connect;
|
|
18
|
-
if (rel.cardinality === "one") {
|
|
19
|
-
scalarData[rel.fkColumn] = connect.id;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
const { keys, values } = dataToSqlValues(table, scalarData, { excludePrimary: true });
|
|
25
|
-
if (keys.length === 0) {
|
|
26
|
-
throw new Error("Update requires at least one scalar field");
|
|
27
|
-
}
|
|
14
|
+
const { scalarData, relationWrites } = splitScalarsAndRelationWrites(manifest, tableAccessor, table, args.data);
|
|
15
|
+
await applyToOnePreWrites(executor, runtime, table, scalarData, relationWrites, runCreate);
|
|
28
16
|
const { sql: whereSql, params: whereParams } = compileWhere(manifest, table, args.where, postgresDialect);
|
|
29
17
|
if (!whereSql) {
|
|
30
18
|
throw new Error("Update requires a where clause");
|
|
31
19
|
}
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
20
|
+
stripUpdatedAtFromData(table, scalarData);
|
|
21
|
+
const { keys, values } = dataToSqlValues(table, scalarData, { excludePrimary: true });
|
|
22
|
+
const exprSets = updatedAtSetExpressions(table);
|
|
23
|
+
const needsRelationWrites = hasPostRelationWrites(table, manifest, tableAccessor, relationWrites);
|
|
24
|
+
if (keys.length === 0 && !needsRelationWrites && exprSets.length === 0) {
|
|
25
|
+
throw new Error("Update requires at least one scalar field or relation write");
|
|
26
|
+
}
|
|
27
|
+
let result;
|
|
28
|
+
if (keys.length === 0 && exprSets.length === 0) {
|
|
29
|
+
const selectSql = `SELECT * FROM ${quoteIdentifier(table.sqlName)} WHERE ${whereSql} LIMIT 1`;
|
|
30
|
+
const row = await runQueryOne(executor, runtime, { operation: "select", tableAccessor }, selectSql, whereParams);
|
|
31
|
+
if (!row)
|
|
32
|
+
return null;
|
|
33
|
+
result = rowToTs(table, row);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const query = buildUpdateQuery(table, keys, whereSql, exprSets);
|
|
37
|
+
const row = await runQueryOne(executor, runtime, { operation: "update", tableAccessor }, query, [...values, ...whereParams]);
|
|
38
|
+
if (!row)
|
|
39
|
+
return null;
|
|
40
|
+
result = rowToTs(table, row);
|
|
41
|
+
}
|
|
42
|
+
const recordId = rowScalarPkValue(result, table);
|
|
43
|
+
await executeRelationWrites(executor, runtime, tableAccessor, recordId, relationWrites, runCreate);
|
|
37
44
|
if (args.with) {
|
|
38
|
-
const [withLoaded] = await loadRelations(executor,
|
|
45
|
+
const [withLoaded] = await loadRelations(executor, runtime, table, [result], args.with);
|
|
39
46
|
return withLoaded ?? result;
|
|
40
47
|
}
|
|
41
48
|
return result;
|
|
42
49
|
}
|
|
43
|
-
export async function
|
|
50
|
+
export async function updateRecord(executor, runtime, tableAccessor, args) {
|
|
51
|
+
const { manifest } = runtime;
|
|
44
52
|
const table = manifest.tables[tableAccessor];
|
|
45
53
|
if (!table)
|
|
46
54
|
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
47
|
-
const {
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
const { relationWrites } = splitScalarsAndRelationWrites(manifest, tableAccessor, table, args.data);
|
|
56
|
+
const needsTransaction = hasPostRelationWrites(table, manifest, tableAccessor, relationWrites);
|
|
57
|
+
if (executor.inTransaction || !needsTransaction) {
|
|
58
|
+
return runUpdate(executor, runtime, tableAccessor, args);
|
|
59
|
+
}
|
|
60
|
+
return executor.transaction((tx) => runUpdate(tx, runtime, tableAccessor, args));
|
|
61
|
+
}
|
|
62
|
+
async function runUpdateMany(executor, runtime, tableAccessor, args) {
|
|
63
|
+
const { manifest } = runtime;
|
|
64
|
+
const table = manifest.tables[tableAccessor];
|
|
65
|
+
if (!table)
|
|
66
|
+
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
67
|
+
const { scalarData, relationWrites } = splitScalarsAndRelationWrites(manifest, tableAccessor, table, args.data);
|
|
68
|
+
await applyToOnePreWrites(executor, runtime, table, scalarData, relationWrites, runCreate);
|
|
69
|
+
stripUpdatedAtFromData(table, scalarData);
|
|
70
|
+
const { keys, values } = dataToSqlValues(table, scalarData, { excludePrimary: true });
|
|
71
|
+
const exprSets = updatedAtSetExpressions(table);
|
|
72
|
+
const needsPostRelationWrites = hasPostRelationWrites(table, manifest, tableAccessor, relationWrites);
|
|
73
|
+
if (keys.length === 0 && exprSets.length === 0 && !needsPostRelationWrites) {
|
|
74
|
+
throw new Error("Update requires at least one scalar field or relation write");
|
|
50
75
|
}
|
|
51
76
|
const { sql: whereSql, params: whereParams } = compileWhere(manifest, table, args.where, postgresDialect);
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
77
|
+
const pkSql = quoteIdentifier(primaryKeySqlName(table));
|
|
78
|
+
let parentIds = [];
|
|
79
|
+
if (keys.length > 0 || exprSets.length > 0) {
|
|
80
|
+
const query = buildUpdateManyQuery(table, keys, whereSql, exprSets);
|
|
81
|
+
const rows = await runQuery(executor, runtime, { operation: "update", tableAccessor }, `${query} RETURNING ${pkSql}`, [...values, ...whereParams]);
|
|
82
|
+
parentIds = rows.map((row) => rowScalarPkValue(rowToTs(table, row), table));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
let selectSql = `SELECT ${pkSql} FROM ${quoteIdentifier(table.sqlName)}`;
|
|
86
|
+
if (whereSql)
|
|
87
|
+
selectSql += ` ${whereSql}`;
|
|
88
|
+
const rows = await runQuery(executor, runtime, { operation: "select", tableAccessor }, selectSql, whereParams);
|
|
89
|
+
parentIds = rows.map((row) => rowScalarPkValue(rowToTs(table, row), table));
|
|
90
|
+
}
|
|
91
|
+
if (needsPostRelationWrites) {
|
|
92
|
+
for (const parentId of parentIds) {
|
|
93
|
+
await executeRelationWrites(executor, runtime, tableAccessor, parentId, relationWrites, runCreate);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return parentIds.length;
|
|
55
97
|
}
|
|
56
|
-
export async function
|
|
57
|
-
|
|
58
|
-
|
|
98
|
+
export async function updateManyRecords(executor, runtime, tableAccessor, args) {
|
|
99
|
+
const { manifest } = runtime;
|
|
100
|
+
const table = manifest.tables[tableAccessor];
|
|
101
|
+
if (!table)
|
|
102
|
+
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
103
|
+
const { relationWrites } = splitScalarsAndRelationWrites(manifest, tableAccessor, table, args.data);
|
|
104
|
+
const needsTransaction = hasPostRelationWrites(table, manifest, tableAccessor, relationWrites);
|
|
105
|
+
if (executor.inTransaction || !needsTransaction) {
|
|
106
|
+
return runUpdateMany(executor, runtime, tableAccessor, args);
|
|
107
|
+
}
|
|
108
|
+
return executor.transaction((tx) => runUpdateMany(tx, runtime, tableAccessor, args));
|
|
109
|
+
}
|
|
110
|
+
export async function updateById(executor, runtime, tableAccessor, id, args) {
|
|
111
|
+
const { manifest } = runtime;
|
|
112
|
+
const table = manifest.tables[tableAccessor];
|
|
113
|
+
if (!table)
|
|
114
|
+
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
115
|
+
const { tsName } = requireScalarPrimaryKey(table);
|
|
116
|
+
return updateRecord(executor, runtime, tableAccessor, {
|
|
117
|
+
where: { [tsName]: id },
|
|
59
118
|
data: args.data,
|
|
60
119
|
...(args.with !== undefined ? { with: args.with } : {}),
|
|
61
120
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/runtime/query/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/runtime/query/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ManifestColumn, ManifestTable } from "../../dialect/types.js";
|
|
2
|
+
export declare function updatedAtColumns(table: ManifestTable): ManifestColumn[];
|
|
3
|
+
export declare function hasUpdatedAtColumns(table: ManifestTable): boolean;
|
|
4
|
+
export declare function stripUpdatedAtFromData(table: ManifestTable, data: Record<string, unknown>): void;
|
|
5
|
+
export declare function updatedAtSetExpressions(table: ManifestTable): string[];
|
|
6
|
+
//# sourceMappingURL=updated-at.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updated-at.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/updated-at.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,EAAE,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAEjE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAIhG;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAMtE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { quoteIdentifier } from "../../dialect/postgres.js";
|
|
2
|
+
import { getColumnType } from "../../plugins/registry.js";
|
|
3
|
+
export function updatedAtColumns(table) {
|
|
4
|
+
return table.columns.filter((col) => col.updatedAt === true);
|
|
5
|
+
}
|
|
6
|
+
export function hasUpdatedAtColumns(table) {
|
|
7
|
+
return updatedAtColumns(table).length > 0;
|
|
8
|
+
}
|
|
9
|
+
export function stripUpdatedAtFromData(table, data) {
|
|
10
|
+
for (const col of updatedAtColumns(table)) {
|
|
11
|
+
delete data[col.tsName];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function updatedAtSetExpressions(table) {
|
|
15
|
+
return updatedAtColumns(table).map((col) => {
|
|
16
|
+
const plugin = getColumnType(col.kind);
|
|
17
|
+
const expr = plugin?.updatedAtExpression?.(col) ?? "NOW()";
|
|
18
|
+
return `${quoteIdentifier(col.sqlName)} = ${expr}`;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=updated-at.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updated-at.js","sourceRoot":"","sources":["../../../src/runtime/query/updated-at.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAAC,KAAoB;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAoB,EAAE,IAA6B;IACxF,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC;QAC3D,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Manifest } from "../../dialect/types.js";
|
|
2
1
|
import type { Executor } from "../executor.js";
|
|
3
2
|
import { type WithInput } from "./find.js";
|
|
4
|
-
|
|
3
|
+
import { type QueryRuntime } from "./execute.js";
|
|
4
|
+
export declare function upsertRecord(executor: Executor, runtime: QueryRuntime, tableAccessor: string, args: {
|
|
5
5
|
where: Record<string, unknown>;
|
|
6
6
|
create: Record<string, unknown>;
|
|
7
7
|
update: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/upsert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/upsert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/C,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,cAAc,CAAC;AAE9D,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClC,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA2ClC"}
|
|
@@ -2,7 +2,10 @@ import { buildUpsertQuery, dataToSqlValues, rowToTs, } from "./compile.js";
|
|
|
2
2
|
import { assertUniqueWhere } from "./unique.js";
|
|
3
3
|
import { loadRelations } from "./find.js";
|
|
4
4
|
import { fillMissingPrimaryKeys } from "./primary-key.js";
|
|
5
|
-
|
|
5
|
+
import { stripUpdatedAtFromData, updatedAtSetExpressions } from "./updated-at.js";
|
|
6
|
+
import { runQueryOne } from "./execute.js";
|
|
7
|
+
export async function upsertRecord(executor, runtime, tableAccessor, args) {
|
|
8
|
+
const { manifest } = runtime;
|
|
6
9
|
const table = manifest.tables[tableAccessor];
|
|
7
10
|
if (!table)
|
|
8
11
|
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
@@ -10,17 +13,18 @@ export async function upsertRecord(executor, manifest, tableAccessor, args) {
|
|
|
10
13
|
const createData = { ...args.create, ...args.where };
|
|
11
14
|
fillMissingPrimaryKeys(table, createData);
|
|
12
15
|
const { keys: insertKeys, values: insertValues } = dataToSqlValues(table, createData);
|
|
13
|
-
const
|
|
16
|
+
const updateData = { ...args.update };
|
|
17
|
+
stripUpdatedAtFromData(table, updateData);
|
|
18
|
+
const updateKeys = Object.keys(updateData).filter((key) => {
|
|
14
19
|
const col = table.columns.find((c) => c.tsName === key);
|
|
15
|
-
return col !== undefined && !col.primary &&
|
|
20
|
+
return col !== undefined && !col.primary && updateData[key] !== undefined;
|
|
16
21
|
});
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
throw new Error("Upsert failed");
|
|
22
|
+
const exprSets = updatedAtSetExpressions(table);
|
|
23
|
+
const upsertSql = buildUpsertQuery(table, insertKeys, updateKeys, constraint.sqlColumns, exprSets);
|
|
24
|
+
const row = await runQueryOne(executor, runtime, { operation: "upsert", tableAccessor }, upsertSql, insertValues);
|
|
21
25
|
const result = rowToTs(table, row);
|
|
22
26
|
if (args.with) {
|
|
23
|
-
const [withLoaded] = await loadRelations(executor,
|
|
27
|
+
const [withLoaded] = await loadRelations(executor, runtime, table, [result], args.with);
|
|
24
28
|
return withLoaded ?? result;
|
|
25
29
|
}
|
|
26
30
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../src/runtime/query/upsert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../src/runtime/query/upsert.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,OAAqB,EACrB,aAAqB,EACrB,IAKC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACrD,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE1C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEtF,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACtC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;QACxD,OAAO,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,gBAAgB,CAChC,KAAK,EACL,UAAU,EACV,UAAU,EACV,UAAU,CAAC,UAAU,EACrB,QAAQ,CACT,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,WAAW,CAC3B,QAAQ,EACR,OAAO,EACP,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,EACtC,SAAS,EACT,YAAY,CACb,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAI,CAAC,CAAC;IAEpC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxF,OAAO,UAAU,IAAI,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { TableDef } from "../schema/table.js";
|
|
2
|
-
import type { CountArgs, CreateArgs, DeleteArgs, DeleteManyArgs, FindManyArgs, FindUniqueArgs, UpsertArgs, UpdateArgs, UpdateInput, UpdateManyArgs, WithInputMap } from "../schema/types.js";
|
|
2
|
+
import type { AggregateArgs, CountArgs, CreateArgs, CreateManyArgs, CreateManyAndReturnArgs, DeleteArgs, DeleteManyArgs, FindManyArgs, FindUniqueArgs, InferAggregateResult, InferWithResult, PaginateArgs, PaginateResult, UpsertArgs, UpdateArgs, UpdateInput, UpdateManyArgs, WithInputMap, OrderByInput, ScalarPkName } from "../schema/types.js";
|
|
3
|
+
/** Cursor fields derived from row payload types (matches generated models at runtime). */
|
|
4
|
+
export type PaginateCursor<TRowPayload extends Record<string, unknown>, TOrderBy extends Record<string, unknown>, TPk extends string> = Pick<TRowPayload, (keyof TOrderBy & keyof TRowPayload) | (TPk & keyof TRowPayload)>;
|
|
3
5
|
/** Query args with an explicit generated `with` type (better IDE autocomplete) */
|
|
4
6
|
export type FindManyArgsWith<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TWith> = Omit<FindManyArgs<TSchema, TAccessor>, "with"> & {
|
|
5
7
|
with?: TWith;
|
|
@@ -24,6 +26,10 @@ export type UpdateArgsWith<TSchema extends Record<string, TableDef>, TAccessor e
|
|
|
24
26
|
export type DeleteArgsWith<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TWith> = Omit<DeleteArgs<TSchema, TAccessor>, "with"> & {
|
|
25
27
|
with?: TWith;
|
|
26
28
|
};
|
|
29
|
+
export type PaginateArgsWith<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TOrderBy extends OrderByInput<TSchema[TAccessor]["_columns"]>, TWith, TRowPayload extends Record<string, unknown> = Record<string, unknown>> = Omit<PaginateArgs<TSchema, TAccessor, TOrderBy>, "with" | "after"> & {
|
|
30
|
+
with?: TWith;
|
|
31
|
+
after?: PaginateCursor<TRowPayload, TOrderBy, ScalarPkName<TSchema[TAccessor]["_columns"]>>;
|
|
32
|
+
};
|
|
27
33
|
export type DefaultWithMap<TTables extends Record<string, TableDef>> = {
|
|
28
34
|
[K in keyof TTables & string]: WithInputMap<TTables, K>;
|
|
29
35
|
};
|
|
@@ -37,22 +43,26 @@ export type TransactionOptions = {
|
|
|
37
43
|
};
|
|
38
44
|
export type TransactionClient<TTables extends Record<string, TableDef>, TIncludes extends Record<keyof TTables & string, unknown> = DefaultWithMap<TTables>, TRowPayloads extends Record<keyof TTables & string, Record<string, unknown>> = DefaultRowPayloadMap<TTables>> = TypedNeoOrmClient<TTables, TIncludes, TRowPayloads>;
|
|
39
45
|
export type TypedTableRepository<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TWith = WithInputMap<TSchema, TAccessor>, TRowPayload extends Record<string, unknown> = DefaultRowPayloadMap<TSchema>[TAccessor]> = {
|
|
40
|
-
findMany<W extends TWith | undefined = undefined>(args?: FindManyArgsWith<TSchema, TAccessor, W>): Promise<Array<TRowPayload
|
|
41
|
-
findFirst<W extends TWith | undefined = undefined>(args?: FindFirstArgsWith<TSchema, TAccessor, W>): Promise<TRowPayload | null>;
|
|
42
|
-
findUnique<W extends TWith | undefined = undefined>(args: FindUniqueArgsWith<TSchema, TAccessor, W>): Promise<TRowPayload | null>;
|
|
43
|
-
findById<W extends TWith | undefined = undefined>(id: string, args?: FindByIdArgsWith<W>): Promise<TRowPayload | null>;
|
|
44
|
-
create<W extends TWith | undefined = undefined>(args: CreateArgsWith<TSchema, TAccessor, W>): Promise<TRowPayload
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
findMany<W extends TWith | undefined = undefined>(args?: FindManyArgsWith<TSchema, TAccessor, W>): Promise<Array<InferWithResult<TSchema, TAccessor, W, TRowPayload>>>;
|
|
47
|
+
findFirst<W extends TWith | undefined = undefined>(args?: FindFirstArgsWith<TSchema, TAccessor, W>): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload> | null>;
|
|
48
|
+
findUnique<W extends TWith | undefined = undefined>(args: FindUniqueArgsWith<TSchema, TAccessor, W>): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload> | null>;
|
|
49
|
+
findById<W extends TWith | undefined = undefined>(id: string, args?: FindByIdArgsWith<W>): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload> | null>;
|
|
50
|
+
create<W extends TWith | undefined = undefined>(args: CreateArgsWith<TSchema, TAccessor, W>): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload>>;
|
|
51
|
+
createMany(args: CreateManyArgs<TSchema, TAccessor>): Promise<number>;
|
|
52
|
+
createManyAndReturn(args: CreateManyAndReturnArgs<TSchema, TAccessor>): Promise<TRowPayload[]>;
|
|
53
|
+
upsert<W extends TWith | undefined = undefined>(args: UpsertArgsWith<TSchema, TAccessor, W>): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload>>;
|
|
54
|
+
update<W extends TWith | undefined = undefined>(args: UpdateArgsWith<TSchema, TAccessor, W>): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload> | null>;
|
|
47
55
|
updateMany(args: UpdateManyArgs<TSchema, TAccessor>): Promise<number>;
|
|
48
56
|
updateById<W extends TWith | undefined = undefined>(id: string, args: {
|
|
49
|
-
data: UpdateInput<TSchema[TAccessor]["_columns"]>;
|
|
57
|
+
data: UpdateInput<TSchema[TAccessor]["_columns"], TSchema, TAccessor>;
|
|
50
58
|
with?: W;
|
|
51
|
-
}): Promise<TRowPayload | null>;
|
|
52
|
-
delete<W extends TWith | undefined = undefined>(args: DeleteArgsWith<TSchema, TAccessor, W>): Promise<TRowPayload | null>;
|
|
59
|
+
}): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload> | null>;
|
|
60
|
+
delete<W extends TWith | undefined = undefined>(args: DeleteArgsWith<TSchema, TAccessor, W>): Promise<InferWithResult<TSchema, TAccessor, W, TRowPayload> | null>;
|
|
53
61
|
deleteMany(args?: DeleteManyArgs<TSchema, TAccessor>): Promise<number>;
|
|
54
62
|
count(args?: CountArgsWith<TSchema, TAccessor>): Promise<number>;
|
|
63
|
+
aggregate<TArgs extends AggregateArgs<TSchema, TAccessor>>(args: TArgs): Promise<InferAggregateResult<TArgs>>;
|
|
55
64
|
deleteById(id: string): Promise<TRowPayload | null>;
|
|
65
|
+
paginate<TOrderBy extends OrderByInput<TSchema[TAccessor]["_columns"]>, W extends TWith | undefined = undefined>(args: PaginateArgsWith<TSchema, TAccessor, TOrderBy, W, TRowPayload>): Promise<PaginateResult<InferWithResult<TSchema, TAccessor, W, TRowPayload>, PaginateCursor<TRowPayload, TOrderBy, ScalarPkName<TSchema[TAccessor]["_columns"]>>>>;
|
|
56
66
|
};
|
|
57
67
|
export type TypedNeoOrmClient<TTables extends Record<string, TableDef>, TIncludes extends Record<keyof TTables & string, unknown> = DefaultWithMap<TTables>, TRowPayloads extends Record<keyof TTables & string, Record<string, unknown>> = DefaultRowPayloadMap<TTables>> = {
|
|
58
68
|
sql<T = Record<string, unknown>>(strings: TemplateStringsArray, ...values: unknown[]): Promise<T[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EAEd,YAAY,EACZ,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,CAC1B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,IACH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG;IACnD,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,IACH,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,gBAAgB,CAAC,KAAK,IAAI;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,IACH,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG;IACrD,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,IACtC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAElC,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,IACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,IACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,IACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,IACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;KACpE,CAAC,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;KAC1E,CAAC,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAEnB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,EACnF,YAAY,SAAS,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAC1G,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAExD,MAAM,MAAM,oBAAoB,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,SAAS,MAAM,OAAO,GAAG,MAAM,EACxC,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EACxC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IACpF;IACF,QAAQ,CAAC,CAAC,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC9C,IAAI,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,GAC7C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,11 @@ export type InferColumnValue<T> = T extends ColumnBuilder<infer V, infer M> ? M
|
|
|
6
6
|
} ? V : V | null : T extends FkBuilder ? T["_meta"] extends {
|
|
7
7
|
nullable: false;
|
|
8
8
|
} ? string : string | null : never;
|
|
9
|
-
|
|
10
|
-
equals?: T;
|
|
11
|
-
contains?: T;
|
|
12
|
-
startsWith?: T;
|
|
13
|
-
endsWith?: T;
|
|
14
|
-
in?: readonly T[];
|
|
15
|
-
notIn?: readonly T[];
|
|
9
|
+
type NullableOperators = {
|
|
16
10
|
isNull?: true;
|
|
17
11
|
isNotNull?: true;
|
|
18
|
-
}
|
|
12
|
+
};
|
|
13
|
+
type ComparableWhereOperators<T> = {
|
|
19
14
|
equals?: T;
|
|
20
15
|
gt?: T;
|
|
21
16
|
gte?: T;
|
|
@@ -23,14 +18,35 @@ export type WhereOperators<T> = T extends string ? {
|
|
|
23
18
|
lte?: T;
|
|
24
19
|
in?: readonly T[];
|
|
25
20
|
notIn?: readonly T[];
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
} : {
|
|
21
|
+
} & NullableOperators;
|
|
22
|
+
type StringWhereOperators<T extends string> = {
|
|
29
23
|
equals?: T;
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
contains?: T;
|
|
25
|
+
startsWith?: T;
|
|
26
|
+
endsWith?: T;
|
|
27
|
+
in?: readonly T[];
|
|
28
|
+
notIn?: readonly T[];
|
|
29
|
+
} & NullableOperators;
|
|
30
|
+
type JsonPathWhere = {
|
|
31
|
+
segments: readonly string[];
|
|
32
|
+
equals?: unknown;
|
|
33
|
+
jsonContains?: unknown;
|
|
32
34
|
};
|
|
35
|
+
type JsonWhereOperators<T> = {
|
|
36
|
+
equals?: T;
|
|
37
|
+
jsonContains?: Partial<T> | T;
|
|
38
|
+
hasKey?: string;
|
|
39
|
+
hasAnyKeys?: readonly string[];
|
|
40
|
+
hasAllKeys?: readonly string[];
|
|
41
|
+
path?: JsonPathWhere;
|
|
42
|
+
} & NullableOperators;
|
|
43
|
+
export type WhereOperators<T> = T extends string ? StringWhereOperators<T> : T extends number | boolean | Date ? ComparableWhereOperators<T> : {
|
|
44
|
+
equals?: T;
|
|
45
|
+
} & NullableOperators;
|
|
46
|
+
type ColumnKindOf<TCol extends ColumnDef> = TCol extends ColumnBuilder<unknown, infer M> ? M["kind"] : never;
|
|
47
|
+
type InferColumnWhereOperators<TCol extends ColumnDef> = ColumnKindOf<TCol> extends "decimal" ? ComparableWhereOperators<string> : ColumnKindOf<TCol> extends "json" | "jsonb" ? JsonWhereOperators<InferColumnValue<TCol>> : TCol extends ColumnBuilder<unknown, infer _M> ? WhereOperators<InferColumnValue<TCol>> : TCol extends FkBuilder ? WhereOperators<InferColumnValue<TCol>> : WhereOperators<InferColumnValue<TCol>>;
|
|
33
48
|
export type ColumnWhereInput<TColumns extends Record<string, ColumnDef>> = {
|
|
34
|
-
[K in keyof TColumns]?: InferColumnValue<TColumns[K]> |
|
|
49
|
+
[K in keyof TColumns]?: InferColumnValue<TColumns[K]> | InferColumnWhereOperators<TColumns[K]>;
|
|
35
50
|
};
|
|
51
|
+
export {};
|
|
36
52
|
//# sourceMappingURL=column-where.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-where.d.ts","sourceRoot":"","sources":["../../src/schema/column-where.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACvE,CAAC,SAAS;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,GAC3B,CAAC,GACD,CAAC,GAAG,IAAI,GACV,CAAC,SAAS,SAAS,GACjB,CAAC,CAAC,OAAO,CAAC,SAAS;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,GACpC,MAAM,GACN,MAAM,GAAG,IAAI,GACf,KAAK,CAAC;AAEZ,
|
|
1
|
+
{"version":3,"file":"column-where.d.ts","sourceRoot":"","sources":["../../src/schema/column-where.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/column.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type CoreColumnKind = "id" | "text" | "bool" | "int" | "timestamp" | "uuid" | "fk";
|
|
1
|
+
export type CoreColumnKind = "id" | "text" | "bool" | "int" | "timestamp" | "uuid" | "json" | "jsonb" | "decimal" | "serial" | "enum" | "bytea" | "textArray" | "intArray" | "citext" | "fk";
|
|
2
2
|
export type ColumnKind = CoreColumnKind | (string & {});
|
|
3
3
|
export type ColumnMeta = {
|
|
4
4
|
kind: ColumnKind;
|
|
@@ -10,6 +10,9 @@ export type ColumnMeta = {
|
|
|
10
10
|
typeOptions?: Record<string, unknown> | undefined;
|
|
11
11
|
mapName?: string | undefined;
|
|
12
12
|
};
|
|
13
|
+
type UpdatedAtMeta = {
|
|
14
|
+
updatedAt: true;
|
|
15
|
+
};
|
|
13
16
|
export type ColumnBuilder<TValue, TMeta extends ColumnMeta = ColumnMeta> = {
|
|
14
17
|
readonly _type: TValue;
|
|
15
18
|
readonly _meta: TMeta;
|
|
@@ -25,6 +28,7 @@ export type ColumnBuilder<TValue, TMeta extends ColumnMeta = ColumnMeta> = {
|
|
|
25
28
|
defaultNow(): ColumnBuilder<TValue, Omit<TMeta, "defaultNow"> & {
|
|
26
29
|
defaultNow: true;
|
|
27
30
|
}>;
|
|
31
|
+
updatedAt(): ColumnBuilder<TValue, TMeta & UpdatedAtMeta>;
|
|
28
32
|
primary(): ColumnBuilder<TValue, Omit<TMeta, "primary"> & {
|
|
29
33
|
primary: true;
|
|
30
34
|
}>;
|
|
@@ -33,5 +37,5 @@ export type ColumnBuilder<TValue, TMeta extends ColumnMeta = ColumnMeta> = {
|
|
|
33
37
|
}>;
|
|
34
38
|
};
|
|
35
39
|
export declare function createColumnBuilder<TValue, TMeta extends ColumnMeta>(meta: TMeta): ColumnBuilder<TValue, TMeta>;
|
|
36
|
-
export { id, text, bool, int, timestamp, uuid } from "../plugins/builtin.js";
|
|
40
|
+
export { id, text, bool, int, timestamp, uuid, json, jsonb, decimal, numeric, serial, enumType, bytea, textArray, intArray, citext, } from "../plugins/builtin.js";
|
|
37
41
|
//# sourceMappingURL=column.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/schema/column.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,KAAK,GACL,WAAW,GACX,MAAM,GACN,IAAI,CAAC;AACT,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,SAAS,UAAU,GAAG,UAAU,IAAI;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IAChF,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtG,UAAU,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACtF,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,SAAS,UAAU,EAClE,IAAI,EAAE,KAAK,GACV,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/schema/column.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,KAAK,GACL,WAAW,GACX,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,UAAU,GACV,QAAQ,GACR,IAAI,CAAC;AACT,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,KAAK,aAAa,GAAG;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,CAAC;AAEzC,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,SAAS,UAAU,GAAG,UAAU,IAAI;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IAChF,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtG,UAAU,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACtF,SAAS,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC;IAC1D,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,SAAS,UAAU,EAClE,IAAI,EAAE,KAAK,GACV,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CA4C9B;AAED,OAAO,EACL,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,GACP,MAAM,uBAAuB,CAAC"}
|
package/dist/schema/column.js
CHANGED
|
@@ -14,6 +14,12 @@ export function createColumnBuilder(meta) {
|
|
|
14
14
|
defaultNow() {
|
|
15
15
|
return createColumnBuilder({ ...meta, defaultNow: true });
|
|
16
16
|
},
|
|
17
|
+
updatedAt() {
|
|
18
|
+
return createColumnBuilder({
|
|
19
|
+
...meta,
|
|
20
|
+
updatedAt: true,
|
|
21
|
+
});
|
|
22
|
+
},
|
|
17
23
|
primary() {
|
|
18
24
|
return createColumnBuilder({ ...meta, primary: true, nullable: false });
|
|
19
25
|
},
|
|
@@ -23,5 +29,5 @@ export function createColumnBuilder(meta) {
|
|
|
23
29
|
};
|
|
24
30
|
return builder;
|
|
25
31
|
}
|
|
26
|
-
export { id, text, bool, int, timestamp, uuid } from "../plugins/builtin.js";
|
|
32
|
+
export { id, text, bool, int, timestamp, uuid, json, jsonb, decimal, numeric, serial, enumType, bytea, textArray, intArray, citext, } from "../plugins/builtin.js";
|
|
27
33
|
//# sourceMappingURL=column.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","sourceRoot":"","sources":["../../src/schema/column.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"column.js","sourceRoot":"","sources":["../../src/schema/column.ts"],"names":[],"mappings":"AA4CA,MAAM,UAAU,mBAAmB,CACjC,IAAW;IAEX,MAAM,OAAO,GAAiC;QAC5C,KAAK,EAAE,SAA8B;QACrC,KAAK,EAAE,IAAI;QACX,OAAO;YACL,OAAO,mBAAmB,CACxB,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAmD,CAC9E,CAAC;QACJ,CAAC;QACD,MAAM;YACJ,OAAO,mBAAmB,CACxB,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAA8C,CACtE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,KAAa;YACnB,OAAO,mBAAmB,CACxB,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,KAAK,EAA4D,CAC3F,CAAC;QACJ,CAAC;QACD,UAAU;YACR,OAAO,mBAAmB,CACxB,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAsD,CAClF,CAAC;QACJ,CAAC;QACD,SAAS;YACP,OAAO,mBAAmB,CAAgC;gBACxD,GAAG,IAAI;gBACP,SAAS,EAAE,IAAI;aACS,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO;YACL,OAAO,mBAAmB,CACxB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAExC,CACF,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAY;YACd,OAAO,mBAAmB,CACxB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAkD,CAC3E,CAAC;QACJ,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EACL,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,GACP,MAAM,uBAAuB,CAAC"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { id, text, bool, int, timestamp, uuid } from "./column.js";
|
|
2
|
-
export type { UuidOptions } from "../plugins/builtin.js";
|
|
1
|
+
export { id, text, bool, int, timestamp, uuid, json, jsonb, decimal, numeric, serial, enumType, bytea, textArray, intArray, citext, } from "./column.js";
|
|
2
|
+
export type { UuidOptions, DecimalOptions, EnumTypeOptions } from "../plugins/builtin.js";
|
|
3
3
|
export type { ColumnBuilder, ColumnKind, ColumnMeta } from "./column.js";
|
|
4
4
|
export { fk } from "./relation.js";
|
|
5
5
|
export type { FkBuilder, FkMeta, FkOptions, OnDeleteAction } from "./relation.js";
|
|
@@ -9,6 +9,6 @@ export { defineSchema } from "./define-schema.js";
|
|
|
9
9
|
export type { SchemaDef } from "./define-schema.js";
|
|
10
10
|
export { manyToMany, getManyToManyRegistry, clearManyToManyRegistry } from "./many-to-many.js";
|
|
11
11
|
export type { ManyToManyDef } from "./many-to-many.js";
|
|
12
|
-
export type { ConnectInput, ConnectOrCreateItem, CreateArgs, CreateInput, DeleteArgs, DeleteManyArgs, FindFirstArgs, FindByIdArgs, FindManyArgs, FindUniqueArgs, CountArgs, UpsertArgs, InferInsertRow, InferSelectRow, OrderByInput, OrderDirection, RelationWriteInput, SchemaTables, UpdateArgs, UpdateInput, UpdateManyArgs, WhereInput, WhereOperators, ColumnWhereInput, ManyRelationFilter, RelationWhereMap, LogicalWhereInput, WithInput, WithInputMap, WithInclude, WithRelationOptions, SelectInput, RelationAccessors, } from "./types.js";
|
|
13
|
-
export type { SqlNameToAccessor, OutgoingFkRelations, InverseRelations, JunctionM2MRelations, } from "./relation-types.js";
|
|
12
|
+
export type { ConnectInput, ConnectOrCreateItem, CreateArgs, CreateInput, CreateManyArgs, CreateManyAndReturnArgs, CreateManyInput, DeleteArgs, DeleteManyArgs, FindFirstArgs, FindByIdArgs, FindManyArgs, FindUniqueArgs, CountArgs, AggregateArgs, InferAggregateResult, UpsertArgs, PaginateArgs, PaginateResult, InferInsertRow, InferSelectRow, OrderByInput, OrderDirection, CursorInput, ScalarPkName, RelationWriteInput, SchemaTables, UpdateArgs, UpdateInput, UpdateManyArgs, WhereInput, WhereOperators, ColumnWhereInput, ManyRelationFilter, RelationWhereMap, LogicalWhereInput, WithInput, WithInputMap, WithInclude, WithRelationOptions, SelectInput, RelationAccessors, RelationCountInput, InferWithResult, ApplySelect, } from "./types.js";
|
|
13
|
+
export type { SqlNameToAccessor, OutgoingFkRelations, InverseRelations, JunctionM2MRelations, NestedCreateInput, RelationCreateMap, RelationUpdateMap, } from "./relation-types.js";
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC1F,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC"}
|
package/dist/schema/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { id, text, bool, int, timestamp, uuid } from "./column.js";
|
|
1
|
+
export { id, text, bool, int, timestamp, uuid, json, jsonb, decimal, numeric, serial, enumType, bytea, textArray, intArray, citext, } from "./column.js";
|
|
2
2
|
export { fk } from "./relation.js";
|
|
3
3
|
export { table, index, unique, primaryKey } from "./table.js";
|
|
4
4
|
export { defineSchema } from "./define-schema.js";
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,GACP,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAU9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
|