@donmahallem/turbo 2.4.3 → 2.4.6

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.
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  const promiseRequestHandler = require('./promise-request-handler.cjs');
6
4
  const promiseToResponse = require('./promise-to-response.cjs');
7
5
  const requestError = require('./request-error.cjs');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,21 +1,18 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  const promiseToResponse = require('./promise-to-response.cjs');
6
4
 
7
- /*
8
- * Package @donmahallem/turbo
9
- * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
10
- */
11
- /**
12
- * Does create an request handler that transforms a provided promise
13
- * into an response
14
- *
15
- * @param prom a promise to handle
16
- */
17
- const promiseRequestHandler = (prom) => (req, res, next) => {
18
- promiseToResponse.promiseToResponse(prom(req, res), res, next);
5
+ /*
6
+ * Package @donmahallem/turbo
7
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
8
+ */
9
+ /**
10
+ * Does create an request handler that transforms a provided promise
11
+ * into an response
12
+ * @param prom a promise to handle
13
+ */
14
+ const promiseRequestHandler = (prom) => (req, res, next) => {
15
+ promiseToResponse.promiseToResponse(prom(req, res), res, next);
19
16
  };
20
17
 
21
18
  exports.promiseRequestHandler = promiseRequestHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"promise-request-handler.cjs","sources":["../../src/promise-request-handler.ts"],"sourcesContent":[null],"names":["promiseToResponse"],"mappings":";;;;;;AAAA;;;AAGG;AAQH;;;;;AAKG;AACU,MAAA,qBAAqB,GAC9B,CAAI,IAAwB,KAC5B,CAAC,GAAY,EAAE,GAAiC,EAAE,IAAkB,KAAU;AAC1E,IAAAA,mCAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjD;;;;"}
1
+ {"version":3,"file":"promise-request-handler.cjs","sources":["../../src/promise-request-handler.ts"],"sourcesContent":[null],"names":["promiseToResponse"],"mappings":";;;;AAAA;;;AAGG;AAQH;;;;AAIG;AACU,MAAA,qBAAqB,GAC9B,CAAI,IAAwB,KAC5B,CAAC,GAAY,EAAE,GAAiC,EAAE,IAAkB,KAAU;AAC1E,IAAAA,mCAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjD;;;;"}
@@ -1,48 +1,46 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- /*
6
- * Package @donmahallem/turbo
7
- * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
8
- */
9
- /**
10
- * Awaits an promise and returns it
11
- *
12
- * @param prom promise to convert
13
- * @param res the express.Response to use
14
- * @param next (optional) response object
15
- */
16
- const promiseToResponse = (prom, res, next) => {
17
- prom.then((value) => {
18
- (res.headersSent ? res : res.status(200)).json(value);
19
- }).catch((err) => {
20
- var _a;
21
- if (next) {
22
- next(err);
23
- return;
24
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
25
- }
26
- else if (err && err.isAxiosError === true) {
27
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
28
- const axiosError = err;
29
- const code = ((_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.status) || 500;
30
- res.status(code).json({
31
- error: true,
32
- statusCode: code,
33
- });
34
- return;
35
- }
36
- else {
37
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
38
- const code = (err === null || err === void 0 ? void 0 : err.statusCode) || 500;
39
- res.status(code).json({
40
- error: true,
41
- statusCode: code,
42
- });
43
- return;
44
- }
45
- });
3
+ /*
4
+ * Package @donmahallem/turbo
5
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
6
+ */
7
+ /**
8
+ * Awaits an promise and returns it
9
+ * @param prom promise to convert
10
+ * @param res the express.Response to use
11
+ * @param next (optional) response object
12
+ */
13
+ const promiseToResponse = (prom, res, next) => {
14
+ prom.then((value) => {
15
+ (res.headersSent ? res : res.status(200)).json(value);
16
+ })
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ .catch((err) => {
19
+ if (next) {
20
+ next(err);
21
+ return;
22
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
23
+ }
24
+ else if (err && err.isAxiosError === true) {
25
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
26
+ const axiosError = err;
27
+ const code = axiosError.response?.status || 500;
28
+ res.status(code).json({
29
+ error: true,
30
+ statusCode: code,
31
+ });
32
+ return;
33
+ }
34
+ else {
35
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
36
+ const code = err?.statusCode || 500;
37
+ res.status(code).json({
38
+ error: true,
39
+ statusCode: code,
40
+ });
41
+ return;
42
+ }
43
+ });
46
44
  };
47
45
 
48
46
  exports.promiseToResponse = promiseToResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"promise-to-response.cjs","sources":["../../src/promise-to-response.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AAQH;;;;;;AAMG;AACU,MAAA,iBAAiB,GAAe,CAAI,IAAgB,EAAE,GAAiC,EAAE,IAAmB,KAAU;AAC/H,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAQ,KAAU;QACzB,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,KAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAqB,KAAU;;AACrC,QAAA,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO;;AAEV,SAAA;AAAM,aAAA,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE;;YAEzC,MAAM,UAAU,GAAe,GAAG,CAAC;YACnC,MAAM,IAAI,GAAW,CAAA,CAAA,EAAA,GAAA,UAAU,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,KAAI,GAAG,CAAC;AACxD,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;AACV,SAAA;AAAM,aAAA;;AAEH,YAAA,MAAM,IAAI,GAAW,CAAA,GAAG,KAAH,IAAA,IAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,UAAU,KAAI,GAAG,CAAC;AAC5C,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;AACV,SAAA;AACL,KAAC,CAAC,CAAC;AACP;;;;"}
1
+ {"version":3,"file":"promise-to-response.cjs","sources":["../../src/promise-to-response.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAQH;;;;;AAKG;AACU,MAAA,iBAAiB,GAAe,CAAI,IAAgB,EAAE,GAAiC,EAAE,IAAmB,KAAU;AAC/H,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAQ,KAAU;QACzB,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,KAAC,CAAC;;AAEG,SAAA,KAAK,CAAC,CAAC,GAAQ,KAAU;QACtB,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO;;SAEV;aAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE;;YAEzC,MAAM,UAAU,GAAe,GAAG,CAAC;YACnC,MAAM,IAAI,GAAW,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC;AACxD,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;SACV;aAAM;;AAEH,YAAA,MAAM,IAAI,GAAW,GAAG,EAAE,UAAU,IAAI,GAAG,CAAC;AAC5C,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;SACV;AACL,KAAC,CAAC,CAAC;AACX;;;;"}
@@ -1,25 +1,24 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- /*
6
- * Package @donmahallem/turbo
7
- * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
8
- */
9
- /**
10
- * Error that should be compatible with express errors
11
- */
12
- class RequestError extends Error {
13
- /**
14
- *
15
- * @param message error message
16
- * @param status status code to be reported
17
- */
18
- constructor(message, status = 500) {
19
- super(message);
20
- this.status = status;
21
- this.name = RequestError.name;
22
- }
3
+ /*
4
+ * Package @donmahallem/turbo
5
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
6
+ */
7
+ /**
8
+ * Error that should be compatible with express errors
9
+ */
10
+ class RequestError extends Error {
11
+ status;
12
+ /**
13
+ *
14
+ * @param message error message
15
+ * @param status status code to be reported
16
+ */
17
+ constructor(message, status = 500) {
18
+ super(message);
19
+ this.status = status;
20
+ this.name = RequestError.name;
21
+ }
23
22
  }
24
23
 
25
24
  exports.RequestError = RequestError;
@@ -1 +1 @@
1
- {"version":3,"file":"request-error.cjs","sources":["../../src/request-error.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AAEH;;AAEG;AACG,MAAO,YAAa,SAAQ,KAAK,CAAA;AACnC;;;;AAIG;IACH,WAAY,CAAA,OAAe,EAAkB,MAAA,GAAiB,GAAG,EAAA;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QAD0B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;AAE7D,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;KACjC;AACJ;;;;"}
1
+ {"version":3,"file":"request-error.cjs","sources":["../../src/request-error.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAEH;;AAEG;AACG,MAAO,YAAa,SAAQ,KAAK,CAAA;AAQf,IAAA,MAAA,CAAA;AAPpB;;;;AAIG;IACH,WACI,CAAA,OAAe,EACC,MAAA,GAAiB,GAAG,EAAA;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;AAGpC,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;KACjC;AACJ;;;;"}
@@ -1,17 +1,16 @@
1
1
  import { promiseToResponse } from './promise-to-response.mjs';
2
2
 
3
- /*
4
- * Package @donmahallem/turbo
5
- * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
6
- */
7
- /**
8
- * Does create an request handler that transforms a provided promise
9
- * into an response
10
- *
11
- * @param prom a promise to handle
12
- */
13
- const promiseRequestHandler = (prom) => (req, res, next) => {
14
- promiseToResponse(prom(req, res), res, next);
3
+ /*
4
+ * Package @donmahallem/turbo
5
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
6
+ */
7
+ /**
8
+ * Does create an request handler that transforms a provided promise
9
+ * into an response
10
+ * @param prom a promise to handle
11
+ */
12
+ const promiseRequestHandler = (prom) => (req, res, next) => {
13
+ promiseToResponse(prom(req, res), res, next);
15
14
  };
16
15
 
17
16
  export { promiseRequestHandler };
@@ -1 +1 @@
1
- {"version":3,"file":"promise-request-handler.mjs","sources":["../../src/promise-request-handler.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAQH;;;;;AAKG;AACU,MAAA,qBAAqB,GAC9B,CAAI,IAAwB,KAC5B,CAAC,GAAY,EAAE,GAAiC,EAAE,IAAkB,KAAU;AAC1E,IAAA,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjD;;;;"}
1
+ {"version":3,"file":"promise-request-handler.mjs","sources":["../../src/promise-request-handler.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAQH;;;;AAIG;AACU,MAAA,qBAAqB,GAC9B,CAAI,IAAwB,KAC5B,CAAC,GAAY,EAAE,GAAiC,EAAE,IAAkB,KAAU;AAC1E,IAAA,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjD;;;;"}
@@ -1,44 +1,44 @@
1
- /*
2
- * Package @donmahallem/turbo
3
- * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
4
- */
5
- /**
6
- * Awaits an promise and returns it
7
- *
8
- * @param prom promise to convert
9
- * @param res the express.Response to use
10
- * @param next (optional) response object
11
- */
12
- const promiseToResponse = (prom, res, next) => {
13
- prom.then((value) => {
14
- (res.headersSent ? res : res.status(200)).json(value);
15
- }).catch((err) => {
16
- var _a;
17
- if (next) {
18
- next(err);
19
- return;
20
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
21
- }
22
- else if (err && err.isAxiosError === true) {
23
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
24
- const axiosError = err;
25
- const code = ((_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.status) || 500;
26
- res.status(code).json({
27
- error: true,
28
- statusCode: code,
29
- });
30
- return;
31
- }
32
- else {
33
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
34
- const code = (err === null || err === void 0 ? void 0 : err.statusCode) || 500;
35
- res.status(code).json({
36
- error: true,
37
- statusCode: code,
38
- });
39
- return;
40
- }
41
- });
1
+ /*
2
+ * Package @donmahallem/turbo
3
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
4
+ */
5
+ /**
6
+ * Awaits an promise and returns it
7
+ * @param prom promise to convert
8
+ * @param res the express.Response to use
9
+ * @param next (optional) response object
10
+ */
11
+ const promiseToResponse = (prom, res, next) => {
12
+ prom.then((value) => {
13
+ (res.headersSent ? res : res.status(200)).json(value);
14
+ })
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ .catch((err) => {
17
+ if (next) {
18
+ next(err);
19
+ return;
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
21
+ }
22
+ else if (err && err.isAxiosError === true) {
23
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
24
+ const axiosError = err;
25
+ const code = axiosError.response?.status || 500;
26
+ res.status(code).json({
27
+ error: true,
28
+ statusCode: code,
29
+ });
30
+ return;
31
+ }
32
+ else {
33
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
34
+ const code = err?.statusCode || 500;
35
+ res.status(code).json({
36
+ error: true,
37
+ statusCode: code,
38
+ });
39
+ return;
40
+ }
41
+ });
42
42
  };
43
43
 
44
44
  export { promiseToResponse };
@@ -1 +1 @@
1
- {"version":3,"file":"promise-to-response.mjs","sources":["../../src/promise-to-response.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;AAGG;AAQH;;;;;;AAMG;AACU,MAAA,iBAAiB,GAAe,CAAI,IAAgB,EAAE,GAAiC,EAAE,IAAmB,KAAU;AAC/H,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAQ,KAAU;QACzB,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,KAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAqB,KAAU;;AACrC,QAAA,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO;;AAEV,SAAA;AAAM,aAAA,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE;;YAEzC,MAAM,UAAU,GAAe,GAAG,CAAC;YACnC,MAAM,IAAI,GAAW,CAAA,CAAA,EAAA,GAAA,UAAU,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,KAAI,GAAG,CAAC;AACxD,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;AACV,SAAA;AAAM,aAAA;;AAEH,YAAA,MAAM,IAAI,GAAW,CAAA,GAAG,KAAH,IAAA,IAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,UAAU,KAAI,GAAG,CAAC;AAC5C,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;AACV,SAAA;AACL,KAAC,CAAC,CAAC;AACP;;;;"}
1
+ {"version":3,"file":"promise-to-response.mjs","sources":["../../src/promise-to-response.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;AAGG;AAQH;;;;;AAKG;AACU,MAAA,iBAAiB,GAAe,CAAI,IAAgB,EAAE,GAAiC,EAAE,IAAmB,KAAU;AAC/H,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAQ,KAAU;QACzB,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,KAAC,CAAC;;AAEG,SAAA,KAAK,CAAC,CAAC,GAAQ,KAAU;QACtB,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO;;SAEV;aAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE;;YAEzC,MAAM,UAAU,GAAe,GAAG,CAAC;YACnC,MAAM,IAAI,GAAW,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC;AACxD,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;SACV;aAAM;;AAEH,YAAA,MAAM,IAAI,GAAW,GAAG,EAAE,UAAU,IAAI,GAAG,CAAC;AAC5C,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;YACH,OAAO;SACV;AACL,KAAC,CAAC,CAAC;AACX;;;;"}
@@ -1,21 +1,22 @@
1
- /*
2
- * Package @donmahallem/turbo
3
- * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
4
- */
5
- /**
6
- * Error that should be compatible with express errors
7
- */
8
- class RequestError extends Error {
9
- /**
10
- *
11
- * @param message error message
12
- * @param status status code to be reported
13
- */
14
- constructor(message, status = 500) {
15
- super(message);
16
- this.status = status;
17
- this.name = RequestError.name;
18
- }
1
+ /*
2
+ * Package @donmahallem/turbo
3
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/turbo
4
+ */
5
+ /**
6
+ * Error that should be compatible with express errors
7
+ */
8
+ class RequestError extends Error {
9
+ status;
10
+ /**
11
+ *
12
+ * @param message error message
13
+ * @param status status code to be reported
14
+ */
15
+ constructor(message, status = 500) {
16
+ super(message);
17
+ this.status = status;
18
+ this.name = RequestError.name;
19
+ }
19
20
  }
20
21
 
21
22
  export { RequestError };
@@ -1 +1 @@
1
- {"version":3,"file":"request-error.mjs","sources":["../../src/request-error.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;AAGG;AAEH;;AAEG;AACG,MAAO,YAAa,SAAQ,KAAK,CAAA;AACnC;;;;AAIG;IACH,WAAY,CAAA,OAAe,EAAkB,MAAA,GAAiB,GAAG,EAAA;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QAD0B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;AAE7D,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;KACjC;AACJ;;;;"}
1
+ {"version":3,"file":"request-error.mjs","sources":["../../src/request-error.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;AAGG;AAEH;;AAEG;AACG,MAAO,YAAa,SAAQ,KAAK,CAAA;AAQf,IAAA,MAAA,CAAA;AAPpB;;;;AAIG;IACH,WACI,CAAA,OAAe,EACC,MAAA,GAAiB,GAAG,EAAA;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;AAGpC,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;KACjC;AACJ;;;;"}
@@ -1,10 +1,10 @@
1
- /**
2
- * Error Object to provide
3
- */
4
- export interface IErrorResponse {
5
- error: true;
6
- /**
7
- * Http Status Code
8
- */
9
- statusCode: number;
10
- }
1
+ /**
2
+ * Error Object to provide
3
+ */
4
+ export interface IErrorResponse {
5
+ error: true;
6
+ /**
7
+ * Http Status Code
8
+ */
9
+ statusCode: number;
10
+ }
@@ -1,3 +1,3 @@
1
- export { promiseRequestHandler } from './promise-request-handler';
2
- export { promiseToResponse } from './promise-to-response';
3
- export { RequestError } from './request-error';
1
+ export { promiseRequestHandler } from './promise-request-handler';
2
+ export { promiseToResponse } from './promise-to-response';
3
+ export { RequestError } from './request-error';
@@ -1,10 +1,9 @@
1
- import type { Request, RequestHandler, Response } from 'express';
2
- declare type MethodInterface<T> = (req?: Request, res?: Response<T>) => Promise<T>;
3
- /**
4
- * Does create an request handler that transforms a provided promise
5
- * into an response
6
- *
7
- * @param prom a promise to handle
8
- */
9
- export declare const promiseRequestHandler: <T>(prom: MethodInterface<T>) => RequestHandler;
10
- export {};
1
+ import type { Request, RequestHandler, Response } from 'express';
2
+ type MethodInterface<T> = (req?: Request, res?: Response<T>) => Promise<T>;
3
+ /**
4
+ * Does create an request handler that transforms a provided promise
5
+ * into an response
6
+ * @param prom a promise to handle
7
+ */
8
+ export declare const promiseRequestHandler: <T>(prom: MethodInterface<T>) => RequestHandler;
9
+ export {};
@@ -1,11 +1,10 @@
1
- import type { NextFunction, Response } from 'express';
2
- declare type MethodType = <T>(prom: Promise<T>, res: Response, next?: NextFunction) => void;
3
- /**
4
- * Awaits an promise and returns it
5
- *
6
- * @param prom promise to convert
7
- * @param res the express.Response to use
8
- * @param next (optional) response object
9
- */
10
- export declare const promiseToResponse: MethodType;
11
- export {};
1
+ import type { NextFunction, Response } from 'express';
2
+ type MethodType = <T>(prom: Promise<T>, res: Response, next?: NextFunction) => void;
3
+ /**
4
+ * Awaits an promise and returns it
5
+ * @param prom promise to convert
6
+ * @param res the express.Response to use
7
+ * @param next (optional) response object
8
+ */
9
+ export declare const promiseToResponse: MethodType;
10
+ export {};
@@ -1,12 +1,12 @@
1
- /**
2
- * Error that should be compatible with express errors
3
- */
4
- export declare class RequestError extends Error {
5
- readonly status: number;
6
- /**
7
- *
8
- * @param message error message
9
- * @param status status code to be reported
10
- */
11
- constructor(message: string, status?: number);
12
- }
1
+ /**
2
+ * Error that should be compatible with express errors
3
+ */
4
+ export declare class RequestError extends Error {
5
+ readonly status: number;
6
+ /**
7
+ *
8
+ * @param message error message
9
+ * @param status status code to be reported
10
+ */
11
+ constructor(message: string, status?: number);
12
+ }
package/package.json CHANGED
@@ -1,24 +1,29 @@
1
1
  {
2
2
  "name": "@donmahallem/turbo",
3
- "version": "2.4.3",
3
+ "version": "2.4.6",
4
4
  "description": "Turbo Helpers for express.js",
5
5
  "main": "./dist/cjs/index.cjs",
6
6
  "types": "./dist/types/index.d.ts",
7
- "module": "./dist/esm/index.mjs",
8
7
  "private": false,
8
+ "type": "module",
9
+ "exports": {
10
+ "require": "./dist/cjs/index.cjs",
11
+ "import": "./dist/esm/index.mjs",
12
+ "types": "./dist/types/index.d.ts"
13
+ },
9
14
  "keywords": [
10
15
  "express",
11
16
  "helpers"
12
17
  ],
13
18
  "typedocMain": "./src/index.ts",
14
19
  "scripts": {
15
- "build": "rollup -c rollup.config.js",
20
+ "build": "rollup -c rollup.config.mjs",
16
21
  "build:readme": "npx @appnest/readme generate --input ../package_readme_blueprint.md --config readme_config.json",
17
22
  "test": "mocha --config ../../.mocharc.json",
18
23
  "test:coverage": "c8 --config ../../.nycrc.json npm run test",
19
- "lint": "eslint -c ./.eslintrc.js --ext .ts ./src",
24
+ "lint": "eslint -c ./.eslintrc.cjs --ext .ts ./src",
20
25
  "postlint": "prettier --config ./../../.prettierrc src/**/*.ts --check",
21
- "lint:fix": "eslint -c ./.eslintrc.js --ext .ts ./src --fix",
26
+ "lint:fix": "eslint -c ./.eslintrc.cjs --ext .ts ./src --fix",
22
27
  "postlint:fix": "prettier --config ./../../.prettierrc src/**/*.ts --write",
23
28
  "prepublishOnly": "npm run clean && npm run test && npm run build",
24
29
  "version": "npm run build:readme && git add README.md",
@@ -50,15 +55,15 @@
50
55
  "access": "public"
51
56
  },
52
57
  "devDependencies": {
53
- "@types/express": "4.17.13",
54
- "@types/supertest": "2.0.12",
55
- "axios": "0.27.2",
56
- "express": "4.18.1",
57
- "supertest": "6.2.4"
58
+ "@types/express": "4.17.21",
59
+ "@types/supertest": "2.0.14",
60
+ "axios": "1.5.1",
61
+ "express": "4.18.2",
62
+ "supertest": "6.3.3"
58
63
  },
59
64
  "peerDependencies": {
60
- "axios": "^0.27.0",
65
+ "axios": "^1.0.0",
61
66
  "express": "^4.17.1"
62
67
  },
63
- "gitHead": "fbac1ca446cf28c9d62f83765a442464a6829687"
68
+ "gitHead": "20bc4f61fa034321931f37859dbd196b04e7909c"
64
69
  }
@@ -12,7 +12,6 @@ type MethodInterface<T> = (req?: Request, res?: Response<T>) => Promise<T>;
12
12
  /**
13
13
  * Does create an request handler that transforms a provided promise
14
14
  * into an response
15
- *
16
15
  * @param prom a promise to handle
17
16
  */
18
17
  export const promiseRequestHandler: <T>(prom: MethodInterface<T>) => RequestHandler =
@@ -11,7 +11,6 @@ type MethodType = <T>(prom: Promise<T>, res: Response, next?: NextFunction) => v
11
11
 
12
12
  /**
13
13
  * Awaits an promise and returns it
14
- *
15
14
  * @param prom promise to convert
16
15
  * @param res the express.Response to use
17
16
  * @param next (optional) response object
@@ -19,28 +18,30 @@ type MethodType = <T>(prom: Promise<T>, res: Response, next?: NextFunction) => v
19
18
  export const promiseToResponse: MethodType = <T>(prom: Promise<T>, res: Response<T | IErrorResponse>, next?: NextFunction): void => {
20
19
  prom.then((value: T): void => {
21
20
  (res.headersSent ? res : res.status(200)).json(value);
22
- }).catch((err: any | AxiosError): void => {
23
- if (next) {
24
- next(err);
25
- return;
26
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
27
- } else if (err && err.isAxiosError === true) {
28
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
29
- const axiosError: AxiosError = err;
30
- const code: number = axiosError.response?.status || 500;
31
- res.status(code).json({
32
- error: true,
33
- statusCode: code,
34
- });
35
- return;
36
- } else {
37
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
38
- const code: number = err?.statusCode || 500;
39
- res.status(code).json({
40
- error: true,
41
- statusCode: code,
42
- });
43
- return;
44
- }
45
- });
21
+ })
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ .catch((err: any): void => {
24
+ if (next) {
25
+ next(err);
26
+ return;
27
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
28
+ } else if (err && err.isAxiosError === true) {
29
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
30
+ const axiosError: AxiosError = err;
31
+ const code: number = axiosError.response?.status || 500;
32
+ res.status(code).json({
33
+ error: true,
34
+ statusCode: code,
35
+ });
36
+ return;
37
+ } else {
38
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
39
+ const code: number = err?.statusCode || 500;
40
+ res.status(code).json({
41
+ error: true,
42
+ statusCode: code,
43
+ });
44
+ return;
45
+ }
46
+ });
46
47
  };
@@ -12,7 +12,10 @@ export class RequestError extends Error {
12
12
  * @param message error message
13
13
  * @param status status code to be reported
14
14
  */
15
- constructor(message: string, public readonly status: number = 500) {
15
+ constructor(
16
+ message: string,
17
+ public readonly status: number = 500
18
+ ) {
16
19
  super(message);
17
20
  this.name = RequestError.name;
18
21
  }