@zerooneit/expressive-tea 1.3.0-beta.2 → 1.3.0-beta.4

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/helpers/server.js CHANGED
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fileSettings = exports.router = exports.generateRoute = exports.extractParameters = exports.mapArguments = exports.executeRequest = exports.autoResponse = void 0;
4
4
  const lodash_1 = require("lodash");
5
- const MetaData_1 = require("../classes/MetaData");
6
- const constants_1 = require("../libs/constants");
5
+ const Metadata_1 = require("@expressive-tea/commons/classes/Metadata");
6
+ const constants_1 = require("@expressive-tea/commons/constants");
7
7
  const RequestExceptions_1 = require("../exceptions/RequestExceptions");
8
- const object_helper_1 = require("./object-helper");
8
+ const object_helper_1 = require("@expressive-tea/commons/helpers/object-helper");
9
9
  const fs = require("fs");
10
10
  function autoResponse(request, response, annotations, responseResult) {
11
11
  const view = (0, lodash_1.find)(annotations, { type: 'view' });
@@ -82,9 +82,9 @@ function generateRoute(route, verb, ...settings) {
82
82
  }
83
83
  exports.generateRoute = generateRoute;
84
84
  function router(verb, route, target, handler, propertyKey, settings) {
85
- const existedRoutesHandlers = MetaData_1.default.get(constants_1.ROUTER_HANDLERS_KEY, target) || [];
85
+ const existedRoutesHandlers = Metadata_1.default.get(constants_1.ROUTER_HANDLERS_KEY, target) || [];
86
86
  existedRoutesHandlers.unshift({ verb, route, handler, target, propertyKey, settings });
87
- MetaData_1.default.set(constants_1.ROUTER_HANDLERS_KEY, existedRoutesHandlers, target);
87
+ Metadata_1.default.set(constants_1.ROUTER_HANDLERS_KEY, existedRoutesHandlers, target);
88
88
  }
89
89
  exports.router = router;
90
90
  function fileSettings() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerooneit/expressive-tea",
3
- "version": "1.3.0-beta.2",
3
+ "version": "1.3.0-beta.4",
4
4
  "description": "A REST API over Express and Typescript",
5
5
  "main": "classes/Boot.js",
6
6
  "engines": {
@@ -25,44 +25,45 @@
25
25
  ],
26
26
  "license": "Apache-2.0",
27
27
  "devDependencies": {
28
- "@expressive-tea/plugin": "0.0.4",
29
- "@types/bluebird": "3.5.36",
30
- "@types/express": "4.17.13",
28
+ "@expressive-tea/commons": "^1.0.1",
29
+ "@expressive-tea/plugin": "1.0.2",
30
+ "@types/bluebird": "3.5.38",
31
+ "@types/express": "4.17.15",
31
32
  "@types/express-http-proxy": "1.6.3",
32
- "@types/express-serve-static-core": "4.17.28",
33
- "@types/jest": "27.5.1",
34
- "@types/lodash": "4.14.182",
35
- "@types/node": "17.0.36",
33
+ "@types/express-serve-static-core": "4.17.32",
34
+ "@types/jest": "29.2.5",
35
+ "@types/lodash": "4.14.191",
36
+ "@types/node": "18.11.18",
36
37
  "@types/reflect-metadata": "0.1.0",
37
38
  "@types/socket.io": "3.0.2",
38
39
  "@types/socket.io-client": "3.0.0",
39
- "@types/ws": "8.5.3",
40
- "trash-cli":"5.0.0",
40
+ "@types/ws": "8.5.4",
41
41
  "http-terminator": "3.2.0",
42
- "jest": "28.1.0",
42
+ "jest": "29.3.1",
43
43
  "jest-express": "1.12.0",
44
- "jest-junit": "13.2.0",
44
+ "jest-junit": "15.0.0",
45
45
  "reflect-metadata": "0.1.13",
46
- "rimraf": "3.0.2",
47
- "supertest": "6.2.3",
46
+ "rimraf": "4.0.5",
47
+ "supertest": "6.3.3",
48
48
  "toast-jsdoc": "1.0.2",
49
- "ts-jest": "28.0.3",
50
- "ts-node": "10.8.0",
49
+ "trash-cli": "5.0.0",
50
+ "ts-jest": "29.0.5",
51
+ "ts-node": "10.9.1",
51
52
  "tslint": "6.1.3",
52
- "typescript": "4.7.2"
53
+ "typescript": "4.9.4"
53
54
  },
54
55
  "dependencies": {
55
56
  "bluebird": "3.7.2",
56
- "eiows": "4.1.2",
57
- "express": "4.18.1",
57
+ "eiows": "^4.1.2",
58
+ "express": "4.18.2",
58
59
  "express-http-proxy": "1.6.3",
59
60
  "inversify": "6.0.1",
60
61
  "inversify-inject-decorators": "3.1.0",
61
62
  "lodash": "4.17.21",
62
- "socket.io": "4.5.1",
63
- "socket.io-client": "4.5.1",
63
+ "socket.io": "4.5.4",
64
+ "socket.io-client": "4.5.4",
64
65
  "url-scheme": "1.0.5",
65
- "ws": "8.7.0"
66
+ "ws": "8.12.0"
66
67
  },
67
68
  "repository": {
68
69
  "type": "git",
@@ -105,8 +106,8 @@
105
106
  },
106
107
  "homepage": "https://github.com/Expressive-Tea/expresive-tea#readme",
107
108
  "optionalDependencies": {
108
- "bufferutil": "4.0.6",
109
- "utf-8-validate": "^5.0.9"
109
+ "bufferutil": "4.0.7",
110
+ "utf-8-validate": "^6.0.0"
110
111
  },
111
112
  "resolutions": {
112
113
  "set-value": "4.1.0",
@@ -1,17 +0,0 @@
1
- import 'reflect-metadata';
2
- export default class Metadata {
3
- static get(key: string, target: any, propertyKey?: string | symbol): any;
4
- static getOwn(key: string, target: any, propertyKey?: string | symbol): any;
5
- static getType(target: any, propertyKey?: string | symbol): any;
6
- static getOwnType(target: any, propertyKey?: string | symbol): any;
7
- static getReturnType(target: any, propertyKey?: string | symbol): any;
8
- static getOwnReturnType(target: any, propertyKey?: string | symbol): any;
9
- static has(key: string, target: any, propertyKey?: string | symbol): boolean;
10
- static hasOwn(key: string, target: any, propertyKey?: string | symbol): boolean;
11
- static setParamTypes(target: any, propertyKey: string | symbol, value: any): void;
12
- static delete(key: string, target: any, propertyKey?: string | symbol): boolean;
13
- static getTargetsFromPropertyKey: (metadataKey: string | symbol) => any[];
14
- static set(key: string, value: any, target: any, propertyKey?: string | symbol): void;
15
- static getParamTypes(targetPrototype: any, propertyKey?: string | symbol): any[];
16
- static getOwnParamTypes(target: any, propertyKey?: string | symbol): any[];
17
- }
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* istanbul ignore file */
4
- require("reflect-metadata");
5
- const object_helper_1 = require("../helpers/object-helper");
6
- function get(key, target, propertyKey, own = false) {
7
- return own ?
8
- Reflect.getOwnMetadata(key, (0, object_helper_1.getClass)(target), propertyKey) :
9
- Reflect.getMetadata(key, (0, object_helper_1.getClass)(target), propertyKey);
10
- }
11
- class Metadata {
12
- static get(key, target, propertyKey) {
13
- return get(key, (0, object_helper_1.getClass)(target), propertyKey);
14
- }
15
- static getOwn(key, target, propertyKey) {
16
- return get(key, (0, object_helper_1.getClass)(target), propertyKey, true);
17
- }
18
- static getType(target, propertyKey) {
19
- return Reflect.getMetadata(DESIGN_TYPE, target, propertyKey);
20
- }
21
- static getOwnType(target, propertyKey) {
22
- return Reflect.getMetadata(DESIGN_TYPE, target, propertyKey);
23
- }
24
- static getReturnType(target, propertyKey) {
25
- return Reflect.getMetadata(DESIGN_RETURN_TYPE, target, propertyKey);
26
- }
27
- static getOwnReturnType(target, propertyKey) {
28
- return Reflect.getOwnMetadata(DESIGN_RETURN_TYPE, target, propertyKey);
29
- }
30
- static has(key, target, propertyKey) {
31
- try {
32
- return Reflect.hasMetadata(key, (0, object_helper_1.getClass)(target), propertyKey);
33
- }
34
- catch (er) {
35
- return false;
36
- }
37
- }
38
- static hasOwn(key, target, propertyKey) {
39
- return Reflect.hasOwnMetadata(key, (0, object_helper_1.getClass)(target), propertyKey);
40
- }
41
- static setParamTypes(target, propertyKey, value) {
42
- return this.set(DESIGN_PARAM_TYPES, value, target.prototype, propertyKey);
43
- }
44
- static delete(key, target, propertyKey) {
45
- return Reflect.deleteMetadata(key, (0, object_helper_1.getClass)(target), propertyKey);
46
- }
47
- static set(key, value, target, propertyKey) {
48
- const targets = PROPERTIES.has(key) ? PROPERTIES.get(key) || [] : [];
49
- const classConstructor = (0, object_helper_1.getClass)(target);
50
- if (targets.indexOf(classConstructor) === -1) {
51
- targets.push(classConstructor);
52
- PROPERTIES.set(key, targets);
53
- }
54
- Reflect.defineMetadata(key, value, (0, object_helper_1.getClass)(target), propertyKey);
55
- }
56
- static getParamTypes(targetPrototype, propertyKey) {
57
- return get(DESIGN_PARAM_TYPES, targetPrototype, propertyKey) || [];
58
- }
59
- static getOwnParamTypes(target, propertyKey) {
60
- return get(DESIGN_PARAM_TYPES, target, propertyKey, true) || [];
61
- }
62
- }
63
- exports.default = Metadata;
64
- Metadata.getTargetsFromPropertyKey = (metadataKey) => PROPERTIES.has(metadataKey) ? PROPERTIES.get(metadataKey) || [] : [];
65
- const DESIGN_PARAM_TYPES = 'design:paramtypes';
66
- const DESIGN_TYPE = 'design:type';
67
- const DESIGN_RETURN_TYPE = 'design:returntype';
68
- const PROPERTIES = new Map();
@@ -1,167 +0,0 @@
1
- /**
2
- * Get the provide constructor.
3
- * @param targetClass
4
- * @ignore
5
- */
6
- export declare const getConstructor: (targetClass: any) => any;
7
- /**
8
- * Get the provide constructor if target is an instance.
9
- * @param target
10
- * @returns {*}
11
- * @ignore
12
- */
13
- export declare function getClass(target: any): any;
14
- /**
15
- * Get the provide constructor if target is an instance.
16
- * @param target
17
- * @returns {*}
18
- * @alias getClass
19
- * @ignore
20
- */
21
- export declare function classOf(target: any): any;
22
- /**
23
- *
24
- * @param target
25
- * @returns {symbol}
26
- * @ignore
27
- */
28
- export declare function getClassOrSymbol(target: any): any;
29
- /**
30
- * Return true if the given obj is a primitive.
31
- * @param target
32
- * @returns {boolean}
33
- * @ignore
34
- */
35
- export declare function isPrimitiveOrPrimitiveClass(target: any): boolean;
36
- /**
37
- *
38
- * @param target
39
- * @returns {"string" | "number" | "boolean" | "any"}
40
- * @ignore
41
- */
42
- export declare function primitiveOf(target: any): 'string' | 'number' | 'boolean' | 'any';
43
- /**
44
- *
45
- * @param target
46
- * @returns {boolean}
47
- * @ignore
48
- */
49
- export declare function isString(target: any): boolean;
50
- /**
51
- *
52
- * @param target
53
- * @returns {boolean}
54
- * @ignore
55
- */
56
- export declare function isNumber(target: any): boolean;
57
- /**
58
- *
59
- * @param target
60
- * @returns {boolean}
61
- * @ignore
62
- */
63
- export declare function isBoolean(target: any): boolean;
64
- /**
65
- *
66
- * @param target
67
- * @returns {Boolean}
68
- * @ignore
69
- */
70
- export declare function isArray(target: any): boolean;
71
- /**
72
- * Return true if the clazz is an array.
73
- * @param target
74
- * @returns {boolean}
75
- * @ignore
76
- */
77
- export declare function isArrayOrArrayClass(target: any): boolean;
78
- /**
79
- * Return true if the target.
80
- * @param target
81
- * @returns {boolean}
82
- * @ignore
83
- */
84
- export declare function isCollection(target: any): boolean;
85
- /**
86
- *
87
- * @param target
88
- * @returns {boolean}
89
- * @ignore
90
- */
91
- export declare function isDate(target: any): boolean;
92
- /**
93
- *
94
- * @param target
95
- * @returns {boolean}
96
- * @ignore
97
- */
98
- export declare function isObject(target: any): boolean;
99
- /**
100
- *
101
- * @param target
102
- * @returns {boolean}
103
- * @ignore
104
- */
105
- export declare function isClass(target: any): boolean;
106
- /**
107
- * Return true if the value is an empty string, null or undefined.
108
- * @param value
109
- * @returns {boolean}
110
- * @ignore
111
- */
112
- export declare function isEmpty(value: any): boolean;
113
- /**
114
- *
115
- * @param target
116
- * @returns {boolean}
117
- * @ignore
118
- */
119
- export declare function isPromise(target: any): boolean;
120
- /**
121
- *
122
- * @param target
123
- * @returns {any}
124
- * @ignore
125
- */
126
- export declare function getInheritedClass(target: any): any;
127
- /**
128
- *
129
- * @param target
130
- * @returns {Array}
131
- * @ignore
132
- */
133
- export declare function ancestorsOf(target: any): any[];
134
- /**
135
- * Get object name
136
- * @ignore
137
- */
138
- export declare function nameOf(obj: any): string;
139
- /**
140
- * Get the provide name.
141
- * @param targetClass
142
- * @ignore
143
- */
144
- export declare function nameOfClass(targetClass: any): string;
145
- /**
146
- * Get symbol name.
147
- * @param sym
148
- * @ignore
149
- */
150
- export declare const nameOfSymbol: (sym: symbol) => string;
151
- /**
152
- *
153
- * @param target
154
- * @param {string} propertyKey
155
- * @returns {PropertyDescriptor}
156
- * @ignore
157
- */
158
- export declare function descriptorOf(target: any, propertyKey: string): PropertyDescriptor;
159
- /**
160
- *
161
- * @param target
162
- * @returns {any}
163
- * @ignore
164
- */
165
- export declare function prototypeOf(target: any): any;
166
- export declare function getOwnArgumentNames(fn: Function): string[];
167
- export declare function isAsyncFunction(fn: () => any): boolean;
@@ -1,292 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAsyncFunction = exports.getOwnArgumentNames = exports.prototypeOf = exports.descriptorOf = exports.nameOfSymbol = exports.nameOfClass = exports.nameOf = exports.ancestorsOf = exports.getInheritedClass = exports.isPromise = exports.isEmpty = exports.isClass = exports.isObject = exports.isDate = exports.isCollection = exports.isArrayOrArrayClass = exports.isArray = exports.isBoolean = exports.isNumber = exports.isString = exports.primitiveOf = exports.isPrimitiveOrPrimitiveClass = exports.getClassOrSymbol = exports.classOf = exports.getClass = exports.getConstructor = void 0;
4
- /* istanbul ignore file */
5
- /**
6
- * Get the provide constructor.
7
- * @param targetClass
8
- * @ignore
9
- */
10
- const getConstructor = (targetClass) => typeof targetClass === 'function' ? targetClass : targetClass.constructor;
11
- exports.getConstructor = getConstructor;
12
- /**
13
- * Get the provide constructor if target is an instance.
14
- * @param target
15
- * @returns {*}
16
- * @ignore
17
- */
18
- function getClass(target) {
19
- return target.prototype ? target : target.constructor;
20
- }
21
- exports.getClass = getClass;
22
- /**
23
- * Get the provide constructor if target is an instance.
24
- * @param target
25
- * @returns {*}
26
- * @alias getClass
27
- * @ignore
28
- */
29
- function classOf(target) {
30
- return getClass(target);
31
- }
32
- exports.classOf = classOf;
33
- /**
34
- *
35
- * @param target
36
- * @returns {symbol}
37
- * @ignore
38
- */
39
- function getClassOrSymbol(target) {
40
- return typeof target === 'symbol' ? target : getClass(target);
41
- }
42
- exports.getClassOrSymbol = getClassOrSymbol;
43
- /**
44
- * Return true if the given obj is a primitive.
45
- * @param target
46
- * @returns {boolean}
47
- * @ignore
48
- */
49
- function isPrimitiveOrPrimitiveClass(target) {
50
- return isString(target) || isNumber(target) || isBoolean(target);
51
- }
52
- exports.isPrimitiveOrPrimitiveClass = isPrimitiveOrPrimitiveClass;
53
- /**
54
- *
55
- * @param target
56
- * @returns {"string" | "number" | "boolean" | "any"}
57
- * @ignore
58
- */
59
- function primitiveOf(target) {
60
- if (isString(target)) {
61
- return 'string';
62
- }
63
- if (isNumber(target)) {
64
- return 'number';
65
- }
66
- if (isBoolean(target)) {
67
- return 'boolean';
68
- }
69
- return 'any';
70
- }
71
- exports.primitiveOf = primitiveOf;
72
- /**
73
- *
74
- * @param target
75
- * @returns {boolean}
76
- * @ignore
77
- */
78
- function isString(target) {
79
- return checkType(target, 'string', String);
80
- }
81
- exports.isString = isString;
82
- /**
83
- *
84
- * @param target
85
- * @returns {boolean}
86
- * @ignore
87
- */
88
- function isNumber(target) {
89
- return checkType(target, 'number', Number);
90
- }
91
- exports.isNumber = isNumber;
92
- /**
93
- *
94
- * @param target
95
- * @returns {boolean}
96
- * @ignore
97
- */
98
- function isBoolean(target) {
99
- return checkType(target, 'boolean', Boolean);
100
- }
101
- exports.isBoolean = isBoolean;
102
- function checkType(target, type, TypeClass) {
103
- return typeof target === type || target instanceof TypeClass || target === TypeClass;
104
- }
105
- /**
106
- *
107
- * @param target
108
- * @returns {Boolean}
109
- * @ignore
110
- */
111
- function isArray(target) {
112
- return Array.isArray(target);
113
- }
114
- exports.isArray = isArray;
115
- /**
116
- * Return true if the clazz is an array.
117
- * @param target
118
- * @returns {boolean}
119
- * @ignore
120
- */
121
- function isArrayOrArrayClass(target) {
122
- if (target === Array) {
123
- return true;
124
- }
125
- return isArray(target);
126
- }
127
- exports.isArrayOrArrayClass = isArrayOrArrayClass;
128
- /**
129
- * Return true if the target.
130
- * @param target
131
- * @returns {boolean}
132
- * @ignore
133
- */
134
- function isCollection(target) {
135
- return (isArrayOrArrayClass(target) ||
136
- target === Map ||
137
- target instanceof Map ||
138
- target === Set ||
139
- target instanceof Set ||
140
- target === WeakMap ||
141
- target instanceof WeakMap ||
142
- target === WeakSet ||
143
- target instanceof WeakSet);
144
- }
145
- exports.isCollection = isCollection;
146
- /**
147
- *
148
- * @param target
149
- * @returns {boolean}
150
- * @ignore
151
- */
152
- function isDate(target) {
153
- return target === Date || target instanceof Date;
154
- }
155
- exports.isDate = isDate;
156
- /**
157
- *
158
- * @param target
159
- * @returns {boolean}
160
- * @ignore
161
- */
162
- function isObject(target) {
163
- return target === Object;
164
- }
165
- exports.isObject = isObject;
166
- /**
167
- *
168
- * @param target
169
- * @returns {boolean}
170
- * @ignore
171
- */
172
- function isClass(target) {
173
- return (!isPrimitiveOrPrimitiveClass(target) &&
174
- !isObject(target) &&
175
- !isDate(target) &&
176
- target !== undefined &&
177
- !isPromise(target));
178
- }
179
- exports.isClass = isClass;
180
- /**
181
- * Return true if the value is an empty string, null or undefined.
182
- * @param value
183
- * @returns {boolean}
184
- * @ignore
185
- */
186
- function isEmpty(value) {
187
- return value === '' || value === null || value === undefined;
188
- }
189
- exports.isEmpty = isEmpty;
190
- /**
191
- *
192
- * @param target
193
- * @returns {boolean}
194
- * @ignore
195
- */
196
- function isPromise(target) {
197
- return target === Promise || target instanceof Promise;
198
- }
199
- exports.isPromise = isPromise;
200
- /**
201
- *
202
- * @param target
203
- * @returns {any}
204
- * @ignore
205
- */
206
- function getInheritedClass(target) {
207
- return Object.getPrototypeOf(target);
208
- }
209
- exports.getInheritedClass = getInheritedClass;
210
- /**
211
- *
212
- * @param target
213
- * @returns {Array}
214
- * @ignore
215
- */
216
- function ancestorsOf(target) {
217
- const classes = [];
218
- let currentTarget = getClass(target);
219
- while (nameOf(currentTarget) !== '') {
220
- classes.unshift(currentTarget);
221
- currentTarget = getInheritedClass(currentTarget);
222
- }
223
- return classes;
224
- }
225
- exports.ancestorsOf = ancestorsOf;
226
- /**
227
- * Get object name
228
- * @ignore
229
- */
230
- function nameOf(obj) {
231
- switch (typeof obj) {
232
- default:
233
- return '' + obj;
234
- case 'symbol':
235
- return (0, exports.nameOfSymbol)(obj);
236
- case 'function':
237
- return nameOfClass(obj);
238
- }
239
- }
240
- exports.nameOf = nameOf;
241
- /**
242
- * Get the provide name.
243
- * @param targetClass
244
- * @ignore
245
- */
246
- function nameOfClass(targetClass) {
247
- return typeof targetClass === 'function' ? targetClass.name : targetClass.constructor.name;
248
- }
249
- exports.nameOfClass = nameOfClass;
250
- /**
251
- * Get symbol name.
252
- * @param sym
253
- * @ignore
254
- */
255
- const nameOfSymbol = (sym) => sym
256
- .toString()
257
- .replace('Symbol(', '')
258
- .replace(')', '');
259
- exports.nameOfSymbol = nameOfSymbol;
260
- /**
261
- *
262
- * @param target
263
- * @param {string} propertyKey
264
- * @returns {PropertyDescriptor}
265
- * @ignore
266
- */
267
- function descriptorOf(target, propertyKey) {
268
- return Object.getOwnPropertyDescriptor((target && target.prototype) || target, propertyKey);
269
- }
270
- exports.descriptorOf = descriptorOf;
271
- /**
272
- *
273
- * @param target
274
- * @returns {any}
275
- * @ignore
276
- */
277
- function prototypeOf(target) {
278
- return classOf(target) === target ? target.prototype : target;
279
- }
280
- exports.prototypeOf = prototypeOf;
281
- const argumentsRegExp = /\(([\s\S]*?)\)/;
282
- const replaceRegExp = /[ ,\n\r\t]+/;
283
- // tslint:disable-next-line:ban-types
284
- function getOwnArgumentNames(fn) {
285
- const fnArguments = argumentsRegExp.exec(fn.toString())[1].trim();
286
- return fnArguments && fnArguments.length ? fnArguments.split(replaceRegExp) : [];
287
- }
288
- exports.getOwnArgumentNames = getOwnArgumentNames;
289
- function isAsyncFunction(fn) {
290
- return fn.constructor.name === 'AsyncFunction' || fn.constructor.name.includes('__awaiter');
291
- }
292
- exports.isAsyncFunction = isAsyncFunction;