neoorm 0.1.2 → 0.1.3
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 +171 -11
- package/dist/bin/neoorm.js +11 -2
- package/dist/bin/neoorm.js.map +1 -1
- package/dist/codegen/generate.d.ts +11 -2
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/generate.js +42 -5
- package/dist/codegen/generate.js.map +1 -1
- package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
- package/dist/codegen/schema-to-manifest.js +12 -6
- package/dist/codegen/schema-to-manifest.js.map +1 -1
- package/dist/dialect/postgres.d.ts.map +1 -1
- package/dist/dialect/postgres.js +5 -0
- package/dist/dialect/postgres.js.map +1 -1
- package/dist/dialect/types.d.ts +4 -0
- package/dist/dialect/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/introspect/pull.d.ts.map +1 -1
- package/dist/introspect/pull.js +33 -2
- package/dist/introspect/pull.js.map +1 -1
- package/dist/plugins/builtin.d.ts +4 -0
- package/dist/plugins/builtin.d.ts.map +1 -1
- package/dist/plugins/builtin.js +27 -1
- package/dist/plugins/builtin.js.map +1 -1
- package/dist/runtime/client.d.ts +1 -1
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +26 -2
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/executor.d.ts +4 -1
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +20 -3
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/query/compile.d.ts +3 -1
- package/dist/runtime/query/compile.d.ts.map +1 -1
- package/dist/runtime/query/compile.js +4 -2
- package/dist/runtime/query/compile.js.map +1 -1
- package/dist/runtime/query/create.d.ts.map +1 -1
- package/dist/runtime/query/create.js +61 -72
- package/dist/runtime/query/create.js.map +1 -1
- package/dist/runtime/query/primary-key.d.ts +4 -0
- package/dist/runtime/query/primary-key.d.ts.map +1 -0
- package/dist/runtime/query/primary-key.js +23 -0
- package/dist/runtime/query/primary-key.js.map +1 -0
- package/dist/runtime/query/update.js +2 -2
- package/dist/runtime/query/update.js.map +1 -1
- package/dist/runtime/query/upsert.d.ts.map +1 -1
- package/dist/runtime/query/upsert.js +2 -12
- package/dist/runtime/query/upsert.js.map +1 -1
- package/dist/runtime/types.d.ts +10 -0
- package/dist/runtime/types.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 +4 -1
- package/dist/schema/column.js.map +1 -1
- package/dist/schema/index.d.ts +2 -1
- 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/relation.d.ts +1 -0
- package/dist/schema/relation.d.ts.map +1 -1
- package/dist/schema/relation.js +16 -11
- package/dist/schema/relation.js.map +1 -1
- package/dist/utils/uuid.d.ts +6 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +34 -0
- package/dist/utils/uuid.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
1
|
import { quoteIdentifier } from "../../dialect/postgres.js";
|
|
3
2
|
import { buildInsertQuery, dataToSqlValues, rowToTs, } from "./compile.js";
|
|
4
3
|
import { loadRelations } from "./find.js";
|
|
5
|
-
|
|
6
|
-
const prefix = tableAccessor.replace(/s$/, "").slice(0, 4);
|
|
7
|
-
return `${prefix}_${randomUUID().slice(0, 8)}`;
|
|
8
|
-
}
|
|
4
|
+
import { fillMissingPrimaryKeys } from "./primary-key.js";
|
|
9
5
|
async function resolveConnectOrCreate(executor, manifest, targetAccessor, items) {
|
|
10
6
|
const ids = [];
|
|
11
7
|
const targetTable = manifest.tables[targetAccessor];
|
|
@@ -24,14 +20,8 @@ async function resolveConnectOrCreate(executor, manifest, targetAccessor, items)
|
|
|
24
20
|
}
|
|
25
21
|
}
|
|
26
22
|
const createData = { ...item.create };
|
|
27
|
-
|
|
28
|
-
createData["id"] = generateId(targetAccessor);
|
|
29
|
-
}
|
|
23
|
+
fillMissingPrimaryKeys(targetTable, createData);
|
|
30
24
|
const { keys, values } = dataToSqlValues(targetTable, createData);
|
|
31
|
-
if (!keys.includes("id")) {
|
|
32
|
-
keys.unshift("id");
|
|
33
|
-
values.unshift(createData["id"]);
|
|
34
|
-
}
|
|
35
25
|
const sql = buildInsertQuery(targetTable, keys);
|
|
36
26
|
const row = await executor.queryOne(sql, values);
|
|
37
27
|
if (row)
|
|
@@ -60,80 +50,79 @@ async function insertJunctionRows(executor, manifest, throughAccessor, leftFkCol
|
|
|
60
50
|
data[col.tsName] = new Date();
|
|
61
51
|
}
|
|
62
52
|
}
|
|
53
|
+
fillMissingPrimaryKeys(throughTable, data);
|
|
63
54
|
const { keys, values } = dataToSqlValues(throughTable, data);
|
|
64
55
|
const sql = buildInsertQuery(throughTable, keys);
|
|
65
56
|
await executor.query(sql, values);
|
|
66
57
|
}
|
|
67
58
|
}
|
|
68
|
-
|
|
59
|
+
async function runCreate(executor, manifest, tableAccessor, args) {
|
|
69
60
|
const table = manifest.tables[tableAccessor];
|
|
70
61
|
if (!table)
|
|
71
62
|
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
63
|
+
const scalarData = {};
|
|
64
|
+
const relationWrites = [];
|
|
65
|
+
for (const [key, value] of Object.entries(args.data)) {
|
|
66
|
+
const col = table.columns.find((c) => c.tsName === key);
|
|
67
|
+
if (col) {
|
|
68
|
+
scalarData[key] = value;
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const rel = table.relations.find((r) => r.name === key);
|
|
72
|
+
if (rel && value && typeof value === "object") {
|
|
73
|
+
const relValue = value;
|
|
74
|
+
if ("connect" in relValue) {
|
|
75
|
+
relationWrites.push({ relationName: key, type: "connect", value: relValue["connect"] });
|
|
80
76
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
else if ("connectOrCreate" in relValue) {
|
|
88
|
-
relationWrites.push({
|
|
89
|
-
relationName: key,
|
|
90
|
-
type: "connectOrCreate",
|
|
91
|
-
value: relValue["connectOrCreate"],
|
|
92
|
-
});
|
|
93
|
-
}
|
|
77
|
+
else if ("connectOrCreate" in relValue) {
|
|
78
|
+
relationWrites.push({
|
|
79
|
+
relationName: key,
|
|
80
|
+
type: "connectOrCreate",
|
|
81
|
+
value: relValue["connectOrCreate"],
|
|
82
|
+
});
|
|
94
83
|
}
|
|
95
84
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
scalarData[rel.fkColumn] = connect.id;
|
|
105
|
-
}
|
|
85
|
+
}
|
|
86
|
+
fillMissingPrimaryKeys(table, scalarData);
|
|
87
|
+
for (const write of relationWrites) {
|
|
88
|
+
if (write.type === "connect") {
|
|
89
|
+
const connect = write.value;
|
|
90
|
+
const rel = table.relations.find((r) => r.name === write.relationName);
|
|
91
|
+
if (rel && rel.cardinality === "one") {
|
|
92
|
+
scalarData[rel.fkColumn] = connect.id;
|
|
106
93
|
}
|
|
107
94
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const items = write.value;
|
|
127
|
-
const ids = await resolveConnectOrCreate(tx, manifest, targetAccessor, items);
|
|
128
|
-
await insertJunctionRows(tx, manifest, m2m.throughAccessor, m2m.leftFkColumn, m2m.rightFkColumn, recordId, ids);
|
|
129
|
-
}
|
|
95
|
+
}
|
|
96
|
+
const { keys, values } = dataToSqlValues(table, scalarData);
|
|
97
|
+
const insertSql = buildInsertQuery(table, keys);
|
|
98
|
+
const row = await executor.queryOne(insertSql, values);
|
|
99
|
+
if (!row)
|
|
100
|
+
throw new Error("Insert failed");
|
|
101
|
+
const result = rowToTs(table, row);
|
|
102
|
+
const recordId = String(result["id"]);
|
|
103
|
+
for (const write of relationWrites) {
|
|
104
|
+
if (write.type === "connectOrCreate") {
|
|
105
|
+
const m2m = manifest.manyToMany.find((m) => (m.leftAccessor === tableAccessor && m.as === write.relationName) ||
|
|
106
|
+
(m.rightAccessor === tableAccessor && m.inverse === write.relationName));
|
|
107
|
+
if (m2m) {
|
|
108
|
+
const isLeft = m2m.leftAccessor === tableAccessor;
|
|
109
|
+
const targetAccessor = isLeft ? m2m.rightAccessor : m2m.leftAccessor;
|
|
110
|
+
const items = write.value;
|
|
111
|
+
const ids = await resolveConnectOrCreate(executor, manifest, targetAccessor, items);
|
|
112
|
+
await insertJunctionRows(executor, manifest, m2m.throughAccessor, m2m.leftFkColumn, m2m.rightFkColumn, recordId, ids);
|
|
130
113
|
}
|
|
131
114
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
115
|
+
}
|
|
116
|
+
if (args.with) {
|
|
117
|
+
const [withLoaded] = await loadRelations(executor, manifest, table, [result], args.with);
|
|
118
|
+
return withLoaded ?? result;
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
export async function createRecord(executor, manifest, tableAccessor, args) {
|
|
123
|
+
if (executor.inTransaction) {
|
|
124
|
+
return runCreate(executor, manifest, tableAccessor, args);
|
|
125
|
+
}
|
|
126
|
+
return executor.transaction((tx) => runCreate(tx, manifest, tableAccessor, args));
|
|
138
127
|
}
|
|
139
128
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/runtime/query/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/runtime/query/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ManifestColumn, ManifestTable } from "../../dialect/types.js";
|
|
2
|
+
export declare function defaultPrimaryKeyValue(table: ManifestTable, col: ManifestColumn): string;
|
|
3
|
+
export declare function fillMissingPrimaryKeys(table: ManifestTable, data: Record<string, unknown>): void;
|
|
4
|
+
//# sourceMappingURL=primary-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-key.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/primary-key.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQ5E,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,cAAc,GAClB,MAAM,CAKR;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAON"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { generateUuid, resolveUuidVersion } from "../../utils/uuid.js";
|
|
3
|
+
function generateTextId(tableAccessor) {
|
|
4
|
+
const prefix = tableAccessor.replace(/s$/, "").slice(0, 4);
|
|
5
|
+
return `${prefix}_${randomUUID().slice(0, 8)}`;
|
|
6
|
+
}
|
|
7
|
+
export function defaultPrimaryKeyValue(table, col) {
|
|
8
|
+
if (col.kind === "uuid") {
|
|
9
|
+
return generateUuid(resolveUuidVersion(col));
|
|
10
|
+
}
|
|
11
|
+
return generateTextId(table.accessor);
|
|
12
|
+
}
|
|
13
|
+
export function fillMissingPrimaryKeys(table, data) {
|
|
14
|
+
for (const col of table.columns) {
|
|
15
|
+
if (!col.primary)
|
|
16
|
+
continue;
|
|
17
|
+
const current = data[col.tsName];
|
|
18
|
+
if (current !== undefined && current !== null)
|
|
19
|
+
continue;
|
|
20
|
+
data[col.tsName] = defaultPrimaryKeyValue(table, col);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=primary-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-key.js","sourceRoot":"","sources":["../../../src/runtime/query/primary-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,SAAS,cAAc,CAAC,aAAqB;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,GAAmB;IAEnB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,IAA6B;IAE7B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,SAAS;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YAAE,SAAS;QACxD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -21,7 +21,7 @@ export async function updateRecord(executor, manifest, tableAccessor, args) {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
const { keys, values } = dataToSqlValues(table, scalarData);
|
|
24
|
+
const { keys, values } = dataToSqlValues(table, scalarData, { excludePrimary: true });
|
|
25
25
|
if (keys.length === 0) {
|
|
26
26
|
throw new Error("Update requires at least one scalar field");
|
|
27
27
|
}
|
|
@@ -44,7 +44,7 @@ export async function updateManyRecords(executor, manifest, tableAccessor, args)
|
|
|
44
44
|
const table = manifest.tables[tableAccessor];
|
|
45
45
|
if (!table)
|
|
46
46
|
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
47
|
-
const { keys, values } = dataToSqlValues(table, args.data);
|
|
47
|
+
const { keys, values } = dataToSqlValues(table, args.data, { excludePrimary: true });
|
|
48
48
|
if (keys.length === 0) {
|
|
49
49
|
throw new Error("Update requires at least one scalar field");
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/runtime/query/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,QAAkB,EAClB,aAAqB,EACrB,IAIC;IAED,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,GAA4B,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;QACxD,IAAI,GAAG,EAAE,CAAC;YACR,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBACpE,MAAM,OAAO,GAAI,KAAqC,CAAC,OAAO,CAAC;gBAC/D,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/runtime/query/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/upsert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/upsert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/C,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAG1D,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,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,CAiClC"}
|
|
@@ -1,25 +1,15 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
1
|
import { buildUpsertQuery, dataToSqlValues, rowToTs, } from "./compile.js";
|
|
3
2
|
import { assertUniqueWhere } from "./unique.js";
|
|
4
3
|
import { loadRelations } from "./find.js";
|
|
5
|
-
|
|
6
|
-
const prefix = tableAccessor.replace(/s$/, "").slice(0, 4);
|
|
7
|
-
return `${prefix}_${randomUUID().slice(0, 8)}`;
|
|
8
|
-
}
|
|
4
|
+
import { fillMissingPrimaryKeys } from "./primary-key.js";
|
|
9
5
|
export async function upsertRecord(executor, manifest, tableAccessor, args) {
|
|
10
6
|
const table = manifest.tables[tableAccessor];
|
|
11
7
|
if (!table)
|
|
12
8
|
throw new Error(`Unknown table: ${tableAccessor}`);
|
|
13
9
|
const constraint = assertUniqueWhere(table, args.where, "upsert");
|
|
14
10
|
const createData = { ...args.create, ...args.where };
|
|
15
|
-
|
|
16
|
-
createData["id"] = generateId(tableAccessor);
|
|
17
|
-
}
|
|
11
|
+
fillMissingPrimaryKeys(table, createData);
|
|
18
12
|
const { keys: insertKeys, values: insertValues } = dataToSqlValues(table, createData);
|
|
19
|
-
if (!insertKeys.includes("id") && createData["id"] !== undefined) {
|
|
20
|
-
insertKeys.unshift("id");
|
|
21
|
-
insertValues.unshift(createData["id"]);
|
|
22
|
-
}
|
|
23
13
|
const updateKeys = Object.keys(args.update).filter((key) => {
|
|
24
14
|
const col = table.columns.find((c) => c.tsName === key);
|
|
25
15
|
return col !== undefined && !col.primary && args.update[key] !== undefined;
|
|
@@ -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":"AAEA,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;AAE1D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,QAAkB,EAClB,aAAqB,EACrB,IAKC;IAED,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,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACzD,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,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,gBAAgB,CAChC,KAAK,EACL,UAAU,EACV,UAAU,EACV,UAAU,CAAC,UAAU,CACtB,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,OAAO,UAAU,IAAI,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -30,6 +30,12 @@ export type DefaultWithMap<TTables extends Record<string, TableDef>> = {
|
|
|
30
30
|
export type DefaultRowPayloadMap<TTables extends Record<string, TableDef>> = {
|
|
31
31
|
[K in keyof TTables & string]: Record<string, unknown>;
|
|
32
32
|
};
|
|
33
|
+
export type TransactionIsolationLevel = "ReadUncommitted" | "ReadCommitted" | "RepeatableRead" | "Serializable";
|
|
34
|
+
export type TransactionOptions = {
|
|
35
|
+
isolationLevel?: TransactionIsolationLevel;
|
|
36
|
+
readOnly?: boolean;
|
|
37
|
+
};
|
|
38
|
+
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>;
|
|
33
39
|
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]> = {
|
|
34
40
|
findMany<W extends TWith | undefined = undefined>(args?: FindManyArgsWith<TSchema, TAccessor, W>): Promise<Array<TRowPayload>>;
|
|
35
41
|
findFirst<W extends TWith | undefined = undefined>(args?: FindFirstArgsWith<TSchema, TAccessor, W>): Promise<TRowPayload | null>;
|
|
@@ -55,6 +61,10 @@ export type TypedNeoOrmClient<TTables extends Record<string, TableDef>, TInclude
|
|
|
55
61
|
params: unknown[];
|
|
56
62
|
}): Promise<Record<string, unknown>[]>;
|
|
57
63
|
$disconnect(): Promise<void>;
|
|
64
|
+
$transaction<T>(fn: (tx: TransactionClient<TTables, TIncludes, TRowPayloads>) => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
65
|
+
$transaction<T extends readonly unknown[]>(steps: {
|
|
66
|
+
[K in keyof T]: (tx: TransactionClient<TTables, TIncludes, TRowPayloads>) => Promise<T[K]>;
|
|
67
|
+
} & readonly unknown[], options?: TransactionOptions): Promise<T>;
|
|
58
68
|
} & {
|
|
59
69
|
[K in keyof TTables & string]: TypedTableRepository<TTables, K, TIncludes[K], TRowPayloads[K]>;
|
|
60
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.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" | "fk";
|
|
1
|
+
export type CoreColumnKind = "id" | "text" | "bool" | "int" | "timestamp" | "uuid" | "fk";
|
|
2
2
|
export type ColumnKind = CoreColumnKind | (string & {});
|
|
3
3
|
export type ColumnMeta = {
|
|
4
4
|
kind: ColumnKind;
|
|
@@ -8,6 +8,7 @@ export type ColumnMeta = {
|
|
|
8
8
|
defaultValue?: unknown;
|
|
9
9
|
defaultNow: boolean;
|
|
10
10
|
typeOptions?: Record<string, unknown> | undefined;
|
|
11
|
+
mapName?: string | undefined;
|
|
11
12
|
};
|
|
12
13
|
export type ColumnBuilder<TValue, TMeta extends ColumnMeta = ColumnMeta> = {
|
|
13
14
|
readonly _type: TValue;
|
|
@@ -27,7 +28,10 @@ export type ColumnBuilder<TValue, TMeta extends ColumnMeta = ColumnMeta> = {
|
|
|
27
28
|
primary(): ColumnBuilder<TValue, Omit<TMeta, "primary"> & {
|
|
28
29
|
primary: true;
|
|
29
30
|
}>;
|
|
31
|
+
map(name: string): ColumnBuilder<TValue, Omit<TMeta, "mapName"> & {
|
|
32
|
+
mapName: string;
|
|
33
|
+
}>;
|
|
30
34
|
};
|
|
31
35
|
export declare function createColumnBuilder<TValue, TMeta extends ColumnMeta>(meta: TMeta): ColumnBuilder<TValue, TMeta>;
|
|
32
|
-
export { id, text, bool, int, timestamp } from "../plugins/builtin.js";
|
|
36
|
+
export { id, text, bool, int, timestamp, uuid } from "../plugins/builtin.js";
|
|
33
37
|
//# 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,
|
|
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,CAoC9B;AAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/schema/column.js
CHANGED
|
@@ -17,8 +17,11 @@ export function createColumnBuilder(meta) {
|
|
|
17
17
|
primary() {
|
|
18
18
|
return createColumnBuilder({ ...meta, primary: true });
|
|
19
19
|
},
|
|
20
|
+
map(name) {
|
|
21
|
+
return createColumnBuilder({ ...meta, mapName: name });
|
|
22
|
+
},
|
|
20
23
|
};
|
|
21
24
|
return builder;
|
|
22
25
|
}
|
|
23
|
-
export { id, text, bool, int, timestamp } from "../plugins/builtin.js";
|
|
26
|
+
export { id, text, bool, int, timestamp, uuid } from "../plugins/builtin.js";
|
|
24
27
|
//# 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":"AAgCA,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,OAAO;YACL,OAAO,mBAAmB,CACxB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAgD,CACzE,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,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { id, text, bool, int, timestamp } from "./column.js";
|
|
1
|
+
export { id, text, bool, int, timestamp, uuid } from "./column.js";
|
|
2
|
+
export type { UuidOptions } from "../plugins/builtin.js";
|
|
2
3
|
export type { ColumnBuilder, ColumnKind, ColumnMeta } from "./column.js";
|
|
3
4
|
export { fk } from "./relation.js";
|
|
4
5
|
export type { FkBuilder, FkMeta, FkOptions, OnDeleteAction } from "./relation.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,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,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
|
package/dist/schema/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { id, text, bool, int, timestamp } from "./column.js";
|
|
1
|
+
export { id, text, bool, int, timestamp, uuid } 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,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInE,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/schema/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,IAAI,SAAS,CAAC;IACrB,MAAM,IAAI,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/schema/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,IAAI,SAAS,CAAC;IACrB,MAAM,IAAI,SAAS,CAAC;IACpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,wBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,CA8BhE"}
|
package/dist/schema/relation.js
CHANGED
|
@@ -10,16 +10,21 @@ export function fk(target, options) {
|
|
|
10
10
|
inverse: options.inverse,
|
|
11
11
|
...(options.onDelete !== undefined ? { onDelete: options.onDelete } : {}),
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
function withMeta(next) {
|
|
14
|
+
return {
|
|
15
|
+
_type: null,
|
|
16
|
+
_meta: next,
|
|
17
|
+
notNull() {
|
|
18
|
+
return withMeta({ ...next, nullable: false });
|
|
19
|
+
},
|
|
20
|
+
unique() {
|
|
21
|
+
return withMeta({ ...next, unique: true });
|
|
22
|
+
},
|
|
23
|
+
map(name) {
|
|
24
|
+
return withMeta({ ...next, mapName: name });
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return withMeta(meta);
|
|
24
29
|
}
|
|
25
30
|
//# sourceMappingURL=relation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/schema/relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/schema/relation.ts"],"names":[],"mappings":"AA4BA,MAAM,UAAU,EAAE,CAAC,MAAc,EAAE,OAAkB;IACnD,MAAM,IAAI,GAAW;QACnB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,MAAM;QACN,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;IAEF,SAAS,QAAQ,CAAC,IAAY;QAC5B,OAAO;YACL,KAAK,EAAE,IAAqB;YAC5B,KAAK,EAAE,IAAI;YACX,OAAO;gBACL,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,MAAM;gBACJ,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,GAAG,CAAC,IAAY;gBACd,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ManifestColumn } from "../dialect/types.js";
|
|
2
|
+
export type UuidVersion = 4 | 7;
|
|
3
|
+
export declare function parseUuidVersion(value: string): UuidVersion;
|
|
4
|
+
export declare function resolveUuidVersion(col: ManifestColumn): UuidVersion;
|
|
5
|
+
export declare function generateUuid(version?: UuidVersion): string;
|
|
6
|
+
//# sourceMappingURL=uuid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAMhC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAG3D;AAoBD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,WAAe,GAAG,MAAM,CAQ7D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { randomBytes, randomUUID } from "node:crypto";
|
|
2
|
+
import * as crypto from "node:crypto";
|
|
3
|
+
const randomUUIDv7 = crypto.randomUUIDv7;
|
|
4
|
+
export function parseUuidVersion(value) {
|
|
5
|
+
const versionNibble = Number.parseInt(value[14] ?? "0", 16);
|
|
6
|
+
return versionNibble === 4 ? 4 : 7;
|
|
7
|
+
}
|
|
8
|
+
function generateUuidV7Fallback() {
|
|
9
|
+
const bytes = randomBytes(16);
|
|
10
|
+
const timestamp = BigInt(Date.now());
|
|
11
|
+
bytes[0] = Number((timestamp >> 40n) & 0xffn);
|
|
12
|
+
bytes[1] = Number((timestamp >> 32n) & 0xffn);
|
|
13
|
+
bytes[2] = Number((timestamp >> 24n) & 0xffn);
|
|
14
|
+
bytes[3] = Number((timestamp >> 16n) & 0xffn);
|
|
15
|
+
bytes[4] = Number((timestamp >> 8n) & 0xffn);
|
|
16
|
+
bytes[5] = Number(timestamp & 0xffn);
|
|
17
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x70;
|
|
18
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
19
|
+
const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
20
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
21
|
+
}
|
|
22
|
+
export function resolveUuidVersion(col) {
|
|
23
|
+
return col.typeOptions?.version === 4 ? 4 : 7;
|
|
24
|
+
}
|
|
25
|
+
export function generateUuid(version = 7) {
|
|
26
|
+
if (version === 4) {
|
|
27
|
+
return randomUUID();
|
|
28
|
+
}
|
|
29
|
+
if (randomUUIDv7) {
|
|
30
|
+
return randomUUIDv7();
|
|
31
|
+
}
|
|
32
|
+
return generateUuidV7Fallback();
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=uuid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAKtC,MAAM,YAAY,GAAI,MAEpB,CAAC,YAAY,CAAC;AAEhB,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAErC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9C,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9C,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9C,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9C,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAErC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IACpD,OAAO,GAAG,CAAC,WAAW,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAuB,CAAC;IACnD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC"}
|