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 +7 -1
- package/dist/GGExpress.d.ts +8 -8
- package/dist/GGExpress.js +9 -4
- package/dist/staticRouteInterface.d.ts +2 -2
- package/dist/test.js +3 -1
- package/package.json +1 -1
- package/src/GGApi.ts +7 -1
- package/src/GGExpress.ts +19 -13
- package/src/staticRouteInterface.ts +28 -17
- package/src/test.ts +3 -1
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();
|
package/dist/GGExpress.d.ts
CHANGED
|
@@ -20,10 +20,10 @@ interface requireParamsStructure {
|
|
|
20
20
|
structure: {
|
|
21
21
|
[key: string]: paramType;
|
|
22
22
|
};
|
|
23
|
-
|
|
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["
|
|
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["
|
|
50
|
-
type MyResponse<DT extends responseStructure["dataType"], T extends responseStructure["structure"], K extends keyof T, P extends responseStructure["parameter"], J extends requireParamsStructure["
|
|
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["
|
|
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["
|
|
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["
|
|
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["
|
|
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
|
-
|
|
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
|
|
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
|
});
|
package/dist/test.js
CHANGED
|
@@ -40,7 +40,8 @@ function run() {
|
|
|
40
40
|
parameter: {
|
|
41
41
|
lotNumber: "number",
|
|
42
42
|
},
|
|
43
|
-
|
|
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
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
|
-
|
|
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["
|
|
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["
|
|
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["
|
|
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["
|
|
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["
|
|
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["
|
|
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["
|
|
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["
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
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
|