@novice1/app 0.2.1 → 0.3.1

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/lib/baseApp.js CHANGED
@@ -1,292 +1,311 @@
1
- "use strict";
2
- var _BaseApp_config, _BaseApp_server, _BaseApp_isBuilding, _BaseApp_isBuilt;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BaseApp = void 0;
5
- const tslib_1 = require("tslib");
6
- const http_1 = tslib_1.__importDefault(require("http"));
7
- const express_1 = tslib_1.__importDefault(require("express"));
8
- const routing_1 = tslib_1.__importDefault(require("@novice1/routing"));
9
- const reply_1 = require("./middlewares/reply");
10
- /**
11
- * Abstract application
12
- */
13
- class BaseApp {
14
- constructor(options) {
15
- _BaseApp_config.set(this, {});
16
- _BaseApp_server.set(this, void 0);
17
- _BaseApp_isBuilding.set(this, false);
18
- _BaseApp_isBuilt.set(this, false);
19
- this.__app = express_1.default();
20
- this.__router = routing_1.default();
21
- this.addOptions(options || {});
22
- }
23
- /**
24
- * Express Application
25
- */
26
- get _app() {
27
- return this.__app;
28
- }
29
- /**
30
- * Main router
31
- */
32
- get _router() {
33
- return this.__router;
34
- }
35
- get building() {
36
- return tslib_1.__classPrivateFieldGet(this, _BaseApp_isBuilding, "f");
37
- }
38
- get built() {
39
- return tslib_1.__classPrivateFieldGet(this, _BaseApp_isBuilt, "f");
40
- }
41
- get meta() {
42
- return this.__router.getMeta();
43
- }
44
- get server() {
45
- return tslib_1.__classPrivateFieldGet(this, _BaseApp_server, "f");
46
- }
47
- _registerRouter(router) {
48
- var _a, _b, _c, _d, _e, _f;
49
- if (((_c = (_b = (_a = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f")) === null || _a === void 0 ? void 0 : _a.framework) === null || _b === void 0 ? void 0 : _b.validators) === null || _c === void 0 ? void 0 : _c.length)
50
- && typeof router.setValidatorsIfNone === 'function') {
51
- router.setValidatorsIfNone(tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework.validators);
52
- }
53
- if (((_f = (_e = (_d = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f")) === null || _d === void 0 ? void 0 : _d.framework) === null || _e === void 0 ? void 0 : _e.auth) === null || _f === void 0 ? void 0 : _f.length)
54
- && typeof router.setAuthHandlersIfNone === 'function') {
55
- router.setAuthHandlersIfNone(tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework.auth);
56
- }
57
- this.__router.use(router);
58
- }
59
- _buildFramework() {
60
- var _a, _b;
61
- // register main router
62
- this.__app.use(this.__router);
63
- // register framework's middlewares
64
- this.__router.use(reply_1.addReplyMiddleware(this));
65
- // register user's middlewares
66
- if ((_b = (_a = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework) === null || _a === void 0 ? void 0 : _a.middlewares) === null || _b === void 0 ? void 0 : _b.length) {
67
- this.__router.use(...tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework.middlewares);
68
- }
69
- }
70
- _buildRoutes() {
71
- var _a;
72
- (_a = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers) === null || _a === void 0 ? void 0 : _a.forEach(router => {
73
- this._registerRouter(router);
74
- });
75
- }
76
- /**
77
- *
78
- * @param options Options to concatenate with current options.
79
- * @returns
80
- */
81
- addOptions(options) {
82
- if (options && typeof options === 'object') {
83
- if (options.framework) {
84
- this.addFrameworkOptions(options.framework);
85
- }
86
- if (options.routers) {
87
- this.addRouters(options.routers);
88
- }
89
- }
90
- return this;
91
- }
92
- addFrameworkOptions(options) {
93
- const frameworkOpts = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework || {};
94
- if (Array.isArray(options.middlewares)) {
95
- const middlewares = [];
96
- options.middlewares.forEach(element => {
97
- middlewares.push(element);
98
- });
99
- frameworkOpts.middlewares = middlewares;
100
- }
101
- if (Array.isArray(options.auth)) {
102
- const auth = [];
103
- options.auth.forEach(element => {
104
- if (typeof element === 'function') {
105
- auth.push(element);
106
- }
107
- });
108
- frameworkOpts.auth = auth;
109
- }
110
- if (Array.isArray(options.validators)) {
111
- const validators = [];
112
- options.validators.forEach(element => {
113
- if (typeof element === 'function') {
114
- validators.push(element);
115
- }
116
- });
117
- frameworkOpts.validators = validators;
118
- }
119
- tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework = frameworkOpts;
120
- return this;
121
- }
122
- addRouters(routers) {
123
- if (!this.built) {
124
- if (routers) {
125
- if (Array.isArray(routers)) {
126
- routers.forEach(router => {
127
- tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers || [];
128
- tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers.push(router);
129
- });
130
- }
131
- else {
132
- tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers || [];
133
- tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers.push(routers);
134
- }
135
- }
136
- }
137
- else {
138
- if (routers) {
139
- if (Array.isArray(routers)) {
140
- routers.forEach(router => {
141
- this._registerRouter(router);
142
- });
143
- }
144
- else {
145
- this._registerRouter(routers);
146
- }
147
- }
148
- }
149
- return this;
150
- }
151
- /**
152
- *
153
- * @param options
154
- * @param mod Module that will create the server (e.g.: require('https'))
155
- * @example ```js
156
- * const https = require('https');
157
- * const server = app.build(HTTPS_SERVER_OPTIONS, https);
158
- * server.listen(PORT);
159
- * ```
160
- */
161
- build(options, mod) {
162
- if (!tslib_1.__classPrivateFieldGet(this, _BaseApp_server, "f") /*&& !this.#isBuilding*/) {
163
- tslib_1.__classPrivateFieldSet(this, _BaseApp_isBuilding, true, "f");
164
- this._buildFramework();
165
- this._buildRoutes();
166
- tslib_1.__classPrivateFieldSet(this, _BaseApp_isBuilt, true, "f");
167
- tslib_1.__classPrivateFieldSet(this, _BaseApp_isBuilding, false, "f");
168
- if (mod) {
169
- if (options) {
170
- tslib_1.__classPrivateFieldSet(this, _BaseApp_server, mod.createServer(options, this.__app), "f");
171
- }
172
- else {
173
- tslib_1.__classPrivateFieldSet(this, _BaseApp_server, mod.createServer(this.__app), "f");
174
- }
175
- }
176
- else {
177
- tslib_1.__classPrivateFieldSet(this, _BaseApp_server, http_1.default.createServer(options || {}, this.__app), "f");
178
- }
179
- }
180
- return tslib_1.__classPrivateFieldGet(this, _BaseApp_server, "f");
181
- }
182
- listen(a1, a2, a3, a4) {
183
- const server = this.build();
184
- let r;
185
- if (typeof a1 === 'number') {
186
- if (typeof a2 === 'string') {
187
- if (typeof a3 === 'number') {
188
- // 1
189
- r = server.listen(a1, a2, a3, a4);
190
- }
191
- else {
192
- // 2
193
- r = server.listen(a1, a2, a3);
194
- }
195
- }
196
- else if (typeof a2 === 'number') {
197
- if (typeof a3 === 'function') {
198
- // 3-8
199
- r = server.listen(a1, a2, a3);
200
- }
201
- else {
202
- // 3-8
203
- r = server.listen(a1, a2);
204
- }
205
- }
206
- else {
207
- // 4-9
208
- r = server.listen(a1, a2);
209
- }
210
- }
211
- else if (typeof a1 === 'string') {
212
- if (typeof a2 === 'number') {
213
- if (typeof a3 === 'function') {
214
- // 5-8
215
- r = server.listen(a1, a2, a3);
216
- }
217
- else {
218
- // 5-8
219
- r = server.listen(a1, a2);
220
- }
221
- }
222
- else if (typeof a2 === 'function') {
223
- // 6-9
224
- r = server.listen(a1, a2);
225
- }
226
- else {
227
- // 5-6-8-9
228
- r = server.listen(a1);
229
- }
230
- }
231
- else {
232
- if (typeof a2 === 'number') {
233
- if (typeof a3 === 'function') {
234
- // 8
235
- r = server.listen(a1, a2, a3);
236
- }
237
- else {
238
- // 8
239
- r = server.listen(a1, a2);
240
- }
241
- }
242
- else if (typeof a2 === 'function') {
243
- // 7-9
244
- r = server.listen(a1, a2);
245
- }
246
- else {
247
- // 7-8-9
248
- r = server.listen(a1);
249
- }
250
- }
251
- return r;
252
- }
253
- /**
254
- * Creates a router and adds it to the application.
255
- * @returns The created router
256
- */
257
- lazyrouter(options) {
258
- const lazyrouter = routing_1.default(options);
259
- this.addRouters(lazyrouter);
260
- return lazyrouter;
261
- }
262
- //--- EXPRESS METHODS
263
- disable(setting) {
264
- this.__app.disable(setting);
265
- return this;
266
- }
267
- disabled(setting) {
268
- return this.__app.disabled(setting);
269
- }
270
- enable(setting) {
271
- this.__app.enable(setting);
272
- return this;
273
- }
274
- enabled(setting) {
275
- return this.__app.enabled(setting);
276
- }
277
- on(event, callback) {
278
- this.__app.on(event, callback);
279
- return this;
280
- }
281
- set(setting, val) {
282
- this.__app.set(setting, val);
283
- return this;
284
- }
285
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
286
- get(setting) {
287
- return this.__app.get(setting);
288
- }
289
- }
290
- exports.BaseApp = BaseApp;
291
- _BaseApp_config = new WeakMap(), _BaseApp_server = new WeakMap(), _BaseApp_isBuilding = new WeakMap(), _BaseApp_isBuilt = new WeakMap();
1
+ "use strict";
2
+ var _BaseApp_config, _BaseApp_server, _BaseApp_errorRequestHandlers, _BaseApp_isBuilding, _BaseApp_isBuilt;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.BaseApp = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const http_1 = tslib_1.__importDefault(require("http"));
7
+ const express_1 = tslib_1.__importDefault(require("express"));
8
+ const routing_1 = tslib_1.__importDefault(require("@novice1/routing"));
9
+ const reply_1 = require("./middlewares/reply");
10
+ /**
11
+ * Abstract application
12
+ */
13
+ class BaseApp {
14
+ /**
15
+ * Express Application
16
+ */
17
+ get _app() {
18
+ return this.__app;
19
+ }
20
+ /**
21
+ * Main router
22
+ */
23
+ get _router() {
24
+ return this.__router;
25
+ }
26
+ get building() {
27
+ return tslib_1.__classPrivateFieldGet(this, _BaseApp_isBuilding, "f");
28
+ }
29
+ get built() {
30
+ return tslib_1.__classPrivateFieldGet(this, _BaseApp_isBuilt, "f");
31
+ }
32
+ get meta() {
33
+ return this.__router.getMeta();
34
+ }
35
+ get server() {
36
+ return tslib_1.__classPrivateFieldGet(this, _BaseApp_server, "f");
37
+ }
38
+ constructor(options) {
39
+ _BaseApp_config.set(this, {});
40
+ _BaseApp_server.set(this, void 0);
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ _BaseApp_errorRequestHandlers.set(this, []);
43
+ _BaseApp_isBuilding.set(this, false);
44
+ _BaseApp_isBuilt.set(this, false);
45
+ this.__app = (0, express_1.default)();
46
+ this.__router = (0, routing_1.default)();
47
+ this.addOptions(options || {});
48
+ }
49
+ _registerRouter(router) {
50
+ var _a, _b, _c, _d, _e, _f;
51
+ if (((_c = (_b = (_a = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f")) === null || _a === void 0 ? void 0 : _a.framework) === null || _b === void 0 ? void 0 : _b.validators) === null || _c === void 0 ? void 0 : _c.length)
52
+ && typeof router.setValidatorsIfNone === 'function') {
53
+ router.setValidatorsIfNone(tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework.validators);
54
+ }
55
+ if (((_f = (_e = (_d = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f")) === null || _d === void 0 ? void 0 : _d.framework) === null || _e === void 0 ? void 0 : _e.auth) === null || _f === void 0 ? void 0 : _f.length)
56
+ && typeof router.setAuthHandlersIfNone === 'function') {
57
+ router.setAuthHandlersIfNone(tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework.auth);
58
+ }
59
+ this.__router.use(router);
60
+ }
61
+ _buildFramework() {
62
+ var _a, _b;
63
+ // register main router
64
+ this.__app.use(this.__router);
65
+ // register framework's middlewares
66
+ this.__router.use((0, reply_1.addReplyMiddleware)(this));
67
+ // register user's middlewares
68
+ if ((_b = (_a = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework) === null || _a === void 0 ? void 0 : _a.middlewares) === null || _b === void 0 ? void 0 : _b.length) {
69
+ this.__router.use(...tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework.middlewares);
70
+ }
71
+ }
72
+ _buildRoutes() {
73
+ var _a;
74
+ (_a = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers) === null || _a === void 0 ? void 0 : _a.forEach(router => {
75
+ this._registerRouter(router);
76
+ });
77
+ }
78
+ _buildErrorRequestHandlers() {
79
+ var _a;
80
+ if ((_a = tslib_1.__classPrivateFieldGet(this, _BaseApp_errorRequestHandlers, "f")) === null || _a === void 0 ? void 0 : _a.length) {
81
+ this.__app.use(...tslib_1.__classPrivateFieldGet(this, _BaseApp_errorRequestHandlers, "f"));
82
+ }
83
+ }
84
+ /**
85
+ *
86
+ * @param options Options to concatenate with current options.
87
+ * @returns
88
+ */
89
+ addOptions(options) {
90
+ if (options && typeof options === 'object') {
91
+ if (options.framework) {
92
+ this.addFrameworkOptions(options.framework);
93
+ }
94
+ if (options.routers) {
95
+ this.addRouters(options.routers);
96
+ }
97
+ }
98
+ return this;
99
+ }
100
+ addFrameworkOptions(options) {
101
+ const frameworkOpts = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework || {};
102
+ if (Array.isArray(options.middlewares)) {
103
+ const middlewares = [];
104
+ options.middlewares.forEach(element => {
105
+ middlewares.push(element);
106
+ });
107
+ frameworkOpts.middlewares = middlewares;
108
+ }
109
+ if (Array.isArray(options.auth)) {
110
+ const auth = [];
111
+ options.auth.forEach(element => {
112
+ if (typeof element === 'function') {
113
+ auth.push(element);
114
+ }
115
+ });
116
+ frameworkOpts.auth = auth;
117
+ }
118
+ if (Array.isArray(options.validators)) {
119
+ const validators = [];
120
+ options.validators.forEach(element => {
121
+ if (typeof element === 'function') {
122
+ validators.push(element);
123
+ }
124
+ });
125
+ frameworkOpts.validators = validators;
126
+ }
127
+ tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").framework = frameworkOpts;
128
+ return this;
129
+ }
130
+ addRouters(routers) {
131
+ if (!this.built) {
132
+ if (routers) {
133
+ if (Array.isArray(routers)) {
134
+ routers.forEach(router => {
135
+ tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers || [];
136
+ tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers.push(router);
137
+ });
138
+ }
139
+ else {
140
+ tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers = tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers || [];
141
+ tslib_1.__classPrivateFieldGet(this, _BaseApp_config, "f").routers.push(routers);
142
+ }
143
+ }
144
+ }
145
+ else {
146
+ if (routers) {
147
+ if (Array.isArray(routers)) {
148
+ routers.forEach(router => {
149
+ this._registerRouter(router);
150
+ });
151
+ }
152
+ else {
153
+ this._registerRouter(routers);
154
+ }
155
+ }
156
+ }
157
+ return this;
158
+ }
159
+ /**
160
+ *
161
+ * @param options
162
+ * @param mod Module that will create the server (e.g.: require('https'))
163
+ * @example ```js
164
+ * const https = require('https');
165
+ * const server = app.build(HTTPS_SERVER_OPTIONS, https);
166
+ * server.listen(PORT);
167
+ * ```
168
+ */
169
+ build(options, mod) {
170
+ if (!tslib_1.__classPrivateFieldGet(this, _BaseApp_server, "f") /*&& !this.#isBuilding*/) {
171
+ tslib_1.__classPrivateFieldSet(this, _BaseApp_isBuilding, true, "f");
172
+ this._buildFramework();
173
+ this._buildRoutes();
174
+ this._buildErrorRequestHandlers();
175
+ tslib_1.__classPrivateFieldSet(this, _BaseApp_isBuilt, true, "f");
176
+ tslib_1.__classPrivateFieldSet(this, _BaseApp_isBuilding, false, "f");
177
+ if (mod) {
178
+ if (options) {
179
+ tslib_1.__classPrivateFieldSet(this, _BaseApp_server, mod.createServer(options, this.__app), "f");
180
+ }
181
+ else {
182
+ tslib_1.__classPrivateFieldSet(this, _BaseApp_server, mod.createServer(this.__app), "f");
183
+ }
184
+ }
185
+ else {
186
+ tslib_1.__classPrivateFieldSet(this, _BaseApp_server, http_1.default.createServer(options || {}, this.__app), "f");
187
+ }
188
+ }
189
+ return tslib_1.__classPrivateFieldGet(this, _BaseApp_server, "f");
190
+ }
191
+ listen(a1, a2, a3, a4) {
192
+ const server = this.build();
193
+ let r;
194
+ if (typeof a1 === 'number') {
195
+ if (typeof a2 === 'string') {
196
+ if (typeof a3 === 'number') {
197
+ // 1
198
+ r = server.listen(a1, a2, a3, a4);
199
+ }
200
+ else {
201
+ // 2
202
+ r = server.listen(a1, a2, a3);
203
+ }
204
+ }
205
+ else if (typeof a2 === 'number') {
206
+ if (typeof a3 === 'function') {
207
+ // 3-8
208
+ r = server.listen(a1, a2, a3);
209
+ }
210
+ else {
211
+ // 3-8
212
+ r = server.listen(a1, a2);
213
+ }
214
+ }
215
+ else {
216
+ // 4-9
217
+ r = server.listen(a1, a2);
218
+ }
219
+ }
220
+ else if (typeof a1 === 'string') {
221
+ if (typeof a2 === 'number') {
222
+ if (typeof a3 === 'function') {
223
+ // 5-8
224
+ r = server.listen(a1, a2, a3);
225
+ }
226
+ else {
227
+ // 5-8
228
+ r = server.listen(a1, a2);
229
+ }
230
+ }
231
+ else if (typeof a2 === 'function') {
232
+ // 6-9
233
+ r = server.listen(a1, a2);
234
+ }
235
+ else {
236
+ // 5-6-8-9
237
+ r = server.listen(a1);
238
+ }
239
+ }
240
+ else {
241
+ if (typeof a2 === 'number') {
242
+ if (typeof a3 === 'function') {
243
+ // 8
244
+ r = server.listen(a1, a2, a3);
245
+ }
246
+ else {
247
+ // 8
248
+ r = server.listen(a1, a2);
249
+ }
250
+ }
251
+ else if (typeof a2 === 'function') {
252
+ // 7-9
253
+ r = server.listen(a1, a2);
254
+ }
255
+ else {
256
+ // 7-8-9
257
+ r = server.listen(a1);
258
+ }
259
+ }
260
+ return r;
261
+ }
262
+ /**
263
+ * Creates a router and adds it to the application.
264
+ * @returns The created router
265
+ */
266
+ lazyrouter(options) {
267
+ const lazyrouter = (0, routing_1.default)(options);
268
+ this.addRouters(lazyrouter);
269
+ return lazyrouter;
270
+ }
271
+ //--- EXPRESS METHODS
272
+ disable(setting) {
273
+ this.__app.disable(setting);
274
+ return this;
275
+ }
276
+ disabled(setting) {
277
+ return this.__app.disabled(setting);
278
+ }
279
+ enable(setting) {
280
+ this.__app.enable(setting);
281
+ return this;
282
+ }
283
+ enabled(setting) {
284
+ return this.__app.enabled(setting);
285
+ }
286
+ on(event, callback) {
287
+ this.__app.on(event, callback);
288
+ return this;
289
+ }
290
+ set(setting, val) {
291
+ this.__app.set(setting, val);
292
+ return this;
293
+ }
294
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
295
+ get(setting) {
296
+ return this.__app.get(setting);
297
+ }
298
+ //--- ERROR METHODS
299
+ useError(...handlers) {
300
+ if (!this.built) {
301
+ tslib_1.__classPrivateFieldGet(this, _BaseApp_errorRequestHandlers, "f").push(...handlers);
302
+ }
303
+ else {
304
+ this._app.use(...handlers);
305
+ }
306
+ return this;
307
+ }
308
+ }
309
+ exports.BaseApp = BaseApp;
310
+ _BaseApp_config = new WeakMap(), _BaseApp_server = new WeakMap(), _BaseApp_errorRequestHandlers = new WeakMap(), _BaseApp_isBuilding = new WeakMap(), _BaseApp_isBuilt = new WeakMap();
292
311
  //# sourceMappingURL=baseApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseApp.js","sourceRoot":"","sources":["../src/baseApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseApp.js","sourceRoot":"","sources":["../src/baseApp.ts"],"names":[],"mappings":"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"}