@kattebak/typespec-drizzle-orm-generator 3.6.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generators/column-mapper.d.ts.map +1 -1
- package/dist/generators/column-mapper.js +2 -1
- package/dist/generators/column-mapper.js.map +1 -1
- package/dist/generators/dialect.d.ts +9 -1
- package/dist/generators/dialect.d.ts.map +1 -1
- package/dist/generators/dialect.js +52 -0
- package/dist/generators/dialect.js.map +1 -1
- package/dist/generators/schema-generator.js +23 -10
- package/dist/generators/schema-generator.js.map +1 -1
- package/dist/generators/types-generator.d.ts.map +1 -1
- package/dist/generators/types-generator.js +14 -0
- package/dist/generators/types-generator.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-mapper.d.ts","sourceRoot":"","sources":["../../src/generators/column-mapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,aAAa,EACtB,eAAe,UAAO,GACrB,MAAM,
|
|
1
|
+
{"version":3,"file":"column-mapper.d.ts","sourceRoot":"","sources":["../../src/generators/column-mapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,aAAa,EACtB,eAAe,UAAO,GACrB,MAAM,CAmCR"}
|
|
@@ -25,7 +25,8 @@ export function mapFieldToColumn(field, table, dialect, shouldPluralize = true)
|
|
|
25
25
|
if (field.defaultValue !== undefined && !field.createdAt && !field.updatedAt) {
|
|
26
26
|
calls.push({ method: "default", args: [mapDefault(field.defaultValue)] });
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
const base = field.nullable ? dialect.mapNullableFieldType(field) : dialect.mapFieldType(field);
|
|
29
|
+
return chainCall(base, calls);
|
|
29
30
|
}
|
|
30
31
|
function isPrimaryKey(field, table) {
|
|
31
32
|
return !table.primaryKey.isComposite && table.primaryKey.columns.includes(field.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-mapper.js","sourceRoot":"","sources":["../../src/generators/column-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAC9B,KAAe,EACf,KAAe,EACf,OAAsB,EACtB,eAAe,GAAG,IAAI,EACd;IACR,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,SAAS,SAAS,IAAI,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,
|
|
1
|
+
{"version":3,"file":"column-mapper.js","sourceRoot":"","sources":["../../src/generators/column-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAC9B,KAAe,EACf,KAAe,EACf,OAAsB,EACtB,eAAe,GAAG,IAAI,EACd;IACR,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,SAAS,SAAS,IAAI,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAChG,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAAA,CAC/B;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,KAAe,EAAW;IAC/D,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,CACvF;AAED,SAAS,UAAU,CAAC,KAAc,EAAU;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AAAA,CACtB"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import type { ChainMethod } from "../codegen/index.js";
|
|
2
|
-
import type { FieldDef } from "../ir/types.js";
|
|
2
|
+
import type { FieldDef, FieldType } from "../ir/types.js";
|
|
3
3
|
export type Dialect = "pg" | "sqlite";
|
|
4
|
+
export interface NullableWrapperDef {
|
|
5
|
+
name: string;
|
|
6
|
+
dataType: string;
|
|
7
|
+
jsType: string;
|
|
8
|
+
}
|
|
4
9
|
export interface DialectConfig {
|
|
5
10
|
dialect: Dialect;
|
|
6
11
|
coreModule: string;
|
|
7
12
|
tableFn: string;
|
|
8
13
|
enumFn: string | null;
|
|
9
14
|
uuidDataType: string;
|
|
15
|
+
nullableWrappers: readonly NullableWrapperDef[];
|
|
10
16
|
mapFieldType(field: FieldDef): string;
|
|
17
|
+
mapNullableFieldType(field: FieldDef): string;
|
|
18
|
+
nullableWrapperName(kind: FieldType["kind"]): string | null;
|
|
11
19
|
mapTimestampDefault(): ChainMethod;
|
|
12
20
|
}
|
|
13
21
|
export declare function resolveDialect(dialect: Dialect): DialectConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../src/generators/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../src/generators/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACtC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9C,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,mBAAmB,IAAI,WAAW,CAAC;CACpC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAO9D"}
|
|
@@ -7,6 +7,24 @@ export function resolveDialect(dialect) {
|
|
|
7
7
|
return sqliteDialect();
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
+
const pgNullableWrappers = [
|
|
11
|
+
{ name: "nullableText", dataType: "text", jsType: "string" },
|
|
12
|
+
{ name: "nullableInteger", dataType: "integer", jsType: "number" },
|
|
13
|
+
{ name: "nullableReal", dataType: "real", jsType: "number" },
|
|
14
|
+
{ name: "nullableBigint", dataType: "bigint", jsType: "number" },
|
|
15
|
+
{ name: "nullableDoublePrecision", dataType: "double precision", jsType: "number" },
|
|
16
|
+
{ name: "nullableBoolean", dataType: "boolean", jsType: "boolean" },
|
|
17
|
+
{ name: "nullableTimestamp", dataType: "timestamp with time zone", jsType: "Date" },
|
|
18
|
+
];
|
|
19
|
+
const pgNullableWrapperMap = new Map([
|
|
20
|
+
["text", "nullableText"],
|
|
21
|
+
["integer", "nullableInteger"],
|
|
22
|
+
["real", "nullableReal"],
|
|
23
|
+
["bigint", "nullableBigint"],
|
|
24
|
+
["doublePrecision", "nullableDoublePrecision"],
|
|
25
|
+
["boolean", "nullableBoolean"],
|
|
26
|
+
["timestamp", "nullableTimestamp"],
|
|
27
|
+
]);
|
|
10
28
|
function pgDialect() {
|
|
11
29
|
return {
|
|
12
30
|
dialect: "pg",
|
|
@@ -14,7 +32,18 @@ function pgDialect() {
|
|
|
14
32
|
tableFn: "pgTable",
|
|
15
33
|
enumFn: "pgEnum",
|
|
16
34
|
uuidDataType: "uuid",
|
|
35
|
+
nullableWrappers: pgNullableWrappers,
|
|
17
36
|
mapTimestampDefault: () => ({ method: "defaultNow" }),
|
|
37
|
+
nullableWrapperName(kind) {
|
|
38
|
+
return pgNullableWrapperMap.get(kind) ?? null;
|
|
39
|
+
},
|
|
40
|
+
mapNullableFieldType(field) {
|
|
41
|
+
const wrapperName = this.nullableWrapperName(field.type.kind);
|
|
42
|
+
if (wrapperName) {
|
|
43
|
+
return fnCall(wrapperName, [quoted(field.columnName)]);
|
|
44
|
+
}
|
|
45
|
+
return this.mapFieldType(field);
|
|
46
|
+
},
|
|
18
47
|
mapFieldType(field) {
|
|
19
48
|
const col = quoted(field.columnName);
|
|
20
49
|
switch (field.type.kind) {
|
|
@@ -51,6 +80,18 @@ function pgDialect() {
|
|
|
51
80
|
},
|
|
52
81
|
};
|
|
53
82
|
}
|
|
83
|
+
const sqliteNullableWrappers = [
|
|
84
|
+
{ name: "nullableText", dataType: "text", jsType: "string" },
|
|
85
|
+
{ name: "nullableInteger", dataType: "integer", jsType: "number" },
|
|
86
|
+
{ name: "nullableReal", dataType: "real", jsType: "number" },
|
|
87
|
+
];
|
|
88
|
+
const sqliteNullableWrapperMap = new Map([
|
|
89
|
+
["text", "nullableText"],
|
|
90
|
+
["varchar", "nullableText"],
|
|
91
|
+
["integer", "nullableInteger"],
|
|
92
|
+
["real", "nullableReal"],
|
|
93
|
+
["doublePrecision", "nullableReal"],
|
|
94
|
+
]);
|
|
54
95
|
function sqliteDialect() {
|
|
55
96
|
return {
|
|
56
97
|
dialect: "sqlite",
|
|
@@ -58,7 +99,18 @@ function sqliteDialect() {
|
|
|
58
99
|
tableFn: "sqliteTable",
|
|
59
100
|
enumFn: null,
|
|
60
101
|
uuidDataType: "text",
|
|
102
|
+
nullableWrappers: sqliteNullableWrappers,
|
|
61
103
|
mapTimestampDefault: () => ({ method: "$defaultFn", args: ["() => new Date()"] }),
|
|
104
|
+
nullableWrapperName(kind) {
|
|
105
|
+
return sqliteNullableWrapperMap.get(kind) ?? null;
|
|
106
|
+
},
|
|
107
|
+
mapNullableFieldType(field) {
|
|
108
|
+
const wrapperName = this.nullableWrapperName(field.type.kind);
|
|
109
|
+
if (wrapperName) {
|
|
110
|
+
return fnCall(wrapperName, [quoted(field.columnName)]);
|
|
111
|
+
}
|
|
112
|
+
return this.mapFieldType(field);
|
|
113
|
+
},
|
|
62
114
|
mapFieldType(field) {
|
|
63
115
|
const col = quoted(field.columnName);
|
|
64
116
|
switch (field.type.kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../src/generators/dialect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../src/generators/dialect.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,11 +21,8 @@ function generateImports(tables, enums, dialect) {
|
|
|
21
21
|
if (needsSqlImport(tables)) {
|
|
22
22
|
lines.push(importDecl(["sql"], "drizzle-orm"));
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (hasAutoGenerateUuid(tables)) {
|
|
27
|
-
typesImports.push("generateBase36Id");
|
|
28
|
-
}
|
|
24
|
+
const typesImports = collectTypesImports(tables, dialect);
|
|
25
|
+
if (typesImports.length > 0) {
|
|
29
26
|
lines.push(importDecl(typesImports, "./types.js"));
|
|
30
27
|
}
|
|
31
28
|
return lines.join("\n");
|
|
@@ -62,6 +59,8 @@ function collectCoreImports(tables, enums, dialect) {
|
|
|
62
59
|
for (const field of table.fields) {
|
|
63
60
|
if (field.uuid)
|
|
64
61
|
continue;
|
|
62
|
+
if (field.nullable && dialect.nullableWrapperName(field.type.kind))
|
|
63
|
+
continue;
|
|
65
64
|
for (const imp of collectFieldImports(field, dialect)) {
|
|
66
65
|
imports.add(imp);
|
|
67
66
|
}
|
|
@@ -118,11 +117,25 @@ function hasCheckConstraints(table) {
|
|
|
118
117
|
f.constraints?.maxValue !== undefined ||
|
|
119
118
|
f.constraints?.check !== undefined);
|
|
120
119
|
}
|
|
121
|
-
function
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
function collectTypesImports(tables, dialect) {
|
|
121
|
+
const imports = new Set();
|
|
122
|
+
for (const table of tables) {
|
|
123
|
+
for (const field of table.fields) {
|
|
124
|
+
if (field.uuid) {
|
|
125
|
+
imports.add("base36Uuid");
|
|
126
|
+
if (field.uuid.autoGenerate) {
|
|
127
|
+
imports.add("generateBase36Id");
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (field.nullable && !field.uuid) {
|
|
131
|
+
const wrapperName = dialect.nullableWrapperName(field.type.kind);
|
|
132
|
+
if (wrapperName) {
|
|
133
|
+
imports.add(wrapperName);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return [...imports].sort();
|
|
126
139
|
}
|
|
127
140
|
function generateEnumDeclaration(enumDef, enumFn) {
|
|
128
141
|
const values = enumDef.values.map((v) => ` ${quoted(v)},`).join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../src/generators/schema-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,GACP,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,cAAc,CAC5B,MAAkB,EAClB,KAAgB,EAChB,OAAsB,EACtB,eAAe,GAAG,IAAI,EACd;IACR,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAAA,CACrC;AAED,SAAS,eAAe,CAAC,MAAkB,EAAE,KAAgB,EAAE,OAAsB,EAAU;IAC7F,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEpE,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../src/generators/schema-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,GACP,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,cAAc,CAC5B,MAAkB,EAClB,KAAgB,EAChB,OAAsB,EACtB,eAAe,GAAG,IAAI,EACd;IACR,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAAA,CACrC;AAED,SAAS,eAAe,CAAC,MAAkB,EAAE,KAAgB,EAAE,OAAsB,EAAU;IAC7F,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEpE,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CACzB;AAED,SAAS,cAAc,CAAC,MAAkB,EAAW;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS;QACrC,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS;QACrC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,SAAS,CACrC,CACF,CAAC;AAAA,CACH;AAED,SAAS,kBAAkB,CACzB,MAAkB,EAClB,KAAgB,EAChB,OAAsB,EACZ;IACV,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI;gBAAE,SAAS;YACzB,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE7E,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,CAC5B;AAED,SAAS,mBAAmB,CAAC,KAAe,EAAE,OAAsB,EAAY;IAC9E,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,WAAW;gBACd,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,KAAK,MAAM,CAAC;YACZ,KAAK,iBAAiB;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,CAAC,WAAW,CAAC,CAAC;QACvB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;IACd,CAAC;AAAA,CACF;AAED,SAAS,mBAAmB,CAAC,KAAe,EAAW;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS;QACrC,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS;QACrC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,SAAS,CACrC,CAAC;AAAA,CACH;AAED,SAAS,mBAAmB,CAAC,MAAkB,EAAE,OAAsB,EAAY;IACjF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,CAC5B;AAED,SAAS,uBAAuB,CAAC,OAAgB,EAAE,MAAc,EAAU;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,WAAW,CAChB,OAAO,CAAC,IAAI,EACZ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAClE,CAAC;AAAA,CACH;AAED,SAAS,wBAAwB,CAC/B,KAAe,EACf,OAAsB,EACtB,eAAwB,EAChB;IACR,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAE3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAAA,CAC1F;AAED,SAAS,uBAAuB,CAC9B,KAAe,EACf,OAAe,EACf,OAAe,EACf,MAAgB,EAChB,OAAsB,EACd;IACR,OAAO;QACL,gBAAgB,OAAO,MAAM,OAAO,CAAC,OAAO,GAAG;QAC/C,KAAK,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG;QAC/B,GAAG,OAAO;aACP,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC,GAAG;QAChB,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;QAC5D,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CACd;AAED,SAAS,eAAe,CACtB,KAAe,EACf,OAAsB,EACtB,eAAwB,EAChB;IACR,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,CAC3F,CAAC;IACF,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAAA,CACpC;AAED,SAAS,mBAAmB,CAAC,KAAe,EAAE,eAAwB,EAAY;IAChF,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,aAAa,CACzB;YACE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC;YACzC,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;SACrC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3F,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,aAAa,CACzB;YACE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,gBAAgB,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;SAC9C,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,MAAM,CAAC;AAAA,CACf;AAED,SAAS,kBAAkB,CAAC,KAAe,EAAE,KAAe,EAAU;IACpE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,KAAK,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC;IAEjE,OAAO,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;AAAA,CACxE;AAED,SAAS,kBAAkB,CAAC,KAAe,EAAE,KAAe,EAAU;IACpE,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;IAE5C,OAAO,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;AAAA,CACxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../src/generators/types-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../src/generators/types-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AAEtE,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CA0C5D"}
|
|
@@ -25,6 +25,10 @@ export function generateTypes(dialect) {
|
|
|
25
25
|
sections.push(" return translator.new();");
|
|
26
26
|
sections.push("}");
|
|
27
27
|
sections.push("");
|
|
28
|
+
for (const wrapper of dialect.nullableWrappers) {
|
|
29
|
+
sections.push(generateNullableWrapper(wrapper));
|
|
30
|
+
sections.push("");
|
|
31
|
+
}
|
|
28
32
|
sections.push("/** Drizzle client type for use in describe function signatures */");
|
|
29
33
|
sections.push(drizzleClientType(dialect));
|
|
30
34
|
sections.push("");
|
|
@@ -42,6 +46,16 @@ function drizzleClientImports(dialect) {
|
|
|
42
46
|
importDecl(["relations"], "./relations.js", { type: true }),
|
|
43
47
|
];
|
|
44
48
|
}
|
|
49
|
+
function generateNullableWrapper(wrapper) {
|
|
50
|
+
const typeParam = `<{\n data: ${wrapper.jsType} | undefined;\n driverData: ${wrapper.jsType} | null;\n}>`;
|
|
51
|
+
const configObj = [
|
|
52
|
+
"{",
|
|
53
|
+
` dataType: () => ${quoted(wrapper.dataType)},`,
|
|
54
|
+
` fromDriver: (v) => v ?? undefined,`,
|
|
55
|
+
"}",
|
|
56
|
+
].join("\n");
|
|
57
|
+
return exportConst(wrapper.name, `customType${typeParam}(${configObj})`);
|
|
58
|
+
}
|
|
45
59
|
function drizzleClientType(dialect) {
|
|
46
60
|
if (dialect.dialect === "sqlite") {
|
|
47
61
|
return 'export type DrizzleClient = BaseSQLiteDatabase<"sync" | "async", unknown, Record<string, unknown>, typeof relations>;';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-generator.js","sourceRoot":"","sources":["../../src/generators/types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG9E,MAAM,UAAU,aAAa,CAAC,OAAsB,EAAU;IAC5D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,QAAQ,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,OAAO,EAAE,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1F,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,KAAK,QAAQ;QAC1B,CAAC,CAAC,2DAA2D;QAC7D,CAAC,CAAC,0EAA0E,CAAC;IACjF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,gDAAgD,CAAC;IACnE,MAAM,SAAS,GAAG;QAChB,GAAG;QACH,qBAAqB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;QACpD,kEAAkE;QAClE,sEAAsE;QACtE,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,QAAQ,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACpF,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CAC5B;AAED,SAAS,oBAAoB,CAAC,OAAsB,EAAY;IAC9D,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC7E,UAAU,CAAC,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1F,UAAU,CAAC,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KAC5D,CAAC;AAAA,CACH;AAED,SAAS,iBAAiB,CAAC,OAAsB,EAAU;IACzD,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,uHAAuH,CAAC;IACjI,CAAC;IACD,OAAO,2GAA2G,CAAC;AAAA,CACpH"}
|
|
1
|
+
{"version":3,"file":"types-generator.js","sourceRoot":"","sources":["../../src/generators/types-generator.ts"],"names":[],"mappings":"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"}
|