@autobe/compiler 0.14.4 → 0.14.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.
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.writePrismaApplication = writePrismaApplication;
4
7
  const utils_1 = require("@autobe/utils");
8
+ const crypto_1 = __importDefault(require("crypto"));
5
9
  const ArrayUtil_1 = require("../utils/ArrayUtil");
6
10
  const MapUtil_1 = require("../utils/MapUtil");
7
11
  function writePrismaApplication(props) {
@@ -42,9 +46,8 @@ function fillMappingName(model) {
42
46
  }
43
47
  for (const array of group.values())
44
48
  if (array.length !== 1)
45
- for (const ff of array) {
46
- ff.relation.mappingName = `${model.name}_of_${ff.name}`;
47
- }
49
+ for (const ff of array)
50
+ ff.relation.mappingName = shortName(`${model.name}_of_${ff.name}`);
48
51
  }
49
52
  /* -----------------------------------------------------------
50
53
  COLUMNS
@@ -119,7 +122,11 @@ function writeRelations(props) {
119
122
  props.model.plainIndexes.every((p) => p.fieldNames[0] !== f.name));
120
123
  });
121
124
  const contents = [
122
- props.model.foreignFields.map(writeConstraint),
125
+ props.model.foreignFields.map((foreign) => writeConstraint({
126
+ dbms: props.dbms,
127
+ model: props.model,
128
+ foreign,
129
+ })),
123
130
  hasRelationships.map((r) => {
124
131
  var _a;
125
132
  return [
@@ -128,12 +135,24 @@ function writeRelations(props) {
128
135
  ...(r.mappingName ? [`@relation("${r.mappingName}")`] : []),
129
136
  ].join(" ");
130
137
  }),
131
- foreignIndexes.map(writeForeignIndex),
138
+ foreignIndexes.map((field) => writeForeignIndex({
139
+ model: props.model,
140
+ field,
141
+ })),
132
142
  [
133
- ...props.model.uniqueIndexes.map(writeUniqueIndex),
134
- ...props.model.plainIndexes.map(writePlainIndex),
143
+ ...props.model.uniqueIndexes.map((unique) => writeUniqueIndex({
144
+ model: props.model,
145
+ unique,
146
+ })),
147
+ ...props.model.plainIndexes.map((plain) => writePlainIndex({
148
+ model: props.model,
149
+ plain,
150
+ })),
135
151
  ...(props.dbms === "postgres"
136
- ? props.model.ginIndexes.map(writeGinIndex)
152
+ ? props.model.ginIndexes.map((gin) => writeGinIndex({
153
+ model: props.model,
154
+ gin,
155
+ }))
137
156
  : []),
138
157
  ],
139
158
  ];
@@ -147,31 +166,52 @@ function writeRelations(props) {
147
166
  ...ArrayUtil_1.ArrayUtil.paddle(contents),
148
167
  ];
149
168
  }
150
- function writeConstraint(field) {
169
+ function writeConstraint(props) {
170
+ // spellchecker:ignore-next-line
171
+ const name = `${props.model.name}_${props.foreign.name}_rela`;
151
172
  return [
152
- field.relation.name,
153
- `${field.relation.targetModel}${field.nullable ? "?" : ""}`,
173
+ props.foreign.relation.name,
174
+ `${props.foreign.relation.targetModel}${props.foreign.nullable ? "?" : ""}`,
154
175
  `@relation(${[
155
- ...(field.relation.mappingName
156
- ? [`"${field.relation.mappingName}"`]
176
+ ...(props.foreign.relation.mappingName
177
+ ? [`"${props.foreign.relation.mappingName}"`]
157
178
  : []),
158
- `fields: [${field.name}]`,
179
+ `fields: [${props.foreign.name}]`,
159
180
  `references: [id]`,
160
181
  `onDelete: Cascade`,
182
+ ...(props.dbms === "sqlite" || name.length <= MAX_IDENTIFIER_LENGTH
183
+ ? []
184
+ : [`map: "${shortName(name)}"`]),
161
185
  ].join(", ")})`,
162
186
  ].join(" ");
163
187
  }
164
- function writeForeignIndex(field) {
165
- return `@@${field.unique === true ? "unique" : "index"}([${field.name}])`;
188
+ function writeForeignIndex(props) {
189
+ const name = `${props.model.name}_${props.field.name}_fkey`;
190
+ const prefix = `@@${props.field.unique === true ? "unique" : "index"}([${props.field.name}]`;
191
+ if (name.length <= MAX_IDENTIFIER_LENGTH)
192
+ return `${prefix})`;
193
+ return `${prefix}, map: "${shortName(name)}")`;
166
194
  }
167
- function writeUniqueIndex(field) {
168
- return `@@unique([${field.fieldNames.join(", ")}])`;
195
+ function writeUniqueIndex(props) {
196
+ const name = `${props.model.name}_${props.unique.fieldNames.join("_")}_key`;
197
+ const prefix = `@@unique([${props.unique.fieldNames.join(", ")}]`;
198
+ if (name.length <= MAX_IDENTIFIER_LENGTH)
199
+ return `${prefix})`;
200
+ return `${prefix}, map: "${shortName(name)}")`;
169
201
  }
170
- function writePlainIndex(field) {
171
- return `@@index([${field.fieldNames.join(", ")}])`;
202
+ function writePlainIndex(props) {
203
+ const name = `${props.model.name}_${props.plain.fieldNames.join("_")}_idx`;
204
+ const prefix = `@@index([${props.plain.fieldNames.join(", ")}]`;
205
+ if (name.length <= MAX_IDENTIFIER_LENGTH)
206
+ return `${prefix})`;
207
+ return `${prefix}, map: "${shortName(name)}")`;
172
208
  }
173
- function writeGinIndex(field) {
174
- return `@@index([${field.fieldName}(ops: raw("gin_trgm_ops"))], type: Gin)`;
209
+ function writeGinIndex(props) {
210
+ const name = `${props.model.name}_${props.gin.fieldName}_idx`;
211
+ const prefix = `@@index([${props.gin.fieldName}(ops: raw("gin_trgm_ops"))], type: Gin`;
212
+ if (name.length <= MAX_IDENTIFIER_LENGTH)
213
+ return `${prefix})`;
214
+ return `${prefix}, map: "${shortName(name)}")`;
175
215
  }
176
216
  /* -----------------------------------------------------------
177
217
  BACKGROUND
@@ -193,6 +233,16 @@ function indent(content) {
193
233
  .map((str) => ` ${str}`)
194
234
  .join("\n");
195
235
  }
236
+ function shortName(name) {
237
+ if (name.length <= MAX_IDENTIFIER_LENGTH)
238
+ return name;
239
+ const hash = crypto_1.default
240
+ .createHash("md5")
241
+ .update(name)
242
+ .digest("hex")
243
+ .substring(0, HASH_TRUNCATION_LENGTH);
244
+ return `${name.substring(0, MAX_IDENTIFIER_LENGTH - HASH_TRUNCATION_LENGTH - 1)}_${hash}`;
245
+ }
196
246
  const LOGICAL_TYPES = {
197
247
  // native types
198
248
  boolean: "Boolean",
@@ -240,4 +290,6 @@ const SQLITE_MAIN_FILE = utils_1.StringUtil.trim `
240
290
  output = "../docs/ERD.md"
241
291
  }
242
292
  `;
293
+ const MAX_IDENTIFIER_LENGTH = 63;
294
+ const HASH_TRUNCATION_LENGTH = 8;
243
295
  //# sourceMappingURL=writePrismaApplication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writePrismaApplication.js","sourceRoot":"","sources":["../../src/prisma/writePrismaApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writePrismaApplication.js","sourceRoot":"","sources":["../../src/prisma/writePrismaApplication.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,7 @@ class AutoBeRealizeCompiler {
20
20
  this.listener = listener;
21
21
  }
22
22
  controller(props) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- return (0, writeRealizeControllers_1.writeRealizeControllers)(props);
25
- });
23
+ return (0, writeRealizeControllers_1.writeRealizeControllers)(props);
26
24
  }
27
25
  test(props) {
28
26
  return (0, testRealizeProject_1.testRealizeProject)(Object.assign(Object.assign({}, props), { files: Object.assign(Object.assign({}, props.files), AutoBeCompilerRealizeTemplate_1.AutoBeCompilerRealizeTemplate) }), this.listener.test);
@@ -1 +1 @@
1
- {"version":3,"file":"AutoBeRealizeCompiler.js","sourceRoot":"","sources":["../../src/realize/AutoBeRealizeCompiler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQA,4FAAyF;AACzF,wFAAqF;AACrF,kFAA+E;AAC/E,6DAA0D;AAC1D,uEAAoE;AAEpE,MAAa,qBAAqB;IAChC,YACmB,QAAwC;QAAxC,aAAQ,GAAR,QAAQ,CAAgC;IACxD,CAAC;IAES,UAAU,CACrB,KAAoC;;YAEpC,OAAO,IAAA,iDAAuB,EAAC,KAAK,CAAC,CAAC;QACxC,CAAC;KAAA;IAEM,IAAI,CACT,KAA8B;QAE9B,OAAO,IAAA,uCAAkB,kCAElB,KAAK,KACR,KAAK,kCACA,KAAK,CAAC,KAAK,GACX,6DAA6B,MAGpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnB,CAAC;IACJ,CAAC;IAEY,WAAW;;YACtB,qDACK,iEAA+B,GAC/B,uDAA0B,GAC1B,6DAA6B,EAChC;QACJ,CAAC;KAAA;CACF;AAjCD,sDAiCC"}
1
+ {"version":3,"file":"AutoBeRealizeCompiler.js","sourceRoot":"","sources":["../../src/realize/AutoBeRealizeCompiler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQA,4FAAyF;AACzF,wFAAqF;AACrF,kFAA+E;AAC/E,6DAA0D;AAC1D,uEAAoE;AAEpE,MAAa,qBAAqB;IAChC,YACmB,QAAwC;QAAxC,aAAQ,GAAR,QAAQ,CAAgC;IACxD,CAAC;IAEG,UAAU,CACf,KAAoC;QAEpC,OAAO,IAAA,iDAAuB,EAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEM,IAAI,CACT,KAA8B;QAE9B,OAAO,IAAA,uCAAkB,kCAElB,KAAK,KACR,KAAK,kCACA,KAAK,CAAC,KAAK,GACX,6DAA6B,MAGpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnB,CAAC;IACJ,CAAC;IAEY,WAAW;;YACtB,qDACK,iEAA+B,GAC/B,uDAA0B,GAC1B,6DAA6B,EAChC;QACJ,CAAC;KAAA;CACF;AAjCD,sDAiCC"}
@@ -1,2 +1,2 @@
1
1
  import { IAutoBeRealizeControllerProps } from "@autobe/interface";
2
- export declare const writeRealizeControllers: (props: IAutoBeRealizeControllerProps) => Record<string, string>;
2
+ export declare const writeRealizeControllers: (props: IAutoBeRealizeControllerProps) => Promise<Record<string, string>>;
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
@@ -8,7 +17,9 @@ const NestiaMigrateNestMethodProgrammer_1 = require("@nestia/migrate/lib/program
8
17
  const path_1 = __importDefault(require("path"));
9
18
  const typescript_1 = __importDefault(require("typescript"));
10
19
  const createMigrateApplication_1 = require("../interface/createMigrateApplication");
11
- const writeRealizeControllers = (props) => {
20
+ const ArrayUtil_1 = require("../utils/ArrayUtil");
21
+ const FilePrinter_1 = require("../utils/FilePrinter");
22
+ const writeRealizeControllers = (props) => __awaiter(void 0, void 0, void 0, function* () {
12
23
  const app = (0, createMigrateApplication_1.createMigrateApplication)(props.document);
13
24
  const result = app.nest({
14
25
  simulate: false,
@@ -64,7 +75,8 @@ const writeRealizeControllers = (props) => {
64
75
  },
65
76
  },
66
77
  });
67
- return Object.fromEntries(Object.entries(result).filter(([key]) => key.startsWith("src/controllers/")));
68
- };
78
+ const entries = yield ArrayUtil_1.ArrayUtil.asyncMap(Object.entries(result).filter(([key]) => key.startsWith("src/controllers/")), (_a) => __awaiter(void 0, [_a], void 0, function* ([key, value]) { return [key, yield FilePrinter_1.FilePrinter.beautify(value)]; }));
79
+ return Object.fromEntries(entries);
80
+ });
69
81
  exports.writeRealizeControllers = writeRealizeControllers;
70
82
  //# sourceMappingURL=writeRealizeControllers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeRealizeControllers.js","sourceRoot":"","sources":["../../src/realize/writeRealizeControllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeRealizeControllers.js","sourceRoot":"","sources":["../../src/realize/writeRealizeControllers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autobe/compiler",
3
- "version": "0.14.4",
3
+ "version": "0.14.6",
4
4
  "description": "AI backend server code generator",
5
5
  "main": "lib/index.js",
6
6
  "author": "Wrtn Technologies",
@@ -26,9 +26,9 @@
26
26
  "tstl": "^3.0.0",
27
27
  "tgrid": "^1.2.0",
28
28
  "typia": "^9.6.0",
29
- "@autobe/interface": "^0.14.4",
30
- "@autobe/utils": "^0.14.4",
31
- "@autobe/filesystem": "^0.14.4"
29
+ "@autobe/filesystem": "^0.14.6",
30
+ "@autobe/utils": "^0.14.6",
31
+ "@autobe/interface": "^0.14.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^22.15.3",
@@ -80,6 +80,7 @@
80
80
  "scripts": {
81
81
  "build": "pnpm run prebuild && rimraf lib && tsc",
82
82
  "prebuild": "ts-node build/template.ts && ts-node build/external.ts",
83
+ "postbuild": "node ../../internals/config/assertBuild.js",
83
84
  "dev": "pnpm run build --watch"
84
85
  },
85
86
  "typings": "lib/index.d.ts"
@@ -1,5 +1,6 @@
1
1
  import { AutoBePrisma } from "@autobe/interface";
2
2
  import { StringUtil } from "@autobe/utils";
3
+ import crypto from "crypto";
3
4
 
4
5
  import { ArrayUtil } from "../utils/ArrayUtil";
5
6
  import { MapUtil } from "../utils/MapUtil";
@@ -74,9 +75,8 @@ function fillMappingName(model: AutoBePrisma.IModel): void {
74
75
  }
75
76
  for (const array of group.values())
76
77
  if (array.length !== 1)
77
- for (const ff of array) {
78
- ff.relation.mappingName = `${model.name}_of_${ff.name}`;
79
- }
78
+ for (const ff of array)
79
+ ff.relation.mappingName = shortName(`${model.name}_of_${ff.name}`);
80
80
  }
81
81
 
82
82
  /* -----------------------------------------------------------
@@ -189,7 +189,13 @@ function writeRelations(props: {
189
189
  );
190
190
  });
191
191
  const contents: string[][] = [
192
- props.model.foreignFields.map(writeConstraint),
192
+ props.model.foreignFields.map((foreign) =>
193
+ writeConstraint({
194
+ dbms: props.dbms,
195
+ model: props.model,
196
+ foreign,
197
+ }),
198
+ ),
193
199
  hasRelationships.map((r) =>
194
200
  [
195
201
  r.mappingName ?? r.modelName,
@@ -197,12 +203,32 @@ function writeRelations(props: {
197
203
  ...(r.mappingName ? [`@relation("${r.mappingName}")`] : []),
198
204
  ].join(" "),
199
205
  ),
200
- foreignIndexes.map(writeForeignIndex),
206
+ foreignIndexes.map((field) =>
207
+ writeForeignIndex({
208
+ model: props.model,
209
+ field,
210
+ }),
211
+ ),
201
212
  [
202
- ...props.model.uniqueIndexes.map(writeUniqueIndex),
203
- ...props.model.plainIndexes.map(writePlainIndex),
213
+ ...props.model.uniqueIndexes.map((unique) =>
214
+ writeUniqueIndex({
215
+ model: props.model,
216
+ unique,
217
+ }),
218
+ ),
219
+ ...props.model.plainIndexes.map((plain) =>
220
+ writePlainIndex({
221
+ model: props.model,
222
+ plain,
223
+ }),
224
+ ),
204
225
  ...(props.dbms === "postgres"
205
- ? props.model.ginIndexes.map(writeGinIndex)
226
+ ? props.model.ginIndexes.map((gin) =>
227
+ writeGinIndex({
228
+ model: props.model,
229
+ gin,
230
+ }),
231
+ )
206
232
  : []),
207
233
  ],
208
234
  ];
@@ -216,35 +242,68 @@ function writeRelations(props: {
216
242
  ];
217
243
  }
218
244
 
219
- function writeConstraint(field: AutoBePrisma.IForeignField): string {
245
+ function writeConstraint(props: {
246
+ dbms: "postgres" | "sqlite";
247
+ model: AutoBePrisma.IModel;
248
+ foreign: AutoBePrisma.IForeignField;
249
+ }): string {
250
+ // spellchecker:ignore-next-line
251
+ const name: string = `${props.model.name}_${props.foreign.name}_rela`;
220
252
  return [
221
- field.relation.name,
222
- `${field.relation.targetModel}${field.nullable ? "?" : ""}`,
253
+ props.foreign.relation.name,
254
+ `${props.foreign.relation.targetModel}${props.foreign.nullable ? "?" : ""}`,
223
255
  `@relation(${[
224
- ...(field.relation.mappingName
225
- ? [`"${field.relation.mappingName}"`]
256
+ ...(props.foreign.relation.mappingName
257
+ ? [`"${props.foreign.relation.mappingName}"`]
226
258
  : []),
227
- `fields: [${field.name}]`,
259
+ `fields: [${props.foreign.name}]`,
228
260
  `references: [id]`,
229
261
  `onDelete: Cascade`,
262
+ ...(props.dbms === "sqlite" || name.length <= MAX_IDENTIFIER_LENGTH
263
+ ? []
264
+ : [`map: "${shortName(name)}"`]),
230
265
  ].join(", ")})`,
231
266
  ].join(" ");
232
267
  }
233
268
 
234
- function writeForeignIndex(field: AutoBePrisma.IForeignField): string {
235
- return `@@${field.unique === true ? "unique" : "index"}([${field.name}])`;
269
+ function writeForeignIndex(props: {
270
+ model: AutoBePrisma.IModel;
271
+ field: AutoBePrisma.IForeignField;
272
+ }): string {
273
+ const name: string = `${props.model.name}_${props.field.name}_fkey`;
274
+ const prefix: string = `@@${props.field.unique === true ? "unique" : "index"}([${props.field.name}]`;
275
+ if (name.length <= MAX_IDENTIFIER_LENGTH) return `${prefix})`;
276
+ return `${prefix}, map: "${shortName(name)}")`;
236
277
  }
237
278
 
238
- function writeUniqueIndex(field: AutoBePrisma.IUniqueIndex): string {
239
- return `@@unique([${field.fieldNames.join(", ")}])`;
279
+ function writeUniqueIndex(props: {
280
+ model: AutoBePrisma.IModel;
281
+ unique: AutoBePrisma.IUniqueIndex;
282
+ }): string {
283
+ const name: string = `${props.model.name}_${props.unique.fieldNames.join("_")}_key`;
284
+ const prefix: string = `@@unique([${props.unique.fieldNames.join(", ")}]`;
285
+ if (name.length <= MAX_IDENTIFIER_LENGTH) return `${prefix})`;
286
+ return `${prefix}, map: "${shortName(name)}")`;
240
287
  }
241
288
 
242
- function writePlainIndex(field: AutoBePrisma.IPlainIndex): string {
243
- return `@@index([${field.fieldNames.join(", ")}])`;
289
+ function writePlainIndex(props: {
290
+ model: AutoBePrisma.IModel;
291
+ plain: AutoBePrisma.IPlainIndex;
292
+ }): string {
293
+ const name: string = `${props.model.name}_${props.plain.fieldNames.join("_")}_idx`;
294
+ const prefix: string = `@@index([${props.plain.fieldNames.join(", ")}]`;
295
+ if (name.length <= MAX_IDENTIFIER_LENGTH) return `${prefix})`;
296
+ return `${prefix}, map: "${shortName(name)}")`;
244
297
  }
245
298
 
246
- function writeGinIndex(field: AutoBePrisma.IGinIndex): string {
247
- return `@@index([${field.fieldName}(ops: raw("gin_trgm_ops"))], type: Gin)`;
299
+ function writeGinIndex(props: {
300
+ model: AutoBePrisma.IModel;
301
+ gin: AutoBePrisma.IGinIndex;
302
+ }): string {
303
+ const name: string = `${props.model.name}_${props.gin.fieldName}_idx`;
304
+ const prefix: string = `@@index([${props.gin.fieldName}(ops: raw("gin_trgm_ops"))], type: Gin`;
305
+ if (name.length <= MAX_IDENTIFIER_LENGTH) return `${prefix})`;
306
+ return `${prefix}, map: "${shortName(name)}")`;
248
307
  }
249
308
 
250
309
  /* -----------------------------------------------------------
@@ -269,6 +328,16 @@ function indent(content: string): string {
269
328
  .join("\n");
270
329
  }
271
330
 
331
+ function shortName(name: string): string {
332
+ if (name.length <= MAX_IDENTIFIER_LENGTH) return name;
333
+ const hash: string = crypto
334
+ .createHash("md5")
335
+ .update(name)
336
+ .digest("hex")
337
+ .substring(0, HASH_TRUNCATION_LENGTH);
338
+ return `${name.substring(0, MAX_IDENTIFIER_LENGTH - HASH_TRUNCATION_LENGTH - 1)}_${hash}`;
339
+ }
340
+
272
341
  const LOGICAL_TYPES = {
273
342
  // native types
274
343
  boolean: "Boolean",
@@ -317,3 +386,5 @@ const SQLITE_MAIN_FILE = StringUtil.trim`
317
386
  output = "../docs/ERD.md"
318
387
  }
319
388
  `;
389
+ const MAX_IDENTIFIER_LENGTH = 63;
390
+ const HASH_TRUNCATION_LENGTH = 8;
@@ -17,7 +17,7 @@ export class AutoBeRealizeCompiler implements IAutoBeRealizeCompiler {
17
17
  private readonly listener: IAutoBeRealizeCompilerListener,
18
18
  ) {}
19
19
 
20
- public async controller(
20
+ public controller(
21
21
  props: IAutoBeRealizeControllerProps,
22
22
  ): Promise<Record<string, string>> {
23
23
  return writeRealizeControllers(props);
@@ -9,10 +9,12 @@ import path from "path";
9
9
  import ts from "typescript";
10
10
 
11
11
  import { createMigrateApplication } from "../interface/createMigrateApplication";
12
+ import { ArrayUtil } from "../utils/ArrayUtil";
13
+ import { FilePrinter } from "../utils/FilePrinter";
12
14
 
13
- export const writeRealizeControllers = (
15
+ export const writeRealizeControllers = async (
14
16
  props: IAutoBeRealizeControllerProps,
15
- ): Record<string, string> => {
17
+ ): Promise<Record<string, string>> => {
16
18
  const app: NestiaMigrateApplication = createMigrateApplication(
17
19
  props.document,
18
20
  );
@@ -111,9 +113,12 @@ export const writeRealizeControllers = (
111
113
  },
112
114
  },
113
115
  });
114
- return Object.fromEntries(
116
+
117
+ const entries: [string, string][] = await ArrayUtil.asyncMap(
115
118
  Object.entries(result).filter(([key]) =>
116
119
  key.startsWith("src/controllers/"),
117
120
  ),
121
+ async ([key, value]) => [key, await FilePrinter.beautify(value)],
118
122
  );
123
+ return Object.fromEntries(entries);
119
124
  };