Skip to content

Commit 51ba403

Browse files
committed
fix: bug on multiple relation
1 parent 977fa48 commit 51ba403

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/generator/transformDMMF.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,19 @@ const transformFields = (fields: DMMF.Field[]) => {
4545
};
4646
};
4747

48-
const transformModel = (model: DMMF.Model, dependant: string | null = null) => {
48+
const transformModel = (model: DMMF.Model, models?: DMMF.Model[]) => {
4949
const fields = transformFields(model.fields);
5050
let raw = [
51-
`${dependant ? '' : `export const ${model.name} = `}Type.Object({\n\t`,
51+
`${models ? '' : `export const ${model.name} = `}Type.Object({\n\t`,
5252
fields.rawString,
5353
'})',
5454
].join('\n');
5555

56-
if (typeof dependant === 'string') {
57-
const re = new RegExp(`.+::${dependant}.+\n`);
58-
raw = raw.replace(re, '');
56+
if (Array.isArray(models)) {
57+
models.forEach((md) => {
58+
const re = new RegExp(`.+::${md.name}.+\n`, 'gm');
59+
raw = raw.replace(re, '');
60+
});
5961
}
6062

6163
return {
@@ -91,7 +93,7 @@ export function transformDMMF(dmmf: DMMF.Document) {
9193
[...deps].forEach((d) => {
9294
const depsModel = models.find((m) => m.name === d) as DMMF.Model;
9395
if (depsModel) {
94-
const replacer = transformModel(depsModel, model.name);
96+
const replacer = transformModel(depsModel, models);
9597
const re = new RegExp(`::${d}::`, 'gm');
9698
raw = raw.replace(re, replacer.raw);
9799
}

0 commit comments

Comments
 (0)