neoorm 0.8.4 → 0.8.6

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.
Files changed (79) hide show
  1. package/README.md +2 -0
  2. package/dist/bin/neoorm.js +52 -9
  3. package/dist/bin/neoorm.js.map +1 -1
  4. package/dist/codegen/emit-models.d.ts.map +1 -1
  5. package/dist/codegen/emit-models.js +93 -40
  6. package/dist/codegen/emit-models.js.map +1 -1
  7. package/dist/codegen/emit-query-types.d.ts.map +1 -1
  8. package/dist/codegen/emit-query-types.js +36 -67
  9. package/dist/codegen/emit-query-types.js.map +1 -1
  10. package/dist/docs/pages.d.ts.map +1 -1
  11. package/dist/docs/pages.js +1 -0
  12. package/dist/docs/pages.js.map +1 -1
  13. package/dist/docs/server.d.ts.map +1 -1
  14. package/dist/docs/server.js +1 -11
  15. package/dist/docs/server.js.map +1 -1
  16. package/dist/migrate/dev-lock.d.ts +6 -0
  17. package/dist/migrate/dev-lock.d.ts.map +1 -1
  18. package/dist/migrate/dev-lock.js +71 -13
  19. package/dist/migrate/dev-lock.js.map +1 -1
  20. package/dist/runtime/client.d.ts +2 -0
  21. package/dist/runtime/client.d.ts.map +1 -1
  22. package/dist/runtime/client.js.map +1 -1
  23. package/dist/runtime/query/compile-write.d.ts.map +1 -1
  24. package/dist/runtime/query/compile-write.js +5 -5
  25. package/dist/runtime/query/compile-write.js.map +1 -1
  26. package/dist/runtime/query/delete.d.ts.map +1 -1
  27. package/dist/runtime/query/delete.js +7 -6
  28. package/dist/runtime/query/delete.js.map +1 -1
  29. package/dist/runtime/query/table-index.d.ts +2 -0
  30. package/dist/runtime/query/table-index.d.ts.map +1 -1
  31. package/dist/runtime/query/table-index.js +10 -2
  32. package/dist/runtime/query/table-index.js.map +1 -1
  33. package/dist/runtime/query/unique.d.ts +16 -0
  34. package/dist/runtime/query/unique.d.ts.map +1 -1
  35. package/dist/runtime/query/unique.js +124 -5
  36. package/dist/runtime/query/unique.js.map +1 -1
  37. package/dist/runtime/query/unique.test.js +144 -1
  38. package/dist/runtime/query/unique.test.js.map +1 -1
  39. package/dist/runtime/query/update.d.ts.map +1 -1
  40. package/dist/runtime/query/update.js +8 -7
  41. package/dist/runtime/query/update.js.map +1 -1
  42. package/dist/schema/types.d.ts +2 -2
  43. package/dist/schema/types.d.ts.map +1 -1
  44. package/dist/studio/codec.d.ts +32 -0
  45. package/dist/studio/codec.d.ts.map +1 -0
  46. package/dist/studio/codec.js +151 -0
  47. package/dist/studio/codec.js.map +1 -0
  48. package/dist/studio/csv.d.ts +12 -0
  49. package/dist/studio/csv.d.ts.map +1 -0
  50. package/dist/studio/csv.js +144 -0
  51. package/dist/studio/csv.js.map +1 -0
  52. package/dist/studio/errors.d.ts +17 -0
  53. package/dist/studio/errors.d.ts.map +1 -0
  54. package/dist/studio/errors.js +77 -0
  55. package/dist/studio/errors.js.map +1 -0
  56. package/dist/studio/graph.d.ts +27 -0
  57. package/dist/studio/graph.d.ts.map +1 -0
  58. package/dist/studio/graph.js +47 -0
  59. package/dist/studio/graph.js.map +1 -0
  60. package/dist/studio/meta.d.ts +76 -0
  61. package/dist/studio/meta.d.ts.map +1 -0
  62. package/dist/studio/meta.js +99 -0
  63. package/dist/studio/meta.js.map +1 -0
  64. package/dist/studio/open-browser.d.ts +3 -0
  65. package/dist/studio/open-browser.d.ts.map +1 -0
  66. package/dist/studio/open-browser.js +13 -0
  67. package/dist/studio/open-browser.js.map +1 -0
  68. package/dist/studio/server.d.ts +66 -0
  69. package/dist/studio/server.d.ts.map +1 -0
  70. package/dist/studio/server.js +1045 -0
  71. package/dist/studio/server.js.map +1 -0
  72. package/dist/studio-ui/assets/index-Leicgvwr.js +36 -0
  73. package/dist/studio-ui/assets/index-wQS4sFQ_.css +1 -0
  74. package/dist/studio-ui/index.html +13 -0
  75. package/docs/cli.md +18 -0
  76. package/docs/getting-started.md +8 -0
  77. package/docs/queries.md +11 -3
  78. package/docs/studio.md +52 -0
  79. package/package.json +25 -4
package/README.md CHANGED
@@ -46,6 +46,7 @@ Most ORMs force you to learn their query language, fight their type system, or s
46
46
  ```bash
47
47
  bunx neoorm init # scaffold schema, config, env file
48
48
  bunx neoorm migrate dev # generate typed client + first migration, apply it
49
+ bunx neoorm studio --open # browse and edit data locally
49
50
  ```
50
51
 
51
52
  ```ts
@@ -113,6 +114,7 @@ const posts = await db.posts.findMany({
113
114
  | [Transactions](docs/transactions.md) | Interactive, batch, nested, isolation levels |
114
115
  | [Migrations](docs/migrations.md) | Deploy, dev, status, rollback, reset |
115
116
  | [CLI reference](docs/cli.md) | All commands and flags |
117
+ | [Studio](docs/studio.md) | Local data browser (`neoorm studio`) |
116
118
  | [Documentation site](docs/getting-started.md) | Run `neoorm docs` for a local docs browser |
117
119
  | [Configuration](docs/configuration.md) | Config file options reference |
118
120
  | [SQLite](docs/sqlite.md) | SQLite dialect, drivers, type mapping, limitations |
@@ -13,7 +13,7 @@ import { sqliteDialect } from "../dialect/sqlite.js";
13
13
  import { printInitComplete, resolveInitOptions } from "../init/prompt.js";
14
14
  import { formatInitNextSteps, runInit } from "../init/scaffold.js";
15
15
  import { introspectMysql, introspectPostgres, introspectSqlite, } from "../introspect/pull.js";
16
- import { acquireMigrateDevLock } from "../migrate/dev-lock.js";
16
+ import { withMigrateDevLock } from "../migrate/dev-lock.js";
17
17
  import { dbPushWarnings, formatMigrateStatus, migrateDeploy, migrateDown, migrateReset, migrateStatus, pushCurrentSchema, } from "../migrate/runner.js";
18
18
  import { pgClient, sqliteClient } from "../runtime/driver.js";
19
19
  import { isNeoOrmError } from "../runtime/errors.js";
@@ -359,10 +359,7 @@ program
359
359
  return;
360
360
  }
361
361
  if (subcommand === "deploy" || subcommand === "dev") {
362
- const releaseDevLock = subcommand === "dev"
363
- ? await acquireMigrateDevLock(outDir)
364
- : undefined;
365
- try {
362
+ const runMigrate = async () => {
366
363
  const schemaPath = resolve(cwd, config.schema);
367
364
  const { readSnapshot } = await import("../codegen/generate.js");
368
365
  const snapshotManifest = await readSnapshot(outDir);
@@ -413,14 +410,17 @@ program
413
410
  }
414
411
  }
415
412
  if (destructiveBlocked) {
416
- process.exit(1);
413
+ process.exitCode = 1;
417
414
  }
418
415
  }
419
- return;
416
+ };
417
+ if (subcommand === "dev") {
418
+ await withMigrateDevLock(outDir, runMigrate);
420
419
  }
421
- finally {
422
- await releaseDevLock?.();
420
+ else {
421
+ await runMigrate();
423
422
  }
423
+ return;
424
424
  }
425
425
  console.error("Usage: neoorm migrate dev | deploy | status | reset | down");
426
426
  process.exit(1);
@@ -457,6 +457,49 @@ program
457
457
  });
458
458
  await server.close();
459
459
  });
460
+ program
461
+ .command("studio")
462
+ .description("Browse and edit data in a local Studio UI")
463
+ .option("-p, --port <port>", "Port to listen on", "7584")
464
+ .option("-H, --host <host>", "Host to bind", "127.0.0.1")
465
+ .option("--open", "Open Studio in your browser")
466
+ .option("--read-only", "Block row mutations and non-read SQL")
467
+ .option("--verbose", "Log SQL statements executed by Studio")
468
+ .option("--token <token>", "Require this token for API access")
469
+ .action(async (options) => {
470
+ const port = Number.parseInt(options.port, 10);
471
+ if (!Number.isFinite(port) || port < 1 || port > 65535) {
472
+ console.error("--port must be a number between 1 and 65535");
473
+ process.exit(1);
474
+ }
475
+ try {
476
+ const { startStudioServer } = await import("../studio/server.js");
477
+ const server = await startStudioServer({
478
+ port,
479
+ host: options.host,
480
+ ...(options.open ? { open: true } : {}),
481
+ ...(options.readOnly ? { readOnly: true } : {}),
482
+ ...(options.verbose ? { verbose: true } : {}),
483
+ ...(options.token ? { token: options.token } : {}),
484
+ version: packageJson.version,
485
+ });
486
+ console.log(`NeoOrm Studio running at ${server.url}`);
487
+ if (server.token) {
488
+ console.log(`Studio token: ${server.token}`);
489
+ }
490
+ console.log("Press Ctrl+C to stop");
491
+ await new Promise((resolve) => {
492
+ const onSignal = () => resolve();
493
+ process.once("SIGINT", onSignal);
494
+ process.once("SIGTERM", onSignal);
495
+ });
496
+ await server.close();
497
+ }
498
+ catch (err) {
499
+ printCliError(err);
500
+ process.exit(1);
501
+ }
502
+ });
460
503
  const dbCommand = program
461
504
  .command("db")
462
505
  .description("Database utilities without the migration ledger");
@@ -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":"emit-models.d.ts","sourceRoot":"","sources":["../../src/codegen/emit-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EAER,aAAa,EACb,MAAM,qBAAqB,CAAC;AA0K7B,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,MAAM,GAClB,MAAM,CAUR;AAED,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,SAAW,GAC1B,MAAM,CAqHR"}
1
+ {"version":3,"file":"emit-models.d.ts","sourceRoot":"","sources":["../../src/codegen/emit-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EAER,aAAa,EACb,MAAM,qBAAqB,CAAC;AAuO7B,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,MAAM,GAClB,MAAM,CAUR;AAED,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,SAAW,GAC1B,MAAM,CAoHR"}
@@ -61,32 +61,49 @@ function emitPayloadType(manifest, table) {
61
61
  }
62
62
  return `export type ${payloadName} = StripCapablePayload<${rowType}, ${hiddenType}>;`;
63
63
  }
64
- function includePartsFor(manifest, table) {
65
- return effectiveRelations(manifest, table).map((rel) => {
64
+ function emitVisibleType(table) {
65
+ const baseName = modelTypeName(table.accessor);
66
+ const hiddenName = `${baseName}HiddenKeys`;
67
+ const minimal = createMinimalFor(table, baseName);
68
+ return [
69
+ `export type ${baseName}Visible = Omit<${baseName}, ${hiddenName}>;`,
70
+ `export type ${baseName}CreateDefault = ${minimal};`,
71
+ ].join("\n");
72
+ }
73
+ function emitRelationLookup(manifest, table) {
74
+ const baseName = modelTypeName(table.accessor);
75
+ const relations = effectiveRelations(manifest, table);
76
+ const rowFields = relations
77
+ .map((rel) => {
66
78
  const target = manifest.tables[rel.targetAccessor];
67
79
  const targetName = target
68
80
  ? modelTypeName(target.accessor)
69
81
  : modelTypeName(rel.targetAccessor);
70
- const cardinality = rel.cardinality === "many" ? "many" : "one";
71
- return `IncludeRelation<W, "${rel.name}", "${cardinality}", ${targetName}>`;
72
- });
82
+ return ` ${rel.name}: ${targetName};`;
83
+ })
84
+ .join("\n");
85
+ const manyFields = relations
86
+ .filter((rel) => rel.cardinality === "many")
87
+ .map((rel) => ` ${rel.name}: true;`)
88
+ .join("\n");
89
+ return [
90
+ `interface ${baseName}RelationRow {`,
91
+ rowFields,
92
+ `}`,
93
+ `interface ${baseName}RelationMany {`,
94
+ manyFields,
95
+ `}`,
96
+ ].join("\n");
73
97
  }
74
- function emitRelationsType(manifest, table) {
98
+ function emitRelationsType(table) {
75
99
  const baseName = modelTypeName(table.accessor);
76
- const withName = `${modelTypeName(table.accessor)}With`;
77
- const includeParts = includePartsFor(manifest, table);
78
- if (includeParts.length === 0) {
79
- return `export type ${baseName}Relations<W extends ${withName}> = IncludeCount<W>;`;
80
- }
81
- const joined = includeParts.join(" &\n ");
82
- return `export type ${baseName}Relations<W extends ${withName}> =\n ${joined} &\n IncludeCount<W>;`;
100
+ return `export type ${baseName}Relations<W> = {\n [K in keyof W as W[K] extends false | undefined ? never : K]: K extends "_count"\n ? { [Q in keyof NonNullable<W[K]> & string]: number }\n : K extends keyof ${baseName}RelationRow\n ? W[K] extends { select: infer S }\n ? K extends keyof ${baseName}RelationMany\n ? ApplySelect<${baseName}RelationRow[K], S>[]\n : ApplySelect<${baseName}RelationRow[K], S> | null\n : K extends keyof ${baseName}RelationMany\n ? ${baseName}RelationRow[K][]\n : ${baseName}RelationRow[K] | null\n : never\n};`;
83
101
  }
84
102
  function emitWithIncludesType(table) {
85
103
  const baseName = modelTypeName(table.accessor);
86
- const withName = `${modelTypeName(table.accessor)}With`;
87
104
  const includesName = `${baseName}WithIncludes`;
88
105
  const relationsName = `${baseName}Relations`;
89
- return `export type ${includesName}<W extends ${withName} | undefined = undefined> = [W] extends [undefined] ? ${baseName} : ${baseName} & ${relationsName}<Extract<W, ${withName}>>;`;
106
+ return `export type ${includesName}<W = undefined> = [W] extends [undefined] ? ${baseName} : ${baseName} & ${relationsName}<W>;`;
90
107
  }
91
108
  function emitHiddenKeysType(table) {
92
109
  const baseName = modelTypeName(table.accessor);
@@ -115,15 +132,52 @@ function emitFindResultType(table) {
115
132
  }
116
133
  function emitCreateResultType(table) {
117
134
  const baseName = modelTypeName(table.accessor);
118
- const withName = `${baseName}With`;
119
135
  const relationsName = `${baseName}Relations`;
120
- return `export type ${baseName}CreateResult<W extends ${withName}> = ${baseName} & ${relationsName}<W>;`;
136
+ return `export type ${baseName}CreateResult<W> = ${baseName} & ${relationsName}<W>;`;
121
137
  }
122
138
  function emitMutationResultType(table) {
123
139
  const baseName = modelTypeName(table.accessor);
124
- const withName = `${baseName}With`;
125
140
  const relationsName = `${baseName}Relations`;
126
- return `export type ${baseName}MutationResult<W extends ${withName}> = ${baseName} & ${relationsName}<W>;`;
141
+ return `export type ${baseName}MutationResult<W> = ${baseName} & ${relationsName}<W>;`;
142
+ }
143
+ function emitRowPartType(table) {
144
+ const baseName = modelTypeName(table.accessor);
145
+ return `type ${baseName}RowPart<T> = T extends { select: infer S }\n ? ApplySelect<${baseName}, S>\n : T extends { omit: infer O }\n ? ApplyOmit<${baseName}Visible, O>\n : T extends { includeHidden: true }\n ? ${baseName}\n : ${baseName}Visible;`;
146
+ }
147
+ function emitNarrowQueryResultType(table) {
148
+ const baseName = modelTypeName(table.accessor);
149
+ const relationsName = `${baseName}Relations`;
150
+ return `type ${baseName}NarrowQueryResult<T> = T extends { with: infer W }\n ? ${baseName}RowPart<T> & ${relationsName}<W>\n : ${baseName}RowPart<T>;`;
151
+ }
152
+ function emitQueryResultType(table) {
153
+ const baseName = modelTypeName(table.accessor);
154
+ return `export type ${baseName}QueryResult<T> = Extract<keyof T, "with" | "select" | "omit" | "includeHidden"> extends never\n ? ${baseName}Visible\n : ${baseName}NarrowQueryResult<T>;`;
155
+ }
156
+ function createMinimalFor(table, baseName) {
157
+ if (table.primaryKey.length === 0)
158
+ return "Record<never, never>";
159
+ const names = table.columns
160
+ .filter((c) => table.primaryKey.includes(c.sqlName))
161
+ .map((c) => JSON.stringify(c.tsName))
162
+ .join(" | ");
163
+ return `Pick<${baseName}, ${names}>`;
164
+ }
165
+ function emitCreateQueryResultType(table) {
166
+ const baseName = modelTypeName(table.accessor);
167
+ return `export type ${baseName}CreateQueryResult<T> = T extends { with: infer W }\n ? ${baseName}CreateResult<W>\n : T extends { returnCreated: true }\n ? ${baseName}\n : ${baseName}CreateDefault;`;
168
+ }
169
+ function emitUpdateQueryResultType(table) {
170
+ const baseName = modelTypeName(table.accessor);
171
+ return `export type ${baseName}UpdateQueryResult<T> = T extends { with: infer W }\n ? ${baseName}MutationResult<W> | null\n : T extends { returnUpdated: true }\n ? ${baseName} | null\n : Record<never, never> | null;`;
172
+ }
173
+ function emitDeleteQueryResultType(table) {
174
+ const baseName = modelTypeName(table.accessor);
175
+ return `export type ${baseName}DeleteQueryResult<T> = T extends { with: infer W }\n ? ${baseName}MutationResult<W> | null\n : T extends { returnDeleted: true }\n ? ${baseName} | null\n : Record<never, never> | null;`;
176
+ }
177
+ function emitUpsertQueryResultType(table) {
178
+ const baseName = modelTypeName(table.accessor);
179
+ const includesName = `${baseName}WithIncludes`;
180
+ return `export type ${baseName}UpsertQueryResult<T> = T extends { with: infer W }\n ? ${includesName}<W>\n : ${baseName};`;
127
181
  }
128
182
  function emitRelationListType(rel, targetModelName) {
129
183
  return rel.cardinality === "many"
@@ -167,26 +221,7 @@ export function emitModelsTs(manifest, packageImportPath = "neoorm") {
167
221
  " SelectKeys<O> & keyof Row",
168
222
  ">;",
169
223
  "",
170
- "type IncludeRelation<",
171
- " W,",
172
- " Key extends PropertyKey,",
173
- ' Cardinality extends "one" | "many",',
174
- " TModel extends object,",
175
- "> = W extends { [K in Key]?: infer Inc }",
176
- " ? Inc extends { select: infer S }",
177
- ' ? Cardinality extends "many"',
178
- " ? { [P in Key]: ApplySelect<TModel, S>[] }",
179
- " : { [P in Key]: ApplySelect<TModel, S> | null }",
180
- ' : Cardinality extends "many"',
181
- " ? { [P in Key]: TModel[] }",
182
- " : { [P in Key]: TModel | null }",
183
- " : {};",
184
- "",
185
- "type IncludeCount<W> = W extends { _count: infer C }",
186
- " ? C extends Record<string, unknown>",
187
- " ? { _count: { [K in keyof C & string]: number } }",
188
- " : {}",
189
- " : {};",
224
+ "type HasKey<T, K extends PropertyKey> = [K] extends [keyof T] ? true : false;",
190
225
  "",
191
226
  ];
192
227
  for (const table of tables) {
@@ -204,7 +239,11 @@ export function emitModelsTs(manifest, packageImportPath = "neoorm") {
204
239
  for (const table of tables) {
205
240
  lines.push(emitHiddenKeysType(table));
206
241
  lines.push("");
207
- lines.push(emitRelationsType(manifest, table));
242
+ lines.push(emitVisibleType(table));
243
+ lines.push("");
244
+ lines.push(emitRelationLookup(manifest, table));
245
+ lines.push("");
246
+ lines.push(emitRelationsType(table));
208
247
  lines.push("");
209
248
  lines.push(emitFindResultType(table));
210
249
  lines.push("");
@@ -212,6 +251,20 @@ export function emitModelsTs(manifest, packageImportPath = "neoorm") {
212
251
  lines.push("");
213
252
  lines.push(emitMutationResultType(table));
214
253
  lines.push("");
254
+ lines.push(emitRowPartType(table));
255
+ lines.push("");
256
+ lines.push(emitNarrowQueryResultType(table));
257
+ lines.push("");
258
+ lines.push(emitQueryResultType(table));
259
+ lines.push("");
260
+ lines.push(emitCreateQueryResultType(table));
261
+ lines.push("");
262
+ lines.push(emitUpdateQueryResultType(table));
263
+ lines.push("");
264
+ lines.push(emitDeleteQueryResultType(table));
265
+ lines.push("");
266
+ lines.push(emitUpsertQueryResultType(table));
267
+ lines.push("");
215
268
  }
216
269
  const modelEntries = tables
217
270
  .map((t) => ` ${t.accessor}: ${modelTypeName(t.accessor)};`)
@@ -1 +1 @@
1
- {"version":3,"file":"emit-models.js","sourceRoot":"","sources":["../../src/codegen/emit-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-models.js","sourceRoot":"","sources":["../../src/codegen/emit-models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"emit-query-types.d.ts","sourceRoot":"","sources":["../../src/codegen/emit-query-types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,QAAQ,EAGR,MAAM,qBAAqB,CAAC;AA8f7B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAkO3D"}
1
+ {"version":3,"file":"emit-query-types.d.ts","sourceRoot":"","sources":["../../src/codegen/emit-query-types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,QAAQ,EAGR,MAAM,qBAAqB,CAAC;AAgd7B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAyO3D"}
@@ -249,7 +249,7 @@ function emitArgsTypes(table) {
249
249
  ` includeHidden?: boolean;`,
250
250
  `}`,
251
251
  `export interface Update${model}Args {`,
252
- ` where: ${model}WhereUnique;`,
252
+ ` where: ${model}WhereUnique & ${model}Where;`,
253
253
  ` data: Update${model}Input;`,
254
254
  ` with?: ${withName};`,
255
255
  ` returnUpdated?: boolean;`,
@@ -259,7 +259,7 @@ function emitArgsTypes(table) {
259
259
  ` data: Update${model}Input;`,
260
260
  `}`,
261
261
  `export interface Delete${model}Args {`,
262
- ` where: ${model}WhereUnique;`,
262
+ ` where: ${model}WhereUnique & ${model}Where;`,
263
263
  ` with?: ${withName};`,
264
264
  ` returnDeleted?: boolean;`,
265
265
  `}`,
@@ -334,6 +334,17 @@ function emitArgsTypes(table) {
334
334
  ` with?: ${withName};`,
335
335
  ` includeHidden?: boolean;`,
336
336
  `}`,
337
+ `export interface FindById${model}Args {`,
338
+ ` select?: ${model}Select;`,
339
+ ` omit?: ${model}Omit;`,
340
+ ` with?: ${withName};`,
341
+ ` includeHidden?: boolean;`,
342
+ `}`,
343
+ `export interface UpdateById${model}Args {`,
344
+ ` data: Update${model}Input;`,
345
+ ` with?: ${withName};`,
346
+ ` returnUpdated?: boolean;`,
347
+ `}`,
337
348
  `export type Count${model}Result<TArgs> = TArgs extends { select: infer S }`,
338
349
  ` ? S extends Record<string, unknown>`,
339
350
  ` ? { [K in keyof S as S[K] extends true ? K : never]: number }`,
@@ -355,85 +366,36 @@ function emitArgsTypes(table) {
355
366
  `export type GroupBy${model}Result<TArgs> = Pick<${model}, QSelectKeys<TArgs extends { by: infer B } ? B : never> & keyof ${model}> & Aggregate${model}Result<TArgs>;`,
356
367
  ].join("\n");
357
368
  }
358
- function visibleRowFor(table, model) {
359
- const hasHidden = table.columns.some((col) => col.hidden === true);
360
- return hasHidden ? `Omit<${model}, ${model}HiddenKeys>` : model;
361
- }
362
369
  function emitRepositoryType(table) {
363
370
  const model = modelTypeName(table.accessor);
364
- const withName = `${model}With`;
365
- const visibleRow = visibleRowFor(table, model);
366
- const pk = pkTsNames(table);
367
- const createMinimal = pk.length === 0
368
- ? "Record<never, never>"
369
- : `Pick<${model}, ${pk.map((name) => JSON.stringify(name)).join(" | ")}>`;
370
- const narrowOmit = `"with" | "select" | "omit" | "includeHidden"`;
371
- const findCommon = (base) => `Omit<${base}, ${narrowOmit}> & { includeHidden?: false }`;
372
- const findWith = (base) => `Omit<${base}, ${narrowOmit}> & { with: W; select?: S; omit?: O; includeHidden?: IH }`;
373
- const findSelect = (base) => `Omit<${base}, ${narrowOmit}> & { select: S; omit?: O; includeHidden?: IH }`;
374
- const findOmit = (base) => `Omit<${base}, ${narrowOmit}> & { omit: O; includeHidden?: IH }`;
375
- const findHidden = (base) => `Omit<${base}, ${narrowOmit}> & { includeHidden: true }`;
376
- const withGenerics = `const W extends ${withName}, const S extends ${model}Select | undefined = undefined, const O extends ${model}Omit | undefined = undefined, const IH extends boolean | undefined = undefined`;
377
- const selectGenerics = `const S extends ${model}Select, const O extends ${model}Omit | undefined = undefined, const IH extends boolean | undefined = undefined`;
378
- const omitGenerics = `const O extends ${model}Omit, const IH extends boolean | undefined = undefined`;
379
371
  return [
380
372
  `export interface ${model}Repository {`,
381
- ` findMany(args?: ${findCommon(`FindMany${model}Args`)}): Promise<${visibleRow}[]>;`,
382
- ` findMany<${withGenerics}>(args: ${findWith(`FindMany${model}Args`)}): Promise<${model}FindResult<W, S, O, IH>[]>;`,
383
- ` findMany<${selectGenerics}>(args: ${findSelect(`FindMany${model}Args`)}): Promise<${model}FindResult<undefined, S, O, IH>[]>;`,
384
- ` findMany<${omitGenerics}>(args: ${findOmit(`FindMany${model}Args`)}): Promise<${model}FindResult<undefined, undefined, O, IH>[]>;`,
385
- ` findMany(args: ${findHidden(`FindMany${model}Args`)}): Promise<${model}[]>;`,
386
- ` findFirst(args?: ${findCommon(`FindMany${model}Args`)}): Promise<${visibleRow} | null>;`,
387
- ` findFirst<${withGenerics}>(args: ${findWith(`FindMany${model}Args`)}): Promise<${model}FindResult<W, S, O, IH> | null>;`,
388
- ` findFirst<${selectGenerics}>(args: ${findSelect(`FindMany${model}Args`)}): Promise<${model}FindResult<undefined, S, O, IH> | null>;`,
389
- ` findFirst<${omitGenerics}>(args: ${findOmit(`FindMany${model}Args`)}): Promise<${model}FindResult<undefined, undefined, O, IH> | null>;`,
390
- ` findFirst(args: ${findHidden(`FindMany${model}Args`)}): Promise<${model} | null>;`,
391
- ` findUnique(args: ${findCommon(`FindUnique${model}Args`)}): Promise<${visibleRow} | null>;`,
392
- ` findUnique<${withGenerics}>(args: ${findWith(`FindUnique${model}Args`)}): Promise<${model}FindResult<W, S, O, IH> | null>;`,
393
- ` findUnique<${selectGenerics}>(args: ${findSelect(`FindUnique${model}Args`)}): Promise<${model}FindResult<undefined, S, O, IH> | null>;`,
394
- ` findUnique<${omitGenerics}>(args: ${findOmit(`FindUnique${model}Args`)}): Promise<${model}FindResult<undefined, undefined, O, IH> | null>;`,
395
- ` findUnique(args: ${findHidden(`FindUnique${model}Args`)}): Promise<${model} | null>;`,
396
- ` findById(id: string | Record<string, unknown>, args?: { includeHidden?: false }): Promise<${visibleRow} | null>;`,
397
- ` findById<${withGenerics}>(id: string | Record<string, unknown>, args: { with: W; select?: S; omit?: O; includeHidden?: IH }): Promise<${model}FindResult<W, S, O, IH> | null>;`,
398
- ` findById<${selectGenerics}>(id: string | Record<string, unknown>, args: { select: S; omit?: O; includeHidden?: IH }): Promise<${model}FindResult<undefined, S, O, IH> | null>;`,
399
- ` findById<${omitGenerics}>(id: string | Record<string, unknown>, args: { omit: O; includeHidden?: IH }): Promise<${model}FindResult<undefined, undefined, O, IH> | null>;`,
400
- ` findById(id: string | Record<string, unknown>, args: { includeHidden: true }): Promise<${model} | null>;`,
401
- ` create(args: Omit<Create${model}Args, "with" | "returnCreated">): Promise<${createMinimal}>;`,
402
- ` create<const W extends ${withName}>(args: Omit<Create${model}Args, "with" | "returnCreated"> & { with: W }): Promise<${model}CreateResult<W>>;`,
403
- ` create(args: Omit<Create${model}Args, "with" | "returnCreated"> & { returnCreated: true }): Promise<${model}>;`,
373
+ ` findMany(): Promise<${model}Visible[]>;`,
374
+ ` findMany<const T extends FindMany${model}Args>(args: T): Promise<${model}QueryResult<T>[]>;`,
375
+ ` findFirst(): Promise<${model}Visible | null>;`,
376
+ ` findFirst<const T extends FindMany${model}Args>(args: T): Promise<${model}QueryResult<T> | null>;`,
377
+ ` findUnique<const T extends FindUnique${model}Args>(args: T): Promise<${model}QueryResult<T> | null>;`,
378
+ ` findById(id: string | Record<string, unknown>): Promise<${model}Visible | null>;`,
379
+ ` findById<const T extends FindById${model}Args>(id: string | Record<string, unknown>, args: T): Promise<${model}QueryResult<T> | null>;`,
380
+ ` create<const T extends Create${model}Args>(args: T): Promise<${model}CreateQueryResult<T>>;`,
404
381
  ` createMany(args: CreateMany${model}Args): Promise<number>;`,
405
382
  ` createManyAndReturn(args: CreateMany${model}Args): Promise<${model}[]>;`,
406
- ` upsert(args: Omit<Upsert${model}Args, "with">): Promise<${model}>;`,
407
- ` upsert<const W extends ${withName}>(args: Omit<Upsert${model}Args, "with"> & { with: W }): Promise<${model}WithIncludes<W>>;`,
408
- ` findOrCreate(args: ${findCommon(`FindOrCreate${model}Args`)}): Promise<{ record: ${visibleRow}; created: boolean }>;`,
409
- ` findOrCreate<${withGenerics}>(args: ${findWith(`FindOrCreate${model}Args`)}): Promise<{ record: ${model}FindResult<W, S, O, IH>; created: boolean }>;`,
410
- ` findOrCreate<${selectGenerics}>(args: ${findSelect(`FindOrCreate${model}Args`)}): Promise<{ record: ${model}FindResult<undefined, S, O, IH>; created: boolean }>;`,
411
- ` findOrCreate<${omitGenerics}>(args: ${findOmit(`FindOrCreate${model}Args`)}): Promise<{ record: ${model}FindResult<undefined, undefined, O, IH>; created: boolean }>;`,
412
- ` findOrCreate(args: ${findHidden(`FindOrCreate${model}Args`)}): Promise<{ record: ${model}; created: boolean }>;`,
413
- ` update(args: Omit<Update${model}Args, "with" | "returnUpdated">): Promise<Record<never, never> | null>;`,
414
- ` update<const W extends ${withName}>(args: Omit<Update${model}Args, "with" | "returnUpdated"> & { with: W }): Promise<${model}MutationResult<W> | null>;`,
415
- ` update(args: Omit<Update${model}Args, "with" | "returnUpdated"> & { returnUpdated: true }): Promise<${model} | null>;`,
383
+ ` upsert<const T extends Upsert${model}Args>(args: T): Promise<${model}UpsertQueryResult<T>>;`,
384
+ ` findOrCreate<const T extends FindOrCreate${model}Args>(args: T): Promise<{ record: ${model}QueryResult<T>; created: boolean }>;`,
385
+ ` update<const T extends Update${model}Args>(args: T): Promise<${model}UpdateQueryResult<T>>;`,
416
386
  ` updateMany(args: UpdateMany${model}Args): Promise<number>;`,
417
387
  ` updateManyAndReturn(args: UpdateMany${model}Args): Promise<${model}[]>;`,
418
- ` updateById(id: string | Record<string, unknown>, args: { data: Update${model}Input }): Promise<Record<never, never> | null>;`,
419
- ` updateById<const W extends ${withName}>(id: string | Record<string, unknown>, args: { data: Update${model}Input; with: W }): Promise<${model}MutationResult<W> | null>;`,
420
- ` updateById(id: string | Record<string, unknown>, args: { data: Update${model}Input; returnUpdated: true }): Promise<${model} | null>;`,
421
- ` delete(args: Omit<Delete${model}Args, "with" | "returnDeleted">): Promise<Record<never, never> | null>;`,
422
- ` delete<const W extends ${withName}>(args: Omit<Delete${model}Args, "with" | "returnDeleted"> & { with: W }): Promise<${model}MutationResult<W> | null>;`,
423
- ` delete(args: Omit<Delete${model}Args, "with" | "returnDeleted"> & { returnDeleted: true }): Promise<${model} | null>;`,
388
+ ` updateById<const T extends UpdateById${model}Args>(id: string | Record<string, unknown>, args: T): Promise<${model}UpdateQueryResult<T>>;`,
389
+ ` delete<const T extends Delete${model}Args>(args: T): Promise<${model}DeleteQueryResult<T>>;`,
424
390
  ` deleteMany(args?: DeleteMany${model}Args): Promise<number>;`,
425
391
  ` deleteManyAndReturn(args?: DeleteMany${model}Args): Promise<${model}[]>;`,
426
392
  ` deleteById(id: string | Record<string, unknown>): Promise<Record<never, never> | null>;`,
427
- ` count(args?: Omit<Count${model}Args, "select">): Promise<number>;`,
428
- ` count<const TArgs extends Count${model}Args = Count${model}Args>(args?: TArgs): Promise<Count${model}Result<TArgs>>;`,
393
+ ` count(): Promise<number>;`,
394
+ ` count<const T extends Count${model}Args>(args: T): Promise<Count${model}Result<T>>;`,
429
395
  ` exists(args?: Exists${model}Args): Promise<boolean>;`,
430
396
  ` aggregate<TArgs extends Aggregate${model}Args>(args: TArgs): Promise<Aggregate${model}Result<TArgs>>;`,
431
397
  ` groupBy<const TArgs extends GroupBy${model}Args>(args: TArgs): Promise<GroupBy${model}Result<TArgs>[]>;`,
432
- ` paginate(args: ${findCommon(`Paginate${model}Args`)}): Promise<PaginateResult<${visibleRow}, Partial<${model}> | null>>;`,
433
- ` paginate<const TOrderBy extends ${model}OrderBy, ${withGenerics}>(args: Omit<Paginate${model}Args, "orderBy" | ${narrowOmit}> & { orderBy: TOrderBy; with: W; select?: S; omit?: O; includeHidden?: IH }): Promise<PaginateResult<${model}FindResult<W, S, O, IH>, Partial<${model}> | null>>;`,
434
- ` paginate<const TOrderBy extends ${model}OrderBy, ${selectGenerics}>(args: Omit<Paginate${model}Args, "orderBy" | ${narrowOmit}> & { orderBy: TOrderBy; select: S; omit?: O; includeHidden?: IH }): Promise<PaginateResult<${model}FindResult<undefined, S, O, IH>, Partial<${model}> | null>>;`,
435
- ` paginate<const TOrderBy extends ${model}OrderBy, ${omitGenerics}>(args: Omit<Paginate${model}Args, "orderBy" | ${narrowOmit}> & { orderBy: TOrderBy; omit: O; includeHidden?: IH }): Promise<PaginateResult<${model}FindResult<undefined, undefined, O, IH>, Partial<${model}> | null>>;`,
436
- ` paginate(args: ${findHidden(`Paginate${model}Args`)}): Promise<PaginateResult<${model}, Partial<${model}> | null>>;`,
398
+ ` paginate<const T extends Paginate${model}Args>(args: T): Promise<PaginateResult<${model}QueryResult<T>, Partial<${model}> | null>>;`,
437
399
  `}`,
438
400
  ].join("\n");
439
401
  }
@@ -449,10 +411,17 @@ export function emitQueryTypesTs(manifest) {
449
411
  return [
450
412
  m,
451
413
  `${m}HiddenKeys`,
414
+ `${m}Visible`,
415
+ `${m}CreateDefault`,
452
416
  `${m}FindResult`,
453
417
  `${m}CreateResult`,
454
418
  `${m}MutationResult`,
455
419
  `${m}WithIncludes`,
420
+ `${m}QueryResult`,
421
+ `${m}CreateQueryResult`,
422
+ `${m}UpdateQueryResult`,
423
+ `${m}DeleteQueryResult`,
424
+ `${m}UpsertQueryResult`,
456
425
  ];
457
426
  });
458
427
  const lines = [