neoorm 0.8.3 → 0.8.5
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/dist/codegen/column-ts.d.ts +41 -0
- package/dist/codegen/column-ts.d.ts.map +1 -0
- package/dist/codegen/column-ts.js +269 -0
- package/dist/codegen/column-ts.js.map +1 -0
- package/dist/codegen/emit-includes.d.ts.map +1 -1
- package/dist/codegen/emit-includes.js +13 -4
- package/dist/codegen/emit-includes.js.map +1 -1
- package/dist/codegen/emit-models.d.ts +2 -1
- package/dist/codegen/emit-models.d.ts.map +1 -1
- package/dist/codegen/emit-models.js +168 -53
- package/dist/codegen/emit-models.js.map +1 -1
- package/dist/codegen/emit-query-types.d.ts +3 -0
- package/dist/codegen/emit-query-types.d.ts.map +1 -0
- package/dist/codegen/emit-query-types.js +607 -0
- package/dist/codegen/emit-query-types.js.map +1 -0
- package/dist/codegen/generate.d.ts +2 -2
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/generate.js +12 -32
- package/dist/codegen/generate.js.map +1 -1
- package/dist/runtime/client.d.ts +5 -5
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +6 -6
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schema/relation-types.d.ts +5 -5
- package/dist/schema/relation-types.d.ts.map +1 -1
- package/dist/schema/types.d.ts +3 -3
- package/dist/schema/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Manifest, ManifestColumn, ManifestTable } from "../dialect/types.js";
|
|
2
|
+
import type { ValidationType } from "./validation/types.js";
|
|
3
|
+
export type EnumAlias = {
|
|
4
|
+
name: string;
|
|
5
|
+
values: readonly string[];
|
|
6
|
+
array: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type EnumRegistry = {
|
|
9
|
+
aliasForColumn: (accessor: string, tsName: string) => string | null;
|
|
10
|
+
declarations: string[];
|
|
11
|
+
byName: Map<string, EnumAlias>;
|
|
12
|
+
};
|
|
13
|
+
/** Map validator-neutral JSON/validation IR to a TypeScript type string. */
|
|
14
|
+
export declare function validationTypeToTs(type: ValidationType): string;
|
|
15
|
+
/** Collect hoisted `export type X = ...` enum aliases for enum/enumArray columns. */
|
|
16
|
+
export declare function buildEnumRegistry(manifest: Manifest): EnumRegistry;
|
|
17
|
+
/**
|
|
18
|
+
* Resolved TS type for a manifest column (the `resolvedType` printer).
|
|
19
|
+
* Uses the plugin `columnTsType`, hoisted enum aliases, and JSON validation
|
|
20
|
+
* generics — never the schema builder chain.
|
|
21
|
+
*/
|
|
22
|
+
export declare function columnTsType(col: ManifestColumn, manifest: Manifest, enums?: EnumRegistry | null, tableAccessor?: string): string;
|
|
23
|
+
/** Non-nullable TS type for filter generic params (`StringFilter<PostStatus>`). */
|
|
24
|
+
export declare function columnNonNullTsType(col: ManifestColumn, manifest: Manifest, enums?: EnumRegistry | null, tableAccessor?: string): string;
|
|
25
|
+
/** SQL-name primary key mapped to TS names (empty when the table has no PK). */
|
|
26
|
+
export declare function pkTsNames(table: ManifestTable): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Unique `where` candidates mirroring runtime `resolveUniqueConstraint`:
|
|
29
|
+
* PK group, single unique/primary columns, then unique btree indexes.
|
|
30
|
+
*/
|
|
31
|
+
export declare function uniqueKeyCandidates(table: ManifestTable): string[][];
|
|
32
|
+
/** `timestamps()` / `.defaultNow()` / `.updatedAt()` — ORM-owned, not client-writable. */
|
|
33
|
+
export declare function isManagedTimestamp(col: ManifestColumn): boolean;
|
|
34
|
+
export declare function isJunctionTable(manifest: Manifest, accessor: string): boolean;
|
|
35
|
+
export declare function isJunctionPkColumn(col: ManifestColumn, table: ManifestTable, isJunction: boolean): boolean;
|
|
36
|
+
export declare function isOmittedOnCreate(col: ManifestColumn, table: ManifestTable, isJunction: boolean): boolean;
|
|
37
|
+
export declare function isOmittedOnUpdate(col: ManifestColumn, table: ManifestTable, isJunction: boolean): boolean;
|
|
38
|
+
export declare function isCreateRequired(col: ManifestColumn, table: ManifestTable, isJunction: boolean): boolean;
|
|
39
|
+
export declare function updateScalarTsType(col: ManifestColumn, manifest: Manifest, enums?: EnumRegistry | null, tableAccessor?: string): string;
|
|
40
|
+
export declare function columnByTsNameOrThrow(table: ManifestTable, tsName: string): ManifestColumn;
|
|
41
|
+
//# sourceMappingURL=column-ts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-ts.d.ts","sourceRoot":"","sources":["../../src/codegen/column-ts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC/B,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAgD/D;AAgBD,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAmDlE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,EAC3B,aAAa,CAAC,EAAE,MAAM,GACpB,MAAM,CA+BR;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,EAC3B,aAAa,CAAC,EAAE,MAAM,GACpB,MAAM,CAOR;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAQxD;AASD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,EAAE,CA4CpE;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAE/D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,OAAO,GACjB,OAAO,CAET;AAED,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,OAAO,GACjB,OAAO,CAUT;AAED,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,OAAO,GACjB,OAAO,CAKT;AAED,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,OAAO,GACjB,OAAO,CAgBT;AAED,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,EAC3B,aAAa,CAAC,EAAE,MAAM,GACpB,MAAM,CAaR;AAED,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,GACZ,cAAc,CAQhB"}
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { findFkReferencedColumn } from "../dialect/fk.js";
|
|
2
|
+
import { getColumnTypeOrThrow } from "../plugins/registry.js";
|
|
3
|
+
import { modelTypeName, pascalCase } from "./manifest-relations.js";
|
|
4
|
+
/** Map validator-neutral JSON/validation IR to a TypeScript type string. */
|
|
5
|
+
export function validationTypeToTs(type) {
|
|
6
|
+
switch (type.kind) {
|
|
7
|
+
case "string":
|
|
8
|
+
return "string";
|
|
9
|
+
case "number":
|
|
10
|
+
return "number";
|
|
11
|
+
case "bigint":
|
|
12
|
+
return "bigint";
|
|
13
|
+
case "boolean":
|
|
14
|
+
return "boolean";
|
|
15
|
+
case "date":
|
|
16
|
+
return "Date";
|
|
17
|
+
case "enum": {
|
|
18
|
+
const union = type.values.map((v) => JSON.stringify(v)).join(" | ");
|
|
19
|
+
return union.length > 0 ? union : "string";
|
|
20
|
+
}
|
|
21
|
+
case "unknown":
|
|
22
|
+
return "unknown";
|
|
23
|
+
case "record": {
|
|
24
|
+
const value = validationTypeToTs(type.value);
|
|
25
|
+
return `Record<string, ${value}>`;
|
|
26
|
+
}
|
|
27
|
+
case "array":
|
|
28
|
+
return `${validationTypeToTs(type.element)}[]`;
|
|
29
|
+
case "object": {
|
|
30
|
+
if (type.fields.length === 0)
|
|
31
|
+
return "Record<string, unknown>";
|
|
32
|
+
const fields = type.fields
|
|
33
|
+
.map((f) => {
|
|
34
|
+
const optional = f.optional ? "?" : "";
|
|
35
|
+
const ts = validationTypeToTs(f.type);
|
|
36
|
+
return `${f.name}${optional}: ${ts}${f.nullable ? " | null" : ""};`;
|
|
37
|
+
})
|
|
38
|
+
.join(" ");
|
|
39
|
+
return `{ ${fields} }`;
|
|
40
|
+
}
|
|
41
|
+
case "union":
|
|
42
|
+
return type.variants.map((v) => validationTypeToTs(v)).join(" | ");
|
|
43
|
+
case "literal":
|
|
44
|
+
return JSON.stringify(type.value);
|
|
45
|
+
case "tuple":
|
|
46
|
+
return `[${type.elements.map((e) => validationTypeToTs(e)).join(", ")}]`;
|
|
47
|
+
case "instance":
|
|
48
|
+
return type.tsName;
|
|
49
|
+
default: {
|
|
50
|
+
const _exhaustive = type;
|
|
51
|
+
return _exhaustive;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function enumValuesOf(col) {
|
|
56
|
+
const values = col.typeOptions?.values;
|
|
57
|
+
if (!values || values.length === 0)
|
|
58
|
+
return null;
|
|
59
|
+
return values;
|
|
60
|
+
}
|
|
61
|
+
function enumAliasSeed(col, modelName) {
|
|
62
|
+
const explicit = col.typeOptions?.name;
|
|
63
|
+
if (explicit !== undefined && explicit.length > 0) {
|
|
64
|
+
return pascalCase(explicit);
|
|
65
|
+
}
|
|
66
|
+
return `${modelName}${pascalCase(col.tsName)}`;
|
|
67
|
+
}
|
|
68
|
+
/** Collect hoisted `export type X = ...` enum aliases for enum/enumArray columns. */
|
|
69
|
+
export function buildEnumRegistry(manifest) {
|
|
70
|
+
const byKey = new Map();
|
|
71
|
+
const byName = new Map();
|
|
72
|
+
const declarations = [];
|
|
73
|
+
const tables = Object.values(manifest.tables).sort((a, b) => a.accessor.localeCompare(b.accessor));
|
|
74
|
+
for (const table of tables) {
|
|
75
|
+
const modelName = modelTypeName(table.accessor);
|
|
76
|
+
for (const col of table.columns) {
|
|
77
|
+
if (col.kind !== "enum" && col.kind !== "enumArray")
|
|
78
|
+
continue;
|
|
79
|
+
const values = enumValuesOf(col);
|
|
80
|
+
if (!values)
|
|
81
|
+
continue;
|
|
82
|
+
const key = `${table.accessor}.${col.tsName}`;
|
|
83
|
+
let name = enumAliasSeed(col, modelName);
|
|
84
|
+
const existing = byName.get(name);
|
|
85
|
+
if (existing) {
|
|
86
|
+
if (existing.array === (col.kind === "enumArray") &&
|
|
87
|
+
JSON.stringify(existing.values) === JSON.stringify(values)) {
|
|
88
|
+
byKey.set(key, name);
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
let i = 2;
|
|
92
|
+
while (byName.has(`${name}${i}`))
|
|
93
|
+
i++;
|
|
94
|
+
name = `${name}${i}`;
|
|
95
|
+
}
|
|
96
|
+
const union = values.map((v) => JSON.stringify(v)).join(" | ");
|
|
97
|
+
const decl = col.kind === "enumArray"
|
|
98
|
+
? `export type ${name} = (${union})[];`
|
|
99
|
+
: `export type ${name} = ${union};`;
|
|
100
|
+
byName.set(name, {
|
|
101
|
+
name,
|
|
102
|
+
values,
|
|
103
|
+
array: col.kind === "enumArray",
|
|
104
|
+
});
|
|
105
|
+
byKey.set(key, name);
|
|
106
|
+
declarations.push(decl);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
declarations.sort();
|
|
110
|
+
return {
|
|
111
|
+
aliasForColumn: (accessor, tsName) => byKey.get(`${accessor}.${tsName}`) ?? null,
|
|
112
|
+
declarations,
|
|
113
|
+
byName,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Resolved TS type for a manifest column (the `resolvedType` printer).
|
|
118
|
+
* Uses the plugin `columnTsType`, hoisted enum aliases, and JSON validation
|
|
119
|
+
* generics — never the schema builder chain.
|
|
120
|
+
*/
|
|
121
|
+
export function columnTsType(col, manifest, enums, tableAccessor) {
|
|
122
|
+
if (col.kind === "fk") {
|
|
123
|
+
const referenced = findFkReferencedColumn(col, manifest);
|
|
124
|
+
if (referenced && referenced.kind !== "fk") {
|
|
125
|
+
return columnTsType({ ...referenced, nullable: col.nullable }, manifest, enums, tableAccessor);
|
|
126
|
+
}
|
|
127
|
+
return col.nullable ? "string | null" : "string";
|
|
128
|
+
}
|
|
129
|
+
if ((col.kind === "json" || col.kind === "jsonb") &&
|
|
130
|
+
col.validation !== undefined) {
|
|
131
|
+
const base = validationTypeToTs(col.validation);
|
|
132
|
+
return col.nullable ? `${base} | null` : base;
|
|
133
|
+
}
|
|
134
|
+
if (enums &&
|
|
135
|
+
tableAccessor &&
|
|
136
|
+
(col.kind === "enum" || col.kind === "enumArray")) {
|
|
137
|
+
const alias = enums.aliasForColumn(tableAccessor, col.tsName);
|
|
138
|
+
if (alias) {
|
|
139
|
+
return col.nullable ? `${alias} | null` : alias;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return getColumnTypeOrThrow(col.kind).columnTsType(col);
|
|
143
|
+
}
|
|
144
|
+
/** Non-nullable TS type for filter generic params (`StringFilter<PostStatus>`). */
|
|
145
|
+
export function columnNonNullTsType(col, manifest, enums, tableAccessor) {
|
|
146
|
+
return columnTsType({ ...col, nullable: false }, manifest, enums, tableAccessor);
|
|
147
|
+
}
|
|
148
|
+
/** SQL-name primary key mapped to TS names (empty when the table has no PK). */
|
|
149
|
+
export function pkTsNames(table) {
|
|
150
|
+
const bySql = new Map(table.columns.map((c) => [c.sqlName, c.tsName]));
|
|
151
|
+
const names = [];
|
|
152
|
+
for (const sqlName of table.primaryKey) {
|
|
153
|
+
const tsName = bySql.get(sqlName);
|
|
154
|
+
if (tsName !== undefined)
|
|
155
|
+
names.push(tsName);
|
|
156
|
+
}
|
|
157
|
+
return names;
|
|
158
|
+
}
|
|
159
|
+
function columnByTsName(table, tsName) {
|
|
160
|
+
return table.columns.find((c) => c.tsName === tsName);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Unique `where` candidates mirroring runtime `resolveUniqueConstraint`:
|
|
164
|
+
* PK group, single unique/primary columns, then unique btree indexes.
|
|
165
|
+
*/
|
|
166
|
+
export function uniqueKeyCandidates(table) {
|
|
167
|
+
const candidates = [];
|
|
168
|
+
const pk = pkTsNames(table);
|
|
169
|
+
if (pk.length > 0)
|
|
170
|
+
candidates.push(pk);
|
|
171
|
+
for (const col of table.columns) {
|
|
172
|
+
if (col.unique || col.primary) {
|
|
173
|
+
if (!candidates.some((c) => c.length === 1 && c[0] === col.tsName)) {
|
|
174
|
+
candidates.push([col.tsName]);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
const bySql = new Map(table.columns.map((c) => [c.sqlName, c.tsName]));
|
|
179
|
+
for (const index of table.indexes) {
|
|
180
|
+
if (!index.unique)
|
|
181
|
+
continue;
|
|
182
|
+
if (index.using && index.using !== "btree")
|
|
183
|
+
continue;
|
|
184
|
+
if (index.keys?.some((key) => key.expr))
|
|
185
|
+
continue;
|
|
186
|
+
const tsNames = [];
|
|
187
|
+
let ok = true;
|
|
188
|
+
for (const sqlName of index.columns) {
|
|
189
|
+
const tsName = bySql.get(sqlName);
|
|
190
|
+
if (tsName === undefined) {
|
|
191
|
+
ok = false;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
tsNames.push(tsName);
|
|
195
|
+
}
|
|
196
|
+
if (!ok || tsNames.length === 0)
|
|
197
|
+
continue;
|
|
198
|
+
if (candidates.some((c) => c.length === tsNames.length &&
|
|
199
|
+
c.every((name) => tsNames.includes(name)))) {
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
candidates.push(tsNames);
|
|
203
|
+
}
|
|
204
|
+
return candidates;
|
|
205
|
+
}
|
|
206
|
+
/** `timestamps()` / `.defaultNow()` / `.updatedAt()` — ORM-owned, not client-writable. */
|
|
207
|
+
export function isManagedTimestamp(col) {
|
|
208
|
+
return col.defaultNow || col.updatedAt === true;
|
|
209
|
+
}
|
|
210
|
+
export function isJunctionTable(manifest, accessor) {
|
|
211
|
+
return manifest.manyToMany.some((m) => m.throughAccessor === accessor);
|
|
212
|
+
}
|
|
213
|
+
export function isJunctionPkColumn(col, table, isJunction) {
|
|
214
|
+
return isJunction && table.primaryKey.includes(col.sqlName);
|
|
215
|
+
}
|
|
216
|
+
export function isOmittedOnCreate(col, table, isJunction) {
|
|
217
|
+
if (isJunctionPkColumn(col, table, isJunction)) {
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
return (col.primary ||
|
|
221
|
+
col.generated === true ||
|
|
222
|
+
col.kind === "serial" ||
|
|
223
|
+
isManagedTimestamp(col));
|
|
224
|
+
}
|
|
225
|
+
export function isOmittedOnUpdate(col, table, isJunction) {
|
|
226
|
+
if (isJunctionPkColumn(col, table, isJunction)) {
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
return col.primary || isManagedTimestamp(col);
|
|
230
|
+
}
|
|
231
|
+
export function isCreateRequired(col, table, isJunction) {
|
|
232
|
+
if (isOmittedOnCreate(col, table, isJunction)) {
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
// FK scalars are satisfied by relation writes (`author: { connect }`),
|
|
236
|
+
// mirroring schema-driven `IsRequired` which is never true for FKs.
|
|
237
|
+
if (col.kind === "fk") {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
if (col.nullable) {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
if (col.defaultNow || col.defaultValue !== undefined) {
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
export function updateScalarTsType(col, manifest, enums, tableAccessor) {
|
|
249
|
+
const base = columnTsType(col, manifest, enums, tableAccessor);
|
|
250
|
+
const nonNull = columnNonNullTsType(col, manifest, enums, tableAccessor);
|
|
251
|
+
switch (col.kind) {
|
|
252
|
+
case "int":
|
|
253
|
+
case "serial":
|
|
254
|
+
case "real":
|
|
255
|
+
case "double":
|
|
256
|
+
case "bigint":
|
|
257
|
+
return `${base} | { increment?: ${nonNull}; decrement?: ${nonNull}; multiply?: ${nonNull}; set?: ${base} }`;
|
|
258
|
+
default:
|
|
259
|
+
return `${base} | { set?: ${base} }`;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
export function columnByTsNameOrThrow(table, tsName) {
|
|
263
|
+
const col = columnByTsName(table, tsName);
|
|
264
|
+
if (!col) {
|
|
265
|
+
throw new Error(`Column "${tsName}" not found on table "${table.accessor}"`);
|
|
266
|
+
}
|
|
267
|
+
return col;
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=column-ts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-ts.js","sourceRoot":"","sources":["../../src/codegen/column-ts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-includes.d.ts","sourceRoot":"","sources":["../../src/codegen/emit-includes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EAIR,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"emit-includes.d.ts","sourceRoot":"","sources":["../../src/codegen/emit-includes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EAIR,MAAM,qBAAqB,CAAC;AA8E7B,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAsCzD"}
|
|
@@ -22,11 +22,12 @@ function emitRelationIncludeType(manifest, tableAccessor, relation) {
|
|
|
22
22
|
const target = manifest.tables[relation.targetAccessor];
|
|
23
23
|
const columns = target?.columns ?? [];
|
|
24
24
|
const nestedWith = `${modelTypeName(relation.targetAccessor)}With`;
|
|
25
|
+
const targetWhere = `${modelTypeName(relation.targetAccessor)}Where`;
|
|
25
26
|
return `export type ${typeName} =
|
|
26
27
|
| boolean
|
|
27
28
|
| {
|
|
28
29
|
select?: ${selectType(columns)};
|
|
29
|
-
where?:
|
|
30
|
+
where?: ${targetWhere};
|
|
30
31
|
orderBy?: ${orderByType(columns)};
|
|
31
32
|
take?: number;
|
|
32
33
|
skip?: number;
|
|
@@ -48,18 +49,25 @@ function emitTableWithType(manifest, table) {
|
|
|
48
49
|
.join("\n");
|
|
49
50
|
const countField = manyRelations.length > 0
|
|
50
51
|
? `\n _count?: {\n${manyRelations
|
|
51
|
-
.map((rel) =>
|
|
52
|
+
.map((rel) => {
|
|
53
|
+
const targetWhere = `${modelTypeName(rel.targetAccessor)}Where`;
|
|
54
|
+
return ` ${rel.name}?: true | { where?: ${targetWhere} };`;
|
|
55
|
+
})
|
|
52
56
|
.join("\n")}\n };`
|
|
53
57
|
: "";
|
|
54
58
|
return `export type ${typeName} = {\n${fields}${countField}\n};`;
|
|
55
59
|
}
|
|
56
60
|
export function emitIncludesTs(manifest) {
|
|
61
|
+
const tables = Object.values(manifest.tables).sort((a, b) => a.accessor.localeCompare(b.accessor));
|
|
62
|
+
const withNames = tables.map((t) => `${modelTypeName(t.accessor)}With`);
|
|
63
|
+
const whereNames = tables.map((t) => `${modelTypeName(t.accessor)}Where`);
|
|
57
64
|
const lines = [
|
|
58
65
|
"// Auto-generated by neoorm generate — do not edit",
|
|
59
|
-
`import type {
|
|
66
|
+
`import type { ${whereNames.join(", ")} } from "./query-types.js";`,
|
|
67
|
+
"",
|
|
68
|
+
`type OrderDirection = "asc" | "desc";`,
|
|
60
69
|
"",
|
|
61
70
|
];
|
|
62
|
-
const tables = Object.values(manifest.tables).sort((a, b) => a.accessor.localeCompare(b.accessor));
|
|
63
71
|
for (const table of tables) {
|
|
64
72
|
for (const rel of effectiveRelations(manifest, table)) {
|
|
65
73
|
lines.push(emitRelationIncludeType(manifest, table.accessor, rel));
|
|
@@ -77,6 +85,7 @@ export function emitIncludesTs(manifest) {
|
|
|
77
85
|
lines.push(includeMapEntries);
|
|
78
86
|
lines.push(`};`);
|
|
79
87
|
lines.push("");
|
|
88
|
+
void withNames;
|
|
80
89
|
return lines.join("\n");
|
|
81
90
|
}
|
|
82
91
|
//# sourceMappingURL=emit-includes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-includes.js","sourceRoot":"","sources":["../../src/codegen/emit-includes.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,UAAU,GACV,MAAM,yBAAyB,CAAC;AAEjC,SAAS,WAAW,CAAC,OAAyB;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,OAAyB;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,OAAO,aAAa,KAAK,WAAW,YAAY,IAAI,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,OAAyB;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,mBAAmB,CAAC;SAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,KAAK,MAAM,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,uBAAuB,CAC/B,QAAkB,EAClB,aAAqB,EACrB,QAA0B;IAE1B,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;IACtF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"emit-includes.js","sourceRoot":"","sources":["../../src/codegen/emit-includes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { Manifest } from "../dialect/types.js";
|
|
1
|
+
import type { Manifest, ManifestTable } from "../dialect/types.js";
|
|
2
|
+
export declare function relationResultTypeFor(manifest: Manifest, table: ManifestTable, relationName: string): string;
|
|
2
3
|
export declare function emitModelsTs(manifest: Manifest, packageImportPath?: string): string;
|
|
3
4
|
//# sourceMappingURL=emit-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-models.d.ts","sourceRoot":"","sources":["../../src/codegen/emit-models.ts"],"names":[],"mappings":"
|
|
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"}
|