gg-express 1.0.19 → 1.0.21

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.
@@ -23,18 +23,22 @@ interface requireParamsStructure {
23
23
  }
24
24
  type numberOrString<T> = T extends "number" ? number : T extends "string" ? string : T extends string[] ? Unarray<T> : T extends number[] ? Unarray<T> : "error-type";
25
25
  type singleOrArrayObject<DT extends requireParamsStructure["dataType"], T extends requireParamsStructure["structure"], K extends keyof T, P extends requireParamsStructure["parameter"]> = DT extends "arrayObject" ? {
26
- parameter: {
27
- [Key in keyof P]: numberOrString<P[Key]>;
28
- };
29
26
  data: {
30
- [Key in K]: numberOrString<T[Key]>;
31
- }[];
32
- } : {
33
- parameter: {
34
- [Key in keyof P]: numberOrString<P[Key]>;
27
+ parameter: {
28
+ [Key in keyof P]: numberOrString<P[Key]>;
29
+ };
30
+ data: {
31
+ [Key in K]: numberOrString<T[Key]>;
32
+ }[];
35
33
  };
34
+ } : {
36
35
  data: {
37
- [Key in K]: numberOrString<T[Key]>;
36
+ parameter: {
37
+ [Key in keyof P]: numberOrString<P[Key]>;
38
+ };
39
+ data: {
40
+ [Key in K]: numberOrString<T[Key]>;
41
+ };
38
42
  };
39
43
  };
40
44
  type MyRequest<DT extends requireParamsStructure["dataType"], T extends requireParamsStructure["structure"], K extends keyof T, P extends requireParamsStructure["parameter"]> = Request<{}, {}, singleOrArrayObject<DT, T, K, P>, singleOrArrayObject<DT, T, K, P>, {}>;
@@ -55,19 +59,19 @@ export default class GGExpress {
55
59
  private outputPath;
56
60
  constructor(app: Express.Express, outputPath: string[]);
57
61
  private rootMethod;
58
- 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 M["parameter"]>(url: `/api/${string}`, options: {
62
+ 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"]>(url: `/api/${string}`, options: {
59
63
  requireParams: M;
60
64
  responseStructure: R;
61
65
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P>, res: MyResponse<R["dataType"], RS, KR, PP>, next: NextFunction) => any>): Express.Express;
62
- 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 M["parameter"]>(url: `/api/${string}`, options: {
66
+ 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"]>(url: `/api/${string}`, options: {
63
67
  requireParams: M;
64
68
  responseStructure: R;
65
69
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P>, res: MyResponse<R["dataType"], RS, KR, PP>, next: NextFunction) => any>): Express.Express;
66
- 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 M["parameter"]>(url: `/api/${string}`, options: {
70
+ 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"]>(url: `/api/${string}`, options: {
67
71
  requireParams: M;
68
72
  responseStructure: R;
69
73
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P>, res: MyResponse<R["dataType"], RS, KR, PP>, next: NextFunction) => any>): Express.Express;
70
- 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 M["parameter"]>(url: `/api/${string}`, options: {
74
+ 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"]>(url: `/api/${string}`, options: {
71
75
  requireParams: M;
72
76
  responseStructure: R;
73
77
  }, ...middlewares: Array<(req: MyRequest<M["dataType"], T, K, P>, res: MyResponse<R["dataType"], RS, KR, PP>, next: NextFunction) => any>): Express.Express;
package/dist/test.js CHANGED
@@ -28,7 +28,16 @@ function run() {
28
28
  },
29
29
  },
30
30
  }, (req, res, next) => {
31
- req.body.parameter;
31
+ const data = req.body.data.parameter;
32
+ return res.json({
33
+ message: "",
34
+ status: "SUCCESS",
35
+ data: [],
36
+ parameter: {
37
+ itemName: "",
38
+ numberOfPeople: 2,
39
+ },
40
+ });
32
41
  });
33
42
  app.listen(3000, () => {
34
43
  ggapp.generateAPIFiles();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gg-express",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "description": "",
5
5
  "main": "dist/GGExpress.js",
6
6
  "scripts": {
package/src/GGExpress.ts CHANGED
@@ -43,12 +43,16 @@ type singleOrArrayObject<
43
43
  P extends requireParamsStructure["parameter"]
44
44
  > = DT extends "arrayObject"
45
45
  ? {
46
- parameter: { [Key in keyof P]: numberOrString<P[Key]> }
47
- data: { [Key in K]: numberOrString<T[Key]> }[]
46
+ data: {
47
+ parameter: { [Key in keyof P]: numberOrString<P[Key]> }
48
+ data: { [Key in K]: numberOrString<T[Key]> }[]
49
+ }
48
50
  }
49
51
  : {
50
- parameter: { [Key in keyof P]: numberOrString<P[Key]> }
51
- data: { [Key in K]: numberOrString<T[Key]> }
52
+ data: {
53
+ parameter: { [Key in keyof P]: numberOrString<P[Key]> }
54
+ data: { [Key in K]: numberOrString<T[Key]> }
55
+ }
52
56
  }
53
57
 
54
58
  type MyRequest<
@@ -101,7 +105,7 @@ export default class GGExpress {
101
105
  RS extends R["structure"],
102
106
  KR extends keyof RS,
103
107
  P extends M["parameter"],
104
- PP extends M["parameter"]
108
+ PP extends R["parameter"]
105
109
  >(
106
110
  method: "get" | "post" | "put" | "delete",
107
111
  url: string,
@@ -144,7 +148,7 @@ export default class GGExpress {
144
148
  RS extends R["structure"],
145
149
  KR extends keyof RS,
146
150
  P extends M["parameter"],
147
- PP extends M["parameter"]
151
+ PP extends R["parameter"]
148
152
  >(
149
153
  url: `/api/${string}`,
150
154
  options: {
@@ -170,7 +174,7 @@ export default class GGExpress {
170
174
  RS extends R["structure"],
171
175
  KR extends keyof RS,
172
176
  P extends M["parameter"],
173
- PP extends M["parameter"]
177
+ PP extends R["parameter"]
174
178
  >(
175
179
  url: `/api/${string}`,
176
180
  options: {
@@ -195,7 +199,7 @@ export default class GGExpress {
195
199
  RS extends R["structure"],
196
200
  KR extends keyof RS,
197
201
  P extends M["parameter"],
198
- PP extends M["parameter"]
202
+ PP extends R["parameter"]
199
203
  >(
200
204
  url: `/api/${string}`,
201
205
  options: {
@@ -220,7 +224,7 @@ export default class GGExpress {
220
224
  RS extends R["structure"],
221
225
  KR extends keyof RS,
222
226
  P extends M["parameter"],
223
- PP extends M["parameter"]
227
+ PP extends R["parameter"]
224
228
  >(
225
229
  url: `/api/${string}`,
226
230
  options: {
package/src/test.ts CHANGED
@@ -26,7 +26,16 @@ function run() {
26
26
  },
27
27
  },
28
28
  (req, res, next) => {
29
- req.body.parameter
29
+ const data = req.body.data.parameter
30
+ return res.json({
31
+ message: "",
32
+ status: "SUCCESS",
33
+ data: [],
34
+ parameter: {
35
+ itemName: "",
36
+ numberOfPeople: 2,
37
+ },
38
+ })
30
39
  }
31
40
  )
32
41
  app.listen(3000, () => {