gg-express 1.0.37 → 1.0.39

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/dist/GGApi.js CHANGED
@@ -55,7 +55,7 @@ class GGApi {
55
55
  delete(url, requireParams) {
56
56
  return new Promise((resolve, reject) => {
57
57
  axios_1.default
58
- .delete(url, { data: requireParams })
58
+ .delete(url, { data: { data: { requireParams } } })
59
59
  .then((response) => {
60
60
  resolve(response.data);
61
61
  })
@@ -82,6 +82,12 @@ function run() {
82
82
  const data2 = yield api.get("/api/users/id", {
83
83
  data: [{ id: 2 }, { id: 3 }, { id: 20 }],
84
84
  });
85
+ api.post("/api/item", {
86
+ data: { id: 2 },
87
+ parameter: {
88
+ lotNumber: 2,
89
+ },
90
+ });
85
91
  });
86
92
  }
87
93
  run();
@@ -20,10 +20,10 @@ interface requireParamsStructure {
20
20
  structure: {
21
21
  [key: string]: paramType;
22
22
  };
23
- isStructurePartial?: boolean;
23
+ isPartialStructure?: boolean;
24
24
  }
25
25
  type numberOrString<T> = T extends "number" ? number : T extends "string" ? string : T extends "any" ? any : T extends string[] ? Unarray<T> : T extends number[] ? Unarray<T> : "error-type";
26
- type singleOrArrayObject<DT extends requireParamsStructure["dataType"], T extends requireParamsStructure["structure"], K extends keyof T, P extends requireParamsStructure["parameter"], J extends requireParamsStructure["isStructurePartial"]> = DT extends "arrayObject" ? {
26
+ type singleOrArrayObject<DT extends requireParamsStructure["dataType"], T extends requireParamsStructure["structure"], K extends keyof T, P extends requireParamsStructure["parameter"], J extends requireParamsStructure["isPartialStructure"]> = DT extends "arrayObject" ? {
27
27
  data: {
28
28
  parameter: {
29
29
  [Key in keyof P]: numberOrString<P[Key]>;
@@ -46,8 +46,8 @@ type singleOrArrayObject<DT extends requireParamsStructure["dataType"], T extend
46
46
  };
47
47
  };
48
48
  };
49
- type MyRequest<DT extends requireParamsStructure["dataType"], T extends requireParamsStructure["structure"], K extends keyof T, P extends requireParamsStructure["parameter"], J extends requireParamsStructure["isStructurePartial"]> = Request<{}, {}, singleOrArrayObject<DT, T, K, P, J>, singleOrArrayObject<DT, T, K, P, J>, {}>;
50
- type MyResponse<DT extends responseStructure["dataType"], T extends responseStructure["structure"], K extends keyof T, P extends responseStructure["parameter"], J extends requireParamsStructure["isStructurePartial"]> = Response<{
49
+ type MyRequest<DT extends requireParamsStructure["dataType"], T extends requireParamsStructure["structure"], K extends keyof T, P extends requireParamsStructure["parameter"], J extends requireParamsStructure["isPartialStructure"]> = Request<{}, {}, singleOrArrayObject<DT, T, K, P, J>, singleOrArrayObject<DT, T, K, P, J>, {}>;
50
+ type MyResponse<DT extends responseStructure["dataType"], T extends responseStructure["structure"], K extends keyof T, P extends responseStructure["parameter"], J extends requireParamsStructure["isPartialStructure"]> = Response<{
51
51
  status: "SUCCESS" | "ERROR";
52
52
  message: string;
53
53
  parameter: {
@@ -64,19 +64,19 @@ export default class GGExpress {
64
64
  private outputPath;
65
65
  constructor(app: Express.Express, outputPath: string[]);
66
66
  private rootMethod;
67
- get<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isStructurePartial"]>(url: `/api/${string}`, options: {
67
+ get<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isPartialStructure"]>(url: `/api/${string}`, options: {
68
68
  requireParams: M;
69
69
  responseStructure: R;
70
70
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P, J>, res: MyResponse<R["dataType"], RS, KR, PP, J>, next: NextFunction) => any>): Express.Express;
71
- post<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isStructurePartial"]>(url: `/api/${string}`, options: {
71
+ post<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isPartialStructure"]>(url: `/api/${string}`, options: {
72
72
  requireParams: M;
73
73
  responseStructure: R;
74
74
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P, J>, res: MyResponse<R["dataType"], RS, KR, PP, J>, next: NextFunction) => any>): Express.Express;
75
- put<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isStructurePartial"]>(url: `/api/${string}`, options: {
75
+ put<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isPartialStructure"]>(url: `/api/${string}`, options: {
76
76
  requireParams: M;
77
77
  responseStructure: R;
78
78
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P, J>, res: MyResponse<R["dataType"], RS, KR, PP, J>, next: NextFunction) => any>): Express.Express;
79
- delete<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isStructurePartial"]>(url: `/api/${string}`, options: {
79
+ delete<M extends requireParamsStructure, T extends M["structure"], K extends keyof T, R extends responseStructure, RS extends R["structure"], KR extends keyof RS, P extends M["parameter"], PP extends R["parameter"], J extends M["isPartialStructure"]>(url: `/api/${string}`, options: {
80
80
  requireParams: M;
81
81
  responseStructure: R;
82
82
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P, J>, res: MyResponse<R["dataType"], RS, KR, PP, J>, next: NextFunction) => any>): Express.Express;
package/dist/GGExpress.js CHANGED
@@ -125,7 +125,13 @@ class GGExpress {
125
125
  rawString = filterDuplicateUrlOut
126
126
  .map((row) => {
127
127
  const parameterCode = genParamCodeParameter(row.requireParams);
128
- const parameterDataCode = genDataParamCode(row.requireParams);
128
+ let parameterDataCode = genDataParamCode(row.requireParams);
129
+ const isPartial = (code) => {
130
+ if (row.requireParams.isPartialStructure === true)
131
+ return `Partial<${code}>`;
132
+ else
133
+ return code;
134
+ };
129
135
  const requireParameterCode = () => {
130
136
  if (parameterCode === "")
131
137
  return "";
@@ -136,7 +142,7 @@ class GGExpress {
136
142
  if (parameterDataCode === "")
137
143
  return "";
138
144
  else
139
- return ` data:{${parameterDataCode}}${isArray(row.requireParams)}`;
145
+ return ` data:${isPartial(`{${parameterDataCode}}`)}${isArray(row.requireParams)}`;
140
146
  };
141
147
  let requireParamCode = `{${[requireParameterCode(), requireDataCode()]
142
148
  .filter((row) => row.length > 0)
@@ -230,7 +236,7 @@ export class GGApi {
230
236
  ): Promise<staticRouteInterface["delete"][T]["responseStructure"]> {
231
237
  return new Promise((resolve, reject) => {
232
238
  axios
233
- .delete(url as string, { data: requireParams })
239
+ .delete(url as string, { data: { data: { requireParams } } })
234
240
  .then((response) => {
235
241
  resolve(response.data)
236
242
  })
@@ -241,7 +247,6 @@ export class GGApi {
241
247
  }
242
248
  }
243
249
 
244
-
245
250
  `;
246
251
  fs_1.default.writeFileSync(filePathWithFileName, code);
247
252
  });
@@ -26,11 +26,11 @@ export interface staticRouteInterface {
26
26
  parameter: {
27
27
  lotNumber: number;
28
28
  };
29
- data: {
29
+ data: Partial<{
30
30
  id: number;
31
31
  name: string;
32
32
  price: number;
33
- }[];
33
+ }>;
34
34
  };
35
35
  responseStructure: {
36
36
  status: "SUCCESS" | "ERROR";
package/dist/test.js CHANGED
@@ -40,7 +40,8 @@ function run() {
40
40
  parameter: {
41
41
  lotNumber: "number",
42
42
  },
43
- dataType: "arrayObject",
43
+ isPartialStructure: true,
44
+ dataType: "singleObject",
44
45
  structure: {
45
46
  id: "number",
46
47
  name: "string",
@@ -56,6 +57,7 @@ function run() {
56
57
  },
57
58
  },
58
59
  }, (req, res, next) => {
60
+ req.body.data.data;
59
61
  // in body or query, you can access only requireParams that you declare at start
60
62
  const data = req.body.data;
61
63
  /* data structure
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gg-express",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
4
4
  "description": "",
5
5
  "main": "dist/GGExpress.js",
6
6
  "scripts": {
package/src/GGApi.ts CHANGED
@@ -56,7 +56,7 @@ export class GGApi {
56
56
  ): Promise<staticRouteInterface["delete"][T]["responseStructure"]> {
57
57
  return new Promise((resolve, reject) => {
58
58
  axios
59
- .delete(url as string, { data: requireParams })
59
+ .delete(url as string, { data: { data: { requireParams } } })
60
60
  .then((response) => {
61
61
  resolve(response.data)
62
62
  })
@@ -83,5 +83,11 @@ async function run() {
83
83
  const data2 = await api.get("/api/users/id", {
84
84
  data: [{ id: 2 }, { id: 3 }, { id: 20 }],
85
85
  })
86
+ api.post("/api/item", {
87
+ data: { id: 2 },
88
+ parameter: {
89
+ lotNumber: 2,
90
+ },
91
+ })
86
92
  }
87
93
  run()
package/src/GGExpress.ts CHANGED
@@ -28,7 +28,7 @@ interface requireParamsStructure {
28
28
  structure: {
29
29
  [key: string]: paramType
30
30
  }
31
- isStructurePartial?: boolean
31
+ isPartialStructure?: boolean
32
32
  }
33
33
  type numberOrString<T> = T extends "number"
34
34
  ? number
@@ -47,7 +47,7 @@ type singleOrArrayObject<
47
47
  T extends requireParamsStructure["structure"],
48
48
  K extends keyof T,
49
49
  P extends requireParamsStructure["parameter"],
50
- J extends requireParamsStructure["isStructurePartial"]
50
+ J extends requireParamsStructure["isPartialStructure"]
51
51
  > = DT extends "arrayObject"
52
52
  ? {
53
53
  data: {
@@ -71,7 +71,7 @@ type MyRequest<
71
71
  T extends requireParamsStructure["structure"],
72
72
  K extends keyof T,
73
73
  P extends requireParamsStructure["parameter"],
74
- J extends requireParamsStructure["isStructurePartial"]
74
+ J extends requireParamsStructure["isPartialStructure"]
75
75
  > = Request<
76
76
  {},
77
77
  {},
@@ -85,7 +85,7 @@ type MyResponse<
85
85
  T extends responseStructure["structure"],
86
86
  K extends keyof T,
87
87
  P extends responseStructure["parameter"],
88
- J extends requireParamsStructure["isStructurePartial"]
88
+ J extends requireParamsStructure["isPartialStructure"]
89
89
  > = Response<{
90
90
  status: "SUCCESS" | "ERROR"
91
91
  message: string
@@ -119,7 +119,7 @@ export default class GGExpress {
119
119
  KR extends keyof RS,
120
120
  P extends M["parameter"],
121
121
  PP extends R["parameter"],
122
- J extends M["isStructurePartial"]
122
+ J extends M["isPartialStructure"]
123
123
  >(
124
124
  method: "get" | "post" | "put" | "delete",
125
125
  url: string,
@@ -163,7 +163,7 @@ export default class GGExpress {
163
163
  KR extends keyof RS,
164
164
  P extends M["parameter"],
165
165
  PP extends R["parameter"],
166
- J extends M["isStructurePartial"]
166
+ J extends M["isPartialStructure"]
167
167
  >(
168
168
  url: `/api/${string}`,
169
169
  options: {
@@ -190,7 +190,7 @@ export default class GGExpress {
190
190
  KR extends keyof RS,
191
191
  P extends M["parameter"],
192
192
  PP extends R["parameter"],
193
- J extends M["isStructurePartial"]
193
+ J extends M["isPartialStructure"]
194
194
  >(
195
195
  url: `/api/${string}`,
196
196
  options: {
@@ -216,7 +216,7 @@ export default class GGExpress {
216
216
  KR extends keyof RS,
217
217
  P extends M["parameter"],
218
218
  PP extends R["parameter"],
219
- J extends M["isStructurePartial"]
219
+ J extends M["isPartialStructure"]
220
220
  >(
221
221
  url: `/api/${string}`,
222
222
  options: {
@@ -242,7 +242,7 @@ export default class GGExpress {
242
242
  KR extends keyof RS,
243
243
  P extends M["parameter"],
244
244
  PP extends R["parameter"],
245
- J extends M["isStructurePartial"]
245
+ J extends M["isPartialStructure"]
246
246
  >(
247
247
  url: `/api/${string}`,
248
248
  options: {
@@ -339,8 +339,13 @@ export default class GGExpress {
339
339
  rawString = filterDuplicateUrlOut
340
340
  .map((row) => {
341
341
  const parameterCode = genParamCodeParameter(row.requireParams)
342
- const parameterDataCode = genDataParamCode(row.requireParams)
342
+ let parameterDataCode = genDataParamCode(row.requireParams)
343
343
 
344
+ const isPartial = (code: string) => {
345
+ if (row.requireParams.isPartialStructure === true)
346
+ return `Partial<${code}>`
347
+ else return code
348
+ }
344
349
  const requireParameterCode = () => {
345
350
  if (parameterCode === "") return ""
346
351
  else return ` parameter:{${parameterCode}} `
@@ -348,7 +353,9 @@ export default class GGExpress {
348
353
  const requireDataCode = () => {
349
354
  if (parameterDataCode === "") return ""
350
355
  else
351
- return ` data:{${parameterDataCode}}${isArray(row.requireParams)}`
356
+ return ` data:${isPartial(`{${parameterDataCode}}`)}${isArray(
357
+ row.requireParams
358
+ )}`
352
359
  }
353
360
  let requireParamCode = `{${[requireParameterCode(), requireDataCode()]
354
361
  .filter((row) => row.length > 0)
@@ -449,7 +456,7 @@ export class GGApi {
449
456
  ): Promise<staticRouteInterface["delete"][T]["responseStructure"]> {
450
457
  return new Promise((resolve, reject) => {
451
458
  axios
452
- .delete(url as string, { data: requireParams })
459
+ .delete(url as string, { data: { data: { requireParams } } })
453
460
  .then((response) => {
454
461
  resolve(response.data)
455
462
  })
@@ -460,7 +467,6 @@ export class GGApi {
460
467
  }
461
468
  }
462
469
 
463
-
464
470
  `
465
471
 
466
472
  fs.writeFileSync(filePathWithFileName, code)
@@ -1,18 +1,29 @@
1
1
  export interface staticRouteInterface {
2
- get : { "/api/users/id" : {
3
- requireParams : { data:{ id : number}[]},
4
- responseStructure : {
5
- status : "SUCCESS" | "ERROR",
6
- message : string,
7
- parameter : { numberOfPeople : number, itemName : string}, data : { id : number, name : string } []}
8
- } },
9
- post : { "/api/item" : {
10
- requireParams : { parameter:{ lotNumber : number} , data:{ id : number, name : string, price : number}[]},
11
- responseStructure : {
12
- status : "SUCCESS" | "ERROR",
13
- message : string,
14
- parameter : { numberOfPeople : number, itemName : string}, data : { id : number, name : string } []}
15
- } },
16
- put : { },
17
- delete : { },
18
- }
2
+ get: {
3
+ "/api/users/id": {
4
+ requireParams: { data: { id: number }[] }
5
+ responseStructure: {
6
+ status: "SUCCESS" | "ERROR"
7
+ message: string
8
+ parameter: { numberOfPeople: number; itemName: string }
9
+ data: { id: number; name: string }[]
10
+ }
11
+ }
12
+ }
13
+ post: {
14
+ "/api/item": {
15
+ requireParams: {
16
+ parameter: { lotNumber: number }
17
+ data: Partial<{ id: number; name: string; price: number }>
18
+ }
19
+ responseStructure: {
20
+ status: "SUCCESS" | "ERROR"
21
+ message: string
22
+ parameter: { numberOfPeople: number; itemName: string }
23
+ data: { id: number; name: string }[]
24
+ }
25
+ }
26
+ }
27
+ put: {}
28
+ delete: {}
29
+ }
package/src/test.ts CHANGED
@@ -42,7 +42,8 @@ function run() {
42
42
  parameter: {
43
43
  lotNumber: "number",
44
44
  },
45
- dataType: "arrayObject",
45
+ isPartialStructure: true,
46
+ dataType: "singleObject",
46
47
  structure: {
47
48
  id: "number",
48
49
  name: "string",
@@ -59,6 +60,7 @@ function run() {
59
60
  },
60
61
  },
61
62
  (req, res, next) => {
63
+ req.body.data.data
62
64
  // in body or query, you can access only requireParams that you declare at start
63
65
  const data = req.body.data
64
66
  /* data structure