@naman_deep_singh/http-response 3.0.0 → 3.2.0

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.
Files changed (77) hide show
  1. package/README.md +4 -4
  2. package/dist/cjs/adapters/express/ExpressResponder.d.ts +2 -2
  3. package/dist/cjs/adapters/express/ExpressResponder.js +2 -2
  4. package/dist/cjs/adapters/express/index.d.ts +1 -0
  5. package/dist/cjs/adapters/express/index.js +17 -0
  6. package/dist/cjs/adapters/index.d.ts +1 -0
  7. package/dist/cjs/adapters/index.js +17 -0
  8. package/dist/cjs/constants/index.d.ts +1 -0
  9. package/dist/cjs/constants/index.js +17 -0
  10. package/dist/cjs/core/BaseResponder.d.ts +2 -2
  11. package/dist/cjs/core/BaseResponder.js +16 -16
  12. package/dist/cjs/core/config.d.ts +1 -1
  13. package/dist/cjs/core/factory.d.ts +2 -2
  14. package/dist/cjs/core/factory.js +2 -2
  15. package/dist/cjs/core/index.d.ts +4 -0
  16. package/dist/cjs/core/index.js +20 -0
  17. package/dist/cjs/index.d.ts +4 -8
  18. package/dist/cjs/index.js +6 -14
  19. package/dist/cjs/middleware/express/expressMiddleware.d.ts +1 -1
  20. package/dist/cjs/middleware/express/expressMiddleware.js +2 -2
  21. package/dist/cjs/middleware/express/index.d.ts +1 -0
  22. package/dist/cjs/middleware/express/index.js +17 -0
  23. package/dist/cjs/middleware/index.d.ts +1 -0
  24. package/dist/cjs/middleware/index.js +17 -0
  25. package/dist/esm/adapters/express/ExpressResponder.d.ts +2 -2
  26. package/dist/esm/adapters/express/ExpressResponder.js +1 -1
  27. package/dist/esm/adapters/express/index.d.ts +1 -0
  28. package/dist/esm/adapters/express/index.js +1 -0
  29. package/dist/esm/adapters/index.d.ts +1 -0
  30. package/dist/esm/adapters/index.js +1 -0
  31. package/dist/esm/constants/index.d.ts +1 -0
  32. package/dist/esm/constants/index.js +1 -0
  33. package/dist/esm/core/BaseResponder.d.ts +2 -2
  34. package/dist/esm/core/BaseResponder.js +3 -3
  35. package/dist/esm/core/config.d.ts +1 -1
  36. package/dist/esm/core/factory.d.ts +2 -2
  37. package/dist/esm/core/factory.js +1 -1
  38. package/dist/esm/core/index.d.ts +4 -0
  39. package/dist/esm/core/index.js +4 -0
  40. package/dist/esm/index.d.ts +4 -8
  41. package/dist/esm/index.js +6 -8
  42. package/dist/esm/middleware/express/expressMiddleware.d.ts +1 -1
  43. package/dist/esm/middleware/express/expressMiddleware.js +1 -1
  44. package/dist/esm/middleware/express/index.d.ts +1 -0
  45. package/dist/esm/middleware/express/index.js +1 -0
  46. package/dist/esm/middleware/index.d.ts +1 -0
  47. package/dist/esm/middleware/index.js +1 -0
  48. package/dist/types/adapters/express/ExpressResponder.d.ts +2 -2
  49. package/dist/types/adapters/express/index.d.ts +1 -0
  50. package/dist/types/adapters/index.d.ts +1 -0
  51. package/dist/types/constants/index.d.ts +1 -0
  52. package/dist/types/core/BaseResponder.d.ts +2 -2
  53. package/dist/types/core/config.d.ts +1 -1
  54. package/dist/types/core/factory.d.ts +2 -2
  55. package/dist/types/core/index.d.ts +4 -0
  56. package/dist/types/index.d.ts +4 -8
  57. package/dist/types/middleware/express/expressMiddleware.d.ts +1 -1
  58. package/dist/types/middleware/express/index.d.ts +1 -0
  59. package/dist/types/middleware/index.d.ts +1 -0
  60. package/package.json +20 -10
  61. package/src/adapters/express/ExpressResponder.ts +2 -2
  62. package/src/adapters/express/index.ts +1 -0
  63. package/src/adapters/index.ts +1 -0
  64. package/src/constants/index.ts +1 -0
  65. package/src/core/BaseResponder.ts +4 -6
  66. package/src/core/config.ts +1 -1
  67. package/src/core/factory.ts +2 -3
  68. package/src/core/index.ts +4 -0
  69. package/src/index.ts +6 -11
  70. package/src/middleware/express/expressMiddleware.ts +2 -2
  71. package/src/middleware/express/index.ts +1 -0
  72. package/src/middleware/index.ts +1 -0
  73. package/tsconfig.cjs.json +9 -5
  74. package/tsconfig.esm.json +8 -5
  75. package/tsconfig.json +17 -0
  76. package/tsconfig.types.json +16 -0
  77. package/tsconfig.base.json +0 -11
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @naman_deep_singh/http-response
2
2
 
3
- **Version:** 3.0.0
3
+ **Version:** 3.2.0
4
4
 
5
5
  A flexible, framework-agnostic **TypeScript response utility library** for building consistent, typed, and configurable API responses.
6
6
 
@@ -168,12 +168,12 @@ declare global {
168
168
  ⚠️ Do not use for new projects.
169
169
 
170
170
  🔗 Integration with Other Packages
171
- With @naman_deep_singh/server-utils
171
+ With @naman_deep_singh/server
172
172
  import { responderMiddleware } from '@naman_deep_singh/http-response'
173
173
 
174
174
  server.app.use(responderMiddleware())
175
- With @naman_deep_singh/errors-utils
176
- import { expressErrorHandler } from '@naman_deep_singh/errors-utils'
175
+ With @naman_deep_singh/errors
176
+ import { expressErrorHandler } from '@naman_deep_singh/errors'
177
177
 
178
178
  server.app.use(expressErrorHandler)
179
179
  Provides consistent error responses across services.
@@ -1,6 +1,6 @@
1
1
  import type { Response } from 'express';
2
- import { BaseResponder } from '../../core/BaseResponder';
3
- import type { ResponderConfig } from '../../core/config';
2
+ import { BaseResponder } from '../../core/BaseResponder.js';
3
+ import type { ResponderConfig } from '../../core/config.js';
4
4
  export declare class ExpressResponder<P = unknown> extends BaseResponder<P> {
5
5
  private readonly res;
6
6
  constructor(cfg: Partial<ResponderConfig> | undefined, res: Response);
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExpressResponder = void 0;
4
- const BaseResponder_1 = require("../../core/BaseResponder");
5
- class ExpressResponder extends BaseResponder_1.BaseResponder {
4
+ const BaseResponder_js_1 = require("../../core/BaseResponder.js");
5
+ class ExpressResponder extends BaseResponder_js_1.BaseResponder {
6
6
  constructor(cfg, res) {
7
7
  // attach sender which calls res.status().json()
8
8
  super(cfg, (status, body) => res.status(status).json(body));
@@ -0,0 +1 @@
1
+ export * from './ExpressResponder.js';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ExpressResponder.js"), exports);
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./express/index.js"), exports);
@@ -0,0 +1 @@
1
+ export * from './httpStatus.js';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./httpStatus.js"), exports);
@@ -1,5 +1,5 @@
1
- import { type ResponderConfig } from './config';
2
- import type { PaginationMeta, ResponseEnvelope, Sender } from './types';
1
+ import { type ResponderConfig } from './config.js';
2
+ import type { PaginationMeta, ResponseEnvelope, Sender } from './types.js';
3
3
  export declare class BaseResponder<P = unknown, M = PaginationMeta> {
4
4
  protected readonly cfg: ResponderConfig;
5
5
  protected sender?: Sender;
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseResponder = void 0;
4
- const httpStatus_1 = require("../constants/httpStatus");
5
- const config_1 = require("./config");
4
+ const httpStatus_js_1 = require("../constants/httpStatus.js");
5
+ const config_js_1 = require("./config.js");
6
6
  class BaseResponder {
7
7
  constructor(cfg, sender) {
8
- this.cfg = { ...config_1.defaultConfig, ...(cfg ?? {}) };
8
+ this.cfg = { ...config_js_1.defaultConfig, ...(cfg ?? {}) };
9
9
  this.sender = sender;
10
10
  }
11
11
  attachSender(sender) {
12
12
  this.sender = sender;
13
13
  }
14
14
  normalizeError(err) {
15
- // errors-utils AppError compatibility
15
+ // errors AppError compatibility
16
16
  if (typeof err === 'object' && err !== null) {
17
17
  const e = err;
18
18
  if (typeof e.message === 'string') {
@@ -62,37 +62,37 @@ class BaseResponder {
62
62
  * Standard REST Response Helpers
63
63
  * ----------------------------- */
64
64
  ok(data, message = 'Success') {
65
- return this.send(httpStatus_1.HTTP_STATUS.SUCCESS.OK, this.buildEnvelope(data, message));
65
+ return this.send(httpStatus_js_1.HTTP_STATUS.SUCCESS.OK, this.buildEnvelope(data, message));
66
66
  }
67
67
  created(data, message = 'Created successfully') {
68
- return this.send(httpStatus_1.HTTP_STATUS.SUCCESS.CREATED, this.buildEnvelope(data, message));
68
+ return this.send(httpStatus_js_1.HTTP_STATUS.SUCCESS.CREATED, this.buildEnvelope(data, message));
69
69
  }
70
70
  noContent(message = 'No Content') {
71
- return this.send(httpStatus_1.HTTP_STATUS.SUCCESS.NO_CONTENT, this.buildEnvelope(undefined, message));
71
+ return this.send(httpStatus_js_1.HTTP_STATUS.SUCCESS.NO_CONTENT, this.buildEnvelope(undefined, message));
72
72
  }
73
73
  badRequest(message = 'Bad request', error) {
74
- return this.send(httpStatus_1.HTTP_STATUS.CLIENT_ERROR.BAD_REQUEST, this.buildEnvelope(undefined, message, error));
74
+ return this.send(httpStatus_js_1.HTTP_STATUS.CLIENT_ERROR.BAD_REQUEST, this.buildEnvelope(undefined, message, error));
75
75
  }
76
76
  unauthorized(message = 'Unauthorized') {
77
- return this.send(httpStatus_1.HTTP_STATUS.CLIENT_ERROR.UNAUTHORIZED, this.buildEnvelope(undefined, message));
77
+ return this.send(httpStatus_js_1.HTTP_STATUS.CLIENT_ERROR.UNAUTHORIZED, this.buildEnvelope(undefined, message));
78
78
  }
79
79
  forbidden(message = 'Forbidden') {
80
- return this.send(httpStatus_1.HTTP_STATUS.CLIENT_ERROR.FORBIDDEN, this.buildEnvelope(undefined, message));
80
+ return this.send(httpStatus_js_1.HTTP_STATUS.CLIENT_ERROR.FORBIDDEN, this.buildEnvelope(undefined, message));
81
81
  }
82
82
  notFound(message = 'Not found') {
83
- return this.send(httpStatus_1.HTTP_STATUS.CLIENT_ERROR.NOT_FOUND, this.buildEnvelope(undefined, message));
83
+ return this.send(httpStatus_js_1.HTTP_STATUS.CLIENT_ERROR.NOT_FOUND, this.buildEnvelope(undefined, message));
84
84
  }
85
85
  conflict(message = 'Conflict') {
86
- return this.send(httpStatus_1.HTTP_STATUS.CLIENT_ERROR.CONFLICT, this.buildEnvelope(undefined, message));
86
+ return this.send(httpStatus_js_1.HTTP_STATUS.CLIENT_ERROR.CONFLICT, this.buildEnvelope(undefined, message));
87
87
  }
88
88
  unprocessableEntity(message = 'Unprocessable Entity', error) {
89
- return this.send(httpStatus_1.HTTP_STATUS.CLIENT_ERROR.UNPROCESSABLE_ENTITY, this.buildEnvelope(undefined, message, error));
89
+ return this.send(httpStatus_js_1.HTTP_STATUS.CLIENT_ERROR.UNPROCESSABLE_ENTITY, this.buildEnvelope(undefined, message, error));
90
90
  }
91
91
  tooManyRequests(message = 'Too Many Requests') {
92
- return this.send(httpStatus_1.HTTP_STATUS.CLIENT_ERROR.TOO_MANY_REQUESTS, this.buildEnvelope(undefined, message));
92
+ return this.send(httpStatus_js_1.HTTP_STATUS.CLIENT_ERROR.TOO_MANY_REQUESTS, this.buildEnvelope(undefined, message));
93
93
  }
94
94
  serverError(message = 'Internal server error', error) {
95
- return this.send(httpStatus_1.HTTP_STATUS.SERVER_ERROR.INTERNAL_SERVER_ERROR, this.buildEnvelope(undefined, message, error));
95
+ return this.send(httpStatus_js_1.HTTP_STATUS.SERVER_ERROR.INTERNAL_SERVER_ERROR, this.buildEnvelope(undefined, message, error));
96
96
  }
97
97
  paginate(data, page, limit, total, message = 'Success') {
98
98
  const totalPages = Math.max(1, Math.ceil(total / limit));
@@ -106,7 +106,7 @@ class BaseResponder {
106
106
  hasNext: page < totalPages,
107
107
  hasPrev: page > 1,
108
108
  };
109
- return this.send(httpStatus_1.HTTP_STATUS.SUCCESS.OK, this.buildEnvelope(data, message, undefined, pagination));
109
+ return this.send(httpStatus_js_1.HTTP_STATUS.SUCCESS.OK, this.buildEnvelope(data, message, undefined, pagination));
110
110
  }
111
111
  paginateOffset(data, offset, limit, total, message = 'Success') {
112
112
  const page = Math.floor(offset / limit) + 1;
@@ -1,4 +1,4 @@
1
- import type { PlainObject } from './types';
1
+ import type { PlainObject } from './types.js';
2
2
  export type EnvelopeKeys = {
3
3
  success?: string;
4
4
  message?: string;
@@ -1,3 +1,3 @@
1
- import { ExpressResponder } from '../adapters/express/ExpressResponder';
2
- import type { ResponderConfig } from './config';
1
+ import { ExpressResponder } from '../adapters/index.js';
2
+ import type { ResponderConfig } from './config.js';
3
3
  export declare const createResponderFactory: (cfg?: Partial<ResponderConfig>) => <P = unknown, _M = Record<string, unknown>>(res: import("express").Response) => ExpressResponder<P>;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createResponderFactory = void 0;
4
- const ExpressResponder_1 = require("../adapters/express/ExpressResponder");
4
+ const index_js_1 = require("../adapters/index.js");
5
5
  const createResponderFactory = (cfg) => {
6
6
  return (res) => {
7
- return new ExpressResponder_1.ExpressResponder(cfg, res);
7
+ return new index_js_1.ExpressResponder(cfg, res);
8
8
  };
9
9
  };
10
10
  exports.createResponderFactory = createResponderFactory;
@@ -0,0 +1,4 @@
1
+ export * from './BaseResponder.js';
2
+ export * from './config.js';
3
+ export * from './factory.js';
4
+ export * from './types.js';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BaseResponder.js"), exports);
18
+ __exportStar(require("./config.js"), exports);
19
+ __exportStar(require("./factory.js"), exports);
20
+ __exportStar(require("./types.js"), exports);
@@ -1,8 +1,4 @@
1
- export { BaseResponder } from './core/BaseResponder';
2
- export { createResponderFactory } from './core/factory';
3
- export * from './core/types';
4
- export * from './core/config';
5
- export { ExpressResponder } from './adapters/express/ExpressResponder';
6
- export { responderMiddleware } from './middleware/express/expressMiddleware';
7
- export { HTTP_STATUS } from './constants/httpStatus';
8
- export type { HttpStatusCode } from './constants/httpStatus';
1
+ export * from './core/index.js';
2
+ export * from './constants/index.js';
3
+ export * from './adapters/index.js';
4
+ export * from './middleware/index.js';
package/dist/cjs/index.js CHANGED
@@ -14,19 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.HTTP_STATUS = exports.responderMiddleware = exports.ExpressResponder = exports.createResponderFactory = exports.BaseResponder = void 0;
18
17
  // Core Responders
19
- var BaseResponder_1 = require("./core/BaseResponder");
20
- Object.defineProperty(exports, "BaseResponder", { enumerable: true, get: function () { return BaseResponder_1.BaseResponder; } });
21
- var factory_1 = require("./core/factory");
22
- Object.defineProperty(exports, "createResponderFactory", { enumerable: true, get: function () { return factory_1.createResponderFactory; } });
23
- __exportStar(require("./core/types"), exports);
24
- __exportStar(require("./core/config"), exports);
25
- // Adapters (Express)
26
- var ExpressResponder_1 = require("./adapters/express/ExpressResponder");
27
- Object.defineProperty(exports, "ExpressResponder", { enumerable: true, get: function () { return ExpressResponder_1.ExpressResponder; } });
28
- var expressMiddleware_1 = require("./middleware/express/expressMiddleware");
29
- Object.defineProperty(exports, "responderMiddleware", { enumerable: true, get: function () { return expressMiddleware_1.responderMiddleware; } });
18
+ __exportStar(require("./core/index.js"), exports);
30
19
  // HTTP Status Constants
31
- var httpStatus_1 = require("./constants/httpStatus");
32
- Object.defineProperty(exports, "HTTP_STATUS", { enumerable: true, get: function () { return httpStatus_1.HTTP_STATUS; } });
20
+ __exportStar(require("./constants/index.js"), exports);
21
+ // Adapters (Express)
22
+ __exportStar(require("./adapters/index.js"), exports);
23
+ // Utility Middleware (Express)
24
+ __exportStar(require("./middleware/index.js"), exports);
@@ -1,3 +1,3 @@
1
1
  import type { RequestHandler } from 'express';
2
- import type { ResponderConfig } from '../../core/config';
2
+ import type { ResponderConfig } from '../../core/config.js';
3
3
  export declare const responderMiddleware: (cfg?: Partial<ResponderConfig>) => RequestHandler;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.responderMiddleware = void 0;
4
- const factory_1 = require("../../core/factory");
4
+ const factory_js_1 = require("../../core/factory.js");
5
5
  const responderMiddleware = (cfg) => {
6
- const factory = (0, factory_1.createResponderFactory)(cfg);
6
+ const factory = (0, factory_js_1.createResponderFactory)(cfg);
7
7
  return (_req, res, next) => {
8
8
  ;
9
9
  res.responder = () => factory(res);
@@ -0,0 +1 @@
1
+ export * from './expressMiddleware.js';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./expressMiddleware.js"), exports);
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./express/index.js"), exports);
@@ -1,6 +1,6 @@
1
1
  import type { Response } from 'express';
2
- import { BaseResponder } from '../../core/BaseResponder';
3
- import type { ResponderConfig } from '../../core/config';
2
+ import { BaseResponder } from '../../core/BaseResponder.js';
3
+ import type { ResponderConfig } from '../../core/config.js';
4
4
  export declare class ExpressResponder<P = unknown> extends BaseResponder<P> {
5
5
  private readonly res;
6
6
  constructor(cfg: Partial<ResponderConfig> | undefined, res: Response);
@@ -1,4 +1,4 @@
1
- import { BaseResponder } from '../../core/BaseResponder';
1
+ import { BaseResponder } from '../../core/BaseResponder.js';
2
2
  export class ExpressResponder extends BaseResponder {
3
3
  constructor(cfg, res) {
4
4
  // attach sender which calls res.status().json()
@@ -0,0 +1 @@
1
+ export * from './ExpressResponder.js';
@@ -0,0 +1 @@
1
+ export * from './ExpressResponder.js';
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
@@ -0,0 +1 @@
1
+ export * from './httpStatus.js';
@@ -0,0 +1 @@
1
+ export * from './httpStatus.js';
@@ -1,5 +1,5 @@
1
- import { type ResponderConfig } from './config';
2
- import type { PaginationMeta, ResponseEnvelope, Sender } from './types';
1
+ import { type ResponderConfig } from './config.js';
2
+ import type { PaginationMeta, ResponseEnvelope, Sender } from './types.js';
3
3
  export declare class BaseResponder<P = unknown, M = PaginationMeta> {
4
4
  protected readonly cfg: ResponderConfig;
5
5
  protected sender?: Sender;
@@ -1,5 +1,5 @@
1
- import { HTTP_STATUS } from '../constants/httpStatus';
2
- import { defaultConfig } from './config';
1
+ import { HTTP_STATUS } from '../constants/httpStatus.js';
2
+ import { defaultConfig } from './config.js';
3
3
  export class BaseResponder {
4
4
  constructor(cfg, sender) {
5
5
  this.cfg = { ...defaultConfig, ...(cfg ?? {}) };
@@ -9,7 +9,7 @@ export class BaseResponder {
9
9
  this.sender = sender;
10
10
  }
11
11
  normalizeError(err) {
12
- // errors-utils AppError compatibility
12
+ // errors AppError compatibility
13
13
  if (typeof err === 'object' && err !== null) {
14
14
  const e = err;
15
15
  if (typeof e.message === 'string') {
@@ -1,4 +1,4 @@
1
- import type { PlainObject } from './types';
1
+ import type { PlainObject } from './types.js';
2
2
  export type EnvelopeKeys = {
3
3
  success?: string;
4
4
  message?: string;
@@ -1,3 +1,3 @@
1
- import { ExpressResponder } from '../adapters/express/ExpressResponder';
2
- import type { ResponderConfig } from './config';
1
+ import { ExpressResponder } from '../adapters/index.js';
2
+ import type { ResponderConfig } from './config.js';
3
3
  export declare const createResponderFactory: (cfg?: Partial<ResponderConfig>) => <P = unknown, _M = Record<string, unknown>>(res: import("express").Response) => ExpressResponder<P>;
@@ -1,4 +1,4 @@
1
- import { ExpressResponder } from '../adapters/express/ExpressResponder';
1
+ import { ExpressResponder } from '../adapters/index.js';
2
2
  export const createResponderFactory = (cfg) => {
3
3
  return (res) => {
4
4
  return new ExpressResponder(cfg, res);
@@ -0,0 +1,4 @@
1
+ export * from './BaseResponder.js';
2
+ export * from './config.js';
3
+ export * from './factory.js';
4
+ export * from './types.js';
@@ -0,0 +1,4 @@
1
+ export * from './BaseResponder.js';
2
+ export * from './config.js';
3
+ export * from './factory.js';
4
+ export * from './types.js';
@@ -1,8 +1,4 @@
1
- export { BaseResponder } from './core/BaseResponder';
2
- export { createResponderFactory } from './core/factory';
3
- export * from './core/types';
4
- export * from './core/config';
5
- export { ExpressResponder } from './adapters/express/ExpressResponder';
6
- export { responderMiddleware } from './middleware/express/expressMiddleware';
7
- export { HTTP_STATUS } from './constants/httpStatus';
8
- export type { HttpStatusCode } from './constants/httpStatus';
1
+ export * from './core/index.js';
2
+ export * from './constants/index.js';
3
+ export * from './adapters/index.js';
4
+ export * from './middleware/index.js';
package/dist/esm/index.js CHANGED
@@ -1,10 +1,8 @@
1
1
  // Core Responders
2
- export { BaseResponder } from './core/BaseResponder';
3
- export { createResponderFactory } from './core/factory';
4
- export * from './core/types';
5
- export * from './core/config';
6
- // Adapters (Express)
7
- export { ExpressResponder } from './adapters/express/ExpressResponder';
8
- export { responderMiddleware } from './middleware/express/expressMiddleware';
2
+ export * from './core/index.js';
9
3
  // HTTP Status Constants
10
- export { HTTP_STATUS } from './constants/httpStatus';
4
+ export * from './constants/index.js';
5
+ // Adapters (Express)
6
+ export * from './adapters/index.js';
7
+ // Utility Middleware (Express)
8
+ export * from './middleware/index.js';
@@ -1,3 +1,3 @@
1
1
  import type { RequestHandler } from 'express';
2
- import type { ResponderConfig } from '../../core/config';
2
+ import type { ResponderConfig } from '../../core/config.js';
3
3
  export declare const responderMiddleware: (cfg?: Partial<ResponderConfig>) => RequestHandler;
@@ -1,4 +1,4 @@
1
- import { createResponderFactory } from '../../core/factory';
1
+ import { createResponderFactory } from '../../core/factory.js';
2
2
  export const responderMiddleware = (cfg) => {
3
3
  const factory = createResponderFactory(cfg);
4
4
  return (_req, res, next) => {
@@ -0,0 +1 @@
1
+ export * from './expressMiddleware.js';
@@ -0,0 +1 @@
1
+ export * from './expressMiddleware.js';
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
@@ -1,6 +1,6 @@
1
1
  import type { Response } from 'express';
2
- import { BaseResponder } from '../../core/BaseResponder';
3
- import type { ResponderConfig } from '../../core/config';
2
+ import { BaseResponder } from '../../core/BaseResponder.js';
3
+ import type { ResponderConfig } from '../../core/config.js';
4
4
  export declare class ExpressResponder<P = unknown> extends BaseResponder<P> {
5
5
  private readonly res;
6
6
  constructor(cfg: Partial<ResponderConfig> | undefined, res: Response);
@@ -0,0 +1 @@
1
+ export * from './ExpressResponder.js';
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
@@ -0,0 +1 @@
1
+ export * from './httpStatus.js';
@@ -1,5 +1,5 @@
1
- import { type ResponderConfig } from './config';
2
- import type { PaginationMeta, ResponseEnvelope, Sender } from './types';
1
+ import { type ResponderConfig } from './config.js';
2
+ import type { PaginationMeta, ResponseEnvelope, Sender } from './types.js';
3
3
  export declare class BaseResponder<P = unknown, M = PaginationMeta> {
4
4
  protected readonly cfg: ResponderConfig;
5
5
  protected sender?: Sender;
@@ -1,4 +1,4 @@
1
- import type { PlainObject } from './types';
1
+ import type { PlainObject } from './types.js';
2
2
  export type EnvelopeKeys = {
3
3
  success?: string;
4
4
  message?: string;
@@ -1,3 +1,3 @@
1
- import { ExpressResponder } from '../adapters/express/ExpressResponder';
2
- import type { ResponderConfig } from './config';
1
+ import { ExpressResponder } from '../adapters/index.js';
2
+ import type { ResponderConfig } from './config.js';
3
3
  export declare const createResponderFactory: (cfg?: Partial<ResponderConfig>) => <P = unknown, _M = Record<string, unknown>>(res: import("express").Response) => ExpressResponder<P>;
@@ -0,0 +1,4 @@
1
+ export * from './BaseResponder.js';
2
+ export * from './config.js';
3
+ export * from './factory.js';
4
+ export * from './types.js';
@@ -1,8 +1,4 @@
1
- export { BaseResponder } from './core/BaseResponder';
2
- export { createResponderFactory } from './core/factory';
3
- export * from './core/types';
4
- export * from './core/config';
5
- export { ExpressResponder } from './adapters/express/ExpressResponder';
6
- export { responderMiddleware } from './middleware/express/expressMiddleware';
7
- export { HTTP_STATUS } from './constants/httpStatus';
8
- export type { HttpStatusCode } from './constants/httpStatus';
1
+ export * from './core/index.js';
2
+ export * from './constants/index.js';
3
+ export * from './adapters/index.js';
4
+ export * from './middleware/index.js';
@@ -1,3 +1,3 @@
1
1
  import type { RequestHandler } from 'express';
2
- import type { ResponderConfig } from '../../core/config';
2
+ import type { ResponderConfig } from '../../core/config.js';
3
3
  export declare const responderMiddleware: (cfg?: Partial<ResponderConfig>) => RequestHandler;
@@ -0,0 +1 @@
1
+ export * from './expressMiddleware.js';
@@ -0,0 +1 @@
1
+ export * from './express/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naman_deep_singh/http-response",
3
- "version": "3.0.0",
3
+ "version": "3.2.0",
4
4
  "description": "TypeScript utilities for standardized API responses",
5
5
  "author": "Naman Deep Singh",
6
6
  "license": "MIT",
@@ -13,15 +13,25 @@
13
13
  "require": "./dist/cjs/index.js",
14
14
  "types": "./dist/types/index.d.ts"
15
15
  },
16
- "./express": {
17
- "import": "./dist/esm/adapters/express/index.js",
18
- "require": "./dist/cjs/adapters/express/index.js",
19
- "types": "./dist/types/adapters/express/index.d.ts"
16
+ "./core": {
17
+ "import": "./dist/esm/core/index.js",
18
+ "require": "./dist/cjs/core/index.js",
19
+ "types": "./dist/types/core/index.d.ts"
20
20
  },
21
- "./legacy": {
22
- "import": "./dist/esm/legacy/index.js",
23
- "require": "./dist/cjs/legacy/index.js",
24
- "types": "./dist/types/legacy/index.d.ts"
21
+ "./constants": {
22
+ "import": "./dist/esm/constants/index.js",
23
+ "require": "./dist/cjs/constants/index.js",
24
+ "types": "./dist/types/constants/index.d.ts"
25
+ },
26
+ "./adapters": {
27
+ "import": "./dist/esm/adapters/index.js",
28
+ "require": "./dist/cjs/adapters/index.js",
29
+ "types": "./dist/types/adapters/index.d.ts"
30
+ },
31
+ "./middleware": {
32
+ "import": "./dist/esm/middleware/index.js",
33
+ "require": "./dist/cjs/middleware/index.js",
34
+ "types": "./dist/types/middleware/index.d.ts"
25
35
  }
26
36
  },
27
37
  "sideEffects": false,
@@ -47,7 +57,7 @@
47
57
  },
48
58
  "scripts": {
49
59
  "build": "pnpm run build:types && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json",
50
- "build:types": "tsc -p tsconfig.base.json --emitDeclarationOnly --outDir dist/types",
60
+ "build:types": "tsc -p tsconfig.types.json",
51
61
  "clean": "rimraf dist"
52
62
  }
53
63
  }
@@ -1,6 +1,6 @@
1
1
  import type { Response } from 'express'
2
- import { BaseResponder } from '../../core/BaseResponder'
3
- import type { ResponderConfig } from '../../core/config'
2
+ import { BaseResponder } from '../../core/BaseResponder.js'
3
+ import type { ResponderConfig } from '../../core/config.js'
4
4
 
5
5
  export class ExpressResponder<P = unknown> extends BaseResponder<P> {
6
6
  constructor(
@@ -0,0 +1 @@
1
+ export * from './ExpressResponder.js'
@@ -0,0 +1 @@
1
+ export * from './express/index.js'
@@ -0,0 +1 @@
1
+ export * from './httpStatus.js'
@@ -1,8 +1,6 @@
1
- import { HTTP_STATUS } from '../constants/httpStatus'
2
-
3
- import { type ResponderConfig, defaultConfig } from './config'
4
-
5
- import type { PaginationMeta, ResponseEnvelope, Sender } from './types'
1
+ import { HTTP_STATUS } from '../constants/httpStatus.js'
2
+ import { type ResponderConfig, defaultConfig } from './config.js'
3
+ import type { PaginationMeta, ResponseEnvelope, Sender } from './types.js'
6
4
 
7
5
  export class BaseResponder<P = unknown, M = PaginationMeta> {
8
6
  protected readonly cfg: ResponderConfig
@@ -22,7 +20,7 @@ export class BaseResponder<P = unknown, M = PaginationMeta> {
22
20
  code?: string
23
21
  details?: unknown
24
22
  } {
25
- // errors-utils AppError compatibility
23
+ // errors AppError compatibility
26
24
  if (typeof err === 'object' && err !== null) {
27
25
  const e = err as Record<string, unknown>
28
26
 
@@ -1,4 +1,4 @@
1
- import type { PlainObject } from './types'
1
+ import type { PlainObject } from './types.js'
2
2
 
3
3
  export type EnvelopeKeys = {
4
4
  success?: string
@@ -1,6 +1,5 @@
1
- import { ExpressResponder } from '../adapters/express/ExpressResponder'
2
-
3
- import type { ResponderConfig } from './config'
1
+ import { ExpressResponder } from '../adapters/index.js'
2
+ import type { ResponderConfig } from './config.js'
4
3
 
5
4
  export const createResponderFactory = (cfg?: Partial<ResponderConfig>) => {
6
5
  return <P = unknown, _M = Record<string, unknown>>(
@@ -0,0 +1,4 @@
1
+ export * from './BaseResponder.js'
2
+ export * from './config.js'
3
+ export * from './factory.js'
4
+ export * from './types.js'
package/src/index.ts CHANGED
@@ -1,13 +1,8 @@
1
1
  // Core Responders
2
- export { BaseResponder } from './core/BaseResponder'
3
- export { createResponderFactory } from './core/factory'
4
- export * from './core/types'
5
- export * from './core/config'
6
-
7
- // Adapters (Express)
8
- export { ExpressResponder } from './adapters/express/ExpressResponder'
9
- export { responderMiddleware } from './middleware/express/expressMiddleware'
10
-
2
+ export * from './core/index.js'
11
3
  // HTTP Status Constants
12
- export { HTTP_STATUS } from './constants/httpStatus'
13
- export type { HttpStatusCode } from './constants/httpStatus'
4
+ export * from './constants/index.js'
5
+ // Adapters (Express)
6
+ export * from './adapters/index.js'
7
+ // Utility Middleware (Express)
8
+ export * from './middleware/index.js'
@@ -1,6 +1,6 @@
1
1
  import type { RequestHandler } from 'express'
2
- import type { ResponderConfig } from '../../core/config'
3
- import { createResponderFactory } from '../../core/factory'
2
+ import type { ResponderConfig } from '../../core/config.js'
3
+ import { createResponderFactory } from '../../core/factory.js'
4
4
 
5
5
  export const responderMiddleware = (
6
6
  cfg?: Partial<ResponderConfig>,
@@ -0,0 +1 @@
1
+ export * from './expressMiddleware.js'
@@ -0,0 +1 @@
1
+ export * from './express/index.js'
package/tsconfig.cjs.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
- "extends": "./tsconfig.base.json",
3
2
  "compilerOptions": {
3
+ "target": "ES2020",
4
4
  "module": "CommonJS",
5
5
  "moduleResolution": "Node",
6
- "rootDir": "./src",
7
- "outDir": "./dist/cjs"
8
- }
9
- }
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+ "outDir": "dist/cjs"
9
+ },
10
+ "include": [
11
+ "src"
12
+ ]
13
+ }
package/tsconfig.esm.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
- "extends": "./tsconfig.base.json",
3
2
  "compilerOptions": {
3
+ "target": "ES2020",
4
4
  "module": "ESNext",
5
5
  "moduleResolution": "Bundler",
6
- "rootDir": "./src",
7
- "outDir": "./dist/esm"
8
- }
9
- }
6
+ "strict": true,
7
+ "outDir": "dist/esm"
8
+ },
9
+ "include": [
10
+ "src"
11
+ ]
12
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Bundler",
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+ "skipLibCheck": true
9
+ },
10
+ "include": [
11
+ "src"
12
+ ],
13
+ "exclude": [
14
+ "dist",
15
+ "node_modules"
16
+ ]
17
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+ "skipLibCheck": false,
9
+ "declaration": true,
10
+ "emitDeclarationOnly": true,
11
+ "outDir": "dist/types"
12
+ },
13
+ "include": [
14
+ "src"
15
+ ]
16
+ }
@@ -1,11 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "strict": true,
5
- "esModuleInterop": true,
6
- "skipLibCheck": true,
7
- "forceConsistentCasingInFileNames": true,
8
- "declaration": true
9
- },
10
- "include": ["src/**/*"]
11
- }