@contractspec/lib.schema 1.57.0 → 1.58.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/EnumType.d.ts +29 -31
- package/dist/EnumType.d.ts.map +1 -1
- package/dist/EnumType.js +38 -54
- package/dist/EnumType.test.d.ts +2 -0
- package/dist/EnumType.test.d.ts.map +1 -0
- package/dist/FieldType.d.ts +19 -23
- package/dist/FieldType.d.ts.map +1 -1
- package/dist/FieldType.js +41 -47
- package/dist/FieldType.test.d.ts +2 -0
- package/dist/FieldType.test.d.ts.map +1 -0
- package/dist/GraphQLSchemaType.d.ts +8 -12
- package/dist/GraphQLSchemaType.d.ts.map +1 -1
- package/dist/GraphQLSchemaType.js +16 -18
- package/dist/GraphQLSchemaType.test.d.ts +2 -0
- package/dist/GraphQLSchemaType.test.d.ts.map +1 -0
- package/dist/JsonSchemaType.d.ts +67 -63
- package/dist/JsonSchemaType.d.ts.map +1 -1
- package/dist/JsonSchemaType.js +73 -123
- package/dist/JsonSchemaType.test.d.ts +2 -0
- package/dist/JsonSchemaType.test.d.ts.map +1 -0
- package/dist/ScalarTypeEnum.d.ts +23 -27
- package/dist/ScalarTypeEnum.d.ts.map +1 -1
- package/dist/ScalarTypeEnum.js +235 -235
- package/dist/ScalarTypeEnum.test.d.ts +2 -0
- package/dist/ScalarTypeEnum.test.d.ts.map +1 -0
- package/dist/SchemaModel.d.ts +38 -39
- package/dist/SchemaModel.d.ts.map +1 -1
- package/dist/SchemaModel.js +28 -55
- package/dist/SchemaModel.test.d.ts +2 -0
- package/dist/SchemaModel.test.d.ts.map +1 -0
- package/dist/SchemaModelType.d.ts +28 -24
- package/dist/SchemaModelType.d.ts.map +1 -1
- package/dist/SchemaModelType.js +6 -19
- package/dist/SchemaModelType.test.d.ts +2 -0
- package/dist/SchemaModelType.test.d.ts.map +1 -0
- package/dist/ZodSchemaType.d.ts +44 -40
- package/dist/ZodSchemaType.d.ts.map +1 -1
- package/dist/ZodSchemaType.js +30 -101
- package/dist/ZodSchemaType.test.d.ts +2 -0
- package/dist/ZodSchemaType.test.d.ts.map +1 -0
- package/dist/browser/EnumType.js +40 -0
- package/dist/browser/FieldType.js +43 -0
- package/dist/browser/GraphQLSchemaType.js +18 -0
- package/dist/browser/JsonSchemaType.js +74 -0
- package/dist/browser/ScalarTypeEnum.js +236 -0
- package/dist/browser/SchemaModel.js +30 -0
- package/dist/browser/SchemaModelType.js +7 -0
- package/dist/browser/ZodSchemaType.js +31 -0
- package/dist/browser/entity/defineEntity.js +128 -0
- package/dist/browser/entity/generator.js +283 -0
- package/dist/browser/entity/index.js +410 -0
- package/dist/browser/entity/types.js +0 -0
- package/dist/browser/index.js +840 -0
- package/dist/entity/defineEntity.d.ts +55 -34
- package/dist/entity/defineEntity.d.ts.map +1 -1
- package/dist/entity/defineEntity.js +123 -231
- package/dist/entity/defineEntity.test.d.ts +2 -0
- package/dist/entity/defineEntity.test.d.ts.map +1 -0
- package/dist/entity/generator.d.ts +16 -20
- package/dist/entity/generator.d.ts.map +1 -1
- package/dist/entity/generator.js +262 -196
- package/dist/entity/generator.test.d.ts +2 -0
- package/dist/entity/generator.test.d.ts.map +1 -0
- package/dist/entity/index.d.ts +4 -4
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +410 -4
- package/dist/entity/types.d.ts +99 -103
- package/dist/entity/types.d.ts.map +1 -1
- package/dist/entity/types.js +1 -1
- package/dist/index.d.ts +10 -13
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +841 -13
- package/dist/node/EnumType.js +40 -0
- package/dist/node/FieldType.js +43 -0
- package/dist/node/GraphQLSchemaType.js +18 -0
- package/dist/node/JsonSchemaType.js +74 -0
- package/dist/node/ScalarTypeEnum.js +236 -0
- package/dist/node/SchemaModel.js +30 -0
- package/dist/node/SchemaModelType.js +7 -0
- package/dist/node/ZodSchemaType.js +31 -0
- package/dist/node/entity/defineEntity.js +128 -0
- package/dist/node/entity/generator.js +283 -0
- package/dist/node/entity/index.js +410 -0
- package/dist/node/entity/types.js +0 -0
- package/dist/node/index.js +840 -0
- package/package.json +123 -25
- package/dist/EnumType.js.map +0 -1
- package/dist/FieldType.js.map +0 -1
- package/dist/GraphQLSchemaType.js.map +0 -1
- package/dist/JsonSchemaType.js.map +0 -1
- package/dist/ScalarTypeEnum.js.map +0 -1
- package/dist/SchemaModel.js.map +0 -1
- package/dist/SchemaModelType.js.map +0 -1
- package/dist/ZodSchemaType.js.map +0 -1
- package/dist/entity/defineEntity.js.map +0 -1
- package/dist/entity/generator.js.map +0 -1
package/dist/entity/generator.js
CHANGED
|
@@ -1,218 +1,284 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Generate Prisma schema content from entity specifications.
|
|
4
|
-
*/
|
|
1
|
+
// @bun
|
|
2
|
+
// src/entity/generator.ts
|
|
5
3
|
function generatePrismaSchema(entities, options = {}) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
4
|
+
const {
|
|
5
|
+
provider = "postgresql",
|
|
6
|
+
clientOutput = "../../src/generated/prisma",
|
|
7
|
+
includePothos = true,
|
|
8
|
+
pothosOutput = "../../src/generated/pothos-types.ts"
|
|
9
|
+
} = options;
|
|
10
|
+
const lines = [];
|
|
11
|
+
const schemas = new Set;
|
|
12
|
+
entities.forEach((entity) => {
|
|
13
|
+
if (entity.schema) {
|
|
14
|
+
schemas.add(entity.schema);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const schemaList = schemas.size > 0 ? Array.from(schemas) : ["public"];
|
|
18
|
+
lines.push("datasource db {");
|
|
19
|
+
lines.push(` provider = "${provider}"`);
|
|
20
|
+
if (schemas.size > 0) {
|
|
21
|
+
lines.push(` schemas = [${schemaList.map((s) => `"${s}"`).join(", ")}]`);
|
|
22
|
+
}
|
|
23
|
+
lines.push("}");
|
|
24
|
+
lines.push("");
|
|
25
|
+
lines.push("generator client {");
|
|
26
|
+
lines.push(' provider = "prisma-client"');
|
|
27
|
+
lines.push(` output = "${clientOutput}"`);
|
|
28
|
+
lines.push("");
|
|
29
|
+
lines.push(' engineType = "client"');
|
|
30
|
+
lines.push(' runtime = "bun"');
|
|
31
|
+
lines.push(' moduleFormat = "esm"');
|
|
32
|
+
lines.push(' generatedFileExtension = "ts"');
|
|
33
|
+
lines.push(' importFileExtension = "ts"');
|
|
34
|
+
lines.push("}");
|
|
35
|
+
lines.push("");
|
|
36
|
+
if (includePothos) {
|
|
37
|
+
lines.push("generator pothos {");
|
|
38
|
+
lines.push(' provider = "prisma-pothos-types"');
|
|
39
|
+
lines.push(' clientOutput = "./prisma"');
|
|
40
|
+
lines.push(` output = "${pothosOutput}"`);
|
|
41
|
+
lines.push(" generateDatamodel = true");
|
|
42
|
+
lines.push(" documentation = false");
|
|
43
|
+
lines.push("}");
|
|
44
|
+
lines.push("");
|
|
45
|
+
}
|
|
46
|
+
const enumMap = new Map;
|
|
47
|
+
entities.forEach((entity) => {
|
|
48
|
+
entity.enums?.forEach((enumDef) => {
|
|
49
|
+
if (!enumMap.has(enumDef.name)) {
|
|
50
|
+
enumMap.set(enumDef.name, enumDef);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
Object.values(entity.fields).forEach((field) => {
|
|
54
|
+
if (field.kind === "enum" && field.values && !enumMap.has(field.enumName)) {
|
|
55
|
+
enumMap.set(field.enumName, {
|
|
56
|
+
name: field.enumName,
|
|
57
|
+
values: field.values,
|
|
58
|
+
schema: entity.schema
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
enumMap.forEach((enumDef) => {
|
|
64
|
+
lines.push(...generateEnumBlock(enumDef));
|
|
65
|
+
lines.push("");
|
|
66
|
+
});
|
|
67
|
+
entities.forEach((entity) => {
|
|
68
|
+
lines.push(...generateModelBlock(entity));
|
|
69
|
+
lines.push("");
|
|
70
|
+
});
|
|
71
|
+
return lines.join(`
|
|
72
|
+
`);
|
|
61
73
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Generate Prisma enum block.
|
|
64
|
-
*/
|
|
65
74
|
function generateEnumBlock(enumDef) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
const lines = [];
|
|
76
|
+
if (enumDef.description) {
|
|
77
|
+
lines.push(`/// ${enumDef.description}`);
|
|
78
|
+
}
|
|
79
|
+
lines.push(`enum ${enumDef.name} {`);
|
|
80
|
+
enumDef.values.forEach((value) => {
|
|
81
|
+
lines.push(` ${value}`);
|
|
82
|
+
});
|
|
83
|
+
lines.push("");
|
|
84
|
+
if (enumDef.schema) {
|
|
85
|
+
lines.push(` @@schema("${enumDef.schema}")`);
|
|
86
|
+
}
|
|
87
|
+
lines.push("}");
|
|
88
|
+
return lines;
|
|
76
89
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Generate Prisma model block from entity spec.
|
|
79
|
-
*/
|
|
80
90
|
function generateModelBlock(entity) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
91
|
+
const lines = [];
|
|
92
|
+
if (entity.description) {
|
|
93
|
+
lines.push(`/// ${entity.description}`);
|
|
94
|
+
}
|
|
95
|
+
lines.push(`model ${entity.name} {`);
|
|
96
|
+
Object.entries(entity.fields).forEach(([fieldName, field]) => {
|
|
97
|
+
const fieldLine = generateFieldLine(fieldName, field);
|
|
98
|
+
if (field.description) {
|
|
99
|
+
lines.push(` /// ${field.description}`);
|
|
100
|
+
}
|
|
101
|
+
lines.push(` ${fieldLine}`);
|
|
102
|
+
});
|
|
103
|
+
if (entity.indexes && entity.indexes.length > 0) {
|
|
104
|
+
lines.push("");
|
|
105
|
+
entity.indexes.forEach((idx) => {
|
|
106
|
+
lines.push(` ${generateIndexLine(idx)}`);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
if (entity.map) {
|
|
110
|
+
lines.push(` @@map("${entity.map}")`);
|
|
111
|
+
}
|
|
112
|
+
if (entity.schema) {
|
|
113
|
+
lines.push(` @@schema("${entity.schema}")`);
|
|
114
|
+
}
|
|
115
|
+
lines.push("}");
|
|
116
|
+
return lines;
|
|
99
117
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Generate a single field line.
|
|
102
|
-
*/
|
|
103
118
|
function generateFieldLine(fieldName, field) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
119
|
+
if (field.kind === "scalar") {
|
|
120
|
+
return generateScalarFieldLine(fieldName, field);
|
|
121
|
+
} else if (field.kind === "enum") {
|
|
122
|
+
return generateEnumFieldLine(fieldName, field);
|
|
123
|
+
} else if (field.kind === "relation") {
|
|
124
|
+
return generateRelationFieldLine(fieldName, field);
|
|
125
|
+
}
|
|
126
|
+
throw new Error(`Unknown field kind: ${field.kind}`);
|
|
108
127
|
}
|
|
109
|
-
/**
|
|
110
|
-
* Generate scalar field line.
|
|
111
|
-
*/
|
|
112
128
|
function generateScalarFieldLine(fieldName, field) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
129
|
+
const parts = [fieldName];
|
|
130
|
+
let typeStr = field.type;
|
|
131
|
+
if (field.isArray) {
|
|
132
|
+
typeStr += "[]";
|
|
133
|
+
}
|
|
134
|
+
if (field.isOptional) {
|
|
135
|
+
typeStr += "?";
|
|
136
|
+
}
|
|
137
|
+
parts.push(typeStr);
|
|
138
|
+
const attrs = [];
|
|
139
|
+
if (field.isId) {
|
|
140
|
+
attrs.push("@id");
|
|
141
|
+
}
|
|
142
|
+
if (field.default !== undefined) {
|
|
143
|
+
if (typeof field.default === "string" && field.default.includes("(")) {
|
|
144
|
+
attrs.push(`@default(${field.default})`);
|
|
145
|
+
} else if (typeof field.default === "boolean") {
|
|
146
|
+
attrs.push(`@default(${field.default})`);
|
|
147
|
+
} else if (typeof field.default === "number") {
|
|
148
|
+
attrs.push(`@default(${field.default})`);
|
|
149
|
+
} else {
|
|
150
|
+
attrs.push(`@default("${field.default}")`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (field.updatedAt) {
|
|
154
|
+
attrs.push("@updatedAt");
|
|
155
|
+
}
|
|
156
|
+
if (field.isUnique) {
|
|
157
|
+
attrs.push("@unique");
|
|
158
|
+
}
|
|
159
|
+
if (field.map) {
|
|
160
|
+
attrs.push(`@map("${field.map}")`);
|
|
161
|
+
}
|
|
162
|
+
if (field.dbType) {
|
|
163
|
+
attrs.push(`@db.${field.dbType}`);
|
|
164
|
+
}
|
|
165
|
+
if (attrs.length > 0) {
|
|
166
|
+
parts.push(attrs.join(" "));
|
|
167
|
+
}
|
|
168
|
+
return parts.join(" ");
|
|
130
169
|
}
|
|
131
|
-
/**
|
|
132
|
-
* Generate enum field line.
|
|
133
|
-
*/
|
|
134
170
|
function generateEnumFieldLine(fieldName, field) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
171
|
+
const parts = [fieldName];
|
|
172
|
+
let typeStr = field.enumName;
|
|
173
|
+
if (field.isArray) {
|
|
174
|
+
typeStr += "[]";
|
|
175
|
+
}
|
|
176
|
+
if (field.isOptional) {
|
|
177
|
+
typeStr += "?";
|
|
178
|
+
}
|
|
179
|
+
parts.push(typeStr);
|
|
180
|
+
const attrs = [];
|
|
181
|
+
if (field.default !== undefined) {
|
|
182
|
+
attrs.push(`@default(${field.default})`);
|
|
183
|
+
}
|
|
184
|
+
if (field.isUnique) {
|
|
185
|
+
attrs.push("@unique");
|
|
186
|
+
}
|
|
187
|
+
if (field.map) {
|
|
188
|
+
attrs.push(`@map("${field.map}")`);
|
|
189
|
+
}
|
|
190
|
+
if (attrs.length > 0) {
|
|
191
|
+
parts.push(attrs.join(" "));
|
|
192
|
+
}
|
|
193
|
+
return parts.join(" ");
|
|
146
194
|
}
|
|
147
|
-
/**
|
|
148
|
-
* Generate relation field line.
|
|
149
|
-
*/
|
|
150
195
|
function generateRelationFieldLine(fieldName, field) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
196
|
+
const parts = [fieldName];
|
|
197
|
+
let typeStr = field.target;
|
|
198
|
+
if (field.type === "hasMany") {
|
|
199
|
+
typeStr += "[]";
|
|
200
|
+
}
|
|
201
|
+
if (field.type === "hasOne") {
|
|
202
|
+
typeStr += "?";
|
|
203
|
+
}
|
|
204
|
+
parts.push(typeStr);
|
|
205
|
+
const relationParts = [];
|
|
206
|
+
if (field.name) {
|
|
207
|
+
relationParts.push(`name: "${field.name}"`);
|
|
208
|
+
}
|
|
209
|
+
if (field.fields && field.fields.length > 0) {
|
|
210
|
+
relationParts.push(`fields: [${field.fields.join(", ")}]`);
|
|
211
|
+
}
|
|
212
|
+
if (field.references && field.references.length > 0) {
|
|
213
|
+
relationParts.push(`references: [${field.references.join(", ")}]`);
|
|
214
|
+
}
|
|
215
|
+
if (field.onDelete) {
|
|
216
|
+
relationParts.push(`onDelete: ${field.onDelete}`);
|
|
217
|
+
}
|
|
218
|
+
if (field.onUpdate) {
|
|
219
|
+
relationParts.push(`onUpdate: ${field.onUpdate}`);
|
|
220
|
+
}
|
|
221
|
+
if (relationParts.length > 0) {
|
|
222
|
+
parts.push(`@relation(${relationParts.join(", ")})`);
|
|
223
|
+
}
|
|
224
|
+
return parts.join(" ");
|
|
164
225
|
}
|
|
165
|
-
/**
|
|
166
|
-
* Generate index line.
|
|
167
|
-
*/
|
|
168
226
|
function generateIndexLine(idx) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
227
|
+
const fieldList = idx.fields.join(", ");
|
|
228
|
+
const parts = [];
|
|
229
|
+
if (idx.unique) {
|
|
230
|
+
parts.push(`@@unique([${fieldList}]`);
|
|
231
|
+
} else {
|
|
232
|
+
parts.push(`@@index([${fieldList}]`);
|
|
233
|
+
}
|
|
234
|
+
const options = [];
|
|
235
|
+
if (idx.name) {
|
|
236
|
+
options.push(`name: "${idx.name}"`);
|
|
237
|
+
}
|
|
238
|
+
if (idx.type) {
|
|
239
|
+
options.push(`type: ${idx.type}`);
|
|
240
|
+
}
|
|
241
|
+
if (options.length > 0) {
|
|
242
|
+
parts[0] += `, ${options.join(", ")}`;
|
|
243
|
+
}
|
|
244
|
+
parts[0] += ")";
|
|
245
|
+
return parts.join("");
|
|
179
246
|
}
|
|
180
|
-
/**
|
|
181
|
-
* Compose multiple module schema contributions into a single schema.
|
|
182
|
-
*/
|
|
183
247
|
function composeModuleSchemas(contributions, options = {}) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
248
|
+
const allEntities = [];
|
|
249
|
+
const allEnums = new Map;
|
|
250
|
+
contributions.forEach((contrib) => {
|
|
251
|
+
contrib.entities.forEach((entity) => {
|
|
252
|
+
allEntities.push({
|
|
253
|
+
...entity,
|
|
254
|
+
module: contrib.moduleId
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
contrib.enums?.forEach((enumDef) => {
|
|
258
|
+
if (!allEnums.has(enumDef.name)) {
|
|
259
|
+
allEnums.set(enumDef.name, enumDef);
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
if (allEntities[0] && allEnums.size > 0) {
|
|
264
|
+
allEntities[0] = {
|
|
265
|
+
...allEntities[0],
|
|
266
|
+
enums: [...allEntities[0].enums ?? [], ...allEnums.values()]
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
return generatePrismaSchema(allEntities, options);
|
|
202
270
|
}
|
|
203
|
-
/**
|
|
204
|
-
* Generate a single entity's Prisma schema fragment (for modular output).
|
|
205
|
-
*/
|
|
206
271
|
function generateEntityFragment(entity) {
|
|
207
|
-
|
|
272
|
+
return generateModelBlock(entity).join(`
|
|
273
|
+
`);
|
|
208
274
|
}
|
|
209
|
-
/**
|
|
210
|
-
* Generate a single enum's Prisma schema fragment (for modular output).
|
|
211
|
-
*/
|
|
212
275
|
function generateEnumFragment(enumDef) {
|
|
213
|
-
|
|
276
|
+
return generateEnumBlock(enumDef).join(`
|
|
277
|
+
`);
|
|
214
278
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
279
|
+
export {
|
|
280
|
+
generatePrismaSchema,
|
|
281
|
+
generateEnumFragment,
|
|
282
|
+
generateEntityFragment,
|
|
283
|
+
composeModuleSchemas
|
|
284
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.test.d.ts","sourceRoot":"","sources":["../../src/entity/generator.test.ts"],"names":[],"mappings":""}
|
package/dist/entity/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './defineEntity';
|
|
3
|
+
export * from './generator';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entity/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|