@nestia/migrate 0.6.0 → 0.6.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 (48) hide show
  1. package/lib/{NestiaMigrateApplication.d.ts → MigrateApplication.d.ts} +1 -1
  2. package/lib/{NestiaMigrateApplication.js → MigrateApplication.js} +25 -19
  3. package/lib/MigrateApplication.js.map +1 -0
  4. package/lib/analyzers/ControllerAnalyzer.d.ts +5 -0
  5. package/lib/{programmers/ControllerProgrammer.js → analyzers/ControllerAnalyzer.js} +8 -35
  6. package/lib/analyzers/ControllerAnalyzer.js.map +1 -0
  7. package/lib/analyzers/MethodAnalyzer.d.ts +9 -0
  8. package/lib/{programmers/RouteProgrammer.js → analyzers/MethodAnalyzer.js} +6 -107
  9. package/lib/analyzers/MethodAnalyzer.js.map +1 -0
  10. package/lib/analyzers/MigrateAnalyzer.d.ts +4 -0
  11. package/lib/analyzers/MigrateAnalyzer.js +12 -0
  12. package/lib/analyzers/MigrateAnalyzer.js.map +1 -0
  13. package/lib/analyzers/RouteAnalyzer.d.ts +0 -0
  14. package/lib/analyzers/RouteAnalyzer.js +2 -0
  15. package/lib/analyzers/RouteAnalyzer.js.map +1 -0
  16. package/lib/executable/migrate.js +2 -2
  17. package/lib/executable/migrate.js.map +1 -1
  18. package/lib/module.d.ts +1 -1
  19. package/lib/module.js +1 -1
  20. package/lib/module.js.map +1 -1
  21. package/lib/programmers/{ControllerProgrammer.d.ts → NestControllerProgrammer.d.ts} +1 -3
  22. package/lib/programmers/NestControllerProgrammer.js +30 -0
  23. package/lib/programmers/NestControllerProgrammer.js.map +1 -0
  24. package/lib/programmers/{RouteProgrammer.d.ts → NestMethodProgrammer.d.ts} +1 -7
  25. package/lib/programmers/NestMethodProgrammer.js +103 -0
  26. package/lib/programmers/NestMethodProgrammer.js.map +1 -0
  27. package/lib/programmers/{ModuleProgrammer.d.ts → NestModuleProgrammer.d.ts} +1 -1
  28. package/lib/programmers/{ModuleProgrammer.js → NestModuleProgrammer.js} +6 -6
  29. package/lib/programmers/NestModuleProgrammer.js.map +1 -0
  30. package/lib/programmers/{MigrateProgrammer.d.ts → NestProgrammer.d.ts} +0 -2
  31. package/lib/programmers/{MigrateProgrammer.js → NestProgrammer.js} +5 -9
  32. package/lib/programmers/{MigrateProgrammer.js.map → NestProgrammer.js.map} +1 -1
  33. package/package.json +1 -1
  34. package/src/{NestiaMigrateApplication.ts → MigrateApplication.ts} +18 -13
  35. package/src/{programmers/ControllerProgrammer.ts → analyzers/ControllerAnalyzer.ts} +107 -155
  36. package/src/{programmers/RouteProgrammer.ts → analyzers/MethodAnalyzer.ts} +2 -213
  37. package/src/analyzers/MigrateAnalyzer.ts +9 -0
  38. package/src/analyzers/RouteAnalyzer.ts +0 -0
  39. package/src/executable/migrate.ts +2 -2
  40. package/src/module.ts +1 -1
  41. package/src/programmers/NestControllerProgrammer.ts +47 -0
  42. package/src/programmers/NestMethodProgrammer.ts +211 -0
  43. package/src/programmers/{ModuleProgrammer.ts → NestModuleProgrammer.ts} +1 -1
  44. package/src/programmers/{MigrateProgrammer.ts → NestProgrammer.ts} +10 -11
  45. package/lib/NestiaMigrateApplication.js.map +0 -1
  46. package/lib/programmers/ControllerProgrammer.js.map +0 -1
  47. package/lib/programmers/ModuleProgrammer.js.map +0 -1
  48. package/lib/programmers/RouteProgrammer.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { IMigrateFile } from "./structures/IMigrateFile";
2
2
  import { IMigrateProgram } from "./structures/IMigrateProgram";
3
3
  import { ISwagger } from "./structures/ISwagger";
4
- export declare class NestiaMigrateApplication {
4
+ export declare class MigrateApplication {
5
5
  readonly swagger: ISwagger;
6
6
  private program;
7
7
  private files;
@@ -3,31 +3,37 @@ 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.NestiaMigrateApplication = void 0;
6
+ exports.MigrateApplication = void 0;
7
7
  const child_process_1 = __importDefault(require("child_process"));
8
+ const fs_1 = __importDefault(require("fs"));
8
9
  const typia_1 = __importDefault(require("typia"));
10
+ const MigrateAnalyzer_1 = require("./analyzers/MigrateAnalyzer");
9
11
  const FileArchiver_1 = require("./archivers/FileArchiver");
10
12
  const TEMPLATE_1 = require("./bundles/TEMPLATE");
11
- const MigrateProgrammer_1 = require("./programmers/MigrateProgrammer");
12
- class NestiaMigrateApplication {
13
+ const NestProgrammer_1 = require("./programmers/NestProgrammer");
14
+ class MigrateApplication {
13
15
  constructor(swagger) {
14
16
  this.generate = (archiver) => (output) => {
15
17
  const program = this.analyze();
16
- const files = MigrateProgrammer_1.MigrateProgrammer.write(program);
18
+ const files = NestProgrammer_1.MigrateProgrammer.write(program);
17
19
  try {
18
20
  child_process_1.default.execSync(`git clone https://github.com/samchon/nestia-template "${output}"`, { stdio: "ignore" });
19
- for (const path of [
20
- "/.git",
21
- "/src/api",
22
- "/src/controllers",
23
- "/src/providers",
24
- "/test/features",
25
- ])
26
- child_process_1.default.execSync(`rm -rf "${output}${path}"`, {
27
- stdio: "ignore",
28
- });
21
+ try {
22
+ for (const path of [
23
+ "/.git",
24
+ "/src/api",
25
+ "/src/controllers",
26
+ "/src/providers",
27
+ "/test/features",
28
+ ])
29
+ fs_1.default.rmSync(`${output}${path}`, {
30
+ recursive: true,
31
+ force: true,
32
+ });
33
+ }
34
+ catch (_a) { }
29
35
  }
30
- catch (_a) {
36
+ catch (_b) {
31
37
  FileArchiver_1.FileArchiver.archive(archiver)(output)(TEMPLATE_1.TEMPLATE);
32
38
  }
33
39
  FileArchiver_1.FileArchiver.archive(archiver)(output)(files);
@@ -1489,16 +1495,16 @@ class NestiaMigrateApplication {
1489
1495
  }
1490
1496
  analyze() {
1491
1497
  if (this.program === null)
1492
- this.program = MigrateProgrammer_1.MigrateProgrammer.analyze(this.swagger);
1498
+ this.program = MigrateAnalyzer_1.MigrateAnalyzer.analyze(this.swagger);
1493
1499
  return this.program;
1494
1500
  }
1495
1501
  write() {
1496
1502
  if (this.files === null) {
1497
1503
  const program = this.analyze();
1498
- this.files = MigrateProgrammer_1.MigrateProgrammer.write(program);
1504
+ this.files = NestProgrammer_1.MigrateProgrammer.write(program);
1499
1505
  }
1500
1506
  return this.files;
1501
1507
  }
1502
1508
  }
1503
- exports.NestiaMigrateApplication = NestiaMigrateApplication;
1504
- //# sourceMappingURL=NestiaMigrateApplication.js.map
1509
+ exports.MigrateApplication = MigrateApplication;
1510
+ //# sourceMappingURL=MigrateApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrateApplication.js","sourceRoot":"","sources":["../src/MigrateApplication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ISwagger } from "../module";
2
+ import { IMigrateController } from "../structures/IMigrateController";
3
+ export declare namespace ControllerAnalyzer {
4
+ const analyze: (swagger: ISwagger) => IMigrateController[];
5
+ }
@@ -1,21 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ControllerProgrammer = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const FilePrinter_1 = require("../utils/FilePrinter");
3
+ exports.ControllerAnalyzer = void 0;
9
4
  const MapUtil_1 = require("../utils/MapUtil");
10
5
  const StringUtil_1 = require("../utils/StringUtil");
11
- const ImportProgrammer_1 = require("./ImportProgrammer");
12
- const RouteProgrammer_1 = require("./RouteProgrammer");
13
- var ControllerProgrammer;
14
- (function (ControllerProgrammer) {
15
- /* -----------------------------------------------------------
16
- ANALYZERS
17
- ----------------------------------------------------------- */
18
- ControllerProgrammer.analyze = (swagger) => {
6
+ const MethodAnalyzer_1 = require("./MethodAnalyzer");
7
+ var ControllerAnalyzer;
8
+ (function (ControllerAnalyzer) {
9
+ ControllerAnalyzer.analyze = (swagger) => {
19
10
  const dict = new Map();
20
11
  // GATHER ROUTES
21
12
  for (const [path, collection] of Object.entries(swagger.paths)) {
@@ -28,7 +19,7 @@ var ControllerProgrammer;
28
19
  // INSERT ROUTES TO THE LAST DIRECTORY
29
20
  const routes = MapUtil_1.MapUtil.take(dict)(location)(() => []);
30
21
  for (const [method, value] of Object.entries(collection)) {
31
- const r = RouteProgrammer_1.RouteProgrammer.analyze(swagger)({
22
+ const r = MethodAnalyzer_1.MethodAnalzyer.analyze(swagger)({
32
23
  path,
33
24
  method,
34
25
  })(value);
@@ -98,23 +89,5 @@ var ControllerProgrammer;
98
89
  }
99
90
  }
100
91
  };
101
- /* -----------------------------------------------------------
102
- WRITERS
103
- ----------------------------------------------------------- */
104
- ControllerProgrammer.write = (components) => (controller) => {
105
- const importer = new ImportProgrammer_1.ImportProgrammer();
106
- const $class = typescript_1.default.factory.createClassDeclaration([
107
- typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
108
- library: "@nestjs/common",
109
- instance: "Controller",
110
- })), [], [typescript_1.default.factory.createStringLiteral(controller.path)])),
111
- typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword),
112
- ], controller.name, [], [], controller.routes.map(RouteProgrammer_1.RouteProgrammer.write(components)(importer)));
113
- return [
114
- ...importer.toStatements((ref) => `${"../".repeat(StringUtil_1.StringUtil.splitWithNormalization(controller.location).length - 1)}api/structures/${ref}`),
115
- ...(importer.empty() ? [] : [FilePrinter_1.FilePrinter.enter()]),
116
- $class,
117
- ];
118
- };
119
- })(ControllerProgrammer || (exports.ControllerProgrammer = ControllerProgrammer = {}));
120
- //# sourceMappingURL=ControllerProgrammer.js.map
92
+ })(ControllerAnalyzer || (exports.ControllerAnalyzer = ControllerAnalyzer = {}));
93
+ //# sourceMappingURL=ControllerAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/ControllerAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ISwagger } from "../module";
2
+ import { IMigrateRoute } from "../structures/IMigrateRoute";
3
+ import { ISwaggerRoute } from "../structures/ISwaggerRoute";
4
+ export declare namespace MethodAnalzyer {
5
+ const analyze: (swagger: ISwagger) => (props: {
6
+ path: string;
7
+ method: string;
8
+ }) => (route: ISwaggerRoute) => IMigrateRoute | null;
9
+ }
@@ -1,24 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RouteProgrammer = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
9
- const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
10
- const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
3
+ exports.MethodAnalzyer = void 0;
11
4
  const Escaper_1 = require("typia/lib/utils/Escaper");
12
- const FilePrinter_1 = require("../utils/FilePrinter");
13
5
  const JsonTypeChecker_1 = require("../utils/JsonTypeChecker");
14
6
  const StringUtil_1 = require("../utils/StringUtil");
15
- const SchemaProgrammer_1 = require("./SchemaProgrammer");
16
- var RouteProgrammer;
17
- (function (RouteProgrammer) {
18
- /* -----------------------------------------------------------
19
- ANALYZERS
20
- ----------------------------------------------------------- */
21
- RouteProgrammer.analyze = (swagger) => (props) => (route) => {
7
+ var MethodAnalzyer;
8
+ (function (MethodAnalzyer) {
9
+ MethodAnalzyer.analyze = (swagger) => (props) => (route) => {
22
10
  var _a, _b, _c, _d, _e, _f;
23
11
  const body = emplaceBodySchema(emplaceReference(swagger)("body"))(route.requestBody);
24
12
  const success = emplaceBodySchema(emplaceReference(swagger)("response"))((_b = (_a = route.responses) === null || _a === void 0 ? void 0 : _a["201"]) !== null && _b !== void 0 ? _b : (_c = route.responses) === null || _c === void 0 ? void 0 : _c["200"]);
@@ -247,96 +235,7 @@ var RouteProgrammer;
247
235
  swagger.components.schemas[name] = schema;
248
236
  return { $ref: `#/components/schemas/${name}` };
249
237
  };
250
- /* -----------------------------------------------------------
251
- WRITERS
252
- ----------------------------------------------------------- */
253
- RouteProgrammer.write = (components) => (importer) => (route) => {
254
- var _a;
255
- const output = route.success
256
- ? SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(route.success.schema)
257
- : TypeFactory_1.TypeFactory.keyword("void");
258
- const method = typescript_1.default.factory.createMethodDeclaration([
259
- ...writeMethodDecorators(components)(importer)(route),
260
- typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.PublicKeyword),
261
- typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.AsyncKeyword),
262
- ], undefined, route.name, undefined, undefined, writeParameters(importer)(components)(route), typescript_1.default.factory.createTypeReferenceNode("Promise", [output]), typescript_1.default.factory.createBlock([
263
- ...[
264
- ...route.parameters.map((p) => StringUtil_1.StringUtil.normalize(p.key)),
265
- ...(route.headers ? ["headers"] : []),
266
- ...(route.query ? ["query"] : []),
267
- ...(route.body ? ["body"] : []),
268
- ].map((str) => typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier(str))),
269
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
270
- library: "typia",
271
- instance: "random",
272
- })), [output], undefined)),
273
- ], true));
274
- return FilePrinter_1.FilePrinter.description(method, (_a = route.description) !== null && _a !== void 0 ? _a : "");
275
- };
276
- const writeMethodDecorators = (components) => (importer) => (route) => {
277
- var _a, _b, _c, _d, _e, _f;
278
- const external = (lib) => (instance) => typescript_1.default.factory.createIdentifier(importer.external({ library: lib, instance }));
279
- const router = (instance) => typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(external("@nestia/core")(instance))(StringUtil_1.StringUtil.capitalize(route.method)), [], [typescript_1.default.factory.createStringLiteral(route.path)]));
280
- const decorators = [];
281
- if ((_a = route.success) === null || _a === void 0 ? void 0 : _a["x-nestia-encrypted"])
282
- decorators.push(router("EncryptedRoute"));
283
- else if (((_b = route.success) === null || _b === void 0 ? void 0 : _b.type) === "text/plain")
284
- decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common")(StringUtil_1.StringUtil.capitalize(route.method)), [], [typescript_1.default.factory.createStringLiteral(route.path)])));
285
- else if (((_c = route.success) === null || _c === void 0 ? void 0 : _c.type) === "application/x-www-form-urlencoded")
286
- decorators.push(router("TypedQuery"));
287
- else if (((_d = route.success) === null || _d === void 0 ? void 0 : _d.type) === "application/json")
288
- decorators.push(router("TypedRoute"));
289
- else if (route.method === "head")
290
- decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common")("Head"), [], [typescript_1.default.factory.createStringLiteral(route.path)])));
291
- for (const [key, value] of Object.entries((_e = route.exceptions) !== null && _e !== void 0 ? _e : {}))
292
- decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestia/core")("TypedException"), [SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(value.schema)], [
293
- isNaN(Number(key))
294
- ? typescript_1.default.factory.createStringLiteral(key)
295
- : ExpressionFactory_1.ExpressionFactory.number(Number(key)),
296
- ...(((_f = value.description) === null || _f === void 0 ? void 0 : _f.length)
297
- ? [typescript_1.default.factory.createStringLiteral(value.description)]
298
- : []),
299
- ])));
300
- return decorators;
301
- };
302
- const writeParameters = (importer) => (components) => (route) => {
303
- var _a;
304
- return [
305
- ...route.parameters.map(({ key, schema: value }) => typescript_1.default.factory.createParameterDeclaration([
306
- typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
307
- library: "@nestia/core",
308
- instance: "TypedParam",
309
- })), undefined, [typescript_1.default.factory.createStringLiteral(key)])),
310
- ], undefined, StringUtil_1.StringUtil.normalize(key), undefined, SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(value))),
311
- ...(route.headers
312
- ? [
313
- writeDtoParameter({ method: "TypedHeaders", variable: "headers" })(importer)(components)(route.headers),
314
- ]
315
- : []),
316
- ...(route.query
317
- ? [
318
- writeDtoParameter({ method: "TypedQuery", variable: "query" })(importer)(components)(route.query),
319
- ]
320
- : []),
321
- ...(route.body
322
- ? [
323
- writeDtoParameter({
324
- method: ((_a = route.body) === null || _a === void 0 ? void 0 : _a["x-nestia-encrypted"])
325
- ? "EncryptedBody"
326
- : "TypedBody",
327
- variable: "body",
328
- })(importer)(components)(route.body.schema),
329
- ]
330
- : []),
331
- ];
332
- };
333
- const writeDtoParameter = (accessor) => (importer) => (components) => (schema) => typescript_1.default.factory.createParameterDeclaration([
334
- typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
335
- library: "@nestia/core",
336
- instance: accessor.method,
337
- })), undefined, undefined)),
338
- ], undefined, StringUtil_1.StringUtil.normalize(accessor.variable), undefined, SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(schema));
339
- })(RouteProgrammer || (exports.RouteProgrammer = RouteProgrammer = {}));
238
+ })(MethodAnalzyer || (exports.MethodAnalzyer = MethodAnalzyer = {}));
340
239
  const SUPPORTED_METHODS = new Set([
341
240
  "GET",
342
241
  "POST",
@@ -345,4 +244,4 @@ const SUPPORTED_METHODS = new Set([
345
244
  "DELETE",
346
245
  "HEAD",
347
246
  ]);
348
- //# sourceMappingURL=RouteProgrammer.js.map
247
+ //# sourceMappingURL=MethodAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/MethodAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { IMigrateProgram, ISwagger } from "../module";
2
+ export declare namespace MigrateAnalyzer {
3
+ const analyze: (swagger: ISwagger) => IMigrateProgram;
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MigrateAnalyzer = void 0;
4
+ const ControllerAnalyzer_1 = require("./ControllerAnalyzer");
5
+ var MigrateAnalyzer;
6
+ (function (MigrateAnalyzer) {
7
+ MigrateAnalyzer.analyze = (swagger) => ({
8
+ swagger,
9
+ controllers: ControllerAnalyzer_1.ControllerAnalyzer.analyze(swagger),
10
+ });
11
+ })(MigrateAnalyzer || (exports.MigrateAnalyzer = MigrateAnalyzer = {}));
12
+ //# sourceMappingURL=MigrateAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrateAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/MigrateAnalyzer.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D,IAAiB,eAAe,CAK/B;AALD,WAAiB,eAAe;IACjB,uBAAO,GAAG,CAAC,OAAiB,EAAmB,EAAE,CAAC,CAAC;QAC9D,OAAO;QACP,WAAW,EAAE,uCAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;KACjD,CAAC,CAAC;AACL,CAAC,EALgB,eAAe,+BAAf,eAAe,QAK/B"}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=RouteAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/RouteAnalyzer.ts"],"names":[],"mappings":""}
@@ -6,7 +6,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
- const NestiaMigrateApplication_1 = require("../NestiaMigrateApplication");
9
+ const MigrateApplication_1 = require("../MigrateApplication");
10
10
  const SetupWizard_1 = require("../utils/SetupWizard");
11
11
  const USAGE = `Wrong command has been detected. Use like below:
12
12
 
@@ -45,7 +45,7 @@ const main = (argv) => {
45
45
  return swagger;
46
46
  })();
47
47
  // DO GENERATE
48
- const app = new NestiaMigrateApplication_1.NestiaMigrateApplication(swagger);
48
+ const app = new MigrateApplication_1.MigrateApplication(swagger);
49
49
  app.generate({
50
50
  mkdir: fs_1.default.mkdirSync,
51
51
  writeFile: (path, content) => fs_1.default.writeFileSync(path, content, "utf8"),
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/executable/migrate.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAExB,0EAAuE;AAEvE,sDAAmD;AAEnD,MAAM,KAAK,GAAG;;;;;CAKb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,IAAc,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,CAAC,GAAuB,EAAE,EAAE,CAC1C,GAAG,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,MAAM,KAAK,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,qBAAqB;IACrB,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7D,4BAA4B;IAC5B,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,GAAG,KAAK,CAAE,CAAC;IAChD,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;SAC9D,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK;QACtC,IAAI,CAAC,qDAAqD,CAAC,CAAC;SACzD,IAAI,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;QAClD,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAExD,eAAe;IACf,MAAM,OAAO,GAAa,CAAC,GAAG,EAAE;QAC9B,IAAI,YAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK;YAChC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACtD,MAAM,KAAK,GAAa,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,KAAK;YAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAW,YAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,GAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,cAAc;IACd,MAAM,GAAG,GAAG,IAAI,mDAAwB,CAAC,OAAO,CAAC,CAAC;IAClD,GAAG,CAAC,QAAQ,CAAC;QACX,KAAK,EAAE,YAAE,CAAC,SAAS;QACnB,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,YAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;KACtE,CAAC,CAAC,MAAM,CAAC,CAAC;IAEX,cAAc;IACd,yBAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC,CAAC;AACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/executable/migrate.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAExB,8DAA2D;AAE3D,sDAAmD;AAEnD,MAAM,KAAK,GAAG;;;;;CAKb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,IAAc,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,CAAC,GAAuB,EAAE,EAAE,CAC1C,GAAG,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,MAAM,KAAK,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,qBAAqB;IACrB,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7D,4BAA4B;IAC5B,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,GAAG,KAAK,CAAE,CAAC;IAChD,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;SAC9D,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK;QACtC,IAAI,CAAC,qDAAqD,CAAC,CAAC;SACzD,IAAI,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;QAClD,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAExD,eAAe;IACf,MAAM,OAAO,GAAa,CAAC,GAAG,EAAE;QAC9B,IAAI,YAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK;YAChC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACtD,MAAM,KAAK,GAAa,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,KAAK;YAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAW,YAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,GAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,cAAc;IACd,MAAM,GAAG,GAAG,IAAI,uCAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,GAAG,CAAC,QAAQ,CAAC;QACX,KAAK,EAAE,YAAE,CAAC,SAAS;QACnB,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,YAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;KACtE,CAAC,CAAC,MAAM,CAAC,CAAC;IAEX,cAAc;IACd,yBAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC,CAAC;AACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/lib/module.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./NestiaMigrateApplication";
1
+ export * from "./MigrateApplication";
2
2
  export * from "./structures/ISwagger";
3
3
  export * from "./structures/IMigrateProgram";
package/lib/module.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./NestiaMigrateApplication"), exports);
17
+ __exportStar(require("./MigrateApplication"), exports);
18
18
  __exportStar(require("./structures/ISwagger"), exports);
19
19
  __exportStar(require("./structures/IMigrateProgram"), exports);
20
20
  //# sourceMappingURL=module.js.map
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAE3C,wDAAsC;AACtC,+DAA6C"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AAErC,wDAAsC;AACtC,+DAA6C"}
@@ -1,8 +1,6 @@
1
1
  import ts from "typescript";
2
2
  import { IMigrateController } from "../structures/IMigrateController";
3
- import { ISwagger } from "../structures/ISwagger";
4
3
  import { ISwaggerComponents } from "../structures/ISwaggerComponents";
5
- export declare namespace ControllerProgrammer {
6
- const analyze: (swagger: ISwagger) => IMigrateController[];
4
+ export declare namespace NestControllerProgrammer {
7
5
  const write: (components: ISwaggerComponents) => (controller: IMigrateController) => ts.Statement[];
8
6
  }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NestControllerProgrammer = void 0;
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ const FilePrinter_1 = require("../utils/FilePrinter");
9
+ const StringUtil_1 = require("../utils/StringUtil");
10
+ const ImportProgrammer_1 = require("./ImportProgrammer");
11
+ const NestMethodProgrammer_1 = require("./NestMethodProgrammer");
12
+ var NestControllerProgrammer;
13
+ (function (NestControllerProgrammer) {
14
+ NestControllerProgrammer.write = (components) => (controller) => {
15
+ const importer = new ImportProgrammer_1.ImportProgrammer();
16
+ const $class = typescript_1.default.factory.createClassDeclaration([
17
+ typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
18
+ library: "@nestjs/common",
19
+ instance: "Controller",
20
+ })), [], [typescript_1.default.factory.createStringLiteral(controller.path)])),
21
+ typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword),
22
+ ], controller.name, [], [], controller.routes.map(NestMethodProgrammer_1.NestMethodProgrammer.write(components)(importer)));
23
+ return [
24
+ ...importer.toStatements((ref) => `${"../".repeat(StringUtil_1.StringUtil.splitWithNormalization(controller.location).length - 1)}api/structures/${ref}`),
25
+ ...(importer.empty() ? [] : [FilePrinter_1.FilePrinter.enter()]),
26
+ $class,
27
+ ];
28
+ };
29
+ })(NestControllerProgrammer || (exports.NestControllerProgrammer = NestControllerProgrammer = {}));
30
+ //# sourceMappingURL=NestControllerProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestControllerProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestControllerProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAI5B,sDAAmD;AACnD,oDAAiD;AACjD,yDAAsD;AACtD,iEAA8D;AAE9D,IAAiB,wBAAwB,CAqCxC;AArCD,WAAiB,wBAAwB;IAC1B,8BAAK,GAChB,CAAC,UAA8B,EAAE,EAAE,CACnC,CAAC,UAA8B,EAAkB,EAAE;QACjD,MAAM,QAAQ,GAAqB,IAAI,mCAAgB,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC9C;YACE,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,QAAQ,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,EACD,EAAE,EACF,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAClD,CACF;YACD,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;SACpD,EACD,UAAU,CAAC,IAAI,EACf,EAAE,EACF,EAAE,EACF,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,2CAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CACxE,CAAC;QACF,OAAO;YACL,GAAG,QAAQ,CAAC,YAAY,CACtB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,KAAK,CAAC,MAAM,CACb,uBAAU,CAAC,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAClE,kBAAkB,GAAG,EAAE,CAC3B;YACD,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,MAAM;SACP,CAAC;IACJ,CAAC,CAAC;AACN,CAAC,EArCgB,wBAAwB,wCAAxB,wBAAwB,QAqCxC"}
@@ -1,13 +1,7 @@
1
1
  import ts from "typescript";
2
2
  import { IMigrateRoute } from "../structures/IMigrateRoute";
3
- import { ISwagger } from "../structures/ISwagger";
4
3
  import { ISwaggerComponents } from "../structures/ISwaggerComponents";
5
- import { ISwaggerRoute } from "../structures/ISwaggerRoute";
6
4
  import { ImportProgrammer } from "./ImportProgrammer";
7
- export declare namespace RouteProgrammer {
8
- const analyze: (swagger: ISwagger) => (props: {
9
- path: string;
10
- method: string;
11
- }) => (route: ISwaggerRoute) => IMigrateRoute | null;
5
+ export declare namespace NestMethodProgrammer {
12
6
  const write: (components: ISwaggerComponents) => (importer: ImportProgrammer) => (route: IMigrateRoute) => ts.MethodDeclaration;
13
7
  }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NestMethodProgrammer = void 0;
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
9
+ const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
10
+ const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
11
+ const FilePrinter_1 = require("../utils/FilePrinter");
12
+ const StringUtil_1 = require("../utils/StringUtil");
13
+ const SchemaProgrammer_1 = require("./SchemaProgrammer");
14
+ var NestMethodProgrammer;
15
+ (function (NestMethodProgrammer) {
16
+ NestMethodProgrammer.write = (components) => (importer) => (route) => {
17
+ var _a;
18
+ const output = route.success
19
+ ? SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(route.success.schema)
20
+ : TypeFactory_1.TypeFactory.keyword("void");
21
+ const method = typescript_1.default.factory.createMethodDeclaration([
22
+ ...writeMethodDecorators(components)(importer)(route),
23
+ typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.PublicKeyword),
24
+ typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.AsyncKeyword),
25
+ ], undefined, route.name, undefined, undefined, writeParameters(importer)(components)(route), typescript_1.default.factory.createTypeReferenceNode("Promise", [output]), typescript_1.default.factory.createBlock([
26
+ ...[
27
+ ...route.parameters.map((p) => StringUtil_1.StringUtil.normalize(p.key)),
28
+ ...(route.headers ? ["headers"] : []),
29
+ ...(route.query ? ["query"] : []),
30
+ ...(route.body ? ["body"] : []),
31
+ ].map((str) => typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier(str))),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
33
+ library: "typia",
34
+ instance: "random",
35
+ })), [output], undefined)),
36
+ ], true));
37
+ return FilePrinter_1.FilePrinter.description(method, (_a = route.description) !== null && _a !== void 0 ? _a : "");
38
+ };
39
+ const writeMethodDecorators = (components) => (importer) => (route) => {
40
+ var _a, _b, _c, _d, _e, _f;
41
+ const external = (lib) => (instance) => typescript_1.default.factory.createIdentifier(importer.external({ library: lib, instance }));
42
+ const router = (instance) => typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(external("@nestia/core")(instance))(StringUtil_1.StringUtil.capitalize(route.method)), [], [typescript_1.default.factory.createStringLiteral(route.path)]));
43
+ const decorators = [];
44
+ if ((_a = route.success) === null || _a === void 0 ? void 0 : _a["x-nestia-encrypted"])
45
+ decorators.push(router("EncryptedRoute"));
46
+ else if (((_b = route.success) === null || _b === void 0 ? void 0 : _b.type) === "text/plain")
47
+ decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common")(StringUtil_1.StringUtil.capitalize(route.method)), [], [typescript_1.default.factory.createStringLiteral(route.path)])));
48
+ else if (((_c = route.success) === null || _c === void 0 ? void 0 : _c.type) === "application/x-www-form-urlencoded")
49
+ decorators.push(router("TypedQuery"));
50
+ else if (((_d = route.success) === null || _d === void 0 ? void 0 : _d.type) === "application/json")
51
+ decorators.push(router("TypedRoute"));
52
+ else if (route.method === "head")
53
+ decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common")("Head"), [], [typescript_1.default.factory.createStringLiteral(route.path)])));
54
+ for (const [key, value] of Object.entries((_e = route.exceptions) !== null && _e !== void 0 ? _e : {}))
55
+ decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestia/core")("TypedException"), [SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(value.schema)], [
56
+ isNaN(Number(key))
57
+ ? typescript_1.default.factory.createStringLiteral(key)
58
+ : ExpressionFactory_1.ExpressionFactory.number(Number(key)),
59
+ ...(((_f = value.description) === null || _f === void 0 ? void 0 : _f.length)
60
+ ? [typescript_1.default.factory.createStringLiteral(value.description)]
61
+ : []),
62
+ ])));
63
+ return decorators;
64
+ };
65
+ const writeParameters = (importer) => (components) => (route) => {
66
+ var _a;
67
+ return [
68
+ ...route.parameters.map(({ key, schema: value }) => typescript_1.default.factory.createParameterDeclaration([
69
+ typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
70
+ library: "@nestia/core",
71
+ instance: "TypedParam",
72
+ })), undefined, [typescript_1.default.factory.createStringLiteral(key)])),
73
+ ], undefined, StringUtil_1.StringUtil.normalize(key), undefined, SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(value))),
74
+ ...(route.headers
75
+ ? [
76
+ writeDtoParameter({ method: "TypedHeaders", variable: "headers" })(importer)(components)(route.headers),
77
+ ]
78
+ : []),
79
+ ...(route.query
80
+ ? [
81
+ writeDtoParameter({ method: "TypedQuery", variable: "query" })(importer)(components)(route.query),
82
+ ]
83
+ : []),
84
+ ...(route.body
85
+ ? [
86
+ writeDtoParameter({
87
+ method: ((_a = route.body) === null || _a === void 0 ? void 0 : _a["x-nestia-encrypted"])
88
+ ? "EncryptedBody"
89
+ : "TypedBody",
90
+ variable: "body",
91
+ })(importer)(components)(route.body.schema),
92
+ ]
93
+ : []),
94
+ ];
95
+ };
96
+ const writeDtoParameter = (accessor) => (importer) => (components) => (schema) => typescript_1.default.factory.createParameterDeclaration([
97
+ typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
98
+ library: "@nestia/core",
99
+ instance: accessor.method,
100
+ })), undefined, undefined)),
101
+ ], undefined, StringUtil_1.StringUtil.normalize(accessor.variable), undefined, SchemaProgrammer_1.SchemaProgrammer.write(importer)(components)(schema));
102
+ })(NestMethodProgrammer || (exports.NestMethodProgrammer = NestMethodProgrammer = {}));
103
+ //# sourceMappingURL=NestMethodProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestMethodProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestMethodProgrammer.ts"],"names":[],"mappings":"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"}