@nestia/migrate 14.0.1 → 14.0.2
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.
- package/lib/NestiaMigrateApplication.d.ts +111 -0
- package/lib/NestiaMigrateApplication.js +148 -9
- package/lib/NestiaMigrateApplication.js.map +1 -1
- package/lib/NestiaMigrateApplication.mjs +147 -5
- package/lib/analyzers/NestiaMigrateControllerAnalyzer.d.ts +45 -0
- package/lib/analyzers/NestiaMigrateControllerAnalyzer.js +59 -3
- package/lib/analyzers/NestiaMigrateControllerAnalyzer.js.map +1 -1
- package/lib/analyzers/NestiaMigrateControllerAnalyzer.mjs +9 -3
- package/lib/archivers/NestiaMigrateFileArchiver.d.ts +34 -0
- package/lib/archivers/NestiaMigrateFileArchiver.js +34 -0
- package/lib/archivers/NestiaMigrateFileArchiver.js.map +1 -1
- package/lib/bundles/NEST_TEMPLATE.js +1 -1
- package/lib/bundles/NEST_TEMPLATE.mjs +1 -1
- package/lib/bundles/SDK_TEMPLATE.js +1 -1
- package/lib/bundles/SDK_TEMPLATE.mjs +1 -1
- package/lib/executable/NestiaMigrateCommander.d.ts +36 -0
- package/lib/executable/NestiaMigrateCommander.js +38 -0
- package/lib/executable/NestiaMigrateCommander.js.map +1 -1
- package/lib/executable/NestiaMigrateCommander.mjs +3 -1
- package/lib/executable/NestiaMigrateInquirer.d.ts +29 -0
- package/lib/executable/NestiaMigrateInquirer.js +20 -0
- package/lib/executable/NestiaMigrateInquirer.js.map +1 -1
- package/lib/factories/ExpressionFactory.d.ts +14 -0
- package/lib/factories/ExpressionFactory.js +14 -0
- package/lib/factories/ExpressionFactory.js.map +1 -1
- package/lib/factories/IdentifierFactory.d.ts +20 -0
- package/lib/factories/IdentifierFactory.js +20 -0
- package/lib/factories/IdentifierFactory.js.map +1 -1
- package/lib/factories/LiteralFactory.d.ts +18 -2
- package/lib/factories/LiteralFactory.js +18 -2
- package/lib/factories/LiteralFactory.js.map +1 -1
- package/lib/factories/StatementFactory.d.ts +26 -1
- package/lib/factories/StatementFactory.js +26 -1
- package/lib/factories/StatementFactory.js.map +1 -1
- package/lib/factories/SupportedStringFormats.d.ts +6 -0
- package/lib/factories/SupportedStringFormats.js +33 -0
- package/lib/factories/SupportedStringFormats.js.map +1 -0
- package/lib/factories/SupportedStringFormats.mjs +34 -0
- package/lib/factories/SupportedStringFormats.mjs.map +1 -0
- package/lib/factories/TypeFactory.d.ts +21 -0
- package/lib/factories/TypeFactory.js +13 -0
- package/lib/factories/TypeFactory.js.map +1 -1
- package/lib/factories/TypeLiteralFactory.d.ts +18 -0
- package/lib/factories/TypeLiteralFactory.js +18 -0
- package/lib/factories/TypeLiteralFactory.js.map +1 -1
- package/lib/internal/ts.d.ts +153 -0
- package/lib/internal/ts.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiFileProgrammer.d.ts +31 -0
- package/lib/programmers/NestiaMigrateApiFileProgrammer.js +17 -0
- package/lib/programmers/NestiaMigrateApiFileProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer.d.ts +40 -0
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js +27 -0
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.d.ts +39 -0
- package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js +26 -0
- package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiProgrammer.d.ts +18 -0
- package/lib/programmers/NestiaMigrateApiProgrammer.js +18 -0
- package/lib/programmers/NestiaMigrateApiProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiProgrammer.mjs +1 -1
- package/lib/programmers/NestiaMigrateApiSimulationProgrammer.d.ts +40 -0
- package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js +27 -0
- package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiStartProgrammer.d.ts +17 -0
- package/lib/programmers/NestiaMigrateApiStartProgrammer.js +19 -8
- package/lib/programmers/NestiaMigrateApiStartProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiStartProgrammer.mjs +1 -6
- package/lib/programmers/NestiaMigrateDtoProgrammer.d.ts +30 -0
- package/lib/programmers/NestiaMigrateDtoProgrammer.js +17 -0
- package/lib/programmers/NestiaMigrateDtoProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateE2eFileProgrammer.d.ts +39 -0
- package/lib/programmers/NestiaMigrateE2eFileProgrammer.js +26 -0
- package/lib/programmers/NestiaMigrateE2eFileProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateE2eProgrammer.d.ts +16 -0
- package/lib/programmers/NestiaMigrateE2eProgrammer.js +16 -0
- package/lib/programmers/NestiaMigrateE2eProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateImportProgrammer.d.ts +75 -0
- package/lib/programmers/NestiaMigrateImportProgrammer.js +58 -3
- package/lib/programmers/NestiaMigrateImportProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateImportProgrammer.mjs +58 -3
- package/lib/programmers/NestiaMigrateNestControllerProgrammer.d.ts +28 -0
- package/lib/programmers/NestiaMigrateNestControllerProgrammer.js +16 -0
- package/lib/programmers/NestiaMigrateNestControllerProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateNestMethodProgrammer.d.ts +30 -0
- package/lib/programmers/NestiaMigrateNestMethodProgrammer.js +16 -0
- package/lib/programmers/NestiaMigrateNestMethodProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateNestModuleProgrammer.d.ts +16 -0
- package/lib/programmers/NestiaMigrateNestModuleProgrammer.js +16 -0
- package/lib/programmers/NestiaMigrateNestModuleProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateNestProgrammer.d.ts +17 -0
- package/lib/programmers/NestiaMigrateNestProgrammer.js +17 -0
- package/lib/programmers/NestiaMigrateNestProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateSchemaProgrammer.d.ts +16 -0
- package/lib/programmers/NestiaMigrateSchemaProgrammer.js +20 -5
- package/lib/programmers/NestiaMigrateSchemaProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateSchemaProgrammer.mjs +4 -4
- package/lib/structures/INestiaMigrateConfig.d.ts +21 -0
- package/lib/structures/INestiaMigrateContext.d.ts +15 -0
- package/lib/structures/INestiaMigrateController.d.ts +13 -0
- package/lib/structures/INestiaMigrateFile.d.ts +11 -0
- package/lib/utils/FilePrinter.d.ts +33 -0
- package/lib/utils/FilePrinter.js +33 -0
- package/lib/utils/FilePrinter.js.map +1 -1
- package/lib/utils/MapUtil.d.ts +17 -0
- package/lib/utils/MapUtil.js +19 -3
- package/lib/utils/MapUtil.js.map +1 -1
- package/lib/utils/MapUtil.mjs +1 -2
- package/lib/utils/PathTemplate.d.ts +23 -1
- package/lib/utils/PathTemplate.js +15 -1
- package/lib/utils/PathTemplate.js.map +1 -1
- package/lib/utils/RequestBody.d.ts +13 -0
- package/lib/utils/RequestBody.js +13 -0
- package/lib/utils/RequestBody.js.map +1 -1
- package/lib/utils/StringUtil.d.ts +55 -0
- package/lib/utils/StringUtil.js +93 -8
- package/lib/utils/StringUtil.js.map +1 -1
- package/lib/utils/StringUtil.mjs +30 -8
- package/lib/utils/SuccessStatus.d.ts +21 -1
- package/lib/utils/SuccessStatus.js +21 -1
- package/lib/utils/SuccessStatus.js.map +1 -1
- package/package.json +4 -3
- package/src/NestiaMigrateApplication.ts +151 -13
- package/src/analyzers/NestiaMigrateControllerAnalyzer.ts +59 -4
- package/src/archivers/NestiaMigrateFileArchiver.ts +34 -0
- package/src/bundles/NEST_TEMPLATE.ts +1 -1
- package/src/bundles/SDK_TEMPLATE.ts +1 -1
- package/src/executable/NestiaMigrateCommander.ts +40 -0
- package/src/executable/NestiaMigrateInquirer.ts +29 -0
- package/src/factories/ExpressionFactory.ts +14 -0
- package/src/factories/IdentifierFactory.ts +20 -0
- package/src/factories/LiteralFactory.ts +18 -2
- package/src/factories/StatementFactory.ts +26 -1
- package/src/factories/SupportedStringFormats.ts +29 -0
- package/src/factories/TypeFactory.ts +21 -0
- package/src/factories/TypeLiteralFactory.ts +18 -0
- package/src/internal/ts.ts +153 -0
- package/src/programmers/NestiaMigrateApiFileProgrammer.ts +35 -0
- package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +43 -0
- package/src/programmers/NestiaMigrateApiNamespaceProgrammer.ts +42 -0
- package/src/programmers/NestiaMigrateApiProgrammer.ts +18 -0
- package/src/programmers/NestiaMigrateApiSimulationProgrammer.ts +43 -0
- package/src/programmers/NestiaMigrateApiStartProgrammer.ts +19 -10
- package/src/programmers/NestiaMigrateDtoProgrammer.ts +33 -0
- package/src/programmers/NestiaMigrateE2eFileProgrammer.ts +42 -0
- package/src/programmers/NestiaMigrateE2eProgrammer.ts +16 -0
- package/src/programmers/NestiaMigrateImportProgrammer.ts +86 -5
- package/src/programmers/NestiaMigrateNestControllerProgrammer.ts +30 -0
- package/src/programmers/NestiaMigrateNestMethodProgrammer.ts +34 -0
- package/src/programmers/NestiaMigrateNestModuleProgrammer.ts +16 -0
- package/src/programmers/NestiaMigrateNestProgrammer.ts +17 -0
- package/src/programmers/NestiaMigrateSchemaProgrammer.ts +25 -8
- package/src/structures/INestiaMigrateConfig.ts +26 -0
- package/src/structures/INestiaMigrateContext.ts +17 -0
- package/src/structures/INestiaMigrateController.ts +16 -0
- package/src/structures/INestiaMigrateFile.ts +13 -0
- package/src/utils/FilePrinter.ts +33 -0
- package/src/utils/MapUtil.ts +18 -2
- package/src/utils/PathTemplate.ts +23 -1
- package/src/utils/RequestBody.ts +13 -0
- package/src/utils/StringUtil.ts +101 -9
- package/src/utils/SuccessStatus.ts +21 -1
- package/lib/factories/FormatCheatSheet.d.ts +0 -25
- package/lib/factories/FormatCheatSheet.js +0 -34
- package/lib/factories/FormatCheatSheet.js.map +0 -1
- package/lib/factories/FormatCheatSheet.mjs +0 -31
- package/lib/factories/FormatCheatSheet.mjs.map +0 -1
- package/src/factories/FormatCheatSheet.ts +0 -71
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaMigrateNestProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateNestProgrammer.ts"],"names":[],"mappings":";;;AAAA,2CAA+D;AAE/D,kGAA+F;AAI/F,sDAAmD;AACnD,6EAA0E;AAC1E,mFAAgF;AAChF,mGAAgG;AAChG,2FAAwF;AAExF,IAAiB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"NestiaMigrateNestProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateNestProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import type { OpenApi } from "typia";
|
|
2
2
|
import ts from "../internal/ts";
|
|
3
3
|
import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
|
|
4
|
+
/**
|
|
5
|
+
* Generates the TypeScript type of an OpenAPI schema.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation The schema kind is decided by the type checker of `@typia/utils`, and each kind becomes a type: constants as literal types, numbers, integers, and strings with their constraints as `typia.tags` intersections, arrays, tuples, objects, references, and unions, with `any` for an unknown schema.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design One entry function that dispatches to one private writer per kind.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The dispatch follows the schema kinds of OpenAPI, and no schema name is special-cased.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what is generated.
|
|
11
|
+
*/
|
|
4
12
|
export declare namespace NestiaMigrateSchemaProgrammer {
|
|
13
|
+
/**
|
|
14
|
+
* Returns the type node of a schema.
|
|
15
|
+
*
|
|
16
|
+
* @evidence contracts/common.md#principled-implementation An unknown schema is `any`, a `oneOf` becomes a TypeScript union, integer formats outside the supported four use the migration default `int64`, a binary string becomes `File`, and known string formats become typia tags. TypeScript unions do not encode oneOf exclusivity, and unsupported formats impose no generated constraint.
|
|
17
|
+
* @evidence contracts/common.md#clear-and-simple-design One function with an ordered chain of schema kind tests.
|
|
18
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Schema-kind dispatch applies uniformly; the int64 fallback and supported-format table are generator policies rather than constraints supplied by the document.
|
|
19
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the result.
|
|
20
|
+
*/
|
|
5
21
|
const write: (props: {
|
|
6
22
|
components: OpenApi.IComponents;
|
|
7
23
|
importer: NestiaMigrateImportProgrammer;
|
|
@@ -6,16 +6,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.NestiaMigrateSchemaProgrammer = void 0;
|
|
7
7
|
const factory_1 = require("@ttsc/factory");
|
|
8
8
|
const utils_1 = require("@typia/utils");
|
|
9
|
-
const
|
|
9
|
+
const SupportedStringFormats_1 = require("../factories/SupportedStringFormats");
|
|
10
10
|
const TypeFactory_1 = require("../factories/TypeFactory");
|
|
11
11
|
const ts_1 = __importDefault(require("../internal/ts"));
|
|
12
12
|
const FilePrinter_1 = require("../utils/FilePrinter");
|
|
13
13
|
const StringUtil_1 = require("../utils/StringUtil");
|
|
14
|
+
/**
|
|
15
|
+
* Generates the TypeScript type of an OpenAPI schema.
|
|
16
|
+
*
|
|
17
|
+
* @evidence contracts/common.md#principled-implementation The schema kind is decided by the type checker of `@typia/utils`, and each kind becomes a type: constants as literal types, numbers, integers, and strings with their constraints as `typia.tags` intersections, arrays, tuples, objects, references, and unions, with `any` for an unknown schema.
|
|
18
|
+
* @evidence contracts/common.md#clear-and-simple-design One entry function that dispatches to one private writer per kind.
|
|
19
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The dispatch follows the schema kinds of OpenAPI, and no schema name is special-cased.
|
|
20
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what is generated.
|
|
21
|
+
*/
|
|
14
22
|
var NestiaMigrateSchemaProgrammer;
|
|
15
23
|
(function (NestiaMigrateSchemaProgrammer) {
|
|
16
24
|
/* -----------------------------------------------------------
|
|
17
25
|
FACADE
|
|
18
26
|
----------------------------------------------------------- */
|
|
27
|
+
/**
|
|
28
|
+
* Returns the type node of a schema.
|
|
29
|
+
*
|
|
30
|
+
* @evidence contracts/common.md#principled-implementation An unknown schema is `any`, a `oneOf` becomes a TypeScript union, integer formats outside the supported four use the migration default `int64`, a binary string becomes `File`, and known string formats become typia tags. TypeScript unions do not encode oneOf exclusivity, and unsupported formats impose no generated constraint.
|
|
31
|
+
* @evidence contracts/common.md#clear-and-simple-design One function with an ordered chain of schema kind tests.
|
|
32
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Schema-kind dispatch applies uniformly; the int64 fallback and supported-format table are generator policies rather than constraints supplied by the document.
|
|
33
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the result.
|
|
34
|
+
*/
|
|
19
35
|
NestiaMigrateSchemaProgrammer.write = (props) => {
|
|
20
36
|
// CONSIDER ANY TYPE CASE
|
|
21
37
|
const union = [];
|
|
@@ -165,8 +181,7 @@ var NestiaMigrateSchemaProgrammer;
|
|
|
165
181
|
if (props.schema.pattern !== undefined)
|
|
166
182
|
intersection.push(props.importer.tag("Pattern", props.schema.pattern));
|
|
167
183
|
if (props.schema.format !== undefined &&
|
|
168
|
-
|
|
169
|
-
undefined)
|
|
184
|
+
SupportedStringFormats_1.SUPPORTED_STRING_FORMATS.has(props.schema.format))
|
|
170
185
|
intersection.push(props.importer.tag("Format", props.schema.format));
|
|
171
186
|
if (props.schema.contentMediaType !== undefined)
|
|
172
187
|
intersection.push(props.importer.tag("ContentMediaType", props.schema.contentMediaType));
|
|
@@ -204,11 +219,11 @@ var NestiaMigrateSchemaProgrammer;
|
|
|
204
219
|
...(typeof props.schema.additionalItems === "object" &&
|
|
205
220
|
props.schema.additionalItems !== null
|
|
206
221
|
? [
|
|
207
|
-
factory_1.factory.createRestTypeNode(NestiaMigrateSchemaProgrammer.write({
|
|
222
|
+
factory_1.factory.createRestTypeNode(factory_1.factory.createArrayTypeNode(NestiaMigrateSchemaProgrammer.write({
|
|
208
223
|
components: props.components,
|
|
209
224
|
importer: props.importer,
|
|
210
225
|
schema: props.schema.additionalItems,
|
|
211
|
-
})),
|
|
226
|
+
}))),
|
|
212
227
|
]
|
|
213
228
|
: props.schema.additionalItems === true
|
|
214
229
|
? [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaMigrateSchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateSchemaProgrammer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NestiaMigrateSchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateSchemaProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FilePrinter } from "../utils/FilePrinter.mjs";
|
|
2
2
|
import { TypeFactory } from "../factories/TypeFactory.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { SUPPORTED_STRING_FORMATS } from "../factories/SupportedStringFormats.mjs";
|
|
4
4
|
import ts from "../internal/ts.mjs";
|
|
5
5
|
import { StringUtil } from "../utils/StringUtil.mjs";
|
|
6
6
|
import { NamingConvention, OpenApiTypeChecker } from "@typia/utils";
|
|
@@ -101,7 +101,7 @@ let NestiaMigrateSchemaProgrammer;
|
|
|
101
101
|
if (props.schema.minLength !== void 0) intersection.push(props.importer.tag("MinLength", props.schema.minLength));
|
|
102
102
|
if (props.schema.maxLength !== void 0) intersection.push(props.importer.tag("MaxLength", props.schema.maxLength));
|
|
103
103
|
if (props.schema.pattern !== void 0) intersection.push(props.importer.tag("Pattern", props.schema.pattern));
|
|
104
|
-
if (props.schema.format !== void 0 &&
|
|
104
|
+
if (props.schema.format !== void 0 && SUPPORTED_STRING_FORMATS.has(props.schema.format)) intersection.push(props.importer.tag("Format", props.schema.format));
|
|
105
105
|
if (props.schema.contentMediaType !== void 0) intersection.push(props.importer.tag("ContentMediaType", props.schema.contentMediaType));
|
|
106
106
|
return intersection.length === 1 ? intersection[0] : factory.createIntersectionTypeNode(intersection);
|
|
107
107
|
};
|
|
@@ -120,11 +120,11 @@ let NestiaMigrateSchemaProgrammer;
|
|
|
120
120
|
components: props.components,
|
|
121
121
|
importer: props.importer,
|
|
122
122
|
schema: item
|
|
123
|
-
})), ...typeof props.schema.additionalItems === "object" && props.schema.additionalItems !== null ? [factory.createRestTypeNode(write({
|
|
123
|
+
})), ...typeof props.schema.additionalItems === "object" && props.schema.additionalItems !== null ? [factory.createRestTypeNode(factory.createArrayTypeNode(write({
|
|
124
124
|
components: props.components,
|
|
125
125
|
importer: props.importer,
|
|
126
126
|
schema: props.schema.additionalItems
|
|
127
|
-
}))] : props.schema.additionalItems === true ? [factory.createRestTypeNode(factory.createArrayTypeNode(factory.createKeywordTypeNode(SyntaxKind.AnyKeyword)))] : []]);
|
|
127
|
+
})))] : props.schema.additionalItems === true ? [factory.createRestTypeNode(factory.createArrayTypeNode(factory.createKeywordTypeNode(SyntaxKind.AnyKeyword)))] : []]);
|
|
128
128
|
const writeObject = (props) => {
|
|
129
129
|
const regular = () => factory.createTypeLiteralNode(Object.entries(props.schema.properties ?? []).map(([key, value], index) => [...index !== 0 && (!!value.title?.length || !!value.description?.length) ? [factory.createIdentifier("\n")] : [], writeRegularProperty({
|
|
130
130
|
components: props.components,
|
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
import ts from "../internal/ts";
|
|
2
2
|
import { NestiaMigrateNestMethodProgrammer } from "../programmers/NestiaMigrateNestMethodProgrammer";
|
|
3
|
+
/**
|
|
4
|
+
* Options of the migration: simulation, e2e tests, the package name, keyword
|
|
5
|
+
* parameters, the author tag, and a replaceable controller method programmer.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation The flags choose which parts are generated and the parameter style, the package name replaces the placeholder in every file, and the programmer option lets a caller generate controller methods differently.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design A flat record whose optional members are the extension points.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation The comment lists the options.
|
|
11
|
+
*/
|
|
3
12
|
export interface INestiaMigrateConfig {
|
|
13
|
+
/** Include runtime request validation and random-response simulator members. */
|
|
4
14
|
simulate: boolean;
|
|
15
|
+
/** Emit a generated test feature for each migrated operation. */
|
|
5
16
|
e2e: boolean;
|
|
17
|
+
/** Replace the template package placeholder; omission retains the placeholder. */
|
|
6
18
|
package?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Use a props object when true; false or omission selects positional
|
|
21
|
+
* parameters.
|
|
22
|
+
*/
|
|
7
23
|
keyword?: boolean;
|
|
24
|
+
/** Override the generated declaration attribution tag and its text. */
|
|
8
25
|
author?: {
|
|
9
26
|
tag: string;
|
|
10
27
|
value: string;
|
|
11
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* Replace controller method emission while retaining the surrounding
|
|
31
|
+
* controller.
|
|
32
|
+
*/
|
|
12
33
|
programmer?: {
|
|
13
34
|
controllerMethod?: (ctx: NestiaMigrateNestMethodProgrammer.IContext) => ts.MethodDeclaration;
|
|
14
35
|
};
|
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { IHttpMigrateApplication } from "@typia/interface";
|
|
2
2
|
import { INestiaMigrateConfig } from "./INestiaMigrateConfig";
|
|
3
|
+
/**
|
|
4
|
+
* The shared input of the programmers: the mode, the analyzed application, and
|
|
5
|
+
* the configuration.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation The record is built once per migration, so every programmer sees the same routes and options.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design A three-member record.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation The comment lists the members.
|
|
11
|
+
*/
|
|
3
12
|
export interface INestiaMigrateContext {
|
|
13
|
+
/** Select backend/API workspace output or a standalone SDK project. */
|
|
4
14
|
mode: "nest" | "sdk";
|
|
15
|
+
/**
|
|
16
|
+
* Generation-local route/accessor copies backed by the shared analyzed
|
|
17
|
+
* document.
|
|
18
|
+
*/
|
|
5
19
|
application: IHttpMigrateApplication;
|
|
20
|
+
/** Options used consistently by each programmer in this generation. */
|
|
6
21
|
config: INestiaMigrateConfig;
|
|
7
22
|
}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { IHttpMigrateRoute } from "@typia/interface";
|
|
2
|
+
/**
|
|
3
|
+
* A controller to generate: its name, its path, its source location, and its
|
|
4
|
+
* routes.
|
|
5
|
+
*
|
|
6
|
+
* @evidence contracts/common.md#principled-implementation The record is the output of the analyzer and the input of the controller programmer.
|
|
7
|
+
* @evidence contracts/common.md#clear-and-simple-design A four-member record.
|
|
8
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
|
|
9
|
+
* @evidence contracts/common.md#meaningful-documentation The comment lists the members.
|
|
10
|
+
*/
|
|
2
11
|
export interface INestiaMigrateController {
|
|
12
|
+
/** Class identifier shared by its declaration, filename and module import. */
|
|
3
13
|
name: string;
|
|
14
|
+
/** Shared router path prefix, including router escapes for literal characters. */
|
|
4
15
|
path: string;
|
|
16
|
+
/** Slash-separated source directory relative to the backend package. */
|
|
5
17
|
location: string;
|
|
18
|
+
/** Operations grouped into this controller, in document order. */
|
|
6
19
|
routes: IHttpMigrateRoute[];
|
|
7
20
|
}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A generated file: its directory, its name, and its content.
|
|
3
|
+
*
|
|
4
|
+
* @evidence contracts/common.md#principled-implementation The record separates the location from the name so the writers can join them per mode.
|
|
5
|
+
* @evidence contracts/common.md#clear-and-simple-design A three-member record.
|
|
6
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
|
|
7
|
+
* @evidence contracts/common.md#meaningful-documentation The comment lists the members.
|
|
8
|
+
*/
|
|
1
9
|
export interface INestiaMigrateFile {
|
|
10
|
+
/** Slash-separated output directory relative to the generated project root. */
|
|
2
11
|
location: string;
|
|
12
|
+
/** Filename within location. */
|
|
3
13
|
file: string;
|
|
14
|
+
/** Complete source text written without another generation step. */
|
|
4
15
|
content: string;
|
|
5
16
|
}
|
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
import ts from "../internal/ts";
|
|
2
|
+
/**
|
|
3
|
+
* Helpers that turn statements and comments into file text.
|
|
4
|
+
*
|
|
5
|
+
* @evidence contracts/common.md#principled-implementation The namespace attaches a JSDoc comment to a node, builds a blank line, and prints a file from statements.
|
|
6
|
+
* @evidence contracts/common.md#clear-and-simple-design Three small functions.
|
|
7
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The comment text is escaped so it cannot end the comment early.
|
|
8
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
9
|
+
*/
|
|
2
10
|
export declare namespace FilePrinter {
|
|
11
|
+
/**
|
|
12
|
+
* Attaches a JSDoc comment made from the text to the node, and leaves the
|
|
13
|
+
* node alone when the text is empty.
|
|
14
|
+
*
|
|
15
|
+
* @evidence contracts/common.md#principled-implementation Line endings are normalized, each line is prefixed, and every comment terminator in the text is replaced by an escaped form, so a description can never end the comment early and inject code.
|
|
16
|
+
* @evidence contracts/common.md#clear-and-simple-design One function with an early return.
|
|
17
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The escaping applies to every line.
|
|
18
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the empty case and the escaping.
|
|
19
|
+
*/
|
|
3
20
|
const description: <Node extends ts.Node>(node: Node, comment: string) => Node;
|
|
21
|
+
/**
|
|
22
|
+
* Builds a statement that prints as a blank line.
|
|
23
|
+
*
|
|
24
|
+
* @evidence contracts/common.md#principled-implementation The printer emits the identifier text as it is, so an identifier holding a newline produces an empty line between statements.
|
|
25
|
+
* @evidence contracts/common.md#clear-and-simple-design One expression.
|
|
26
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is the way the printer offers to space statements.
|
|
27
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the statement prints.
|
|
28
|
+
*/
|
|
4
29
|
const newLine: () => import("@ttsc/factory").ExpressionStatement;
|
|
30
|
+
/**
|
|
31
|
+
* Prints the statements as a file, with an optional text at the top.
|
|
32
|
+
*
|
|
33
|
+
* @evidence contracts/common.md#principled-implementation The statements are printed by the factory package's printer, so the output is the source of the syntax tree.
|
|
34
|
+
* @evidence contracts/common.md#clear-and-simple-design One expression.
|
|
35
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It prints what it is given.
|
|
36
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the top text.
|
|
37
|
+
*/
|
|
5
38
|
const write: (props: {
|
|
6
39
|
statements: ts.Statement[];
|
|
7
40
|
top?: string;
|
package/lib/utils/FilePrinter.js
CHANGED
|
@@ -2,8 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FilePrinter = void 0;
|
|
4
4
|
const factory_1 = require("@ttsc/factory");
|
|
5
|
+
/**
|
|
6
|
+
* Helpers that turn statements and comments into file text.
|
|
7
|
+
*
|
|
8
|
+
* @evidence contracts/common.md#principled-implementation The namespace attaches a JSDoc comment to a node, builds a blank line, and prints a file from statements.
|
|
9
|
+
* @evidence contracts/common.md#clear-and-simple-design Three small functions.
|
|
10
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The comment text is escaped so it cannot end the comment early.
|
|
11
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
12
|
+
*/
|
|
5
13
|
var FilePrinter;
|
|
6
14
|
(function (FilePrinter) {
|
|
15
|
+
/**
|
|
16
|
+
* Attaches a JSDoc comment made from the text to the node, and leaves the
|
|
17
|
+
* node alone when the text is empty.
|
|
18
|
+
*
|
|
19
|
+
* @evidence contracts/common.md#principled-implementation Line endings are normalized, each line is prefixed, and every comment terminator in the text is replaced by an escaped form, so a description can never end the comment early and inject code.
|
|
20
|
+
* @evidence contracts/common.md#clear-and-simple-design One function with an early return.
|
|
21
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The escaping applies to every line.
|
|
22
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the empty case and the escaping.
|
|
23
|
+
*/
|
|
7
24
|
FilePrinter.description = (node, comment) => {
|
|
8
25
|
if (comment.length === 0)
|
|
9
26
|
return node;
|
|
@@ -18,7 +35,23 @@ var FilePrinter;
|
|
|
18
35
|
].join("\n"), true);
|
|
19
36
|
return node;
|
|
20
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Builds a statement that prints as a blank line.
|
|
40
|
+
*
|
|
41
|
+
* @evidence contracts/common.md#principled-implementation The printer emits the identifier text as it is, so an identifier holding a newline produces an empty line between statements.
|
|
42
|
+
* @evidence contracts/common.md#clear-and-simple-design One expression.
|
|
43
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is the way the printer offers to space statements.
|
|
44
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the statement prints.
|
|
45
|
+
*/
|
|
21
46
|
FilePrinter.newLine = () => factory_1.factory.createExpressionStatement(factory_1.factory.createIdentifier("\n"));
|
|
47
|
+
/**
|
|
48
|
+
* Prints the statements as a file, with an optional text at the top.
|
|
49
|
+
*
|
|
50
|
+
* @evidence contracts/common.md#principled-implementation The statements are printed by the factory package's printer, so the output is the source of the syntax tree.
|
|
51
|
+
* @evidence contracts/common.md#clear-and-simple-design One expression.
|
|
52
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It prints what it is given.
|
|
53
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the top text.
|
|
54
|
+
*/
|
|
22
55
|
FilePrinter.write = (props) => { var _a; return ((_a = props.top) !== null && _a !== void 0 ? _a : "") + new factory_1.TsPrinter().printFile(undefined, props.statements); };
|
|
23
56
|
})(FilePrinter || (exports.FilePrinter = FilePrinter = {}));
|
|
24
57
|
//# sourceMappingURL=FilePrinter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilePrinter.js","sourceRoot":"","sources":["../../src/utils/FilePrinter.ts"],"names":[],"mappings":";;;AAAA,2CAKuB;AAIvB,IAAiB,WAAW,
|
|
1
|
+
{"version":3,"file":"FilePrinter.js","sourceRoot":"","sources":["../../src/utils/FilePrinter.ts"],"names":[],"mappings":";;;AAAA,2CAKuB;AAIvB;;;;;;;GAOG;AACH,IAAiB,WAAW,CA2D3B;AA3DD,WAAiB,WAAW;IAC1B;;;;;;;;OAQG;IACU,uBAAW,GAAG,CACzB,IAAU,EACV,OAAe,EACT,EAAE;QACR,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAA,oCAA0B,EACxB,IAAI,EACJ,oBAAU,CAAC,sBAAsB,EACjC;YACE,GAAG;YACH,GAAG,OAAO;iBACP,KAAK,CAAC,MAAM,CAAC;iBACb,IAAI,CAAC,IAAI,CAAC;iBACV,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACtE;YACH,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,IAAI,CACL,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF;;;;;;;OAOG;IACU,mBAAO,GAAG,GAAG,EAAE,CAC1B,iBAAO,CAAC,yBAAyB,CAAC,iBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE;;;;;;;OAOG;IACU,iBAAK,GAAG,CAAC,KAGrB,EAAU,EAAE,kBACX,OAAC,KAAK,CAAC,GAAG,mCAAI,EAAE,CAAC,GAAG,IAAI,mBAAS,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,GAAA,CAAC;AAC/E,CAAC,EA3DgB,WAAW,aAAX,WAAW,GAAX,WAAW,QA2D3B"}
|
package/lib/utils/MapUtil.d.ts
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for maps.
|
|
3
|
+
*
|
|
4
|
+
* @evidence contracts/common.md#principled-implementation The namespace holds the get-or-create helper.
|
|
5
|
+
* @evidence contracts/common.md#clear-and-simple-design One function.
|
|
6
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a plain helper.
|
|
7
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
8
|
+
*/
|
|
1
9
|
export declare namespace MapUtil {
|
|
10
|
+
/**
|
|
11
|
+
* Returns the value of a key, creating and storing it with the generator when
|
|
12
|
+
* the key is absent.
|
|
13
|
+
*
|
|
14
|
+
* @evidence contracts/common.md#principled-implementation Presence is tested with `has`, so a stored falsy value is returned and not created again, and the generator runs once per key.
|
|
15
|
+
* @evidence contracts/common.md#clear-and-simple-design One check, one generator call, and one store.
|
|
16
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The stored value is returned as it is.
|
|
17
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states when the generator runs.
|
|
18
|
+
*/
|
|
2
19
|
const take: <Key, T>(dict: Map<Key, T>) => (key: Key) => (generator: () => T) => T;
|
|
3
20
|
}
|
package/lib/utils/MapUtil.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MapUtil = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Helpers for maps.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation The namespace holds the get-or-create helper.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design One function.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a plain helper.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
11
|
+
*/
|
|
4
12
|
var MapUtil;
|
|
5
13
|
(function (MapUtil) {
|
|
14
|
+
/**
|
|
15
|
+
* Returns the value of a key, creating and storing it with the generator when
|
|
16
|
+
* the key is absent.
|
|
17
|
+
*
|
|
18
|
+
* @evidence contracts/common.md#principled-implementation Presence is tested with `has`, so a stored falsy value is returned and not created again, and the generator runs once per key.
|
|
19
|
+
* @evidence contracts/common.md#clear-and-simple-design One check, one generator call, and one store.
|
|
20
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The stored value is returned as it is.
|
|
21
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states when the generator runs.
|
|
22
|
+
*/
|
|
6
23
|
MapUtil.take = (dict) => (key) => (generator) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return oldbie;
|
|
24
|
+
if (dict.has(key))
|
|
25
|
+
return dict.get(key);
|
|
10
26
|
const value = generator();
|
|
11
27
|
dict.set(key, value);
|
|
12
28
|
return value;
|
package/lib/utils/MapUtil.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapUtil.js","sourceRoot":"","sources":["../../src/utils/MapUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,OAAO,
|
|
1
|
+
{"version":3,"file":"MapUtil.js","sourceRoot":"","sources":["../../src/utils/MapUtil.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAiB,OAAO,CAoBvB;AApBD,WAAiB,OAAO;IACtB;;;;;;;;OAQG;IACU,YAAI,GACf,CAAS,IAAiB,EAAE,EAAE,CAC9B,CAAC,GAAQ,EAAE,EAAE,CACb,CAAC,SAAkB,EAAK,EAAE;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;QAE7C,MAAM,KAAK,GAAM,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACN,CAAC,EApBgB,OAAO,aAAP,OAAO,GAAP,OAAO,QAoBvB"}
|
package/lib/utils/MapUtil.mjs
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { IHttpMigrateRoute } from "@typia/interface";
|
|
2
|
+
/**
|
|
3
|
+
* Splits a route path template into literal and parameter segments.
|
|
4
|
+
*
|
|
5
|
+
* @evidence contracts/common.md#principled-implementation The namespace scans the template for `{name}` placeholders and matches each with the route's parameter of that name.
|
|
6
|
+
* @evidence contracts/common.md#clear-and-simple-design One type and one function.
|
|
7
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The scan is by the template syntax.
|
|
8
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
9
|
+
*/
|
|
2
10
|
export declare namespace PathTemplate {
|
|
11
|
+
/**
|
|
12
|
+
* A segment of a path: a literal text or a parameter.
|
|
13
|
+
*
|
|
14
|
+
* @evidence contracts/common.md#principled-implementation The union is discriminated by `type`, so a consumer handles each case once.
|
|
15
|
+
* @evidence contracts/common.md#clear-and-simple-design A two-member union.
|
|
16
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
|
|
17
|
+
* @evidence contracts/common.md#meaningful-documentation The comment names the two cases.
|
|
18
|
+
*/
|
|
3
19
|
type ISegment = {
|
|
4
20
|
type: "literal";
|
|
5
21
|
value: string;
|
|
@@ -13,7 +29,13 @@ export declare namespace PathTemplate {
|
|
|
13
29
|
* parameter name. The emended path (`/files/:id.json`) cannot be split back:
|
|
14
30
|
* its `:id.json` could name `id` or `id.json`, and a name such as `item-id`
|
|
15
31
|
* would read as `item` followed by `-id`. It always starts with `/`, as the
|
|
16
|
-
* emended path does.
|
|
32
|
+
* emended path does. A placeholder without a matching route parameter remains
|
|
33
|
+
* literal text; adjacent literals are merged.
|
|
34
|
+
*
|
|
35
|
+
* @evidence contracts/common.md#principled-implementation The scan uses a regular expression over the placeholders and joins the text between them, and merging adjacent literals keeps the segment list minimal.
|
|
36
|
+
* @evidence contracts/common.md#clear-and-simple-design One function with one helper for merging.
|
|
37
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It never drops text of the template.
|
|
38
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the merging and the unmatched placeholder rule.
|
|
17
39
|
*/
|
|
18
40
|
const segments: (route: IHttpMigrateRoute) => ISegment[];
|
|
19
41
|
}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PathTemplate = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Splits a route path template into literal and parameter segments.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation The namespace scans the template for `{name}` placeholders and matches each with the route's parameter of that name.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design One type and one function.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The scan is by the template syntax.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
11
|
+
*/
|
|
4
12
|
var PathTemplate;
|
|
5
13
|
(function (PathTemplate) {
|
|
6
14
|
/**
|
|
@@ -9,7 +17,13 @@ var PathTemplate;
|
|
|
9
17
|
* parameter name. The emended path (`/files/:id.json`) cannot be split back:
|
|
10
18
|
* its `:id.json` could name `id` or `id.json`, and a name such as `item-id`
|
|
11
19
|
* would read as `item` followed by `-id`. It always starts with `/`, as the
|
|
12
|
-
* emended path does.
|
|
20
|
+
* emended path does. A placeholder without a matching route parameter remains
|
|
21
|
+
* literal text; adjacent literals are merged.
|
|
22
|
+
*
|
|
23
|
+
* @evidence contracts/common.md#principled-implementation The scan uses a regular expression over the placeholders and joins the text between them, and merging adjacent literals keeps the segment list minimal.
|
|
24
|
+
* @evidence contracts/common.md#clear-and-simple-design One function with one helper for merging.
|
|
25
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It never drops text of the template.
|
|
26
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the merging and the unmatched placeholder rule.
|
|
13
27
|
*/
|
|
14
28
|
PathTemplate.segments = (route) => {
|
|
15
29
|
const path = route.path.startsWith("/")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathTemplate.js","sourceRoot":"","sources":["../../src/utils/PathTemplate.ts"],"names":[],"mappings":";;;AAEA,IAAiB,YAAY,
|
|
1
|
+
{"version":3,"file":"PathTemplate.js","sourceRoot":"","sources":["../../src/utils/PathTemplate.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,IAAiB,YAAY,CAkD5B;AAlDD,WAAiB,YAAY;IAa3B;;;;;;;;;;;;;OAaG;IACU,qBAAQ,GAAG,CAAC,KAAwB,EAAc,EAAE;QAC/D,MAAM,IAAI,GAAW,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC7C,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAQ,EAAE;YACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC/B,MAAM,IAAI,GAAyB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;;gBAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,MAAM,GAAG,KAAK,CAAC,KAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACxC,MAAM,SAAS,GACb,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,EAlDgB,YAAY,aAAZ,YAAY,GAAZ,YAAY,QAkD5B"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { IHttpMigrateRoute } from "@typia/interface";
|
|
2
|
+
/**
|
|
3
|
+
* Helpers about the request body of a route.
|
|
4
|
+
*
|
|
5
|
+
* @evidence contracts/common.md#principled-implementation The namespace holds the optional-body predicate.
|
|
6
|
+
* @evidence contracts/common.md#clear-and-simple-design One function.
|
|
7
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a plain helper.
|
|
8
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
9
|
+
*/
|
|
2
10
|
export declare namespace RequestBody {
|
|
3
11
|
/**
|
|
4
12
|
* Whether the route's body may be omitted: a JSON or text body the document
|
|
5
13
|
* does not require. The SDK's positional and keyword functions and the Nest
|
|
6
14
|
* controller all read this one rule.
|
|
15
|
+
*
|
|
16
|
+
* @evidence contracts/common.md#principled-implementation The requirement flag is read from the operation and only an explicit `false` makes the body optional.
|
|
17
|
+
* @evidence contracts/common.md#clear-and-simple-design One expression.
|
|
18
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the document.
|
|
19
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the condition.
|
|
7
20
|
*/
|
|
8
21
|
const optional: (route: IHttpMigrateRoute) => boolean;
|
|
9
22
|
}
|
package/lib/utils/RequestBody.js
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RequestBody = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Helpers about the request body of a route.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation The namespace holds the optional-body predicate.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design One function.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It is a plain helper.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
11
|
+
*/
|
|
4
12
|
var RequestBody;
|
|
5
13
|
(function (RequestBody) {
|
|
6
14
|
/**
|
|
7
15
|
* Whether the route's body may be omitted: a JSON or text body the document
|
|
8
16
|
* does not require. The SDK's positional and keyword functions and the Nest
|
|
9
17
|
* controller all read this one rule.
|
|
18
|
+
*
|
|
19
|
+
* @evidence contracts/common.md#principled-implementation The requirement flag is read from the operation and only an explicit `false` makes the body optional.
|
|
20
|
+
* @evidence contracts/common.md#clear-and-simple-design One expression.
|
|
21
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the document.
|
|
22
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the condition.
|
|
10
23
|
*/
|
|
11
24
|
RequestBody.optional = (route) => { var _a; return route.body !== null &&
|
|
12
25
|
(route.body.type === "application/json" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestBody.js","sourceRoot":"","sources":["../../src/utils/RequestBody.ts"],"names":[],"mappings":";;;AAEA,IAAiB,WAAW,
|
|
1
|
+
{"version":3,"file":"RequestBody.js","sourceRoot":"","sources":["../../src/utils/RequestBody.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,IAAiB,WAAW,CAgB3B;AAhBD,WAAiB,WAAW;IAC1B;;;;;;;;;OASG;IACU,oBAAQ,GAAG,CAAC,KAAwB,EAAW,EAAE,kBAC5D,KAAK,CAAC,IAAI,KAAK,IAAI;QACnB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB;YACrC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;QACnC,CAAA,MAAA,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,0CAAE,QAAQ,MAAK,KAAK,GAAA,CAAC;AACtD,CAAC,EAhBgB,WAAW,aAAX,WAAW,GAAX,WAAW,QAgB3B"}
|