tspace-spear 1.2.8 → 1.2.9-beta.1

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.
Files changed (99) hide show
  1. package/README.md +303 -82
  2. package/dist/cli/app.d.ts +1 -1
  3. package/dist/cli/app.js +3 -7
  4. package/dist/cli/app.js.map +1 -1
  5. package/dist/cli/controller.d.ts +1 -1
  6. package/dist/cli/controller.js +1 -12
  7. package/dist/cli/controller.js.map +1 -1
  8. package/dist/cli/generators/app/index.js +1 -1
  9. package/dist/cli/generators/app/index.js.map +1 -1
  10. package/dist/cli/generators/controller/template.d.ts +1 -1
  11. package/dist/cli/generators/controller/template.js +16 -7
  12. package/dist/cli/generators/controller/template.js.map +1 -1
  13. package/dist/cli/generators/dto/index.js +5 -3
  14. package/dist/cli/generators/dto/index.js.map +1 -1
  15. package/dist/cli/generators/module/index.js +3 -3
  16. package/dist/cli/generators/service/template.d.ts +1 -1
  17. package/dist/cli/generators/service/template.js +17 -17
  18. package/dist/cli/index.js +10 -7
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/lib/core/client/index.d.ts +13 -43
  21. package/dist/lib/core/client/index.js +70 -33
  22. package/dist/lib/core/client/index.js.map +1 -1
  23. package/dist/lib/core/client/types.d.ts +43 -0
  24. package/dist/lib/core/client/types.js +3 -0
  25. package/dist/lib/core/client/types.js.map +1 -0
  26. package/dist/lib/core/compiler/generator.d.ts +4 -6
  27. package/dist/lib/core/compiler/generator.js +172 -39
  28. package/dist/lib/core/compiler/generator.js.map +1 -1
  29. package/dist/lib/core/compiler/index.d.ts +2 -2
  30. package/dist/lib/core/compiler/index.js +2 -2
  31. package/dist/lib/core/compiler/index.js.map +1 -1
  32. package/dist/lib/core/compiler/pre-routes.d.ts +12 -130
  33. package/dist/lib/core/compiler/pre-routes.js +13 -35
  34. package/dist/lib/core/compiler/pre-routes.js.map +1 -1
  35. package/dist/lib/core/compiler/types.d.ts +25 -0
  36. package/dist/lib/core/decorators/context.js +23 -15
  37. package/dist/lib/core/decorators/context.js.map +1 -1
  38. package/dist/lib/core/decorators/controller.js +2 -1
  39. package/dist/lib/core/decorators/controller.js.map +1 -1
  40. package/dist/lib/core/decorators/index.d.ts +1 -0
  41. package/dist/lib/core/decorators/index.js +1 -0
  42. package/dist/lib/core/decorators/index.js.map +1 -1
  43. package/dist/lib/core/decorators/methods.js +4 -3
  44. package/dist/lib/core/decorators/methods.js.map +1 -1
  45. package/dist/lib/core/decorators/middleware.d.ts +40 -2
  46. package/dist/lib/core/decorators/middleware.js +54 -9
  47. package/dist/lib/core/decorators/middleware.js.map +1 -1
  48. package/dist/lib/core/decorators/service.d.ts +28 -0
  49. package/dist/lib/core/decorators/service.js +36 -0
  50. package/dist/lib/core/decorators/service.js.map +1 -0
  51. package/dist/lib/core/decorators/statusCode.js +3 -1
  52. package/dist/lib/core/decorators/statusCode.js.map +1 -1
  53. package/dist/lib/core/decorators/swagger.js +4 -3
  54. package/dist/lib/core/decorators/swagger.js.map +1 -1
  55. package/dist/lib/core/exception/index.d.ts +68 -0
  56. package/dist/lib/core/exception/index.js +123 -0
  57. package/dist/lib/core/exception/index.js.map +1 -0
  58. package/dist/lib/core/metadata/index.d.ts +6 -0
  59. package/dist/lib/core/metadata/index.js +13 -0
  60. package/dist/lib/core/metadata/index.js.map +1 -0
  61. package/dist/lib/core/server/fast-router.d.ts +2 -2
  62. package/dist/lib/core/server/fast-router.js +17 -3
  63. package/dist/lib/core/server/fast-router.js.map +1 -1
  64. package/dist/lib/core/server/index.d.ts +32 -5
  65. package/dist/lib/core/server/index.js +188 -45
  66. package/dist/lib/core/server/index.js.map +1 -1
  67. package/dist/lib/core/server/parser-factory.js +59 -10
  68. package/dist/lib/core/server/parser-factory.js.map +1 -1
  69. package/dist/lib/core/server/response.js +21 -1
  70. package/dist/lib/core/server/response.js.map +1 -1
  71. package/dist/lib/core/types/index.d.ts +42 -29
  72. package/package.json +14 -5
  73. package/dist/cli/client.d.ts +0 -1
  74. package/dist/cli/client.js +0 -30
  75. package/dist/cli/client.js.map +0 -1
  76. package/dist/cli/middleware.d.ts +0 -1
  77. package/dist/cli/middleware.js +0 -16
  78. package/dist/cli/middleware.js.map +0 -1
  79. package/dist/client.d.ts +0 -1
  80. package/dist/client.js +0 -17
  81. package/dist/client.js.map +0 -1
  82. package/dist/common/middlewares/log.middleware.d.ts +0 -2
  83. package/dist/common/middlewares/log.middleware.js +0 -12
  84. package/dist/common/middlewares/log.middleware.js.map +0 -1
  85. package/dist/index.d.ts +0 -4
  86. package/dist/index.js +0 -32
  87. package/dist/index.js.map +0 -1
  88. package/dist/modules/cats/cat.controller.d.ts +0 -58
  89. package/dist/modules/cats/cat.controller.js +0 -90
  90. package/dist/modules/cats/cat.controller.js.map +0 -1
  91. package/dist/modules/cats/cat.dto.d.ts +0 -8
  92. package/dist/modules/cats/cat.dto.js +0 -44
  93. package/dist/modules/cats/cat.dto.js.map +0 -1
  94. package/dist/modules/cats/cat.service.d.ts +0 -23
  95. package/dist/modules/cats/cat.service.js +0 -56
  96. package/dist/modules/cats/cat.service.js.map +0 -1
  97. package/dist/tests/e2e..test.d.ts +0 -1
  98. package/dist/tests/e2e..test.js +0 -16
  99. package/dist/tests/e2e..test.js.map +0 -1
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateRoutes = generateRoutes;
6
+ exports.generateRoutes = void 0;
7
7
  const ts_morph_1 = require("ts-morph");
8
8
  const typescript_1 = __importDefault(require("typescript"));
9
9
  const fs_1 = __importDefault(require("fs"));
@@ -17,15 +17,30 @@ const HTTP_METHODS = {
17
17
  Options: "OPTIONS",
18
18
  Head: "HEAD",
19
19
  };
20
- function normalizePath(p) {
20
+ const normalizeType = (t) => {
21
+ return t
22
+ .split("|")
23
+ .map(v => v.trim())
24
+ .filter(v => v !== "null" &&
25
+ v !== "undefined")[0] || "string";
26
+ };
27
+ const maybeObject = (v) => {
28
+ const s = v.trim();
29
+ return s.startsWith("{") && s.endsWith("}");
30
+ };
31
+ const maybeArrayObject = (v) => {
32
+ const s = v.trim();
33
+ return s.endsWith("}[]");
34
+ };
35
+ const normalizePath = (p) => {
21
36
  return ("/" +
22
37
  p
23
38
  .replace(/['"`]/g, "")
24
39
  .replace(/\/+/g, "/")
25
40
  .replace(/\/$/, "")
26
41
  .replace(/^\//, ""));
27
- }
28
- function splitTopLevel(input) {
42
+ };
43
+ const splitTopLevel = (input) => {
29
44
  const parts = [];
30
45
  let current = "";
31
46
  let depth = 0;
@@ -45,11 +60,11 @@ function splitTopLevel(input) {
45
60
  parts.push(current.trim());
46
61
  }
47
62
  return parts;
48
- }
49
- function parseType(type) {
63
+ };
64
+ const parseType = (type) => {
50
65
  type = type.trim();
51
66
  if (type === "never") {
52
- return null;
67
+ return undefined;
53
68
  }
54
69
  if (type.startsWith("Record<")) {
55
70
  return {};
@@ -121,6 +136,8 @@ function parseType(type) {
121
136
  return "boolean";
122
137
  if (type === "date")
123
138
  return "date";
139
+ if (type === "Date")
140
+ return "Date";
124
141
  if (type === "string | undefined")
125
142
  return "string";
126
143
  if (type === "number | undefined")
@@ -129,6 +146,8 @@ function parseType(type) {
129
146
  return "boolean";
130
147
  if (type === "date | undefined")
131
148
  return "date";
149
+ if (type === "Date | undefined")
150
+ return "Date";
132
151
  if (type.includes("| undefined")) {
133
152
  return type;
134
153
  }
@@ -139,11 +158,9 @@ function parseType(type) {
139
158
  return type.replace(/"/g, "");
140
159
  }
141
160
  // fallback
142
- return {
143
- $ref: type
144
- };
145
- }
146
- function resolveType(type) {
161
+ return "string";
162
+ };
163
+ const resolveType = (type) => {
147
164
  if (type.getSymbol()?.getName() === "Promise") {
148
165
  type = type.getTypeArguments()[0];
149
166
  }
@@ -161,8 +178,28 @@ function resolveType(type) {
161
178
  return "any";
162
179
  if (type.isUnknown())
163
180
  return "unknown";
164
- if (type.isStringLiteral())
181
+ if (type.isStringLiteral() ||
182
+ type.isBooleanLiteral() ||
183
+ type.isNumberLiteral())
165
184
  return type.getText();
185
+ if (type.getText() === 'Date' &&
186
+ type.getSymbol()?.getName() === 'Date') {
187
+ return "Date";
188
+ }
189
+ if (type.getText().includes("ServerResponse") &&
190
+ type.getText().includes("THttpResponder")) {
191
+ const filtered = type
192
+ .getIntersectionTypes()
193
+ .filter((t) => {
194
+ const text = t.getText();
195
+ return (!text.includes("ServerResponse") &&
196
+ !text.includes("THttpResponder"));
197
+ });
198
+ const t = filtered[0];
199
+ if (t == null)
200
+ return 'never';
201
+ return resolveType(t);
202
+ }
166
203
  if (type.isUnion()) {
167
204
  const text = type.getText();
168
205
  if (text.includes('| null') || text.includes('| undefined')) {
@@ -185,8 +222,8 @@ function resolveType(type) {
185
222
  const el = type.getArrayElementTypeOrThrow();
186
223
  return `${resolveType(el)}[]`;
187
224
  }
188
- const props = type.getProperties();
189
- if (props.length) {
225
+ if (type.getProperties().length) {
226
+ const props = type.getProperties();
190
227
  const obj = [];
191
228
  for (const prop of props) {
192
229
  const decl = prop.getDeclarations()[0];
@@ -214,8 +251,8 @@ function resolveType(type) {
214
251
  return `{ ${obj.join("; ")} }`;
215
252
  }
216
253
  return type.getText();
217
- }
218
- function extractPropertyType(type, key, node) {
254
+ };
255
+ const extractPropertyType = (type, key, node) => {
219
256
  const prop = type.getProperty(key);
220
257
  if (!prop)
221
258
  return "never";
@@ -226,12 +263,12 @@ function extractPropertyType(type, key, node) {
226
263
  if (!text || text.includes("undefined"))
227
264
  return "never";
228
265
  return resolveType(t) ?? "never";
229
- }
230
- async function generateRoutes(options) {
266
+ };
267
+ const generateRoutes = async (globalPrefix, options) => {
231
268
  const project = new ts_morph_1.Project({
232
269
  tsConfigFilePath: path_1.default.resolve(process.cwd(), "tsconfig.json"),
233
270
  });
234
- project.addSourceFilesAtPaths(path_1.default.join(options.controllers.folder, "**/*"));
271
+ project.addSourceFilesAtPaths(path_1.default.join(options.folder, "**/*"));
235
272
  const files = project.getSourceFiles();
236
273
  if (!files.length) {
237
274
  console.log("No controller files found");
@@ -240,7 +277,7 @@ async function generateRoutes(options) {
240
277
  const routes = [];
241
278
  for (const file of files) {
242
279
  const filename = file.getBaseName();
243
- if (!options.controllers.name.test(filename))
280
+ if (!options.name.test(filename))
244
281
  continue;
245
282
  for (const cls of file.getClasses()) {
246
283
  const controller = cls.getDecorator("Controller");
@@ -267,10 +304,12 @@ async function generateRoutes(options) {
267
304
  const firstParam = method.getParameters()[0];
268
305
  if (firstParam) {
269
306
  const type = firstParam.getType();
270
- body = extractPropertyType(type, "body", firstParam);
271
307
  params = extractPropertyType(type, "params", firstParam);
272
308
  query = extractPropertyType(type, "query", firstParam);
309
+ body = extractPropertyType(type, "body", firstParam);
273
310
  files = extractPropertyType(type, "files", firstParam);
311
+ if (body === 'Record<string, any>')
312
+ body = "never";
274
313
  }
275
314
  routes.push({
276
315
  method: http,
@@ -279,7 +318,7 @@ async function generateRoutes(options) {
279
318
  body,
280
319
  params,
281
320
  query,
282
- files,
321
+ files
283
322
  });
284
323
  }
285
324
  }
@@ -313,9 +352,97 @@ async function generateRoutes(options) {
313
352
  }`;
314
353
  })
315
354
  .join("\n");
316
- const formatValue = (v) => {
317
- if (typeof v === "string")
318
- return `"${v.replace(/"/g, '')}"`;
355
+ const formatExampleValue = (v) => {
356
+ if (v === null) {
357
+ return "null";
358
+ }
359
+ if (v === undefined) {
360
+ return "undefined";
361
+ }
362
+ if (typeof v === "string") {
363
+ const t = normalizeType(v.trim());
364
+ if (maybeObject(t)) {
365
+ const inner = t.trim().slice(1, -1);
366
+ const result = Object.fromEntries(splitTopLevel(inner)
367
+ .map(s => s.trim())
368
+ .filter(Boolean)
369
+ .map(pair => {
370
+ const idx = pair.indexOf(":");
371
+ const key = pair.slice(0, idx).trim();
372
+ const type = pair.slice(idx + 1).trim();
373
+ return [key.replace(/\?/g, ''), type];
374
+ }));
375
+ return formatExampleValue(result);
376
+ }
377
+ if (maybeArrayObject(t)) {
378
+ const s = v.trim();
379
+ const output = s.replace(/(\w+):\s*(\{[^}]+\})\[\]/, '$1: [$2]').match(/\{(.*)\}/)?.[1];
380
+ if (!output)
381
+ return `[]`;
382
+ const result = Object.fromEntries(splitTopLevel(output)
383
+ .map(s => s.trim())
384
+ .filter(Boolean)
385
+ .map(pair => {
386
+ const idx = pair.indexOf(":");
387
+ const key = pair.slice(0, idx).trim();
388
+ const type = pair.slice(idx + 1).trim();
389
+ return [key, type];
390
+ }));
391
+ return formatExampleValue(result);
392
+ }
393
+ switch (t) {
394
+ case "string":
395
+ return `"example"`;
396
+ case "string[]":
397
+ return `["example1", "example2", "example3"]`;
398
+ case "number":
399
+ return "123";
400
+ case "number[]":
401
+ return "[1 ,2, 3]";
402
+ case "boolean":
403
+ return "true";
404
+ case "boolean[]":
405
+ return "[true, false, true]";
406
+ case "null":
407
+ return "null";
408
+ case "null[]":
409
+ return "[null, null, null]";
410
+ case "undefined":
411
+ return "undefined";
412
+ case "undefined[]":
413
+ return "[undefined, undefined, undefined]";
414
+ case "date":
415
+ case "Date":
416
+ return `"2000-01-01T00:00:00.000Z"`;
417
+ case "date[]":
418
+ case "Date[]":
419
+ return `["2000-01-01T00:00:00.000Z","2000-01-02T00:00:00.000Z","2000-01-03T00:00:00.000Z"]`;
420
+ default:
421
+ return `"${t.replace(/"/g, "")}"`;
422
+ }
423
+ }
424
+ if (Array.isArray(v)) {
425
+ if (!v.length) {
426
+ return "[]";
427
+ }
428
+ return `[
429
+ ${formatExampleValue(v[0])},
430
+ ${formatExampleValue(v[0])},
431
+ ${formatExampleValue(v[0])}
432
+ ]`;
433
+ }
434
+ if (typeof v === "object") {
435
+ const entries = Object.entries(v).map(([key, value]) => {
436
+ if (key.includes("uuid")) {
437
+ return `${key}: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"`;
438
+ }
439
+ if (key === "id" || key.endsWith("id")) {
440
+ return `${key}: 123`;
441
+ }
442
+ return `${key}: ${formatExampleValue(value)}`;
443
+ });
444
+ return `{ ${entries.map(v => `${v}`).join(", ")} }`;
445
+ }
319
446
  return JSON.stringify(v);
320
447
  };
321
448
  const groupedValues = routes.reduce((acc, route) => {
@@ -336,11 +463,11 @@ async function generateRoutes(options) {
336
463
  const methodBlock = Object.entries(methods)
337
464
  .map(([method, c]) => `
338
465
  ${method}: {
339
- params: ${formatValue(c.params)},
340
- query: ${formatValue(c.query)},
341
- body: ${formatValue(c.body)},
342
- files: ${formatValue(c.files)},
343
- response: ${formatValue(c.response)}
466
+ params: ${formatExampleValue(c.params)},
467
+ query: ${formatExampleValue(c.query)},
468
+ body: ${formatExampleValue(c.body)},
469
+ files: ${formatExampleValue(c.files)},
470
+ response: ${formatExampleValue(c.response)}
344
471
  }`).join(",\n");
345
472
  return `
346
473
  "${path}": {
@@ -352,16 +479,20 @@ async function generateRoutes(options) {
352
479
  // @ts-nocheck
353
480
  // AUTO GENERATED FILE
354
481
  // DO NOT EDIT
482
+ // **Response values shown here are examples only.
483
+ ${globalPrefix ?
484
+ `// **The App is using the configuration:
485
+ // globalPrefix: '${globalPrefix}'` : ''}
355
486
 
356
487
  export const appRoutes = {
357
488
  ${routerMapValues}
358
- }
489
+ };
359
490
 
360
491
  export interface AppRoutes {
361
492
  ${routeMapTypes}
362
- }
493
+ };
363
494
 
364
- export type AppRoute = keyof AppRoutes
495
+ export type AppRoute = keyof AppRoutes;
365
496
  `;
366
497
  const outPath = options.output
367
498
  ? `${__dirname}/${options.output}/pre-routes.ts`
@@ -369,15 +500,17 @@ export type AppRoute = keyof AppRoutes
369
500
  await fs_1.default.promises.mkdir(path_1.default.dirname(outPath), {
370
501
  recursive: true,
371
502
  });
372
- await fs_1.default.promises.writeFile(outPath, output);
373
503
  const compiled = typescript_1.default.transpileModule(output, {
374
504
  compilerOptions: {
375
505
  module: typescript_1.default.ModuleKind.CommonJS,
376
- target: typescript_1.default.ScriptTarget.ES2020,
506
+ target: typescript_1.default.ScriptTarget.ESNext
377
507
  },
378
508
  });
379
- const jsPath = outPath.replace(/\.ts$/, ".js");
380
- await fs_1.default.promises.writeFile(jsPath, compiled.outputText, "utf8");
509
+ await Promise.all([
510
+ fs_1.default.promises.writeFile(outPath, output),
511
+ fs_1.default.promises.writeFile(outPath.replace(/\.ts$/, ".js"), compiled.outputText)
512
+ ]);
381
513
  return routes;
382
- }
514
+ };
515
+ exports.generateRoutes = generateRoutes;
383
516
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/generator.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  export declare class Compiler {
2
- generateRoutes(options: {
2
+ generateRoutes(globalPrefix: string, options: {
3
3
  folder: string;
4
4
  name: RegExp;
5
5
  }): Promise<void | {
6
6
  method: string;
7
7
  path: string;
8
- response: string;
9
8
  body: string;
10
9
  params: string;
11
10
  query: string;
12
11
  files: string;
12
+ response: string;
13
13
  }[] | undefined>;
14
14
  }
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Compiler = void 0;
4
4
  const generator_1 = require("./generator");
5
5
  class Compiler {
6
- async generateRoutes(options) {
7
- return await (0, generator_1.generateRoutes)({ controllers: options })
6
+ async generateRoutes(globalPrefix, options) {
7
+ return await (0, generator_1.generateRoutes)(globalPrefix, options)
8
8
  .catch(err => console.log(err));
9
9
  }
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/index.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,MAAa,QAAQ;IACV,KAAK,CAAC,cAAc,CAAE,OAG5B;QACG,OAAO,MAAM,IAAA,0BAAc,EAAC,EAAE,WAAW,EAAG,OAAO,EAAE,CAAC;aACrD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;CACJ;AARD,4BAQC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/index.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,MAAa,QAAQ;IACV,KAAK,CAAC,cAAc,CAAE,YAAoB,EAAG,OAGnD;QACG,OAAO,MAAM,IAAA,0BAAc,EAAC,YAAY,EAAG,OAAO,CAAC;aAClD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;CACJ;AARD,4BAQC"}
@@ -1,84 +1,24 @@
1
1
  export declare const appRoutes: {
2
2
  "/cats": {
3
3
  GET: {
4
- params: null;
4
+ params: undefined;
5
5
  query: {
6
- id: string;
6
+ id: number;
7
7
  name: string;
8
8
  };
9
- body: {};
10
- files: null;
9
+ body: undefined;
10
+ files: undefined;
11
11
  response: {
12
- query: {
13
- id: string;
14
- name: string;
12
+ req: {
13
+ cat1: string;
14
+ cat2: string;
15
15
  };
16
16
  cats: {
17
- id: string;
17
+ id: number;
18
18
  name: string;
19
- age: string;
20
19
  }[];
21
20
  };
22
21
  };
23
- POST: {
24
- params: null;
25
- query: null;
26
- body: {
27
- name: string;
28
- age: string;
29
- };
30
- files: null;
31
- response: {
32
- cat: {
33
- name: string;
34
- age: string;
35
- id: string;
36
- };
37
- message: string;
38
- };
39
- };
40
- };
41
- "/cats/:id": {
42
- GET: {
43
- params: {
44
- id: string;
45
- };
46
- query: null;
47
- body: {};
48
- files: null;
49
- response: {
50
- cat: {
51
- id: string;
52
- name: string;
53
- age: string;
54
- };
55
- };
56
- };
57
- PUT: {
58
- params: {
59
- id: string;
60
- };
61
- query: null;
62
- body: {
63
- name: string;
64
- age: string;
65
- };
66
- files: null;
67
- response: {
68
- $ref: string;
69
- };
70
- };
71
- DELETE: {
72
- params: {
73
- id: string;
74
- };
75
- query: null;
76
- body: {};
77
- files: null;
78
- response: {
79
- message: string;
80
- };
81
- };
82
22
  };
83
23
  };
84
24
  export interface AppRoutes {
@@ -89,77 +29,19 @@ export interface AppRoutes {
89
29
  id?: string;
90
30
  name?: string;
91
31
  };
92
- body: Record<string, any>;
32
+ body: never;
93
33
  files: never;
94
34
  response: {
95
- query: {
96
- id?: string;
97
- name?: string;
35
+ req: {
36
+ cat1: any;
37
+ cat2: any;
98
38
  };
99
39
  cats: {
100
40
  id: number;
101
41
  name: string;
102
- age: number;
103
42
  }[];
104
43
  };
105
44
  };
106
- POST: {
107
- params: never;
108
- query: never;
109
- body: {
110
- name: string;
111
- age: number;
112
- };
113
- files: never;
114
- response: {
115
- cat: {
116
- name: string;
117
- age: number;
118
- id: number;
119
- };
120
- message: string;
121
- };
122
- };
123
- };
124
- "/cats/:id": {
125
- GET: {
126
- params: {
127
- id: number;
128
- };
129
- query: never;
130
- body: Record<string, any>;
131
- files: never;
132
- response: {
133
- cat: {
134
- id: number;
135
- name: string;
136
- age: number;
137
- };
138
- };
139
- };
140
- PUT: {
141
- params: {
142
- id: number;
143
- };
144
- query: never;
145
- body: {
146
- name?: string;
147
- age?: number;
148
- };
149
- files: never;
150
- response: any;
151
- };
152
- DELETE: {
153
- params: {
154
- id: number;
155
- };
156
- query: never;
157
- body: Record<string, any>;
158
- files: never;
159
- response: {
160
- message: string;
161
- };
162
- };
163
45
  };
164
46
  }
165
47
  export type AppRoute = keyof AppRoutes;