UNPKG

22.1 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4Object.defineProperty(exports, "__esModule", {
5 value: true
6});
7exports["default"] = exports.collectConfigsLog = exports.collectConfigs = exports.TestApi = void 0;
8var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17var _err = _interopRequireDefault(require("@lskjs/err"));
18var _asyncMapValues = _interopRequireDefault(require("@lskjs/utils/asyncMapValues"));
19var _bluebird = _interopRequireDefault(require("bluebird"));
20var _Api2 = _interopRequireDefault(require("./Api"));
21function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
24function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint-disable global-require */ // import collectConfigs from '@lskjs/module/utils/collectConfigs';
25var collectConfigs = /*#__PURE__*/function () {
26 var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(m) {
27 return _regenerator["default"].wrap(function _callee2$(_context2) {
28 while (1) switch (_context2.prev = _context2.next) {
29 case 0:
30 _context2.t0 = m.config;
31 _context2.next = 3;
32 return (0, _asyncMapValues["default"])(m.__availableModules, /*#__PURE__*/function () {
33 var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_, name) {
34 return _regenerator["default"].wrap(function _callee$(_context) {
35 while (1) switch (_context.prev = _context.next) {
36 case 0:
37 _context.t0 = collectConfigs;
38 _context.next = 3;
39 return m.module(name);
40 case 3:
41 _context.t1 = _context.sent;
42 return _context.abrupt("return", (0, _context.t0)(_context.t1));
43 case 5:
44 case "end":
45 return _context.stop();
46 }
47 }, _callee);
48 }));
49 return function (_x2, _x3) {
50 return _ref2.apply(this, arguments);
51 };
52 }());
53 case 3:
54 _context2.t1 = _context2.sent;
55 return _context2.abrupt("return", {
56 config: _context2.t0,
57 modules: _context2.t1
58 });
59 case 5:
60 case "end":
61 return _context2.stop();
62 }
63 }, _callee2);
64 }));
65 return function collectConfigs(_x) {
66 return _ref.apply(this, arguments);
67 };
68}();
69exports.collectConfigs = collectConfigs;
70var collectConfigsLog = /*#__PURE__*/function () {
71 var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(m) {
72 return _regenerator["default"].wrap(function _callee4$(_context4) {
73 while (1) switch (_context4.prev = _context4.next) {
74 case 0:
75 _context4.t0 = m.config.debug;
76 _context4.t1 = m.config.log;
77 _context4.next = 4;
78 return (0, _asyncMapValues["default"])(m.__availableModules, /*#__PURE__*/function () {
79 var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_, name) {
80 return _regenerator["default"].wrap(function _callee3$(_context3) {
81 while (1) switch (_context3.prev = _context3.next) {
82 case 0:
83 _context3.t0 = collectConfigsLog;
84 _context3.next = 3;
85 return m.module(name);
86 case 3:
87 _context3.t1 = _context3.sent;
88 return _context3.abrupt("return", (0, _context3.t0)(_context3.t1));
89 case 5:
90 case "end":
91 return _context3.stop();
92 }
93 }, _callee3);
94 }));
95 return function (_x5, _x6) {
96 return _ref4.apply(this, arguments);
97 };
98 }());
99 case 4:
100 _context4.t2 = _context4.sent;
101 return _context4.abrupt("return", {
102 debug: _context4.t0,
103 log: _context4.t1,
104 modules: _context4.t2
105 });
106 case 6:
107 case "end":
108 return _context4.stop();
109 }
110 }, _callee4);
111 }));
112 return function collectConfigsLog(_x4) {
113 return _ref3.apply(this, arguments);
114 };
115}();
116exports.collectConfigsLog = collectConfigsLog;
117var middleware = function middleware(req, res, next) {
118 req.file = '[some-file]';
119 if (Math.random() < 0.5) {
120 console.log('test.error');
121 next(new Error('test.error'));
122 } else {
123 next();
124 }
125};
126var TestApi = /*#__PURE__*/function (_Api) {
127 (0, _inherits2["default"])(TestApi, _Api);
128 var _super = _createSuper(TestApi);
129 function TestApi() {
130 (0, _classCallCheck2["default"])(this, TestApi);
131 return _super.apply(this, arguments);
132 }
133 (0, _createClass2["default"])(TestApi, [{
134 key: "getRoutes",
135 value: function getRoutes() {
136 var _this = this;
137 return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(TestApi.prototype), "getRoutes", this).call(this)), {}, {
138 '/middleware/1': function () {
139 var _middleware = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(req, res) {
140 return _regenerator["default"].wrap(function _callee5$(_context5) {
141 while (1) switch (_context5.prev = _context5.next) {
142 case 0:
143 _context5.next = 2;
144 return _this.useMiddleware(middleware, req, res);
145 case 2:
146 console.log('req.file', req.file);
147 return _context5.abrupt("return", {
148 file: req.file
149 });
150 case 4:
151 case "end":
152 return _context5.stop();
153 }
154 }, _callee5);
155 }));
156 function middleware1(_x7, _x8) {
157 return _middleware.apply(this, arguments);
158 }
159 return middleware1;
160 }(),
161 '/middleware/2': [middleware, /*#__PURE__*/function () {
162 var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(req, res) {
163 return _regenerator["default"].wrap(function _callee6$(_context6) {
164 while (1) switch (_context6.prev = _context6.next) {
165 case 0:
166 console.log('req.file', req.file);
167 return _context6.abrupt("return", {
168 file: req.file
169 });
170 case 2:
171 case "end":
172 return _context6.stop();
173 }
174 }, _callee6);
175 }));
176 return function (_x9, _x10) {
177 return _ref5.apply(this, arguments);
178 };
179 }()],
180 '/res/1': function res1() {
181 return 123;
182 },
183 '/res/2': function res2() {
184 return 'Hello';
185 },
186 '/res/3': function res3(req, res) {
187 return res.send('Hello');
188 },
189 '/res/4': function res4() {
190 return {
191 test: 123
192 };
193 },
194 '/res/5': function res5() {
195 return [1, 2, 3, 4];
196 },
197 '/res/6': function res6() {
198 return true;
199 },
200 '/res/7': function res7() {
201 return null;
202 },
203 '/res/8': function res8() {
204 return undefined;
205 },
206 '/res/9': function res9() {
207 return function () {};
208 },
209 '/res/10': function res10() {
210 return /[0-9]ig/;
211 },
212 '/res/11': function res11() {
213 return {
214 __raw: '<html />'
215 };
216 },
217 '/res/12': function res12() {
218 return {
219 __pack: true,
220 some: 123,
221 help: 'me'
222 };
223 },
224 '/res/13': function res13() {
225 return function some() {
226 var secret = 123;
227 return secret;
228 };
229 },
230 '/async/ok': function () {
231 var _asyncOk = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
232 var delay;
233 return _regenerator["default"].wrap(function _callee7$(_context7) {
234 while (1) switch (_context7.prev = _context7.next) {
235 case 0:
236 delay = 5000;
237 _context7.next = 3;
238 return _bluebird["default"].delay(delay);
239 case 3:
240 return _context7.abrupt("return", {
241 delay: delay
242 });
243 case 4:
244 case "end":
245 return _context7.stop();
246 }
247 }, _callee7);
248 }));
249 function asyncOk() {
250 return _asyncOk.apply(this, arguments);
251 }
252 return asyncOk;
253 }(),
254 '/async/err': function () {
255 var _asyncErr = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
256 var delay;
257 return _regenerator["default"].wrap(function _callee8$(_context8) {
258 while (1) switch (_context8.prev = _context8.next) {
259 case 0:
260 delay = 5000;
261 _context8.next = 3;
262 return _bluebird["default"].delay(delay);
263 case 3:
264 throw new _err["default"]('ERR_QWE', {
265 delay: delay
266 });
267 case 4:
268 case "end":
269 return _context8.stop();
270 }
271 }, _callee8);
272 }));
273 function asyncErr() {
274 return _asyncErr.apply(this, arguments);
275 }
276 return asyncErr;
277 }(),
278 '/async/404': function () {
279 var _async = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
280 var delay;
281 return _regenerator["default"].wrap(function _callee9$(_context9) {
282 while (1) switch (_context9.prev = _context9.next) {
283 case 0:
284 delay = 5000;
285 _context9.next = 3;
286 return _bluebird["default"].delay(delay);
287 case 3:
288 throw new _err["default"]('ERR_QWE', {
289 delay: delay,
290 status: 404
291 });
292 case 4:
293 case "end":
294 return _context9.stop();
295 }
296 }, _callee9);
297 }));
298 function async404() {
299 return _async.apply(this, arguments);
300 }
301 return async404;
302 }(),
303 '/async/502': function () {
304 var _async2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
305 var delay;
306 return _regenerator["default"].wrap(function _callee10$(_context10) {
307 while (1) switch (_context10.prev = _context10.next) {
308 case 0:
309 delay = 5000;
310 _context10.next = 3;
311 return _bluebird["default"].delay(delay);
312 case 3:
313 throw new _err["default"]('ERR_QWE', {
314 delay: delay,
315 status: 502
316 });
317 case 4:
318 case "end":
319 return _context10.stop();
320 }
321 }, _callee10);
322 }));
323 function async502() {
324 return _async2.apply(this, arguments);
325 }
326 return async502;
327 }(),
328 '/err/1': function err1() {
329 throw new _err["default"]('TEST_ERROR_CODE');
330 },
331 '/err/2': function err2() {
332 throw {
333 code: 'TEST_ERROR_CODE',
334 message: 'The message text'
335 };
336 },
337 '/err/3': function err3() {
338 throw new Error('The message text');
339 },
340 '/err/4': function err4() {
341 throw new Error('TEST_ERROR_CODE');
342 },
343 '/err/5': function err5() {
344 var error = new Error('The message text');
345 error.code = 'TEST_ERROR_CODE';
346 throw new Error('The message text');
347 },
348 '/err/6': function err6() {
349 throw {};
350 },
351 '/err/7': function err7() {
352 throw null;
353 },
354 '/err/10': function err10() {
355 throw new _err["default"]();
356 },
357 '/err/11': function err11() {
358 throw new _err["default"]('TEST_ERROR_CODE');
359 },
360 '/err/12': function err12() {
361 throw new _err["default"]('TEST_ERROR_CODE', {
362 message: 'The message text'
363 });
364 },
365 '/err/13': function err13() {
366 throw new _err["default"]('TEST_ERROR_CODE', {
367 message: 'The message text'
368 }, {
369 status: 404
370 });
371 },
372 '/err/14': function err14() {
373 throw new _err["default"]({
374 code: 'TEST_ERROR_CODE',
375 message: 'The message text'
376 }, {
377 status: 404
378 });
379 },
380 '/err/15': function err15() {
381 throw new _err["default"]('test.someError', {
382 status: 404
383 });
384 },
385 '/err/16': function err16() {
386 throw new _err["default"]('test.anotherError', {
387 status: 404,
388 data: {
389 hello: 'world'
390 }
391 });
392 },
393 '/err/17': function err17() {
394 throw new Error('err', 'file', 123);
395 },
396 '/err/18': function err18() {
397 throw new _err["default"]({
398 code: 'TEST_ERROR_CODE',
399 message: 'The message text'
400 }, {
401 status: 404
402 });
403 },
404 '/err/19': function err19() {
405 throw new _err["default"]({
406 code: 'TEST_ERROR_CODE',
407 message: 'The message text'
408 }, {
409 status: 404
410 });
411 },
412 '/err/20': function err20() {
413 throw new _err["default"]({
414 code: 'TEST_ERROR_CODE',
415 message: 'The message text'
416 }, {
417 status: 404
418 });
419 },
420 '/err/21': function err21() {
421 throw new _err["default"]('user.notFound', {
422 status: 404
423 });
424 },
425 '/err/22': function err22() {
426 throw new _err["default"]('some.error', {
427 status: 404
428 });
429 },
430 '/err/24': function err24() {
431 throw new _err["default"]('some.error', {
432 status: 404
433 });
434 },
435 '/form': function form(req) {
436 var _req$data = req.data,
437 email = _req$data.email,
438 password = _req$data.password;
439 if (password !== 'password') throw new _err["default"]('auth.passwordInvalud', {
440 status: 400,
441 data: {
442 password: password
443 }
444 });
445 if (email !== 'test@coder24.ru') throw new _err["default"]('auth.emailInvalud', {
446 status: 400,
447 data: {
448 email: email
449 }
450 });
451 return {
452 ok: 123
453 };
454 },
455 '/locale': function locale(req) {
456 _this.log.trace('locale start');
457 // console.log('getLocale', req.getLocale);
458 return {
459 locale: req.getLocale(),
460 test: req.t('test.hello')
461 };
462 },
463 '/app/config': function appConfig() {
464 return collectConfigs(_this.app);
465 },
466 '/app/config/log': function appConfigLog() {
467 return collectConfigsLog(_this.app);
468 },
469 '/req/auth': function () {
470 var _reqAuth = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11(req) {
471 return _regenerator["default"].wrap(function _callee11$(_context11) {
472 while (1) switch (_context11.prev = _context11.next) {
473 case 0:
474 return _context11.abrupt("return", req.user);
475 case 1:
476 case "end":
477 return _context11.stop();
478 }
479 }, _callee11);
480 }));
481 function reqAuth(_x11) {
482 return _reqAuth.apply(this, arguments);
483 }
484 return reqAuth;
485 }(),
486 '/req/user': function () {
487 var _reqUser = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12(req) {
488 return _regenerator["default"].wrap(function _callee12$(_context12) {
489 while (1) switch (_context12.prev = _context12.next) {
490 case 0:
491 return _context12.abrupt("return", req.user);
492 case 1:
493 case "end":
494 return _context12.stop();
495 }
496 }, _callee12);
497 }));
498 function reqUser(_x12) {
499 return _reqUser.apply(this, arguments);
500 }
501 return reqUser;
502 }(),
503 '/req/userId': function () {
504 var _reqUserId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13(req) {
505 return _regenerator["default"].wrap(function _callee13$(_context13) {
506 while (1) switch (_context13.prev = _context13.next) {
507 case 0:
508 return _context13.abrupt("return", req.userId || req.user && req.user_id);
509 case 1:
510 case "end":
511 return _context13.stop();
512 }
513 }, _callee13);
514 }));
515 function reqUserId(_x13) {
516 return _reqUserId.apply(this, arguments);
517 }
518 return reqUserId;
519 }(),
520 '/req/:log?': this.req.bind(this),
521 '/user/one': function () {
522 var _userOne = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
523 var UserModel, user;
524 return _regenerator["default"].wrap(function _callee14$(_context14) {
525 while (1) switch (_context14.prev = _context14.next) {
526 case 0:
527 UserModel = _this.app.UserModel;
528 _context14.next = 3;
529 return UserModel.findOne();
530 case 3:
531 user = _context14.sent;
532 return _context14.abrupt("return", user);
533 case 5:
534 case "end":
535 return _context14.stop();
536 }
537 }, _callee14);
538 }));
539 function userOne() {
540 return _userOne.apply(this, arguments);
541 }
542 return userOne;
543 }(),
544 '/path/*': function path() {
545 return {
546 path: _this.path,
547 paths: _this.paths
548 };
549 }
550 });
551 }
552 }, {
553 key: "req",
554 value: function req(_req) {
555 var res = {
556 params: _req.params,
557 query: _req.query,
558 headers: _req.headers
559 };
560 if (_req.params.log) {
561 this.log.info('req', res);
562 res.body = _req.body;
563 this.log.info('body', _req.body);
564 }
565 return res;
566 }
567 }]);
568 return TestApi;
569}(_Api2["default"]);
570exports.TestApi = TestApi;
571var _default = TestApi;
572exports["default"] = _default;
573//# sourceMappingURL=TestApi.js.map
\No newline at end of file