@nestia/migrate 11.0.0-dev.20260305 → 11.0.0-dev.20260312

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 (140) hide show
  1. package/lib/NestiaMigrateApplication.d.ts +24 -0
  2. package/lib/NestiaMigrateApplication.js +21136 -0
  3. package/lib/NestiaMigrateApplication.js.map +1 -0
  4. package/lib/analyzers/NestiaMigrateControllerAnalyzer.d.ts +5 -0
  5. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js +46 -0
  6. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js.map +1 -0
  7. package/lib/archivers/NestiaMigrateFileArchiver.d.ts +8 -0
  8. package/lib/archivers/NestiaMigrateFileArchiver.js +36 -0
  9. package/lib/archivers/NestiaMigrateFileArchiver.js.map +1 -0
  10. package/lib/bundles/NEST_TEMPLATE.d.ts +1 -0
  11. package/lib/bundles/NEST_TEMPLATE.js +55 -0
  12. package/lib/bundles/NEST_TEMPLATE.js.map +1 -0
  13. package/lib/bundles/SDK_TEMPLATE.d.ts +1 -0
  14. package/lib/bundles/SDK_TEMPLATE.js +27 -0
  15. package/lib/bundles/SDK_TEMPLATE.js.map +1 -0
  16. package/lib/executable/NestiaMigrateCommander.d.ts +4 -0
  17. package/lib/executable/NestiaMigrateCommander.js +125 -0
  18. package/lib/executable/NestiaMigrateCommander.js.map +1 -0
  19. package/lib/executable/NestiaMigrateInquirer.d.ts +12 -0
  20. package/lib/executable/NestiaMigrateInquirer.js +91 -0
  21. package/lib/executable/NestiaMigrateInquirer.js.map +1 -0
  22. package/lib/executable/migrate.d.ts +2 -0
  23. package/lib/executable/migrate.js +9 -0
  24. package/lib/executable/migrate.js.map +1 -0
  25. package/lib/factories/TypeLiteralFactory.d.ts +4 -0
  26. package/lib/factories/TypeLiteralFactory.js +35 -0
  27. package/lib/factories/TypeLiteralFactory.js.map +1 -0
  28. package/lib/index.d.ts +3 -0
  29. package/lib/index.js +42 -0
  30. package/lib/index.js.map +1 -0
  31. package/lib/index.mjs +21834 -0
  32. package/lib/index.mjs.map +1 -0
  33. package/lib/module.d.ts +5 -0
  34. package/lib/module.js +22 -0
  35. package/lib/module.js.map +1 -0
  36. package/lib/programmers/NestiaMigrateApiFileProgrammer.d.ts +13 -0
  37. package/lib/programmers/NestiaMigrateApiFileProgrammer.js +40 -0
  38. package/lib/programmers/NestiaMigrateApiFileProgrammer.js.map +1 -0
  39. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.d.ts +14 -0
  40. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js +180 -0
  41. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js.map +1 -0
  42. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.d.ts +15 -0
  43. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js +223 -0
  44. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js.map +1 -0
  45. package/lib/programmers/NestiaMigrateApiProgrammer.d.ts +4 -0
  46. package/lib/programmers/NestiaMigrateApiProgrammer.js +82 -0
  47. package/lib/programmers/NestiaMigrateApiProgrammer.js.map +1 -0
  48. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.d.ts +15 -0
  49. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js +140 -0
  50. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js.map +1 -0
  51. package/lib/programmers/NestiaMigrateApiStartProgrammer.d.ts +4 -0
  52. package/lib/programmers/NestiaMigrateApiStartProgrammer.js +79 -0
  53. package/lib/programmers/NestiaMigrateApiStartProgrammer.js.map +1 -0
  54. package/lib/programmers/NestiaMigrateDtoProgrammer.d.ts +15 -0
  55. package/lib/programmers/NestiaMigrateDtoProgrammer.js +65 -0
  56. package/lib/programmers/NestiaMigrateDtoProgrammer.js.map +1 -0
  57. package/lib/programmers/NestiaMigrateE2eFileProgrammer.d.ts +15 -0
  58. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js +80 -0
  59. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js.map +1 -0
  60. package/lib/programmers/NestiaMigrateE2eProgrammer.d.ts +4 -0
  61. package/lib/programmers/NestiaMigrateE2eProgrammer.js +32 -0
  62. package/lib/programmers/NestiaMigrateE2eProgrammer.js.map +1 -0
  63. package/lib/programmers/NestiaMigrateImportProgrammer.d.ts +18 -0
  64. package/lib/programmers/NestiaMigrateImportProgrammer.js +65 -0
  65. package/lib/programmers/NestiaMigrateImportProgrammer.js.map +1 -0
  66. package/lib/programmers/NestiaMigrateNestControllerProgrammer.d.ts +12 -0
  67. package/lib/programmers/NestiaMigrateNestControllerProgrammer.js +46 -0
  68. package/lib/programmers/NestiaMigrateNestControllerProgrammer.js.map +1 -0
  69. package/lib/programmers/NestiaMigrateNestMethodProgrammer.d.ts +16 -0
  70. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js +221 -0
  71. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js.map +1 -0
  72. package/lib/programmers/NestiaMigrateNestModuleProgrammer.d.ts +5 -0
  73. package/lib/programmers/NestiaMigrateNestModuleProgrammer.js +29 -0
  74. package/lib/programmers/NestiaMigrateNestModuleProgrammer.js.map +1 -0
  75. package/lib/programmers/NestiaMigrateNestProgrammer.d.ts +4 -0
  76. package/lib/programmers/NestiaMigrateNestProgrammer.js +65 -0
  77. package/lib/programmers/NestiaMigrateNestProgrammer.js.map +1 -0
  78. package/lib/programmers/NestiaMigrateSchemaProgrammer.d.ts +10 -0
  79. package/lib/programmers/NestiaMigrateSchemaProgrammer.js +339 -0
  80. package/lib/programmers/NestiaMigrateSchemaProgrammer.js.map +1 -0
  81. package/lib/structures/INestiaMigrateConfig.d.ts +15 -0
  82. package/lib/structures/INestiaMigrateConfig.js +3 -0
  83. package/lib/structures/INestiaMigrateConfig.js.map +1 -0
  84. package/lib/structures/INestiaMigrateContext.d.ts +7 -0
  85. package/lib/structures/INestiaMigrateContext.js +3 -0
  86. package/lib/structures/INestiaMigrateContext.js.map +1 -0
  87. package/lib/structures/INestiaMigrateController.d.ts +7 -0
  88. package/lib/structures/INestiaMigrateController.js +3 -0
  89. package/lib/structures/INestiaMigrateController.js.map +1 -0
  90. package/lib/structures/INestiaMigrateDto.d.ts +7 -0
  91. package/lib/structures/INestiaMigrateDto.js +3 -0
  92. package/lib/structures/INestiaMigrateDto.js.map +1 -0
  93. package/lib/structures/INestiaMigrateFile.d.ts +5 -0
  94. package/lib/structures/INestiaMigrateFile.js +3 -0
  95. package/lib/structures/INestiaMigrateFile.js.map +1 -0
  96. package/lib/structures/INestiaMigrateProgram.d.ts +9 -0
  97. package/lib/structures/INestiaMigrateProgram.js +3 -0
  98. package/lib/structures/INestiaMigrateProgram.js.map +1 -0
  99. package/lib/structures/INestiaMigrateSchema.d.ts +4 -0
  100. package/lib/structures/INestiaMigrateSchema.js +3 -0
  101. package/lib/structures/INestiaMigrateSchema.js.map +1 -0
  102. package/lib/utils/FilePrinter.d.ts +9 -0
  103. package/lib/utils/FilePrinter.js +35 -0
  104. package/lib/utils/FilePrinter.js.map +1 -0
  105. package/lib/utils/MapUtil.d.ts +3 -0
  106. package/lib/utils/MapUtil.js +15 -0
  107. package/lib/utils/MapUtil.js.map +1 -0
  108. package/lib/utils/SetupWizard.d.ts +3 -0
  109. package/lib/utils/SetupWizard.js +18 -0
  110. package/lib/utils/SetupWizard.js.map +1 -0
  111. package/lib/utils/StringUtil.d.ts +6 -0
  112. package/lib/utils/StringUtil.js +108 -0
  113. package/lib/utils/StringUtil.js.map +1 -0
  114. package/lib/utils/openapi-down-convert/RefVisitor.d.ts +52 -0
  115. package/lib/utils/openapi-down-convert/RefVisitor.js +102 -0
  116. package/lib/utils/openapi-down-convert/RefVisitor.js.map +1 -0
  117. package/lib/utils/openapi-down-convert/converter.d.ts +146 -0
  118. package/lib/utils/openapi-down-convert/converter.js +441 -0
  119. package/lib/utils/openapi-down-convert/converter.js.map +1 -0
  120. package/package.json +5 -5
  121. package/src/NestiaMigrateApplication.ts +4 -0
  122. package/src/archivers/NestiaMigrateFileArchiver.ts +28 -28
  123. package/src/bundles/NEST_TEMPLATE.ts +1 -1
  124. package/src/bundles/SDK_TEMPLATE.ts +1 -1
  125. package/src/executable/NestiaMigrateCommander.ts +8 -2
  126. package/src/executable/migrate.ts +7 -7
  127. package/src/index.ts +4 -4
  128. package/src/module.ts +3 -2
  129. package/src/programmers/NestiaMigrateApiProgrammer.ts +107 -107
  130. package/src/programmers/NestiaMigrateNestModuleProgrammer.ts +65 -65
  131. package/src/programmers/NestiaMigrateNestProgrammer.ts +88 -88
  132. package/src/programmers/index.ts +15 -0
  133. package/src/structures/INestiaMigrateConfig.ts +19 -19
  134. package/src/structures/INestiaMigrateFile.ts +5 -5
  135. package/src/structures/INestiaMigrateSchema.ts +4 -4
  136. package/src/structures/index.ts +4 -0
  137. package/src/utils/MapUtil.ts +13 -13
  138. package/src/utils/SetupWizard.ts +12 -12
  139. package/src/utils/openapi-down-convert/RefVisitor.ts +134 -134
  140. package/src/utils/openapi-down-convert/converter.ts +536 -536
@@ -0,0 +1,223 @@
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.NestiaMigrateApiNamespaceProgrammer = void 0;
7
+ const core_1 = require("@typia/core");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const FilePrinter_1 = require("../utils/FilePrinter");
10
+ const NestiaMigrateApiSimulationProgrammer_1 = require("./NestiaMigrateApiSimulationProgrammer");
11
+ const NestiaMigrateSchemaProgrammer_1 = require("./NestiaMigrateSchemaProgrammer");
12
+ var NestiaMigrateApiNamespaceProgrammer;
13
+ (function (NestiaMigrateApiNamespaceProgrammer) {
14
+ NestiaMigrateApiNamespaceProgrammer.write = (ctx) => {
15
+ const types = writeTypes(ctx);
16
+ return typescript_1.default.factory.createModuleDeclaration([typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(ctx.route.accessor.at(-1)), typescript_1.default.factory.createModuleBlock([
17
+ ...types,
18
+ ...(types.length ? [FilePrinter_1.FilePrinter.newLine()] : []),
19
+ writeMetadata(ctx),
20
+ FilePrinter_1.FilePrinter.newLine(),
21
+ writePathFunction(ctx),
22
+ ...(ctx.config.simulate === true
23
+ ? [
24
+ NestiaMigrateApiSimulationProgrammer_1.NestiaMigrateApiSimulationProgrammer.random(ctx),
25
+ NestiaMigrateApiSimulationProgrammer_1.NestiaMigrateApiSimulationProgrammer.simulate(ctx),
26
+ ]
27
+ : []),
28
+ ]), typescript_1.default.NodeFlags.Namespace);
29
+ };
30
+ NestiaMigrateApiNamespaceProgrammer.writePathCallExpression = (config, route) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(`${route.accessor.at(-1)}.path`), undefined, route.parameters.length === 0 && route.query === null
31
+ ? []
32
+ : config.keyword === true
33
+ ? [typescript_1.default.factory.createIdentifier("props")]
34
+ : [...route.parameters, ...(route.query ? [route.query] : [])].map((p) => typescript_1.default.factory.createIdentifier(p.key)));
35
+ const writeTypes = (ctx) => {
36
+ const array = [];
37
+ const declare = (name, type) => array.push(typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], name, undefined, type));
38
+ if (ctx.config.keyword === true &&
39
+ (ctx.route.parameters.length > 0 || ctx.route.query || ctx.route.body))
40
+ declare("Props", NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
41
+ components: ctx.components,
42
+ importer: ctx.importer,
43
+ schema: {
44
+ type: "object",
45
+ properties: Object.fromEntries([
46
+ ...ctx.route.parameters.map((p) => [
47
+ p.key,
48
+ Object.assign(Object.assign({}, p.schema), { description: p.parameter().description }),
49
+ ]),
50
+ ...(ctx.route.query
51
+ ? [
52
+ [
53
+ ctx.route.query.key,
54
+ Object.assign(Object.assign({}, ctx.route.query.schema), { title: ctx.route.query.title(), description: ctx.route.query.description() }),
55
+ ],
56
+ ]
57
+ : []),
58
+ ...(ctx.route.body
59
+ ? [
60
+ [
61
+ ctx.route.body.key,
62
+ Object.assign(Object.assign({}, ctx.route.body.schema), { description: ctx.route.body.description() }),
63
+ ],
64
+ ]
65
+ : []),
66
+ ]),
67
+ required: [
68
+ ...ctx.route.parameters.map((p) => p.key),
69
+ ...(ctx.route.query ? [ctx.route.query.key] : []),
70
+ ...(ctx.route.body ? [ctx.route.body.key] : []),
71
+ ],
72
+ },
73
+ }));
74
+ if (ctx.route.headers)
75
+ declare("Headers", NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
76
+ components: ctx.components,
77
+ importer: ctx.importer,
78
+ schema: ctx.route.headers.schema,
79
+ }));
80
+ if (ctx.route.query)
81
+ declare("Query", NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
82
+ components: ctx.components,
83
+ importer: ctx.importer,
84
+ schema: ctx.route.query.schema,
85
+ }));
86
+ if (ctx.route.body)
87
+ declare("Body", NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
88
+ components: ctx.components,
89
+ importer: ctx.importer,
90
+ schema: ctx.route.body.schema,
91
+ }));
92
+ if (ctx.route.success)
93
+ declare("Response", NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
94
+ components: ctx.components,
95
+ importer: ctx.importer,
96
+ schema: ctx.route.success.schema,
97
+ }));
98
+ return array;
99
+ };
100
+ const writeMetadata = (ctx) => {
101
+ var _a, _b, _c, _d;
102
+ return constant("METADATA", typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression([
103
+ typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createStringLiteral(ctx.route.method.toUpperCase())),
104
+ typescript_1.default.factory.createPropertyAssignment("path", typescript_1.default.factory.createStringLiteral(getPath(ctx.route))),
105
+ typescript_1.default.factory.createPropertyAssignment("request", ctx.route.body
106
+ ? core_1.LiteralFactory.write({
107
+ type: ctx.route.body.type,
108
+ encrypted: !!ctx.route.body["x-nestia-encrypted"],
109
+ })
110
+ : typescript_1.default.factory.createNull()),
111
+ typescript_1.default.factory.createPropertyAssignment("response", ctx.route.method.toUpperCase() !== "HEAD"
112
+ ? core_1.LiteralFactory.write({
113
+ type: (_b = (_a = ctx.route.success) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : "application/json",
114
+ encrypted: !!((_c = ctx.route.success) === null || _c === void 0 ? void 0 : _c["x-nestia-encrypted"]),
115
+ })
116
+ : typescript_1.default.factory.createNull()),
117
+ ...(((_d = ctx.route.success) === null || _d === void 0 ? void 0 : _d.type) === "application/x-www-form-urlencoded"
118
+ ? [
119
+ typescript_1.default.factory.createPropertyAssignment("parseQuery", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(`${ctx.importer.external({
120
+ type: "default",
121
+ library: "typia",
122
+ name: "typia",
123
+ })}.http.createAssertQuery`), [
124
+ NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
125
+ components: ctx.components,
126
+ importer: ctx.importer,
127
+ schema: ctx.route.success.schema,
128
+ }),
129
+ ], undefined)),
130
+ ]
131
+ : []),
132
+ ], true), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("const"))));
133
+ };
134
+ const writePathFunction = (ctx) => {
135
+ const empty = ctx.route.parameters.length === 0 && ctx.route.query === null;
136
+ const property = (key) => ctx.config.keyword === true
137
+ ? core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("props"), key)
138
+ : typescript_1.default.factory.createIdentifier(key);
139
+ const out = (body) => constant("path", typescript_1.default.factory.createArrowFunction([], [], empty
140
+ ? []
141
+ : ctx.config.keyword === true
142
+ ? [
143
+ core_1.IdentifierFactory.parameter("props", ctx.route.body
144
+ ? typescript_1.default.factory.createTypeReferenceNode("Omit", [
145
+ typescript_1.default.factory.createTypeReferenceNode("Props"),
146
+ typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(ctx.route.body.key)),
147
+ ])
148
+ : typescript_1.default.factory.createTypeReferenceNode("Props")),
149
+ ]
150
+ : [
151
+ ...ctx.route.parameters.map((p) => core_1.IdentifierFactory.parameter(p.key, NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
152
+ components: ctx.components,
153
+ importer: ctx.importer,
154
+ schema: p.schema,
155
+ }))),
156
+ ...(ctx.route.query
157
+ ? [
158
+ core_1.IdentifierFactory.parameter(ctx.route.query.key, typescript_1.default.factory.createTypeReferenceNode(`${ctx.route.accessor.at(-1)}.Query`)),
159
+ ]
160
+ : []),
161
+ ], undefined, undefined, body));
162
+ const template = () => {
163
+ const path = getPath(ctx.route);
164
+ const split = path.split(":");
165
+ if (split.length === 1)
166
+ return typescript_1.default.factory.createStringLiteral(path);
167
+ return typescript_1.default.factory.createTemplateExpression(typescript_1.default.factory.createTemplateHead(split[0]), split.slice(1).map((s, i, arr) => {
168
+ const name = s.split("/")[0];
169
+ return typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("encodeURIComponent"), undefined, [
170
+ typescript_1.default.factory.createBinaryExpression(property(ctx.route.parameters.find((p) => p.name === name).key), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionToken), typescript_1.default.factory.createStringLiteral("null")),
171
+ ]), (i !== arr.length - 1
172
+ ? typescript_1.default.factory.createTemplateMiddle
173
+ : typescript_1.default.factory.createTemplateTail)(s.substring(name.length)));
174
+ }));
175
+ };
176
+ if (!ctx.route.query)
177
+ return out(template());
178
+ const computeName = (str) => ctx.route.parameters.find((p) => p.key === str) !== undefined
179
+ ? computeName("_" + str)
180
+ : str;
181
+ const variables = computeName("variables");
182
+ return out(typescript_1.default.factory.createBlock([
183
+ local({
184
+ name: variables,
185
+ type: "URLSearchParams",
186
+ expression: typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("URLSearchParams"), [], []),
187
+ }),
188
+ typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([
189
+ typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createArrayBindingPattern([
190
+ typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier("key"), undefined),
191
+ typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier("value"), undefined),
192
+ ]), undefined, undefined, undefined),
193
+ ], typescript_1.default.NodeFlags.Const), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.entries"), undefined, [
194
+ typescript_1.default.factory.createAsExpression(property(ctx.route.query.key), core_1.TypeFactory.keyword("any")),
195
+ ]), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), typescript_1.default.factory.createIdentifier("value")), typescript_1.default.factory.createContinueStatement(), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Array.isArray"), undefined, [typescript_1.default.factory.createIdentifier("value")]), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier("value"), typescript_1.default.factory.createIdentifier("forEach")), undefined, [
196
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [core_1.IdentifierFactory.parameter("elem")], undefined, undefined, typescript_1.default.factory.createCallExpression(core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables), "append"), undefined, [
197
+ typescript_1.default.factory.createIdentifier("key"),
198
+ typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("String"), undefined, [typescript_1.default.factory.createIdentifier("elem")]),
199
+ ])),
200
+ ])), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables), "set"), undefined, [
201
+ typescript_1.default.factory.createIdentifier("key"),
202
+ typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("String"), undefined, [typescript_1.default.factory.createIdentifier("value")]),
203
+ ]))))),
204
+ local({
205
+ name: "location",
206
+ type: "string",
207
+ expression: template(),
208
+ }),
209
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createStrictEquality(core_1.ExpressionFactory.number(0), core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables), "size")), undefined, typescript_1.default.factory.createIdentifier("location"), undefined, typescript_1.default.factory.createTemplateExpression(typescript_1.default.factory.createTemplateHead(""), [
210
+ typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createIdentifier("location"), typescript_1.default.factory.createTemplateMiddle("?")),
211
+ typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createCallExpression(core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables), "toString"), undefined, undefined), typescript_1.default.factory.createTemplateTail("")),
212
+ ]))),
213
+ ], true));
214
+ };
215
+ })(NestiaMigrateApiNamespaceProgrammer || (exports.NestiaMigrateApiNamespaceProgrammer = NestiaMigrateApiNamespaceProgrammer = {}));
216
+ const constant = (name, expression) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
217
+ typescript_1.default.factory.createVariableDeclaration(name, undefined, undefined, expression),
218
+ ], typescript_1.default.NodeFlags.Const));
219
+ const getPath = (route) => (route.emendedPath.startsWith("/") ? "" : "/") + route.emendedPath;
220
+ const local = (props) => typescript_1.default.factory.createVariableStatement([], typescript_1.default.factory.createVariableDeclarationList([
221
+ typescript_1.default.factory.createVariableDeclaration(props.name, undefined, typescript_1.default.factory.createTypeReferenceNode(props.type), props.expression),
222
+ ], typescript_1.default.NodeFlags.Const));
223
+ //# sourceMappingURL=NestiaMigrateApiNamespaceProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestiaMigrateApiNamespaceProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateApiNamespaceProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { INestiaMigrateContext } from "../structures/INestiaMigrateContext";
2
+ export declare namespace NestiaMigrateApiProgrammer {
3
+ const write: (ctx: INestiaMigrateContext) => Record<string, string>;
4
+ }
@@ -0,0 +1,82 @@
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.NestiaMigrateApiProgrammer = void 0;
7
+ const tstl_1 = require("tstl");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const FilePrinter_1 = require("../utils/FilePrinter");
10
+ const NestiaMigrateApiFileProgrammer_1 = require("./NestiaMigrateApiFileProgrammer");
11
+ const NestiaMigrateDtoProgrammer_1 = require("./NestiaMigrateDtoProgrammer");
12
+ const NestiaMigrateImportProgrammer_1 = require("./NestiaMigrateImportProgrammer");
13
+ var NestiaMigrateApiProgrammer;
14
+ (function (NestiaMigrateApiProgrammer) {
15
+ NestiaMigrateApiProgrammer.write = (ctx) => {
16
+ const dict = new tstl_1.HashMap((x) => (0, tstl_1.hash)(x.join(".")), (x, y) => x.length === y.length && x.join(".") === y.join("."));
17
+ for (const route of ctx.application.routes) {
18
+ const namespace = route.accessor.slice(0, -1);
19
+ let last = dict.take(namespace, () => ({
20
+ config: ctx.config,
21
+ components: ctx.application.document().components,
22
+ namespace,
23
+ routes: [],
24
+ children: new Set(),
25
+ }));
26
+ last.routes.push(route);
27
+ namespace.forEach((_s, i, array) => {
28
+ const partial = namespace.slice(0, array.length - i - 1);
29
+ const props = dict.take(partial, () => ({
30
+ config: ctx.config,
31
+ components: ctx.application.document().components,
32
+ namespace: partial,
33
+ children: new Set(),
34
+ routes: [],
35
+ }));
36
+ props.children.add(last.namespace.at(-1));
37
+ last = props;
38
+ });
39
+ }
40
+ // DO GENERATE
41
+ const files = Object.fromEntries(dict.toJSON().map(({ second: value }) => [
42
+ `src/${ctx.mode === "nest" ? "api/" : ""}functional/${[...value.namespace, "index.ts"].join("/")}`,
43
+ FilePrinter_1.FilePrinter.write({
44
+ statements: NestiaMigrateApiFileProgrammer_1.NestiaMigrateApiFileProgrammer.write(Object.assign(Object.assign({}, value), { config: ctx.config, components: ctx.application.document().components })),
45
+ }),
46
+ ]));
47
+ if (ctx.mode === "sdk")
48
+ for (const [key, value] of NestiaMigrateDtoProgrammer_1.NestiaMigrateDtoProgrammer.compose({
49
+ config: ctx.config,
50
+ components: ctx.application.document().components,
51
+ }).entries())
52
+ files[`src/structures/${key}.ts`] = FilePrinter_1.FilePrinter.write({
53
+ statements: writeDtoFile(key, value),
54
+ });
55
+ return files;
56
+ };
57
+ const writeDtoFile = (key, modulo) => {
58
+ const importer = new NestiaMigrateImportProgrammer_1.NestiaMigrateImportProgrammer();
59
+ const statements = iterate(importer, modulo);
60
+ if (statements.length === 0)
61
+ return [];
62
+ return [
63
+ ...importer.toStatements((name) => `./${name}`, key),
64
+ ...(importer.empty() ? [] : [FilePrinter_1.FilePrinter.newLine()]),
65
+ ...statements,
66
+ ];
67
+ };
68
+ const iterate = (importer, modulo) => {
69
+ const output = [];
70
+ if (modulo.programmer !== null)
71
+ output.push(modulo.programmer(importer));
72
+ if (modulo.children.size !== 0) {
73
+ const internal = [];
74
+ for (const child of modulo.children.values())
75
+ internal.push(...iterate(importer, child));
76
+ output.push(typescript_1.default.factory.createModuleDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(modulo.name), typescript_1.default.factory.createModuleBlock(internal), typescript_1.default.NodeFlags.Namespace));
77
+ }
78
+ output.push(FilePrinter_1.FilePrinter.newLine());
79
+ return output;
80
+ };
81
+ })(NestiaMigrateApiProgrammer || (exports.NestiaMigrateApiProgrammer = NestiaMigrateApiProgrammer = {}));
82
+ //# sourceMappingURL=NestiaMigrateApiProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestiaMigrateApiProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateApiProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { IHttpMigrateRoute } from "@typia/interface";
2
+ import ts from "typescript";
3
+ import { OpenApi } from "typia";
4
+ import { INestiaMigrateConfig } from "../structures/INestiaMigrateConfig";
5
+ import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
6
+ export declare namespace NestiaMigrateApiSimulationProgrammer {
7
+ interface IContext {
8
+ config: INestiaMigrateConfig;
9
+ components: OpenApi.IComponents;
10
+ importer: NestiaMigrateImportProgrammer;
11
+ route: IHttpMigrateRoute;
12
+ }
13
+ const random: (ctx: IContext) => ts.VariableStatement;
14
+ const simulate: (ctx: IContext) => ts.VariableStatement;
15
+ }
@@ -0,0 +1,140 @@
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.NestiaMigrateApiSimulationProgrammer = void 0;
7
+ const core_1 = require("@typia/core");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const NestiaMigrateApiFunctionProgrammer_1 = require("./NestiaMigrateApiFunctionProgrammer");
10
+ const NestiaMigrateApiNamespaceProgrammer_1 = require("./NestiaMigrateApiNamespaceProgrammer");
11
+ const NestiaMigrateSchemaProgrammer_1 = require("./NestiaMigrateSchemaProgrammer");
12
+ var NestiaMigrateApiSimulationProgrammer;
13
+ (function (NestiaMigrateApiSimulationProgrammer) {
14
+ NestiaMigrateApiSimulationProgrammer.random = (ctx) => {
15
+ const output = ctx.route.success
16
+ ? NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
17
+ components: ctx.components,
18
+ importer: ctx.importer,
19
+ schema: ctx.route.success.schema,
20
+ })
21
+ : core_1.TypeFactory.keyword("void");
22
+ return constant("random", typescript_1.default.factory.createArrowFunction(undefined, undefined, [], output, undefined, typescript_1.default.factory.createCallExpression(core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(ctx.importer.external({
23
+ type: "default",
24
+ library: "typia",
25
+ name: "typia",
26
+ })), "random"), [output], undefined)));
27
+ };
28
+ NestiaMigrateApiSimulationProgrammer.simulate = (ctx) => {
29
+ const caller = () => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("random"), undefined, undefined);
30
+ return constant("simulate", typescript_1.default.factory.createArrowFunction(undefined, undefined, NestiaMigrateApiFunctionProgrammer_1.NestiaMigrateApiFunctionProgrammer.writeParameterDeclarations(ctx, ctx.route.parameters.length === 0 &&
31
+ ctx.route.query === null &&
32
+ ctx.route.body === null
33
+ ? "_connection"
34
+ : undefined), typescript_1.default.factory.createTypeReferenceNode(ctx.route.success ? "Response" : "void"), undefined, typescript_1.default.factory.createBlock([...assert(ctx), typescript_1.default.factory.createReturnStatement(caller())], true)));
35
+ };
36
+ const assert = (ctx) => {
37
+ var _a, _b;
38
+ const property = (key) => ctx.config.keyword === true
39
+ ? core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("props"), key)
40
+ : typescript_1.default.factory.createIdentifier(key);
41
+ const parameters = [
42
+ ...ctx.route.parameters.map((p) => ({
43
+ category: "param",
44
+ name: p.key,
45
+ schema: NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
46
+ components: ctx.components,
47
+ importer: ctx.importer,
48
+ schema: p.schema,
49
+ }),
50
+ })),
51
+ ...(ctx.route.query
52
+ ? [
53
+ {
54
+ category: "query",
55
+ name: ctx.route.query.key,
56
+ schema: NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
57
+ components: ctx.components,
58
+ importer: ctx.importer,
59
+ schema: ctx.route.query.schema,
60
+ }),
61
+ },
62
+ ]
63
+ : []),
64
+ ...(ctx.route.body
65
+ ? [
66
+ {
67
+ category: "body",
68
+ name: ctx.route.body.key,
69
+ schema: NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
70
+ components: ctx.components,
71
+ importer: ctx.importer,
72
+ schema: ctx.route.body.schema,
73
+ }),
74
+ },
75
+ ]
76
+ : []),
77
+ ];
78
+ if (parameters.length === 0)
79
+ return [];
80
+ const validator = core_1.StatementFactory.constant({
81
+ name: "assert",
82
+ value: typescript_1.default.factory.createCallExpression(core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(ctx.importer.external({
83
+ type: "instance",
84
+ library: `@nestia/fetcher`,
85
+ name: "NestiaSimulator",
86
+ })), "assert"), undefined, [
87
+ typescript_1.default.factory.createObjectLiteralExpression([
88
+ typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createIdentifier("METADATA.method")),
89
+ typescript_1.default.factory.createPropertyAssignment("host", typescript_1.default.factory.createIdentifier("connection.host")),
90
+ typescript_1.default.factory.createPropertyAssignment("path", NestiaMigrateApiNamespaceProgrammer_1.NestiaMigrateApiNamespaceProgrammer.writePathCallExpression(ctx.config, ctx.route)),
91
+ typescript_1.default.factory.createPropertyAssignment("contentType", typescript_1.default.factory.createStringLiteral((_b = (_a = ctx.route.success) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : "application/json")),
92
+ ], true),
93
+ ]),
94
+ });
95
+ const individual = parameters
96
+ .map((p) => typescript_1.default.factory.createCallExpression((() => {
97
+ const base = core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("assert"), p.category);
98
+ if (p.category !== "param")
99
+ return base;
100
+ return typescript_1.default.factory.createCallExpression(base, undefined, [
101
+ typescript_1.default.factory.createStringLiteral(p.name),
102
+ ]);
103
+ })(), undefined, [
104
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createCallExpression(core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(ctx.importer.external({
105
+ type: "default",
106
+ library: "typia",
107
+ name: "typia",
108
+ })), "assert"), undefined, [
109
+ p.category === "headers"
110
+ ? typescript_1.default.factory.createIdentifier("connection.headers")
111
+ : property(p.name),
112
+ ])),
113
+ ]))
114
+ .map(typescript_1.default.factory.createExpressionStatement);
115
+ return [validator, tryAndCatch(ctx.importer, individual)];
116
+ };
117
+ const tryAndCatch = (importer, individual) => typescript_1.default.factory.createTryStatement(typescript_1.default.factory.createBlock(individual, true), typescript_1.default.factory.createCatchClause("exp", typescript_1.default.factory.createBlock([
118
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLogicalNot(typescript_1.default.factory.createCallExpression(core_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(importer.external({
119
+ type: "default",
120
+ library: "typia",
121
+ name: "typia",
122
+ })), "is"), [
123
+ typescript_1.default.factory.createTypeReferenceNode(importer.external({
124
+ type: "instance",
125
+ library: "@nestia/fetcher",
126
+ name: "HttpError",
127
+ })),
128
+ ], [typescript_1.default.factory.createIdentifier("exp")])), typescript_1.default.factory.createThrowStatement(typescript_1.default.factory.createIdentifier("exp"))),
129
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression([
130
+ typescript_1.default.factory.createPropertyAssignment("success", typescript_1.default.factory.createFalse()),
131
+ typescript_1.default.factory.createPropertyAssignment("status", typescript_1.default.factory.createIdentifier("exp.status")),
132
+ typescript_1.default.factory.createPropertyAssignment("headers", typescript_1.default.factory.createIdentifier("exp.headers")),
133
+ typescript_1.default.factory.createPropertyAssignment("data", typescript_1.default.factory.createIdentifier("exp.toJSON().message")),
134
+ ], true), core_1.TypeFactory.keyword("any"))),
135
+ ], true)), undefined);
136
+ })(NestiaMigrateApiSimulationProgrammer || (exports.NestiaMigrateApiSimulationProgrammer = NestiaMigrateApiSimulationProgrammer = {}));
137
+ const constant = (name, expression) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
138
+ typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(name), undefined, undefined, expression),
139
+ ], typescript_1.default.NodeFlags.Const));
140
+ //# sourceMappingURL=NestiaMigrateApiSimulationProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestiaMigrateApiSimulationProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateApiSimulationProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { INestiaMigrateContext } from "../structures/INestiaMigrateContext";
2
+ export declare namespace NestiaMigrateApiStartProgrammer {
3
+ const write: (context: INestiaMigrateContext) => Record<string, string>;
4
+ }
@@ -0,0 +1,79 @@
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.NestiaMigrateApiStartProgrammer = void 0;
7
+ const core_1 = require("@typia/core");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const FilePrinter_1 = require("../utils/FilePrinter");
10
+ const NestiaMigrateE2eFileProgrammer_1 = require("./NestiaMigrateE2eFileProgrammer");
11
+ const NestiaMigrateImportProgrammer_1 = require("./NestiaMigrateImportProgrammer");
12
+ var NestiaMigrateApiStartProgrammer;
13
+ (function (NestiaMigrateApiStartProgrammer) {
14
+ NestiaMigrateApiStartProgrammer.write = (context) => {
15
+ const importer = new NestiaMigrateImportProgrammer_1.NestiaMigrateImportProgrammer();
16
+ const main = writeMain(context, importer, pick(context.application.routes));
17
+ const statements = [
18
+ ...importer.toStatements((name) => `@ORGANIZATION/PROJECT-api/lib/structures/${name}`),
19
+ FilePrinter_1.FilePrinter.newLine(),
20
+ typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
21
+ typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("TestGlobal")),
22
+ ])), typescript_1.default.factory.createStringLiteral("./TestGlobal"), undefined),
23
+ FilePrinter_1.FilePrinter.newLine(),
24
+ main,
25
+ typescript_1.default.factory.createExpressionStatement(writeStarter()),
26
+ ];
27
+ return {
28
+ "test/start.ts": FilePrinter_1.FilePrinter.write({ statements }),
29
+ };
30
+ };
31
+ const writeMain = (ctx, importer, route) => core_1.StatementFactory.constant({
32
+ name: "main",
33
+ value: typescript_1.default.factory.createArrowFunction([typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.AsyncKeyword)], undefined, [], undefined, undefined, typescript_1.default.factory.createBlock([
34
+ writeConnection(ctx, importer),
35
+ ...NestiaMigrateE2eFileProgrammer_1.NestiaMigrateE2eFunctionProgrammer.writeBody({
36
+ config: ctx.config,
37
+ components: ctx.application.document().components,
38
+ importer,
39
+ route,
40
+ }),
41
+ ], true)),
42
+ });
43
+ const writeConnection = (ctx, importer) => {
44
+ var _a, _b, _c;
45
+ return typescript_1.default.factory.createVariableStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([
46
+ typescript_1.default.factory.createVariableDeclaration("connection", undefined, typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier(importer.external({
47
+ type: "default",
48
+ library: "@ORGANIZATION/PROJECT-api",
49
+ name: "api",
50
+ })), typescript_1.default.factory.createIdentifier("IConnection"))), typescript_1.default.factory.createObjectLiteralExpression([
51
+ typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier("TestGlobal"), "connection"), undefined, undefined)),
52
+ ...(((_c = (_b = (_a = ctx.application.document().servers) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.url) === null || _c === void 0 ? void 0 : _c.length)
53
+ ? [
54
+ typescript_1.default.factory.createPropertyAssignment("host", typescript_1.default.factory.createStringLiteral(ctx.application.document().servers[0].url)),
55
+ ]
56
+ : []),
57
+ ...(ctx.config.simulate === true
58
+ ? [
59
+ typescript_1.default.factory.createPropertyAssignment("simulate", typescript_1.default.factory.createTrue()),
60
+ ]
61
+ : []),
62
+ ], true)),
63
+ ], typescript_1.default.NodeFlags.Const));
64
+ };
65
+ const writeStarter = () => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("main"), undefined, undefined), "catch"), undefined, [
66
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [core_1.IdentifierFactory.parameter("exp")], undefined, undefined, typescript_1.default.factory.createBlock([
67
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier("console"), "log"), undefined, [typescript_1.default.factory.createIdentifier("exp")])),
68
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier("process"), "exit"), undefined, [
69
+ typescript_1.default.factory.createPrefixMinus(typescript_1.default.factory.createNumericLiteral("1")),
70
+ ])),
71
+ ], true)),
72
+ ]);
73
+ })(NestiaMigrateApiStartProgrammer || (exports.NestiaMigrateApiStartProgrammer = NestiaMigrateApiStartProgrammer = {}));
74
+ const pick = (array) => {
75
+ const rand = Math.random() * array.length;
76
+ const index = Math.min(array.length - 1, Math.floor(rand));
77
+ return array[index];
78
+ };
79
+ //# sourceMappingURL=NestiaMigrateApiStartProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestiaMigrateApiStartProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateApiStartProgrammer.ts"],"names":[],"mappings":"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"}