neoorm 0.5.0 → 0.5.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 +5 -5
- package/dist/bin/neoorm.js +35 -5
- package/dist/bin/neoorm.js.map +1 -1
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/generate.js +14 -1
- 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 +209 -30
- package/dist/codegen/schema-to-manifest.js.map +1 -1
- package/dist/dialect/postgres.d.ts.map +1 -1
- package/dist/dialect/postgres.js +1 -6
- package/dist/dialect/postgres.js.map +1 -1
- package/dist/dialect/sqlite.d.ts.map +1 -1
- package/dist/dialect/sqlite.js +1 -6
- package/dist/dialect/sqlite.js.map +1 -1
- package/dist/dialect/types.d.ts +1 -0
- package/dist/dialect/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init/templates.d.ts.map +1 -1
- package/dist/init/templates.js +16 -6
- package/dist/init/templates.js.map +1 -1
- package/dist/migrate/runner.d.ts +5 -3
- package/dist/migrate/runner.d.ts.map +1 -1
- package/dist/migrate/runner.js +46 -19
- package/dist/migrate/runner.js.map +1 -1
- package/dist/runtime/driver.d.ts.map +1 -1
- package/dist/runtime/driver.js +53 -29
- package/dist/runtime/driver.js.map +1 -1
- package/dist/runtime/errors.d.ts +21 -0
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/errors.js +64 -0
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/schema-error.d.ts +18 -0
- package/dist/runtime/schema-error.d.ts.map +1 -0
- package/dist/runtime/schema-error.js +72 -0
- package/dist/runtime/schema-error.js.map +1 -0
- package/dist/schema/column-where.d.ts +2 -2
- package/dist/schema/column-where.d.ts.map +1 -1
- package/dist/schema/column.d.ts +4 -0
- package/dist/schema/column.d.ts.map +1 -1
- package/dist/schema/column.js +3 -0
- package/dist/schema/column.js.map +1 -1
- package/dist/schema/index.d.ts +4 -3
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/many-to-many.d.ts +30 -0
- package/dist/schema/many-to-many.d.ts.map +1 -1
- package/dist/schema/many-to-many.js +19 -1
- package/dist/schema/many-to-many.js.map +1 -1
- package/dist/schema/nested-relation-types.d.ts +3 -3
- package/dist/schema/nested-relation-types.d.ts.map +1 -1
- package/dist/schema/relation-types.d.ts +82 -25
- package/dist/schema/relation-types.d.ts.map +1 -1
- package/dist/schema/relation.d.ts +26 -4
- package/dist/schema/relation.d.ts.map +1 -1
- package/dist/schema/relation.js +56 -5
- package/dist/schema/relation.js.map +1 -1
- package/dist/schema/table-registry.d.ts +8 -0
- package/dist/schema/table-registry.d.ts.map +1 -0
- package/dist/schema/table-registry.js +26 -0
- package/dist/schema/table-registry.js.map +1 -0
- package/dist/schema/table.d.ts +36 -4
- package/dist/schema/table.d.ts.map +1 -1
- package/dist/schema/table.js +27 -1
- package/dist/schema/table.js.map +1 -1
- package/dist/schema/types.d.ts +9 -9
- package/dist/schema/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,8 +39,8 @@ Most ORMs force you to learn their query language, fight their type system, or s
|
|
|
39
39
|
## Quick start
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
bunx neoorm init # scaffold schema, config,
|
|
43
|
-
bunx neoorm migrate
|
|
42
|
+
bunx neoorm init # scaffold schema, config, env file
|
|
43
|
+
bunx neoorm migrate dev # generate typed client + first migration, apply it
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
```ts
|
|
@@ -69,11 +69,11 @@ const posts = await db.posts.findMany({
|
|
|
69
69
|
|
|
70
70
|
<table>
|
|
71
71
|
<tr>
|
|
72
|
-
<td width="50%"><strong>🧩 Schema DSL</strong><br/>Tables, columns, foreign keys, indexes, enums, composite keys, many-to-many — all in TypeScript
|
|
72
|
+
<td width="50%"><strong>🧩 Schema DSL</strong><br/>Tables, columns, foreign keys, indexes, enums, composite keys, many-to-many — all in TypeScript. `fk(table)`/`fk(table.col)` refs, inferred relation names, inline index & composite PKs.</td>
|
|
73
73
|
<td width="50%"><strong>📦 Code generation</strong><br/>`neoorm generate` emits a typed client, models with payload types, include types, a manifest, and migration SQL.</td>
|
|
74
74
|
</tr>
|
|
75
75
|
<tr>
|
|
76
|
-
<td><strong>🔍 Rich queries</strong><br/>`findMany`, `findById`, `findUnique`, `count`, `aggregate`, `groupBy`. Where operators for strings, numbers, dates, JSONB,
|
|
76
|
+
<td><strong>🔍 Rich queries</strong><br/>`findMany`, `findById`, `findUnique`, `count`, `aggregate`, `groupBy`. Where operators for strings, numbers, dates, JSONB, and nulls. `AND/OR/NOT` combinators.</td>
|
|
77
77
|
<td><strong>📄 Cursor pagination</strong><br/>Keyset-based `paginate` for feeds and infinite scroll. Type-safe cursors, `hasMore` probe, and `encodeCursor`/`decodeCursor` for HTTP APIs.</td>
|
|
78
78
|
</tr>
|
|
79
79
|
<tr>
|
|
@@ -101,7 +101,7 @@ const posts = await db.posts.findMany({
|
|
|
101
101
|
| Topic | |
|
|
102
102
|
|-------|-|
|
|
103
103
|
| [Getting started](docs/getting-started.md) | Setup, manual config, env vars, tenant schemas |
|
|
104
|
-
| [Schema DSL](docs/schema.md) | Tables, columns,
|
|
104
|
+
| [Schema DSL](docs/schema.md) | Tables, columns, foreign keys (incl. table/column refs, inferred relation names, composite PKs, inline indexes) and many-to-many |
|
|
105
105
|
| [Queries](docs/queries.md) | CRUD, where clauses, pagination, aggregates, groupBy, distinct |
|
|
106
106
|
| [Relation writes](docs/relations.md) | Nested connect/create/disconnect/set/delete |
|
|
107
107
|
| [Transactions](docs/transactions.md) | Interactive, batch, nested, isolation levels |
|
package/dist/bin/neoorm.js
CHANGED
|
@@ -13,6 +13,7 @@ import { formatInitNextSteps, runInit } from "../init/scaffold.js";
|
|
|
13
13
|
import { introspectPostgres, introspectSqlite } from "../introspect/pull.js";
|
|
14
14
|
import { dbPush, dbPushWarnings, formatMigrateStatus, migrateDeploy, migrateDown, migrateReset, migrateStatus, } from "../migrate/runner.js";
|
|
15
15
|
import { pgClient, sqliteClient } from "../runtime/driver.js";
|
|
16
|
+
import { NeoOrmQueryError, NeoOrmSchemaError, } from "../runtime/errors.js";
|
|
16
17
|
import { openSqliteDatabase } from "../runtime/sqlite-open.js";
|
|
17
18
|
function connectDb(config) {
|
|
18
19
|
if (config.datasource.provider === "sqlite") {
|
|
@@ -32,6 +33,22 @@ function connectDb(config) {
|
|
|
32
33
|
close: () => pool.end(),
|
|
33
34
|
};
|
|
34
35
|
}
|
|
36
|
+
function formatCliError(err) {
|
|
37
|
+
if (err instanceof NeoOrmSchemaError ||
|
|
38
|
+
err instanceof NeoOrmQueryError) {
|
|
39
|
+
return err.message;
|
|
40
|
+
}
|
|
41
|
+
if (err instanceof Error) {
|
|
42
|
+
return err.message;
|
|
43
|
+
}
|
|
44
|
+
return String(err);
|
|
45
|
+
}
|
|
46
|
+
function printCliError(err) {
|
|
47
|
+
console.error(formatCliError(err));
|
|
48
|
+
if (process.env.DEBUG && err instanceof Error && err.stack) {
|
|
49
|
+
console.error(err.stack);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
35
52
|
const program = new Command();
|
|
36
53
|
program.name("neoorm").description("NeoOrm CLI").version(packageJson.version);
|
|
37
54
|
function normalizeProvider(input) {
|
|
@@ -218,7 +235,14 @@ program
|
|
|
218
235
|
return;
|
|
219
236
|
}
|
|
220
237
|
if (subcommand === "deploy" || subcommand === "dev") {
|
|
221
|
-
const
|
|
238
|
+
const schemaPath = resolve(cwd, config.schema);
|
|
239
|
+
const { readSnapshot } = await import("../codegen/generate.js");
|
|
240
|
+
const snapshotManifest = await readSnapshot(outDir);
|
|
241
|
+
const applied = await migrateDeploy(client, dialect, migrationsDir, {
|
|
242
|
+
...(dbSchema ? { schema: dbSchema } : {}),
|
|
243
|
+
schemaPath,
|
|
244
|
+
...(snapshotManifest ? { manifest: snapshotManifest } : {}),
|
|
245
|
+
});
|
|
222
246
|
if (applied.length === 0) {
|
|
223
247
|
console.log("No pending migrations");
|
|
224
248
|
}
|
|
@@ -229,8 +253,7 @@ program
|
|
|
229
253
|
}
|
|
230
254
|
}
|
|
231
255
|
if (subcommand === "dev") {
|
|
232
|
-
const
|
|
233
|
-
const { warnings, summary, migrationName } = await generateFromSchema(schemaPath, outDir, {
|
|
256
|
+
const { warnings, summary, migrationName, manifest } = await generateFromSchema(schemaPath, outDir, {
|
|
234
257
|
...(options.acceptDataLoss
|
|
235
258
|
? { acceptDataLoss: true }
|
|
236
259
|
: {}),
|
|
@@ -252,7 +275,11 @@ program
|
|
|
252
275
|
console.warn(`Warning: ${warning}`);
|
|
253
276
|
}
|
|
254
277
|
if (migrationName) {
|
|
255
|
-
const newlyApplied = await migrateDeploy(client, dialect, join(outDir, "migrations"),
|
|
278
|
+
const newlyApplied = await migrateDeploy(client, dialect, join(outDir, "migrations"), {
|
|
279
|
+
...(dbSchema ? { schema: dbSchema } : {}),
|
|
280
|
+
manifest,
|
|
281
|
+
schemaPath,
|
|
282
|
+
});
|
|
256
283
|
if (newlyApplied.length > 0) {
|
|
257
284
|
console.log(`Applied new migration: ${newlyApplied.join(", ")}`);
|
|
258
285
|
}
|
|
@@ -323,5 +350,8 @@ program
|
|
|
323
350
|
await close();
|
|
324
351
|
}
|
|
325
352
|
});
|
|
326
|
-
program.
|
|
353
|
+
program.parseAsync(process.argv).catch((err) => {
|
|
354
|
+
printCliError(err);
|
|
355
|
+
process.exit(1);
|
|
356
|
+
});
|
|
327
357
|
//# sourceMappingURL=neoorm.js.map
|
package/dist/bin/neoorm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neoorm.js","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"neoorm.js","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/codegen/generate.js
CHANGED
|
@@ -5,6 +5,8 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
import { applySchemaToManifest } from "../dialect/postgres.js";
|
|
6
6
|
import { postgresDialect } from "../dialect/postgres.js";
|
|
7
7
|
import { sqliteDialect } from "../dialect/sqlite.js";
|
|
8
|
+
import { NeoOrmSchemaError } from "../runtime/errors.js";
|
|
9
|
+
import { schemaCompileError } from "../runtime/schema-error.js";
|
|
8
10
|
import { resolveSqlColumnName } from "../utils/case.js";
|
|
9
11
|
import { buildDownSql, diffManifest, emptyManifest, formatDestructiveWarnings, resolveMigrationSql, } from "./diff-manifest.js";
|
|
10
12
|
import { emitIncludesTs } from "./emit-includes.js";
|
|
@@ -190,6 +192,17 @@ export async function writeGeneratedFiles(outDir, manifest, migrationSql, schema
|
|
|
190
192
|
return { migrationName };
|
|
191
193
|
}
|
|
192
194
|
export async function generateFromSchema(schemaPath, outDir, options = {}) {
|
|
195
|
+
try {
|
|
196
|
+
return await generateFromSchemaInner(schemaPath, outDir, options);
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
if (err instanceof NeoOrmSchemaError) {
|
|
200
|
+
throw err;
|
|
201
|
+
}
|
|
202
|
+
throw schemaCompileError(schemaPath, err instanceof Error ? err.message : String(err), err);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
async function generateFromSchemaInner(schemaPath, outDir, options = {}) {
|
|
193
206
|
const { schemaToManifest, validateManifest } = await import("./schema-to-manifest.js");
|
|
194
207
|
const { schema, manyToMany, plugins } = await loadSchemaModule(schemaPath);
|
|
195
208
|
const schemaManifest = schemaToManifest(schema, manyToMany, plugins, {
|
|
@@ -201,7 +214,7 @@ export async function generateFromSchema(schemaPath, outDir, options = {}) {
|
|
|
201
214
|
const warnings = collectRedundantMapWarnings(schema);
|
|
202
215
|
const errors = validateManifest(manifest);
|
|
203
216
|
if (errors.length > 0) {
|
|
204
|
-
throw
|
|
217
|
+
throw schemaCompileError(schemaPath, `Schema validation failed:\n${errors.map((e) => ` - ${e}`).join("\n")}`);
|
|
205
218
|
}
|
|
206
219
|
const prev = await readSnapshot(outDir);
|
|
207
220
|
const schemaChanged = !prev || hashManifest(prev) !== hashManifest(manifest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEN,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,kBAAkB,CAC1B,QAA6C;IAE7C,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,qBAAqB;IACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAC7D,IAAI,CAAC,UAAU,EAAE,kCAAkC,CAAC,CACpD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,2EAA2E;IAC5E,CAAC;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAED,KAAK,UAAU,qBAAqB;IACnC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CACzD,IAAI,CAAC,UAAU,EAAE,+BAA+B,CAAC,CACjD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,2EAA2E;IAC5E,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAOxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC/D,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAC/C,2BAA2B,CAC3B,CAAC;IAEF,uBAAuB,EAAE,CAAC;IAE1B,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACd,kFAAkF,CAClF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAE9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC;SACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAChC,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAS3C;IACA,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,IAAI,WAAW,CAAC;IAEhE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC;QAChE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAEtD,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CACZ,GAAG,QAAQ,IAAI,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,0BAA0B,YAAY,wEAAwE,CAC7J,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAChD,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAc,EACd,QAAkB;IAElB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EACjC,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,QAAkB,EAClB,iBAAyB;IAEzB,OAAO;iCACyB,iBAAiB;;0BAExB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;CAC1D,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,gBAAwB,EACxB,iBAAyB;IAEzB,OAAO;sCAC8B,iBAAiB;0CACb,iBAAiB;;0BAEjC,gBAAgB;;;;;;;;;;;;;;;;CAgBzC,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc;IACpD,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,KAAK,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAAkB;IAC3D,OAAO,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC,OAAO,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,qBAAqB,EACrB,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,qBAAqB,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG,IAAI;SAClB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAc,EACd,GAAa,EACb,OAKC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI;QAClC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,GAAG,SAAS,YAAY,CAAC;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,EACnC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAChB,OAAO,CACP,CAAC;IAEF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,EAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EACpB,OAAO,CACP,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;QAC/C,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EACvC,OAAO,CACP,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAc,EACd,QAAkB,EAClB,YAAsB,EACtB,UAAkB,EAClB,IAAqB,EACrB,OAAiB;IAEjB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3B,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,EACxC,OAAO,CACP,CAAC;IACF,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3B,cAAc,CAAC,QAAQ,CAAC,EACxB,OAAO,CACP,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EACzB,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,EAClE,OAAO,CACP,CAAC;IACF,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAChE,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/B,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,CAAC;AAC1B,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,UAAkB,EAClB,MAAc,EACd,OAAO,GAAoB,EAAE;IAE7B,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAC1D,yBAAyB,CACzB,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE;QACpE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,aAAa,GAClB,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAC3C,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,OAAO,CAAC,cAAc,IAAI,KAAK,EAC/B,OAAO,CACP,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAElC,MAAM,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAErE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,mBAAmB,CAClD,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,OAAO,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACxC,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,OAAO;QACP,aAAa;QACb,aAAa;KACb,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,KAAK,mBAAmB,CAAC;IAChE,IAAI,gBAAgB,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,WAAW,CAAC,IAAI,CACf,6GAA6G,CAC7G,CAAC;IACH,CAAC;IAED,OAAO;QACN,QAAQ;QACR,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,gBAAgB;QACpC,OAAO;KACP,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEN,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,kBAAkB,CAC1B,QAA6C;IAE7C,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,qBAAqB;IACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAC7D,IAAI,CAAC,UAAU,EAAE,kCAAkC,CAAC,CACpD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,2EAA2E;IAC5E,CAAC;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAED,KAAK,UAAU,qBAAqB;IACnC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CACzD,IAAI,CAAC,UAAU,EAAE,+BAA+B,CAAC,CACjD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,2EAA2E;IAC5E,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAOxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC/D,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAC/C,2BAA2B,CAC3B,CAAC;IAEF,uBAAuB,EAAE,CAAC;IAE1B,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACd,kFAAkF,CAClF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAE9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC;SACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAChC,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAS3C;IACA,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,IAAI,WAAW,CAAC;IAEhE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC;QAChE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAEtD,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CACZ,GAAG,QAAQ,IAAI,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,0BAA0B,YAAY,wEAAwE,CAC7J,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAChD,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAc,EACd,QAAkB;IAElB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EACjC,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,QAAkB,EAClB,iBAAyB;IAEzB,OAAO;iCACyB,iBAAiB;;0BAExB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;CAC1D,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,gBAAwB,EACxB,iBAAyB;IAEzB,OAAO;sCAC8B,iBAAiB;0CACb,iBAAiB;;0BAEjC,gBAAgB;;;;;;;;;;;;;;;;CAgBzC,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc;IACpD,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,KAAK,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAAkB;IAC3D,OAAO,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC,OAAO,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,qBAAqB,EACrB,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,qBAAqB,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG,IAAI;SAClB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAc,EACd,GAAa,EACb,OAKC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI;QAClC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,GAAG,SAAS,YAAY,CAAC;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,EACnC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAChB,OAAO,CACP,CAAC;IAEF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,EAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EACpB,OAAO,CACP,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;QAC/C,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EACvC,OAAO,CACP,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAc,EACd,QAAkB,EAClB,YAAsB,EACtB,UAAkB,EAClB,IAAqB,EACrB,OAAiB;IAEjB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3B,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,EACxC,OAAO,CACP,CAAC;IACF,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3B,cAAc,CAAC,QAAQ,CAAC,EACxB,OAAO,CACP,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EACzB,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,EAClE,OAAO,CACP,CAAC;IACF,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAChE,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/B,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,CAAC;AAC1B,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,UAAkB,EAClB,MAAc,EACd,OAAO,GAAoB,EAAE;IAE7B,IAAI,CAAC;QACJ,OAAO,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC;QACX,CAAC;QACD,MAAM,kBAAkB,CACvB,UAAU,EACV,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAChD,GAAG,CACH,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,UAAkB,EAClB,MAAc,EACd,OAAO,GAAoB,EAAE;IAE7B,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAC1D,yBAAyB,CACzB,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE;QACpE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,kBAAkB,CACvB,UAAU,EACV,8BAA8B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,aAAa,GAClB,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAC3C,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,OAAO,CAAC,cAAc,IAAI,KAAK,EAC/B,OAAO,CACP,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAElC,MAAM,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAErE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,mBAAmB,CAClD,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,OAAO,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACxC,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,OAAO;QACP,aAAa;QACb,aAAa;KACb,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,KAAK,mBAAmB,CAAC;IAChE,IAAI,gBAAgB,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,WAAW,CAAC,IAAI,CACf,6GAA6G,CAC7G,CAAC;IACH,CAAC;IAED,OAAO;QACN,QAAQ;QACR,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,gBAAgB;QACpC,OAAO;KACP,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-to-manifest.d.ts","sourceRoot":"","sources":["../../src/codegen/schema-to-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAMR,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-to-manifest.d.ts","sourceRoot":"","sources":["../../src/codegen/schema-to-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAMR,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EACX,aAAa,EAEb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAGX,QAAQ,EAER,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAwUF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAClE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,SAAS,aAAa,EAA4B,EAC3D,OAAO,GAAE,SAAS,YAAY,EAAwB,EACtD,OAAO,GAAE,uBAA4B,GACnC,QAAQ,CAqWV;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAiC7D"}
|
|
@@ -2,6 +2,7 @@ import { parseFkTarget } from "../dialect/fk.js";
|
|
|
2
2
|
import { resolveIndexSqlName } from "../dialect/postgres.js";
|
|
3
3
|
import { collectExtensionsForKinds, getColumnType, getPluginRegistry, } from "../plugins/registry.js";
|
|
4
4
|
import { resolveFkTargetSqlColumn } from "../runtime/query/primary-key.js";
|
|
5
|
+
import { fk } from "../schema/relation.js";
|
|
5
6
|
import { getManyToManyRegistry } from "../schema/many-to-many.js";
|
|
6
7
|
import { resolveSqlColumnName } from "../utils/case.js";
|
|
7
8
|
function buildEnumCheckExpression(sqlName, values) {
|
|
@@ -20,6 +21,33 @@ function requireColumnDef(columns, tsName) {
|
|
|
20
21
|
}
|
|
21
22
|
return column;
|
|
22
23
|
}
|
|
24
|
+
function inferFkAs(tsName) {
|
|
25
|
+
return tsName.replace(/_(Id|id)$/, "").replace(/Id$/, "");
|
|
26
|
+
}
|
|
27
|
+
function pluralize(word) {
|
|
28
|
+
if (/(s|x|z|ch|sh)$/.test(word)) {
|
|
29
|
+
return `${word}es`;
|
|
30
|
+
}
|
|
31
|
+
if (/[^aeiou]y$/.test(word)) {
|
|
32
|
+
return `${word.slice(0, -1)}ies`;
|
|
33
|
+
}
|
|
34
|
+
return `${word}s`;
|
|
35
|
+
}
|
|
36
|
+
function singularize(word) {
|
|
37
|
+
if (/ies$/.test(word)) {
|
|
38
|
+
return `${word.slice(0, -3)}y`;
|
|
39
|
+
}
|
|
40
|
+
if (/(ses|xes|zes|ches|shes)$/.test(word)) {
|
|
41
|
+
return word.slice(0, -2);
|
|
42
|
+
}
|
|
43
|
+
if (/s$/.test(word) && !/ss$/.test(word)) {
|
|
44
|
+
return word.slice(0, -1);
|
|
45
|
+
}
|
|
46
|
+
return word;
|
|
47
|
+
}
|
|
48
|
+
function autoJunctionName(leftSql, rightSql) {
|
|
49
|
+
return `_${[leftSql, rightSql].sort().join("_")}`;
|
|
50
|
+
}
|
|
23
51
|
function finalizeEnumColumns(manifestTables, enumMode) {
|
|
24
52
|
const enumTypes = {};
|
|
25
53
|
for (const table of Object.values(manifestTables)) {
|
|
@@ -53,6 +81,9 @@ function isFkBuilder(col) {
|
|
|
53
81
|
function isColumnBuilder(col) {
|
|
54
82
|
return "_meta" in col && col._meta.kind !== "fk";
|
|
55
83
|
}
|
|
84
|
+
function isManyToMany(col) {
|
|
85
|
+
return "kind" in col && col.kind === "manyToMany";
|
|
86
|
+
}
|
|
56
87
|
const UPDATED_AT_COLUMN_KINDS = new Set(["timestamp"]);
|
|
57
88
|
function validateUpdatedAtColumn(tsName, kind) {
|
|
58
89
|
if (!UPDATED_AT_COLUMN_KINDS.has(kind)) {
|
|
@@ -78,14 +109,22 @@ function columnToManifest(tsName, col, columnNaming) {
|
|
|
78
109
|
? { updatedAt: true }
|
|
79
110
|
: {}),
|
|
80
111
|
fkTarget: meta.target,
|
|
81
|
-
fkAs: meta.as,
|
|
82
|
-
fkInverse: meta.inverse,
|
|
112
|
+
fkAs: meta.as || inferFkAs(tsName),
|
|
83
113
|
};
|
|
114
|
+
if (meta.inverse) {
|
|
115
|
+
result.fkInverse = meta.inverse;
|
|
116
|
+
}
|
|
117
|
+
if (meta.index === true) {
|
|
118
|
+
result.index = true;
|
|
119
|
+
}
|
|
84
120
|
if (meta.onDelete !== undefined) {
|
|
85
121
|
result.onDelete = meta.onDelete;
|
|
86
122
|
}
|
|
87
123
|
return result;
|
|
88
124
|
}
|
|
125
|
+
if (!isColumnBuilder(col)) {
|
|
126
|
+
throw new Error(`Column "${tsName}" is not a scalar or foreign-key column`);
|
|
127
|
+
}
|
|
89
128
|
const meta = col._meta;
|
|
90
129
|
if ("updatedAt" in meta && meta.updatedAt === true) {
|
|
91
130
|
validateUpdatedAtColumn(tsName, meta.kind);
|
|
@@ -102,6 +141,9 @@ function columnToManifest(tsName, col, columnNaming) {
|
|
|
102
141
|
? { updatedAt: true }
|
|
103
142
|
: {}),
|
|
104
143
|
};
|
|
144
|
+
if (meta.index === true) {
|
|
145
|
+
result.index = true;
|
|
146
|
+
}
|
|
105
147
|
if (meta.defaultValue !== undefined) {
|
|
106
148
|
result.defaultValue = meta.defaultValue;
|
|
107
149
|
}
|
|
@@ -151,7 +193,7 @@ function buildRelations(columns, sqlNameToAccessor, manifestTables) {
|
|
|
151
193
|
? resolveFkTargetSqlColumn(targetTable, colRef)
|
|
152
194
|
: (colRef ?? ""),
|
|
153
195
|
cardinality,
|
|
154
|
-
inverse: col.fkInverse ?? col.fkAs,
|
|
196
|
+
inverse: col.fkInverse ?? pluralize(col.fkAs),
|
|
155
197
|
};
|
|
156
198
|
if (col.onDelete !== undefined) {
|
|
157
199
|
rel.onDelete = col.onDelete;
|
|
@@ -168,6 +210,22 @@ function isUniqueColumn(table, fkSqlColumn) {
|
|
|
168
210
|
idx.columns.length === 1 &&
|
|
169
211
|
idx.columns[0] === fkSqlColumn);
|
|
170
212
|
}
|
|
213
|
+
function resolveM2M(incoming) {
|
|
214
|
+
return {
|
|
215
|
+
leftTable: incoming.leftTable,
|
|
216
|
+
leftAccessor: incoming.leftAccessor,
|
|
217
|
+
rightTable: incoming.rightTable,
|
|
218
|
+
rightAccessor: incoming.rightAccessor,
|
|
219
|
+
throughTable: incoming.throughTable,
|
|
220
|
+
throughAccessor: incoming.throughAccessor,
|
|
221
|
+
leftFkColumn: incoming.leftFkColumn,
|
|
222
|
+
rightFkColumn: incoming.rightFkColumn,
|
|
223
|
+
leftRelation: incoming.leftRelation,
|
|
224
|
+
rightRelation: incoming.rightRelation,
|
|
225
|
+
as: incoming.as,
|
|
226
|
+
inverse: incoming.inverse,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
171
229
|
export function schemaToManifest(schema, m2mDefs = getManyToManyRegistry(), plugins = getPluginRegistry(), options = {}) {
|
|
172
230
|
const enumMode = options.enumMode ?? "check";
|
|
173
231
|
const provider = options.provider;
|
|
@@ -179,10 +237,43 @@ export function schemaToManifest(schema, m2mDefs = getManyToManyRegistry(), plug
|
|
|
179
237
|
sqlNameToAccessor[table._tableName] = accessor;
|
|
180
238
|
}
|
|
181
239
|
const manifestTables = {};
|
|
240
|
+
const inlineM2Ms = [];
|
|
182
241
|
for (const [accessor, tableDef] of Object.entries(tables)) {
|
|
183
242
|
const columnNaming = tableDef._columnNaming ?? defaultColumnNaming;
|
|
184
|
-
const columns = Object.entries(tableDef._columns)
|
|
243
|
+
const columns = Object.entries(tableDef._columns)
|
|
244
|
+
.filter(([, col]) => !isManyToMany(col))
|
|
245
|
+
.map(([name, col]) => columnToManifest(name, col, columnNaming));
|
|
185
246
|
const { indexes, primaryKey } = extrasToManifest(tableDef._extras, tableDef._columns, tableDef._tableName, columnNaming);
|
|
247
|
+
for (const col of columns) {
|
|
248
|
+
if (!col.index)
|
|
249
|
+
continue;
|
|
250
|
+
const inline = {
|
|
251
|
+
name: col.tsName,
|
|
252
|
+
columns: [col.sqlName],
|
|
253
|
+
unique: false,
|
|
254
|
+
};
|
|
255
|
+
const already = indexes.some((idx) => !idx.unique &&
|
|
256
|
+
idx.columns.length === 1 &&
|
|
257
|
+
idx.columns[0] === col.sqlName);
|
|
258
|
+
if (already)
|
|
259
|
+
continue;
|
|
260
|
+
inline.sqlName = resolveIndexSqlName(tableDef._tableName, inline);
|
|
261
|
+
indexes.push(inline);
|
|
262
|
+
}
|
|
263
|
+
for (const [extraName, extra] of Object.entries(tableDef._extras)) {
|
|
264
|
+
if (extra.kind === "manyToMany") {
|
|
265
|
+
inlineM2Ms.push({ sourceAccessor: accessor, extraName, extra });
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
for (const [colName, col] of Object.entries(tableDef._columns)) {
|
|
269
|
+
if (isManyToMany(col)) {
|
|
270
|
+
inlineM2Ms.push({
|
|
271
|
+
sourceAccessor: accessor,
|
|
272
|
+
extraName: colName,
|
|
273
|
+
extra: col,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
}
|
|
186
277
|
const pk = primaryKey.length > 0
|
|
187
278
|
? primaryKey
|
|
188
279
|
: columns.filter((c) => c.primary).map((c) => c.sqlName);
|
|
@@ -201,10 +292,114 @@ export function schemaToManifest(schema, m2mDefs = getManyToManyRegistry(), plug
|
|
|
201
292
|
primaryKey: pk,
|
|
202
293
|
};
|
|
203
294
|
}
|
|
295
|
+
const autoJunctionAccessors = new Set();
|
|
296
|
+
const addAutoJunction = (accessor, sqlName, leftTable, rightTable, leftTsName, rightTsName) => {
|
|
297
|
+
const columnNaming = leftTable.columnNaming ?? "snakeCase";
|
|
298
|
+
const leftFk = fk(`${leftTable.sqlName}.${leftTable.primaryKey[0]}`, { nullable: false }).primary();
|
|
299
|
+
const rightFk = fk(`${rightTable.sqlName}.${rightTable.primaryKey[0]}`, { nullable: false }).primary();
|
|
300
|
+
const columns = [
|
|
301
|
+
columnToManifest(leftTsName, leftFk, columnNaming),
|
|
302
|
+
columnToManifest(rightTsName, rightFk, columnNaming),
|
|
303
|
+
];
|
|
304
|
+
const table = {
|
|
305
|
+
accessor,
|
|
306
|
+
sqlName,
|
|
307
|
+
columnNaming,
|
|
308
|
+
columns,
|
|
309
|
+
relations: [],
|
|
310
|
+
indexes: [],
|
|
311
|
+
primaryKey: [columns[0].sqlName, columns[1].sqlName],
|
|
312
|
+
};
|
|
313
|
+
manifestTables[accessor] = table;
|
|
314
|
+
sqlNameToAccessor[sqlName] = accessor;
|
|
315
|
+
autoJunctionAccessors.add(accessor);
|
|
316
|
+
return table;
|
|
317
|
+
};
|
|
318
|
+
const knownThrough = new Map();
|
|
319
|
+
for (const table of Object.values(manifestTables)) {
|
|
320
|
+
knownThrough.set(table.sqlName, table.accessor);
|
|
321
|
+
}
|
|
322
|
+
const incomingM2Ms = [];
|
|
323
|
+
for (const m of m2mDefs) {
|
|
324
|
+
const throughAccessor = Object.entries(tables).find(([, t]) => t._tableName === m.throughKey)?.[0] ?? m.throughKey;
|
|
325
|
+
const leftAccessor = Object.entries(tables).find(([, t]) => t._tableName === m.leftKey)?.[0] ?? m.leftKey;
|
|
326
|
+
const rightAccessor = Object.entries(tables).find(([, t]) => t._tableName === m.rightKey)?.[0] ?? m.rightKey;
|
|
327
|
+
const throughTable = manifestTables[throughAccessor];
|
|
328
|
+
const leftFk = throughTable?.columns.find((c) => c.fkAs === m.leftRelation);
|
|
329
|
+
const rightFk = throughTable?.columns.find((c) => c.fkAs === m.rightRelation);
|
|
330
|
+
incomingM2Ms.push({
|
|
331
|
+
leftTable: m.leftKey,
|
|
332
|
+
leftAccessor,
|
|
333
|
+
rightTable: m.rightKey,
|
|
334
|
+
rightAccessor,
|
|
335
|
+
throughTable: m.throughKey,
|
|
336
|
+
throughAccessor,
|
|
337
|
+
leftFkColumn: leftFk?.sqlName ?? "",
|
|
338
|
+
rightFkColumn: rightFk?.sqlName ?? "",
|
|
339
|
+
leftRelation: m.leftRelation,
|
|
340
|
+
rightRelation: m.rightRelation,
|
|
341
|
+
as: m.as,
|
|
342
|
+
inverse: m.inverse,
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
for (const { sourceAccessor, extraName, extra } of inlineM2Ms) {
|
|
346
|
+
const sourceTable = manifestTables[sourceAccessor];
|
|
347
|
+
const targetTable = manifestTables[extra.target];
|
|
348
|
+
if (!sourceTable)
|
|
349
|
+
continue;
|
|
350
|
+
if (!targetTable) {
|
|
351
|
+
throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" references unknown table accessor "${extra.target}"`);
|
|
352
|
+
}
|
|
353
|
+
const leftTsName = extra.leftKey ?? `${singularize(sourceAccessor)}Id`;
|
|
354
|
+
const rightTsName = extra.rightKey ?? `${singularize(targetTable.accessor)}Id`;
|
|
355
|
+
let throughAccessor;
|
|
356
|
+
let throughKey;
|
|
357
|
+
if (extra.through) {
|
|
358
|
+
const resolvedThrough = knownThrough.get(extra.through);
|
|
359
|
+
if (!resolvedThrough) {
|
|
360
|
+
throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" references unknown junction table "${extra.through}". Define the junction table first with table().`);
|
|
361
|
+
}
|
|
362
|
+
throughAccessor = resolvedThrough;
|
|
363
|
+
throughKey = extra.through;
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
throughKey = autoJunctionName(sourceTable.sqlName, targetTable.sqlName);
|
|
367
|
+
const autoAccessor = throughKey;
|
|
368
|
+
if (!manifestTables[autoAccessor]) {
|
|
369
|
+
addAutoJunction(autoAccessor, throughKey, sourceTable, targetTable, leftTsName, rightTsName);
|
|
370
|
+
}
|
|
371
|
+
throughAccessor = autoAccessor;
|
|
372
|
+
}
|
|
373
|
+
const throughTable = manifestTables[throughAccessor];
|
|
374
|
+
const leftFk = throughTable?.columns.find((c) => c.tsName === leftTsName);
|
|
375
|
+
const rightFk = throughTable?.columns.find((c) => c.tsName === rightTsName);
|
|
376
|
+
if (!leftFk) {
|
|
377
|
+
throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" cannot find junction column "${leftTsName}" on table "${throughKey}"`);
|
|
378
|
+
}
|
|
379
|
+
if (!rightFk) {
|
|
380
|
+
throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" cannot find junction column "${rightTsName}" on table "${throughKey}"`);
|
|
381
|
+
}
|
|
382
|
+
incomingM2Ms.push({
|
|
383
|
+
leftTable: sourceTable.sqlName,
|
|
384
|
+
leftAccessor: sourceAccessor,
|
|
385
|
+
rightTable: targetTable.sqlName,
|
|
386
|
+
rightAccessor: targetTable.accessor,
|
|
387
|
+
throughTable: throughKey,
|
|
388
|
+
throughAccessor,
|
|
389
|
+
leftFkColumn: leftFk.sqlName,
|
|
390
|
+
rightFkColumn: rightFk.sqlName,
|
|
391
|
+
leftRelation: leftFk.fkAs ?? leftTsName,
|
|
392
|
+
rightRelation: rightFk.fkAs ?? rightTsName,
|
|
393
|
+
as: extra.as || extraName,
|
|
394
|
+
inverse: extra.inverse || sourceAccessor,
|
|
395
|
+
});
|
|
396
|
+
}
|
|
204
397
|
for (const table of Object.values(manifestTables)) {
|
|
205
398
|
table.relations = buildRelations(table.columns, sqlNameToAccessor, manifestTables);
|
|
206
399
|
}
|
|
207
400
|
for (const table of Object.values(manifestTables)) {
|
|
401
|
+
if (autoJunctionAccessors.has(table.accessor))
|
|
402
|
+
continue;
|
|
208
403
|
const fkRelations = table.relations.filter((rel) => {
|
|
209
404
|
const col = table.columns.find((c) => c.fkAs === rel.name);
|
|
210
405
|
return col?.kind === "fk";
|
|
@@ -213,9 +408,15 @@ export function schemaToManifest(schema, m2mDefs = getManyToManyRegistry(), plug
|
|
|
213
408
|
const inverseTable = manifestTables[rel.targetAccessor];
|
|
214
409
|
if (!inverseTable)
|
|
215
410
|
continue;
|
|
216
|
-
const
|
|
217
|
-
if (
|
|
218
|
-
|
|
411
|
+
const existing = inverseTable.relations.find((r) => r.name === rel.inverse);
|
|
412
|
+
if (existing) {
|
|
413
|
+
if (existing.fkColumn === rel.fkColumn &&
|
|
414
|
+
existing.fkSqlColumn === rel.fkSqlColumn) {
|
|
415
|
+
continue;
|
|
416
|
+
}
|
|
417
|
+
throw new Error(`Relation "${rel.inverse}" on table "${inverseTable.sqlName}" is already used by another foreign key. ` +
|
|
418
|
+
"Set an explicit `inverse` in the fk() options to disambiguate.");
|
|
419
|
+
}
|
|
219
420
|
inverseTable.relations.push({
|
|
220
421
|
name: rel.inverse,
|
|
221
422
|
targetTable: table.sqlName,
|
|
@@ -230,29 +431,7 @@ export function schemaToManifest(schema, m2mDefs = getManyToManyRegistry(), plug
|
|
|
230
431
|
});
|
|
231
432
|
}
|
|
232
433
|
}
|
|
233
|
-
const
|
|
234
|
-
const manyToMany = m2mDefsResolved.map((m) => {
|
|
235
|
-
const throughAccessor = Object.entries(tables).find(([, t]) => t._tableName === m.throughKey)?.[0] ?? m.throughKey;
|
|
236
|
-
const leftAccessor = Object.entries(tables).find(([, t]) => t._tableName === m.leftKey)?.[0] ?? m.leftKey;
|
|
237
|
-
const rightAccessor = Object.entries(tables).find(([, t]) => t._tableName === m.rightKey)?.[0] ?? m.rightKey;
|
|
238
|
-
const throughTable = manifestTables[throughAccessor];
|
|
239
|
-
const leftFk = throughTable?.columns.find((c) => c.fkAs === m.leftRelation);
|
|
240
|
-
const rightFk = throughTable?.columns.find((c) => c.fkAs === m.rightRelation);
|
|
241
|
-
return {
|
|
242
|
-
leftTable: m.leftKey,
|
|
243
|
-
leftAccessor,
|
|
244
|
-
rightTable: m.rightKey,
|
|
245
|
-
rightAccessor,
|
|
246
|
-
throughTable: m.throughKey,
|
|
247
|
-
throughAccessor,
|
|
248
|
-
leftFkColumn: leftFk?.sqlName ?? "",
|
|
249
|
-
rightFkColumn: rightFk?.sqlName ?? "",
|
|
250
|
-
leftRelation: m.leftRelation,
|
|
251
|
-
rightRelation: m.rightRelation,
|
|
252
|
-
as: m.as,
|
|
253
|
-
inverse: m.inverse,
|
|
254
|
-
};
|
|
255
|
-
});
|
|
434
|
+
const manyToMany = incomingM2Ms.map(resolveM2M);
|
|
256
435
|
for (const m2m of manyToMany) {
|
|
257
436
|
const leftTable = manifestTables[m2m.leftAccessor];
|
|
258
437
|
const rightTable = manifestTables[m2m.rightAccessor];
|