@nestia/migrate 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"RouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RouteProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RouteProgrammer.ts"],"names":[],"mappings":"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"}
@@ -92,23 +92,27 @@ var SchemaProgrammer;
92
92
  : name;
93
93
  };
94
94
  const writeObject = (references) => (schema) => {
95
- const entries = Object.entries(schema.properties);
95
+ var _a;
96
+ const entries = Object.entries((_a = schema.properties) !== null && _a !== void 0 ? _a : {});
96
97
  return typeof schema.additionalProperties === "object"
97
98
  ? entries.length
98
99
  ? `${writeStaticObject(references)(schema)} & ${writeDynamicObject(references)(schema.additionalProperties)}`
99
100
  : writeDynamicObject(references)(schema.additionalProperties)
100
101
  : writeStaticObject(references)(schema);
101
102
  };
102
- const writeStaticObject = (references) => (schema) => [
103
- "{",
104
- ...Object.entries(schema.properties)
105
- .map(([key, value]) => {
106
- var _a;
107
- return writeProperty(references)(key)(((_a = schema.required) !== null && _a !== void 0 ? _a : []).some((r) => r === key))(value);
108
- })
109
- .map(tab(4)),
110
- "}",
111
- ].join("\n");
103
+ const writeStaticObject = (references) => (schema) => {
104
+ var _a;
105
+ return [
106
+ "{",
107
+ ...Object.entries((_a = schema.properties) !== null && _a !== void 0 ? _a : {})
108
+ .map(([key, value]) => {
109
+ var _a;
110
+ return writeProperty(references)(key)(((_a = schema.required) !== null && _a !== void 0 ? _a : []).some((r) => r === key))(value);
111
+ })
112
+ .map(tab(4)),
113
+ "}",
114
+ ].join("\n");
115
+ };
112
116
  const writeDynamicObject = (references) => (additional) => {
113
117
  return [
114
118
  "{",
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/SchemaProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/SchemaProgrammer.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAGlD,8DAA2D;AAE3D,IAAiB,gBAAgB,CAiNhC;AAjND,WAAiB,gBAAgB;IAChB,sBAAK,GACd,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,MAAsB,EAAU,EAAE,CAC/B,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAGxD,MAAM,WAAW,GACb,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,MAAsB,EAAU,EAAE;QAC/B,gBAAgB;QAChB,IAAI,iCAAe,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;aAC/C,IAAI,iCAAe,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,OAAO,MAAM,CAAC,KAAK;iBACd,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;iBACpC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChB,IAAI,iCAAe,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,OAAO,MAAM,CAAC,KAAK;iBACd,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;iBACpC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,eAAe;aACV,IAAI,iCAAe,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;aACnC,IAAI,iCAAe,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;aACnC,IAAI,iCAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;aAClC,IAAI,iCAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QACvC,iBAAiB;aACZ,IAAI,iCAAe,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;aAC7C,IAAI,iCAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;aACtC,IAAI,iCAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;YAC1C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;SAC3D;QACD,UAAU;QACV,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEN,MAAM,YAAY,GACd,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,MAA+B,EAAU,EAAE;QACxC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC,CAAC;IACN,MAAM,YAAY,GACd,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,MAA+B,EAAU,EAAE;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC;IACN,MAAM,WAAW,GACb,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,MAAwD,EAAU,EAAE;;QACjE,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,IAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,MAAM;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAC5B,MAAM,CACF,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAC5B,MAAM,CACF,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAC/B,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IACN,MAAM,WAAW,GACb,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,MAA8B,EAAU,EAAE;;QACvC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,MAAM;YACnB,OAAO,MAAM,CAAC,IAAI;iBACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACjC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAC9B,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAC9B,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IAEN,MAAM,UAAU,GACZ,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,MAA6B,EAAU,EAAE,CACtC,MAAM,CAAC,eAAe,CAAC;QACnB,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK;aAC5B,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;aAClC,IAAI,CAAC,IAAI,CAAC,GAAG;QACpB,CAAC,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;IACxE,MAAM,iBAAiB,GACnB,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,MAAsB,EAAU,EAAE;QAC/B,MAAM,IAAI,GAAW,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACxD,MAAM,CACT,CAAC;QACF,OAAO,MAAM,CAAC,kBAAkB,CAAC;YAC7B,CAAC,CAAC,GAAG,IAAI,GAAG;YACZ,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;gBACxB,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,CAAC;IAEN,MAAM,WAAW,GACb,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,MAA8B,EAAU,EAAE;;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;QACxD,OAAO,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;YAClD,CAAC,CAAC,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAC5B,MAAM,CACT,MAAM,kBAAkB,CAAC,UAAU,CAAC,CACjC,MAAM,CAAC,oBAAoB,CAC9B,EAAE;gBACL,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAC1B,MAAM,CAAC,oBAAoB,CAC9B;YACP,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC;IACN,MAAM,iBAAiB,GACnB,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,MAA8B,EAAU,EAAE;;QACvC,OAAA;YACI,GAAG;YACH,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE,CAAC;iBACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;;gBAClB,OAAA,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAC1B,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CACjD,CAAC,KAAK,CAAC,CAAA;aAAA,CACX;iBACA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAAA,CAAC;IACrB,MAAM,kBAAkB,GACpB,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,UAA0B,EAAU,EAAE;QACnC,OAAO;YACH,GAAG;YACH,GAAG,CAAC,CAAC,CAAC,CACF,aAAa,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAClD,UAAU,CACb,CACJ;YACD,GAAG;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;IAEN,MAAM,aAAa,GACf,CAAC,UAAuC,EAAE,EAAE,CAC5C,CAAC,GAAW,EAAE,iBAA0B,KAAK,EAAE,EAAE,CACjD,CAAC,QAAiB,EAAE,EAAE,CACtB,CAAC,MAAsB,EAAU,EAAE;;QAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,KAAc,EAAE,EAAE;;YAC/C,MAAM,MAAM,GACR,CAAC,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,MAAM,CAAA;gBACzB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,MAAM,KAAK,KAAK;gBAChB,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;;oBAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,IAAI,MAAM,CAAC,WAAW,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAA;gBACvD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxB;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjD,6BAA6B;QAC7B,MAAM,IAAI,GAAW,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QAE7D,2BAA2B;QAC3B,IAAI,MAAM,CAAC,UAAU;YAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAE/C,MAAM,WAAW,GACb,OAAO,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACI,KAAK;gBACL,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC;gBACtC,KAAK;gBACL,EAAE;aACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,GAAG,WAAW,GACjB,cAAc,KAAK,KAAK,IAAI,iBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK;YACvD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,GACV,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC;IACvC,CAAC,CAAC;IAEN,MAAM,GAAG,GACL,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,GAAW,EAAU,EAAE,CACpB,GAAG;SACE,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SACrC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,EAjNgB,gBAAgB,gCAAhB,gBAAgB,QAiNhC"}
@@ -6,8 +6,8 @@ export interface IMigrateRoute {
6
6
  parameters: IMigrateRoute.IParameter[];
7
7
  headers: ISwaggerSchema | null;
8
8
  query: ISwaggerSchema | null;
9
- body: ISwaggerSchema | null;
10
- response: ISwaggerSchema | null;
9
+ body: IMigrateRoute.IBody | null;
10
+ response: IMigrateRoute.IBody | null;
11
11
  description?: string;
12
12
  }
13
13
  export declare namespace IMigrateRoute {
@@ -16,4 +16,8 @@ export declare namespace IMigrateRoute {
16
16
  schema: ISwaggerSchema;
17
17
  description?: string;
18
18
  }
19
+ interface IBody {
20
+ type: "text/plain" | "application/json";
21
+ schema: ISwaggerSchema;
22
+ }
19
23
  }
@@ -49,7 +49,7 @@ export declare namespace ISwaggerSchema {
49
49
  items: ISwaggerSchema[];
50
50
  }
51
51
  export interface IObject extends ISignificant<"object"> {
52
- properties: Record<string, ISwaggerSchema>;
52
+ properties?: Record<string, ISwaggerSchema>;
53
53
  required?: string[];
54
54
  additionalProperties?: ISwaggerSchema | boolean;
55
55
  "x-typia-patternProperties"?: Record<string, ISwaggerSchema>;
@@ -1,29 +1,29 @@
1
1
  import { ISwaggerSchema } from "./ISwaggeSchema";
2
2
  export interface ISwaggerRoute {
3
- parameters: ISwaggerRoute.IParameter[];
3
+ parameters?: ISwaggerRoute.IParameter[];
4
4
  requestBody?: ISwaggerRoute.IRequestBody;
5
- responses: ISwaggerRoute.IResponseBody;
5
+ responses?: ISwaggerRoute.IResponseBody;
6
6
  summary?: string;
7
7
  description?: string;
8
8
  deprecated?: boolean;
9
- tags: string[];
9
+ tags?: string[];
10
10
  }
11
11
  export declare namespace ISwaggerRoute {
12
12
  interface IParameter {
13
13
  name: string;
14
14
  in: "path" | "query" | "header" | "cookie";
15
15
  schema: ISwaggerSchema;
16
- required: boolean;
17
- description: string;
16
+ required?: boolean;
17
+ description?: string;
18
18
  }
19
19
  interface IRequestBody {
20
- description: string;
20
+ description?: string;
21
21
  content: IContent;
22
- required: true;
23
- "x-nestia-encrypted": boolean;
22
+ required?: true;
23
+ "x-nestia-encrypted"?: boolean;
24
24
  }
25
25
  type IResponseBody = Record<string, {
26
- description: string;
26
+ description?: string;
27
27
  content?: IContent;
28
28
  "x-nestia-encrypted"?: boolean;
29
29
  }>;
@@ -3,7 +3,7 @@ export declare namespace StringUtil {
3
3
  const pascal: (path: string) => string;
4
4
  const camel: (path: string) => string;
5
5
  const split: (path: string) => string[];
6
- const reJoinWithoutParameters: (path: string) => string;
6
+ const reJoinWithDecimalParameters: (path: string) => string;
7
7
  const normalize: (str: string) => string;
8
8
  const commonPrefix: (strs: string[]) => string;
9
9
  }
@@ -15,7 +15,7 @@ var StringUtil;
15
15
  .split("/")
16
16
  .map((str) => StringUtil.normalize(str.trim()))
17
17
  .filter((str) => !!str.length);
18
- StringUtil.reJoinWithoutParameters = (path) => StringUtil.split(path)
18
+ StringUtil.reJoinWithDecimalParameters = (path) => StringUtil.split(path)
19
19
  .map((str) => str[0] === "{" && str[str.length - 1] === "}"
20
20
  ? `:${str.substring(1, str.length - 1)}`
21
21
  : str)
@@ -1 +1 @@
1
- {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/migrate",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Migration program from swagger to NestJS",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -10,7 +10,8 @@
10
10
  "scripts": {
11
11
  "build": "rimraf lib && tsc",
12
12
  "dev": "npm run build -- --watch",
13
- "prepare": "ts-patch install && ts-node src/executable/bundle.ts"
13
+ "prepare": "ts-patch install && ts-node src/executable/bundle.ts",
14
+ "test": "node lib/test"
14
15
  },
15
16
  "repository": {
16
17
  "type": "git",
@@ -29,22 +30,30 @@
29
30
  },
30
31
  "homepage": "https://github.com/samchon/nestia#readme",
31
32
  "devDependencies": {
33
+ "@nestia/core": "^1.4.3",
34
+ "@nestia/fetcher": "^1.4.0",
32
35
  "@trivago/prettier-plugin-sort-imports": "^4.1.1",
33
36
  "@types/node": "^20.3.3",
34
37
  "prettier": "^2.8.8",
35
38
  "rimraf": "^5.0.1",
39
+ "serialize-error": "^4.1.0",
40
+ "source-map-support": "^0.5.21",
36
41
  "ts-node": "^10.9.1",
37
42
  "ts-patch": "^3.0.1",
38
- "typescript": "^5.1.6"
43
+ "tstl": "^2.5.13",
44
+ "typescript": "^5.1.6",
45
+ "typescript-transform-paths": "^3.4.6"
39
46
  },
40
47
  "dependencies": {
41
- "typia": "^4.1.3"
48
+ "typia": "^4.1.4"
42
49
  },
43
50
  "files": [
44
51
  "lib",
45
52
  "src",
53
+ "!lib/test",
54
+ "!src/test",
46
55
  "package.json",
47
56
  "README.md",
48
57
  "LICENSE"
49
58
  ]
50
- }
59
+ }
@@ -47,7 +47,7 @@ export const TEMPLATE = [
47
47
  {
48
48
  "location": "",
49
49
  "file": "package.json",
50
- "content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"----------------------------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"-----------------------------------------------\": \"\",\r\n \"start\": \"node lib/executable/server\",\r\n \"test\": \"node bin/test\",\r\n \"------------------------------------------------\": \"\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.3.6\",\r\n \"@nestia/sdk\": \"^1.4.5\",\r\n \"@trivago/prettier-plugin-sort-imports\": \"^3.3.1\",\r\n \"@types/cli\": \"^0.11.21\",\r\n \"@types/node\": \"^18.11.0\",\r\n \"@types/uuid\": \"^8.3.4\",\r\n \"@typescript-eslint/eslint-plugin\": \"^5.40.0\",\r\n \"@typescript-eslint/parser\": \"^5.40.0\",\r\n \"chalk\": \"^4.1.0\",\r\n \"cli\": \"^1.0.1\",\r\n \"eslint-plugin-deprecation\": \"^1.4.1\",\r\n \"nestia\": \"^4.3.2\",\r\n \"prettier\": \"^2.7.1\",\r\n \"rimraf\": \"^3.0.2\",\r\n \"source-map-support\": \"^0.5.21\",\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.0\",\r\n \"typescript\": \"^5.1.3\",\r\n \"typescript-transform-paths\": \"^3.4.6\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/core\": \"^1.4.3\",\r\n \"serialize-error\": \"^4.1.0\",\r\n \"tstl\": \"^2.5.13\",\r\n \"typia\": \"^4.1.4\",\r\n \"uuid\": \"^9.0.0\"\r\n },\r\n \"stackblitz\": {\r\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test\"\r\n }\r\n}"
50
+ "content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"----------------------------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"-----------------------------------------------\": \"\",\r\n \"start\": \"node lib/executable/server\",\r\n \"test\": \"node bin/test\",\r\n \"------------------------------------------------\": \"\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.3.6\",\r\n \"@nestia/sdk\": \"^1.4.9\",\r\n \"@trivago/prettier-plugin-sort-imports\": \"^3.3.1\",\r\n \"@types/cli\": \"^0.11.21\",\r\n \"@types/node\": \"^18.11.0\",\r\n \"@types/uuid\": \"^8.3.4\",\r\n \"@typescript-eslint/eslint-plugin\": \"^5.40.0\",\r\n \"@typescript-eslint/parser\": \"^5.40.0\",\r\n \"chalk\": \"^4.1.0\",\r\n \"cli\": \"^1.0.1\",\r\n \"eslint-plugin-deprecation\": \"^1.4.1\",\r\n \"nestia\": \"^4.3.2\",\r\n \"prettier\": \"^2.7.1\",\r\n \"rimraf\": \"^3.0.2\",\r\n \"source-map-support\": \"^0.5.21\",\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.0\",\r\n \"typescript\": \"^5.1.3\",\r\n \"typescript-transform-paths\": \"^3.4.6\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/core\": \"^1.4.3\",\r\n \"serialize-error\": \"^4.1.0\",\r\n \"tstl\": \"^2.5.13\",\r\n \"typia\": \"^4.1.4\",\r\n \"uuid\": \"^9.0.0\"\r\n },\r\n \"stackblitz\": {\r\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test\"\r\n }\r\n}"
51
51
  },
52
52
  {
53
53
  "location": "/packages/api",
@@ -57,7 +57,7 @@ export const TEMPLATE = [
57
57
  {
58
58
  "location": "/packages/api",
59
59
  "file": "package.json",
60
- "content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.0.0\",\r\n \"description\": \"API for PROJECT\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^1.4.0\",\r\n \"typia\": \"^4.1.3\"\r\n }\r\n}\r\n"
60
+ "content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.0.0\",\r\n \"description\": \"API for PROJECT\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-template\"\r\n },\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-template/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-template#readme\",\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^1.4.0\",\r\n \"typia\": \"^4.1.4\"\r\n }\r\n}\r\n"
61
61
  },
62
62
  {
63
63
  "location": "/packages/api",
@@ -82,12 +82,12 @@ export const TEMPLATE = [
82
82
  {
83
83
  "location": "/src",
84
84
  "file": "Backend.ts",
85
- "content": "import core from \"@nestia/core\";\r\nimport { NestFactory } from \"@nestjs/core\";\r\nimport {\r\n FastifyAdapter,\r\n NestFastifyApplication,\r\n} from \"@nestjs/platform-fastify\";\r\n\r\nimport { Configuration } from \"./Configuration\";\r\n\r\nexport class Backend {\r\n private application_?: NestFastifyApplication;\r\n\r\n public async open(): Promise<void> {\r\n //----\r\n // OPEN THE BACKEND SERVER\r\n //----\r\n // MOUNT CONTROLLERS\r\n this.application_ = await NestFactory.create(\r\n await core.DynamicModule.mount(__dirname + \"/controllers\"),\r\n new FastifyAdapter(),\r\n { logger: false },\r\n );\r\n\r\n // DO OPEN\r\n this.application_.enableCors();\r\n await this.application_.listen(await Configuration.API_PORT());\r\n\r\n //----\r\n // POST-PROCESSES\r\n //----\r\n // INFORM TO THE PM2\r\n if (process.send) process.send(\"ready\");\r\n\r\n // WHEN KILL COMMAND COMES\r\n process.on(\"SIGINT\", async () => {\r\n await this.close();\r\n process.exit(0);\r\n });\r\n }\r\n\r\n public async close(): Promise<void> {\r\n if (this.application_ === undefined) return;\r\n\r\n // DO CLOSE\r\n await this.application_.close();\r\n delete this.application_;\r\n }\r\n}\r\n"
85
+ "content": "import core from \"@nestia/core\";\r\nimport { NestFactory } from \"@nestjs/core\";\r\nimport {\r\n FastifyAdapter,\r\n NestFastifyApplication,\r\n} from \"@nestjs/platform-fastify\";\r\n\r\nimport { Configuration } from \"./Configuration\";\r\n\r\nexport class Backend {\r\n private application_?: NestFastifyApplication;\r\n\r\n public async open(): Promise<void> {\r\n //----\r\n // OPEN THE BACKEND SERVER\r\n //----\r\n // MOUNT CONTROLLERS\r\n this.application_ = await NestFactory.create(\r\n await core.DynamicModule.mount(__dirname + \"/controllers\"),\r\n new FastifyAdapter(),\r\n { logger: false },\r\n );\r\n\r\n // DO OPEN\r\n this.application_.enableCors();\r\n await this.application_.listen(Configuration.API_PORT());\r\n\r\n //----\r\n // POST-PROCESSES\r\n //----\r\n // INFORM TO THE PM2\r\n if (process.send) process.send(\"ready\");\r\n\r\n // WHEN KILL COMMAND COMES\r\n process.on(\"SIGINT\", async () => {\r\n await this.close();\r\n process.exit(0);\r\n });\r\n }\r\n\r\n public async close(): Promise<void> {\r\n if (this.application_ === undefined) return;\r\n\r\n // DO CLOSE\r\n await this.application_.close();\r\n delete this.application_;\r\n }\r\n}\r\n"
86
86
  },
87
87
  {
88
88
  "location": "/src",
89
89
  "file": "Configuration.ts",
90
- "content": "import path from \"path\";\r\n\r\nexport namespace Configuration {\r\n export const API_PORT = async () => 37001;\r\n\r\n export const ROOT = __filename.includes(\r\n path.join(\"bin\", \"src\", \"ShoppingConfiguration\"),\r\n )\r\n ? path.resolve(__dirname + \"/../..\")\r\n : path.resolve(__dirname + \"/..\");\r\n}\r\n"
90
+ "content": "import path from \"path\";\r\n\r\nexport namespace Configuration {\r\n export const API_PORT = () => 37001;\r\n\r\n export const ROOT = __filename.includes(\r\n path.join(\"bin\", \"src\", \"ShoppingConfiguration\"),\r\n )\r\n ? path.resolve(__dirname + \"/../..\")\r\n : path.resolve(__dirname + \"/..\");\r\n}\r\n"
91
91
  },
92
92
  {
93
93
  "location": "/src/executable",
@@ -57,12 +57,12 @@ export namespace ControllerProgrammer {
57
57
  routes.map((r) => r.path),
58
58
  );
59
59
  for (const r of routes)
60
- r.path = StringUtil.reJoinWithoutParameters(
60
+ r.path = StringUtil.reJoinWithDecimalParameters(
61
61
  r.path.replace(prefix, ""),
62
62
  );
63
63
  const controller: IMigrateController = {
64
64
  name: StringUtil.pascal(location) + "Controller",
65
- path: StringUtil.reJoinWithoutParameters(prefix),
65
+ path: StringUtil.reJoinWithDecimalParameters(prefix),
66
66
  location: "src/controllers/" + location,
67
67
  routes,
68
68
  };
@@ -128,10 +128,23 @@ export namespace ControllerProgrammer {
128
128
  `}`,
129
129
  ].join("\n");
130
130
 
131
+ const core: boolean = controller.routes.some(
132
+ (r) =>
133
+ r.body !== null ||
134
+ r.response === null ||
135
+ r.response.type === "application/json",
136
+ );
131
137
  const typia: boolean = controller.routes.some(
132
138
  (m) => m.response !== null,
133
139
  );
134
- const imports: string[] = [
140
+ const common: Set<string> = new Set(["Controller"]);
141
+ for (const r of controller.routes)
142
+ if (r.response?.type === "text/plain") {
143
+ common.add("Header");
144
+ common.add(StringUtil.capitalize(r.method));
145
+ }
146
+
147
+ const dtoImports: string[] = [
135
148
  ...new Set(
136
149
  references.map(
137
150
  (r) =>
@@ -148,11 +161,11 @@ export namespace ControllerProgrammer {
148
161
  );
149
162
 
150
163
  return [
151
- `import core from "@nestia/core";`,
152
- `import { Controller } from "@nestjs/common";`,
164
+ ...(core ? [`import core from "@nestia/core";`] : []),
165
+ `import { ${[...common].join(", ")} } from "@nestjs/common";`,
153
166
  ...(typia ? [`import typia from "typia";`] : []),
154
167
  "",
155
- ...(imports.length ? [...imports, ""] : []),
168
+ ...(dtoImports.length ? [...dtoImports, ""] : []),
156
169
  body,
157
170
  ].join("\n");
158
171
  };
@@ -16,11 +16,18 @@ export namespace RouteProgrammer {
16
16
  );
17
17
  const response = emplaceBodySchema(
18
18
  emplaceReference(swagger)("response"),
19
- )((route.responses["200"] ?? route.responses["201"])?.content);
20
- if (body === false || response === false) return null;
19
+ )((route.responses?.["200"] ?? route.responses?.["201"])?.content);
20
+ if (body === false || response === false) {
21
+ console.log(
22
+ `Failed to migrate ${props.method.toUpperCase()} ${
23
+ props.path
24
+ }: @nestia/migrate supports only application/json or text/plain format yet.`,
25
+ );
26
+ return null;
27
+ }
21
28
 
22
29
  const [headers, query] = ["header", "query"].map((type) => {
23
- const parameters = route.parameters.filter(
30
+ const parameters = (route.parameters ?? []).filter(
24
31
  (p) => p.in === type,
25
32
  );
26
33
  if (parameters.length === 0) return null;
@@ -46,6 +53,7 @@ export namespace RouteProgrammer {
46
53
  (p) =>
47
54
  JsonTypeChecker.isBoolean(p.schema) ||
48
55
  JsonTypeChecker.isNumber(p.schema) ||
56
+ JsonTypeChecker.isInteger(p.schema) ||
49
57
  JsonTypeChecker.isString(p.schema),
50
58
  );
51
59
  if (objects.length === 1) return objects[0];
@@ -54,7 +62,9 @@ export namespace RouteProgrammer {
54
62
  parameters.length
55
63
  )
56
64
  throw new Error(
57
- `Error on nestia.migrate.RouteProgrammer.analze(): ${type} typed parameters must be only one object type.`,
65
+ `Error on nestia.migrate.RouteProgrammer.analze(): ${type} typed parameters must be only one object type - ${StringUtil.capitalize(
66
+ props.method,
67
+ )} "${props.path}".`,
58
68
  );
59
69
 
60
70
  const entire: ISwaggerSchema.IObject[] = [
@@ -85,11 +95,7 @@ export namespace RouteProgrammer {
85
95
  return parameters.length === 0
86
96
  ? null
87
97
  : emplaceReference(swagger)(
88
- StringUtil.pascal(
89
- `I/Api/${StringUtil.reJoinWithoutParameters(
90
- props.path,
91
- )}`,
92
- ) +
98
+ StringUtil.pascal(`I/Api/${props.path}`) +
93
99
  "." +
94
100
  StringUtil.pascal(`${props.method}/${type}`),
95
101
  )({
@@ -98,7 +104,9 @@ export namespace RouteProgrammer {
98
104
  ...new Map<string, ISwaggerSchema>(
99
105
  entire
100
106
  .map((o) =>
101
- Object.entries(o.properties).map(
107
+ Object.entries(
108
+ o.properties ?? {},
109
+ ).map(
102
110
  ([name, schema]) =>
103
111
  [
104
112
  name,
@@ -127,7 +135,7 @@ export namespace RouteProgrammer {
127
135
  path: props.path,
128
136
  method: props.method,
129
137
  headers,
130
- parameters: route.parameters
138
+ parameters: (route.parameters ?? [])
131
139
  .filter((p) => p.in === "path")
132
140
  .map((p) => ({
133
141
  key: p.name,
@@ -179,12 +187,27 @@ export namespace RouteProgrammer {
179
187
 
180
188
  const emplaceBodySchema =
181
189
  (emplacer: (schema: ISwaggerSchema) => ISwaggerSchema.IReference) =>
182
- (content?: ISwaggerRoute.IContent): false | null | ISwaggerSchema => {
190
+ (
191
+ content?: ISwaggerRoute.IContent,
192
+ ): false | null | IMigrateRoute.IBody => {
183
193
  if (!content) return null;
184
- else if (content["application/json"]) {
185
- const schema = content["application/json"].schema;
186
- return isNotObjectLiteral(schema) ? schema : emplacer(schema);
187
- } else if (content["text/plain"]) return { type: "string" };
194
+
195
+ const entries: [string, { schema: ISwaggerSchema }][] =
196
+ Object.entries(content);
197
+ const json = entries.find((e) => e[0].includes("application/json"));
198
+
199
+ if (json) {
200
+ const { schema } = json[1];
201
+ return {
202
+ type: "application/json",
203
+ schema: isNotObjectLiteral(schema)
204
+ ? schema
205
+ : emplacer(schema),
206
+ };
207
+ }
208
+
209
+ const text = entries.find((e) => e[0].includes("text/plain"));
210
+ if (text) return { type: "text/plain", schema: { type: "string" } };
188
211
  return false;
189
212
  };
190
213
 
@@ -201,8 +224,12 @@ export namespace RouteProgrammer {
201
224
  (references: ISwaggerSchema.IReference[]) =>
202
225
  (route: IMigrateRoute): string => {
203
226
  const output: string = route.response
204
- ? SchemaProgrammer.write(references)(route.response)
227
+ ? SchemaProgrammer.write(references)(route.response.schema)
205
228
  : "void";
229
+ const decorator: string =
230
+ route.body?.type === "text/plain"
231
+ ? [`@Header("Content-Type", "text/plain")`, `@`].join("\n")
232
+ : "@core.TypedRoute.";
206
233
  const content: string[] = [
207
234
  ...(route.description
208
235
  ? [
@@ -213,7 +240,7 @@ export namespace RouteProgrammer {
213
240
  " */",
214
241
  ]
215
242
  : []),
216
- `@core.TypedRoute.${StringUtil.capitalize(route.method)}${
243
+ `${decorator}${StringUtil.capitalize(route.method)}${
217
244
  route.path.length ? `(${JSON.stringify(route.path)})` : "()"
218
245
  }`,
219
246
  `public async ${route.name}(`,
@@ -226,11 +253,13 @@ export namespace RouteProgrammer {
226
253
  ]
227
254
  : []),
228
255
  ...(route.body
229
- ? [
230
- ` @core.TypedBody() body: ${SchemaProgrammer.write(
231
- references,
232
- )(route.body)},`,
233
- ]
256
+ ? route.body.type === "application/json"
257
+ ? [
258
+ ` @core.TypedBody() body: ${SchemaProgrammer.write(
259
+ references,
260
+ )(route.body.schema)},`,
261
+ ]
262
+ : [` @core.PlainBody() body: string,`]
234
263
  : []),
235
264
  `): Promise<${output}> {`,
236
265
  ...route.parameters.map(
@@ -118,7 +118,7 @@ export namespace SchemaProgrammer {
118
118
  const writeObject =
119
119
  (references: ISwaggerSchema.IReference[]) =>
120
120
  (schema: ISwaggerSchema.IObject): string => {
121
- const entries = Object.entries(schema.properties);
121
+ const entries = Object.entries(schema.properties ?? {});
122
122
  return typeof schema.additionalProperties === "object"
123
123
  ? entries.length
124
124
  ? `${writeStaticObject(references)(
@@ -136,7 +136,7 @@ export namespace SchemaProgrammer {
136
136
  (schema: ISwaggerSchema.IObject): string =>
137
137
  [
138
138
  "{",
139
- ...Object.entries(schema.properties)
139
+ ...Object.entries(schema.properties ?? {})
140
140
  .map(([key, value]) =>
141
141
  writeProperty(references)(key)(
142
142
  (schema.required ?? []).some((r) => r === key),
@@ -7,8 +7,8 @@ export interface IMigrateRoute {
7
7
  parameters: IMigrateRoute.IParameter[];
8
8
  headers: ISwaggerSchema | null;
9
9
  query: ISwaggerSchema | null;
10
- body: ISwaggerSchema | null;
11
- response: ISwaggerSchema | null;
10
+ body: IMigrateRoute.IBody | null;
11
+ response: IMigrateRoute.IBody | null;
12
12
  description?: string;
13
13
  }
14
14
  export namespace IMigrateRoute {
@@ -17,4 +17,8 @@ export namespace IMigrateRoute {
17
17
  schema: ISwaggerSchema;
18
18
  description?: string;
19
19
  }
20
+ export interface IBody {
21
+ type: "text/plain" | "application/json";
22
+ schema: ISwaggerSchema;
23
+ }
20
24
  }
@@ -61,7 +61,7 @@ export namespace ISwaggerSchema {
61
61
  items: ISwaggerSchema[];
62
62
  }
63
63
  export interface IObject extends ISignificant<"object"> {
64
- properties: Record<string, ISwaggerSchema>;
64
+ properties?: Record<string, ISwaggerSchema>;
65
65
  required?: string[];
66
66
  additionalProperties?: ISwaggerSchema | boolean;
67
67
  "x-typia-patternProperties"?: Record<string, ISwaggerSchema>;
@@ -1,32 +1,32 @@
1
1
  import { ISwaggerSchema } from "./ISwaggeSchema";
2
2
 
3
3
  export interface ISwaggerRoute {
4
- parameters: ISwaggerRoute.IParameter[];
4
+ parameters?: ISwaggerRoute.IParameter[];
5
5
  requestBody?: ISwaggerRoute.IRequestBody;
6
- responses: ISwaggerRoute.IResponseBody;
6
+ responses?: ISwaggerRoute.IResponseBody;
7
7
  summary?: string;
8
8
  description?: string;
9
9
  deprecated?: boolean;
10
- tags: string[];
10
+ tags?: string[];
11
11
  }
12
12
  export namespace ISwaggerRoute {
13
13
  export interface IParameter {
14
14
  name: string;
15
15
  in: "path" | "query" | "header" | "cookie";
16
16
  schema: ISwaggerSchema;
17
- required: boolean;
18
- description: string;
17
+ required?: boolean;
18
+ description?: string;
19
19
  }
20
20
  export interface IRequestBody {
21
- description: string;
21
+ description?: string;
22
22
  content: IContent;
23
- required: true;
24
- "x-nestia-encrypted": boolean;
23
+ required?: true;
24
+ "x-nestia-encrypted"?: boolean;
25
25
  }
26
26
  export type IResponseBody = Record<
27
27
  string,
28
28
  {
29
- description: string;
29
+ description?: string;
30
30
  content?: IContent;
31
31
  "x-nestia-encrypted"?: boolean;
32
32
  }