equipped 4.1.13 → 4.1.14

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/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [4.1.14](https://github.com/kevinand11/equipped/compare/v4.1.13...v4.1.14) (2023-05-03)
6
+
7
+
8
+ ### Features
9
+
10
+ * add ability to pipe through response ([12bd81e](https://github.com/kevinand11/equipped/commit/12bd81e360059313feeb8a8114639750fce7a141))
11
+
5
12
  ### [4.1.13](https://github.com/kevinand11/equipped/compare/v4.1.12...v4.1.13) (2023-05-02)
6
13
 
7
14
 
@@ -1,13 +1,19 @@
1
+ /// <reference types="node" />
1
2
  import { ErrorRequestHandler, Handler } from 'express';
3
+ import { Writable } from 'stream';
2
4
  import { SupportedStatusCodes } from '../statusCodes';
3
5
  import { Request as CustomRequest } from './request';
4
6
  type CustomResponse = {
5
- status: SupportedStatusCodes;
6
7
  result: any;
8
+ status?: SupportedStatusCodes;
7
9
  headers?: Record<string, any>;
10
+ piped?: boolean;
11
+ };
12
+ type ExtraArgs = {
13
+ pipeThrough?: Writable;
8
14
  };
9
15
  export type Controller = Handler | ErrorRequestHandler;
10
- export declare const makeController: (cb: (_: CustomRequest) => Promise<CustomResponse>) => Controller;
11
- export declare const makeMiddleware: (cb: (_: CustomRequest) => Promise<void>) => Controller;
12
- export declare const makeErrorMiddleware: (cb: (_: CustomRequest, __: Error) => Promise<CustomResponse>) => Controller;
16
+ export declare const makeController: (cb: (_: CustomRequest, extras: ExtraArgs) => Promise<CustomResponse>) => Controller;
17
+ export declare const makeMiddleware: (cb: (_: CustomRequest, extras: ExtraArgs) => Promise<void>) => Controller;
18
+ export declare const makeErrorMiddleware: (cb: (_: CustomRequest, __: Error, extras: ExtraArgs) => Promise<CustomResponse>) => Controller;
13
19
  export {};
@@ -7,21 +7,28 @@ const defaultHeaders = { 'Content-Type': 'application/json' };
7
7
  const makeController = (cb) => {
8
8
  return async (req, res, next) => {
9
9
  try {
10
- const { status = statusCodes_1.StatusCodes.Ok, result, headers = defaultHeaders } = await cb(await request_1.Request.make(req));
11
- Object.entries(headers).forEach(([key, value]) => res.header(key, value));
12
- return res.status(status).send(result).end();
10
+ const extras = {
11
+ pipeThrough: res
12
+ };
13
+ const { status = statusCodes_1.StatusCodes.Ok, result, headers = defaultHeaders, piped = false } = await cb(await request_1.Request.make(req), extras);
14
+ if (!piped) {
15
+ Object.entries(headers).forEach(([key, value]) => res.header(key, value));
16
+ res.status(status).send(result).end();
17
+ }
13
18
  }
14
19
  catch (e) {
15
20
  next(e);
16
- return;
17
21
  }
18
22
  };
19
23
  };
20
24
  exports.makeController = makeController;
21
25
  const makeMiddleware = (cb) => {
22
- return async (req, _, next) => {
26
+ return async (req, res, next) => {
23
27
  try {
24
- await cb(await request_1.Request.make(req));
28
+ const extras = {
29
+ pipeThrough: res
30
+ };
31
+ await cb(await request_1.Request.make(req), extras);
25
32
  return next();
26
33
  }
27
34
  catch (e) {
@@ -32,9 +39,14 @@ const makeMiddleware = (cb) => {
32
39
  exports.makeMiddleware = makeMiddleware;
33
40
  const makeErrorMiddleware = (cb) => {
34
41
  return async (err, req, res, _) => {
35
- const { status = statusCodes_1.StatusCodes.BadRequest, result, headers = defaultHeaders } = await cb(await request_1.Request.make(req), err);
36
- Object.entries(headers).forEach(([key, value]) => res.header(key, value));
37
- return res.status(status).send(result).end();
42
+ const extras = {
43
+ pipeThrough: res
44
+ };
45
+ const { status = statusCodes_1.StatusCodes.BadRequest, result, headers = defaultHeaders, piped = false } = await cb(await request_1.Request.make(req), err, extras);
46
+ if (!piped) {
47
+ Object.entries(headers).forEach(([key, value]) => res.header(key, value));
48
+ res.status(status).send(result).end();
49
+ }
38
50
  };
39
51
  };
40
52
  exports.makeErrorMiddleware = makeErrorMiddleware;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "equipped",
3
- "version": "4.1.13",
3
+ "version": "4.1.14",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "main": "lib/index.js",