UNPKG

4.23 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14var _env = _interopRequireDefault(require("@lskjs/env"));
15
16var _bluebird = _interopRequireDefault(require("bluebird"));
17
18var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
19
20var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
21
22var _pick = _interopRequireDefault(require("lodash/pick"));
23
24// import some from 'lodash/some';
25var _default = /*#__PURE__*/function () {
26 var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(healthchecks) {
27 var data, status, promises;
28 return _regenerator["default"].wrap(function _callee2$(_context2) {
29 while (1) {
30 switch (_context2.prev = _context2.next) {
31 case 0:
32 data = {}; // eslint-disable-next-line no-param-reassign
33
34 _context2.next = 3;
35 return healthchecks;
36
37 case 3:
38 healthchecks = _context2.sent;
39 // eslint-disable-next-line no-param-reassign
40 if (!healthchecks) healthchecks = {
41 healthcheck: healthchecks
42 };
43 status = 200;
44 promises = (0, _mapValues["default"])(healthchecks, /*#__PURE__*/function () {
45 var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(fn, key) {
46 var start, res;
47 return _regenerator["default"].wrap(function _callee$(_context) {
48 while (1) {
49 switch (_context.prev = _context.next) {
50 case 0:
51 if ((0, _isFunction["default"])(fn)) {
52 _context.next = 2;
53 break;
54 }
55
56 return _context.abrupt("return", fn);
57
58 case 2:
59 start = Date.now();
60 _context.prev = 3;
61 _context.next = 6;
62 return fn();
63
64 case 6:
65 res = _context.sent;
66 return _context.abrupt("return", {
67 res: res,
68 timeout: Date.now() - start
69 });
70
71 case 10:
72 _context.prev = 10;
73 _context.t0 = _context["catch"](3);
74 status = 500;
75 console.error("healthchecks[".concat(key, "] err"), _context.t0); //eslint-disable-line
76
77 return _context.abrupt("return", {
78 res: null,
79 err: _context.t0,
80 timeout: Date.now() - start
81 });
82
83 case 15:
84 case "end":
85 return _context.stop();
86 }
87 }
88 }, _callee, null, [[3, 10]]);
89 }));
90
91 return function (_x2, _x3) {
92 return _ref2.apply(this, arguments);
93 };
94 }());
95 _context2.next = 9;
96 return _bluebird["default"].props(promises);
97
98 case 9:
99 data = _context2.sent;
100 return _context2.abrupt("return", {
101 __pack: true,
102 __status: status,
103 ok: true,
104 date: new Date(),
105 env: _env["default"],
106 debug: (0, _pick["default"])(process.env, ['CI_PIPELINE_ID', 'CI_JOB_ID']),
107 data: data
108 });
109
110 case 11:
111 case "end":
112 return _context2.stop();
113 }
114 }
115 }, _callee2);
116 }));
117
118 return function (_x) {
119 return _ref.apply(this, arguments);
120 };
121}();
122
123exports["default"] = _default;
124//# sourceMappingURL=awaitHealthcheck.js.map
\No newline at end of file