@xrystal/dto 26.6.27-v12 → 26.6.27-v13

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 (49) hide show
  1. package/README.md +210 -569
  2. package/dist/adapters/elysia.cjs +56 -58
  3. package/dist/adapters/elysia.d.ts +1 -1
  4. package/dist/adapters/elysia.js +56 -58
  5. package/dist/adapters/express.cjs +56 -58
  6. package/dist/adapters/express.d.ts +1 -1
  7. package/dist/adapters/express.js +56 -58
  8. package/dist/adapters/index.d.ts +1 -7
  9. package/dist/adapters/node.cjs +56 -58
  10. package/dist/adapters/node.d.ts +1 -1
  11. package/dist/adapters/node.js +56 -58
  12. package/dist/adapters/shared.d.ts +1 -1
  13. package/dist/adapters/socketio.cjs +56 -58
  14. package/dist/adapters/socketio.d.ts +1 -1
  15. package/dist/adapters/socketio.js +56 -58
  16. package/dist/adapters/websocket.cjs +56 -58
  17. package/dist/adapters/websocket.d.ts +1 -1
  18. package/dist/adapters/websocket.js +56 -58
  19. package/dist/dto/index.cjs +511 -57
  20. package/dist/dto/index.d.ts +2 -2
  21. package/dist/dto/index.js +504 -58
  22. package/dist/dto/response/assemble.d.ts +9 -1
  23. package/dist/{core → dto/response}/builder.d.ts +7 -7
  24. package/dist/{core → dto/response}/config.d.ts +4 -4
  25. package/dist/dto/response/index.cjs +466 -1
  26. package/dist/dto/response/index.d.ts +5 -0
  27. package/dist/dto/response/index.js +462 -2
  28. package/dist/{core → dto/response}/plugins.d.ts +2 -2
  29. package/dist/{core → dto/response}/presets.d.ts +3 -5
  30. package/dist/{core → dto/runtime}/context.d.ts +1 -1
  31. package/dist/{core → dto/runtime}/hooks.d.ts +1 -1
  32. package/dist/dto/runtime/{dto.cjs → index.cjs} +79 -47
  33. package/dist/dto/runtime/index.d.ts +4 -0
  34. package/dist/dto/runtime/{dto.js → index.js} +77 -48
  35. package/dist/{core → dto/runtime}/metadata.d.ts +1 -1
  36. package/dist/index.cjs +545 -547
  37. package/dist/index.d.ts +6 -3
  38. package/dist/index.js +545 -547
  39. package/package.json +54 -59
  40. package/dist/core/assemble-log.d.ts +0 -1
  41. package/dist/core/assemble-queue.d.ts +0 -1
  42. package/dist/core/assemble.d.ts +0 -9
  43. package/dist/core/index.cjs +0 -1002
  44. package/dist/core/index.d.ts +0 -14
  45. package/dist/core/index.js +0 -986
  46. package/dist/core/log-dto.d.ts +0 -1
  47. package/dist/core/queue-dto.d.ts +0 -1
  48. package/dist/core/response-dto.d.ts +0 -1
  49. package/dist/core/schema-utils.d.ts +0 -1
@@ -82,7 +82,7 @@ function resolveRequestId(req, headerNames = DEFAULT_REQUEST_ID_HEADERS) {
82
82
  return generateUUID();
83
83
  }
84
84
 
85
- // src/core/context.ts
85
+ // src/dto/runtime/context.ts
86
86
  var ContextFactory = class {
87
87
  static create(req, options = {}) {
88
88
  return {
@@ -154,7 +154,7 @@ function resolveStatusFromCode(code, codes) {
154
154
  return isSuccessCode(code, codes);
155
155
  }
156
156
 
157
- // src/core/config.ts
157
+ // src/dto/response/config.ts
158
158
  function resolveBuilderConfig(options = {}) {
159
159
  return {
160
160
  verbose: options.verbose === true,
@@ -166,11 +166,61 @@ function resolveBuilderConfig(options = {}) {
166
166
  };
167
167
  }
168
168
 
169
+ // src/dto/runtime/metadata.ts
170
+ var MetadataFactory = class {
171
+ static create(options = {}, context) {
172
+ return {
173
+ requestId: context?.requestId ?? generateUUID(),
174
+ serverTime: (/* @__PURE__ */ new Date()).toISOString(),
175
+ statusCode: 200,
176
+ ...options
177
+ };
178
+ }
179
+ };
180
+
181
+ // src/errors/error.ts
182
+ var ResponseError = class extends Error {
183
+ code;
184
+ httpStatus;
185
+ payload;
186
+ constructor(options = {}) {
187
+ const codes = createCodeRegistry(options.codes);
188
+ const code = options.code ?? codes.SERVER;
189
+ const message = options.message ?? defaultMessageForCode(code, codes);
190
+ super(message, { cause: options.cause });
191
+ this.name = "ResponseError";
192
+ this.code = code;
193
+ this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
194
+ if (options.payload !== void 0) {
195
+ this.payload = options.payload;
196
+ }
197
+ }
198
+ toJSON() {
199
+ return {
200
+ name: this.name,
201
+ message: this.message,
202
+ code: this.code,
203
+ httpStatus: this.httpStatus,
204
+ payload: this.payload
205
+ };
206
+ }
207
+ };
208
+ function isResponseError(value) {
209
+ return value instanceof ResponseError;
210
+ }
211
+ function codeToDefaultHttpStatus(code, codes) {
212
+ if (code === codes.SUCCESS) return 200;
213
+ if (code === codes.CLIENT) return 400;
214
+ if (code === codes.SERVER) return 500;
215
+ if (code === codes.VALIDATION) return 422;
216
+ return 500;
217
+ }
218
+
169
219
  // src/dto/shared/base-dto.ts
170
220
  var BaseDTO = class {
171
221
  };
172
222
 
173
- // src/core/assemble.ts
223
+ // src/dto/response/assemble.ts
174
224
  function assembleResponseBody(input) {
175
225
  const ordered = {
176
226
  status: input.status,
@@ -312,19 +362,7 @@ var ResponseDTO = class _ResponseDTO extends BaseDTO {
312
362
  }
313
363
  };
314
364
 
315
- // src/core/metadata.ts
316
- var MetadataFactory = class {
317
- static create(options = {}, context) {
318
- return {
319
- requestId: context?.requestId ?? generateUUID(),
320
- serverTime: (/* @__PURE__ */ new Date()).toISOString(),
321
- statusCode: 200,
322
- ...options
323
- };
324
- }
325
- };
326
-
327
- // src/core/plugins.ts
365
+ // src/dto/response/plugins.ts
328
366
  function sortPlugins(plugins) {
329
367
  return [...plugins].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
330
368
  }
@@ -361,7 +399,7 @@ var PluginRegistry = class {
361
399
  }
362
400
  };
363
401
 
364
- // src/core/presets.ts
402
+ // src/dto/response/presets.ts
365
403
  var ResponsePresets = class {
366
404
  builder;
367
405
  codes;
@@ -416,11 +454,9 @@ var ResponsePresets = class {
416
454
  this.applyExtras(extras);
417
455
  return this.dispatch();
418
456
  }
419
- /** Generic client failure — HTTP 400, CLIENT code */
420
457
  fail(dataOrMessage, messageOrExtras, extras) {
421
458
  return this.failure(StatusCodes.CLIENT_ERROR.BAD_REQUEST, this.codes.CLIENT, dataOrMessage, messageOrExtras, extras);
422
459
  }
423
- /** Generic server failure — HTTP 500, SERVER code */
424
460
  error(dataOrMessage, messageOrExtras, extras) {
425
461
  return this.failure(
426
462
  StatusCodes.SERVER_ERROR.INTERNAL_SERVER_ERROR,
@@ -486,45 +522,7 @@ var ResponsePresets = class {
486
522
  }
487
523
  };
488
524
 
489
- // src/errors/error.ts
490
- var ResponseError = class extends Error {
491
- code;
492
- httpStatus;
493
- payload;
494
- constructor(options = {}) {
495
- const codes = createCodeRegistry(options.codes);
496
- const code = options.code ?? codes.SERVER;
497
- const message = options.message ?? defaultMessageForCode(code, codes);
498
- super(message, { cause: options.cause });
499
- this.name = "ResponseError";
500
- this.code = code;
501
- this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
502
- if (options.payload !== void 0) {
503
- this.payload = options.payload;
504
- }
505
- }
506
- toJSON() {
507
- return {
508
- name: this.name,
509
- message: this.message,
510
- code: this.code,
511
- httpStatus: this.httpStatus,
512
- payload: this.payload
513
- };
514
- }
515
- };
516
- function isResponseError(value) {
517
- return value instanceof ResponseError;
518
- }
519
- function codeToDefaultHttpStatus(code, codes) {
520
- if (code === codes.SUCCESS) return 200;
521
- if (code === codes.CLIENT) return 400;
522
- if (code === codes.SERVER) return 500;
523
- if (code === codes.VALIDATION) return 422;
524
- return 500;
525
- }
526
-
527
- // src/core/builder.ts
525
+ // src/dto/response/builder.ts
528
526
  var Builder = class {
529
527
  dispatcher;
530
528
  options;
@@ -1,6 +1,6 @@
1
1
  import { Elysia } from 'elysia';
2
2
  import type { RuntimeOptions } from '../types/options.js';
3
- import type { Builder } from '../core/builder.js';
3
+ import type { Builder } from '../dto/response/builder.js';
4
4
  export interface ElysiaDeriveInput {
5
5
  request: {
6
6
  headers: Headers;
@@ -80,7 +80,7 @@ function resolveRequestId(req, headerNames = DEFAULT_REQUEST_ID_HEADERS) {
80
80
  return generateUUID();
81
81
  }
82
82
 
83
- // src/core/context.ts
83
+ // src/dto/runtime/context.ts
84
84
  var ContextFactory = class {
85
85
  static create(req, options = {}) {
86
86
  return {
@@ -152,7 +152,7 @@ function resolveStatusFromCode(code, codes) {
152
152
  return isSuccessCode(code, codes);
153
153
  }
154
154
 
155
- // src/core/config.ts
155
+ // src/dto/response/config.ts
156
156
  function resolveBuilderConfig(options = {}) {
157
157
  return {
158
158
  verbose: options.verbose === true,
@@ -164,11 +164,61 @@ function resolveBuilderConfig(options = {}) {
164
164
  };
165
165
  }
166
166
 
167
+ // src/dto/runtime/metadata.ts
168
+ var MetadataFactory = class {
169
+ static create(options = {}, context) {
170
+ return {
171
+ requestId: context?.requestId ?? generateUUID(),
172
+ serverTime: (/* @__PURE__ */ new Date()).toISOString(),
173
+ statusCode: 200,
174
+ ...options
175
+ };
176
+ }
177
+ };
178
+
179
+ // src/errors/error.ts
180
+ var ResponseError = class extends Error {
181
+ code;
182
+ httpStatus;
183
+ payload;
184
+ constructor(options = {}) {
185
+ const codes = createCodeRegistry(options.codes);
186
+ const code = options.code ?? codes.SERVER;
187
+ const message = options.message ?? defaultMessageForCode(code, codes);
188
+ super(message, { cause: options.cause });
189
+ this.name = "ResponseError";
190
+ this.code = code;
191
+ this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
192
+ if (options.payload !== void 0) {
193
+ this.payload = options.payload;
194
+ }
195
+ }
196
+ toJSON() {
197
+ return {
198
+ name: this.name,
199
+ message: this.message,
200
+ code: this.code,
201
+ httpStatus: this.httpStatus,
202
+ payload: this.payload
203
+ };
204
+ }
205
+ };
206
+ function isResponseError(value) {
207
+ return value instanceof ResponseError;
208
+ }
209
+ function codeToDefaultHttpStatus(code, codes) {
210
+ if (code === codes.SUCCESS) return 200;
211
+ if (code === codes.CLIENT) return 400;
212
+ if (code === codes.SERVER) return 500;
213
+ if (code === codes.VALIDATION) return 422;
214
+ return 500;
215
+ }
216
+
167
217
  // src/dto/shared/base-dto.ts
168
218
  var BaseDTO = class {
169
219
  };
170
220
 
171
- // src/core/assemble.ts
221
+ // src/dto/response/assemble.ts
172
222
  function assembleResponseBody(input) {
173
223
  const ordered = {
174
224
  status: input.status,
@@ -310,19 +360,7 @@ var ResponseDTO = class _ResponseDTO extends BaseDTO {
310
360
  }
311
361
  };
312
362
 
313
- // src/core/metadata.ts
314
- var MetadataFactory = class {
315
- static create(options = {}, context) {
316
- return {
317
- requestId: context?.requestId ?? generateUUID(),
318
- serverTime: (/* @__PURE__ */ new Date()).toISOString(),
319
- statusCode: 200,
320
- ...options
321
- };
322
- }
323
- };
324
-
325
- // src/core/plugins.ts
363
+ // src/dto/response/plugins.ts
326
364
  function sortPlugins(plugins) {
327
365
  return [...plugins].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
328
366
  }
@@ -359,7 +397,7 @@ var PluginRegistry = class {
359
397
  }
360
398
  };
361
399
 
362
- // src/core/presets.ts
400
+ // src/dto/response/presets.ts
363
401
  var ResponsePresets = class {
364
402
  builder;
365
403
  codes;
@@ -414,11 +452,9 @@ var ResponsePresets = class {
414
452
  this.applyExtras(extras);
415
453
  return this.dispatch();
416
454
  }
417
- /** Generic client failure — HTTP 400, CLIENT code */
418
455
  fail(dataOrMessage, messageOrExtras, extras) {
419
456
  return this.failure(StatusCodes.CLIENT_ERROR.BAD_REQUEST, this.codes.CLIENT, dataOrMessage, messageOrExtras, extras);
420
457
  }
421
- /** Generic server failure — HTTP 500, SERVER code */
422
458
  error(dataOrMessage, messageOrExtras, extras) {
423
459
  return this.failure(
424
460
  StatusCodes.SERVER_ERROR.INTERNAL_SERVER_ERROR,
@@ -484,45 +520,7 @@ var ResponsePresets = class {
484
520
  }
485
521
  };
486
522
 
487
- // src/errors/error.ts
488
- var ResponseError = class extends Error {
489
- code;
490
- httpStatus;
491
- payload;
492
- constructor(options = {}) {
493
- const codes = createCodeRegistry(options.codes);
494
- const code = options.code ?? codes.SERVER;
495
- const message = options.message ?? defaultMessageForCode(code, codes);
496
- super(message, { cause: options.cause });
497
- this.name = "ResponseError";
498
- this.code = code;
499
- this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
500
- if (options.payload !== void 0) {
501
- this.payload = options.payload;
502
- }
503
- }
504
- toJSON() {
505
- return {
506
- name: this.name,
507
- message: this.message,
508
- code: this.code,
509
- httpStatus: this.httpStatus,
510
- payload: this.payload
511
- };
512
- }
513
- };
514
- function isResponseError(value) {
515
- return value instanceof ResponseError;
516
- }
517
- function codeToDefaultHttpStatus(code, codes) {
518
- if (code === codes.SUCCESS) return 200;
519
- if (code === codes.CLIENT) return 400;
520
- if (code === codes.SERVER) return 500;
521
- if (code === codes.VALIDATION) return 422;
522
- return 500;
523
- }
524
-
525
- // src/core/builder.ts
523
+ // src/dto/response/builder.ts
526
524
  var Builder = class {
527
525
  dispatcher;
528
526
  options;
@@ -78,7 +78,7 @@ function resolveRequestId(req, headerNames = DEFAULT_REQUEST_ID_HEADERS) {
78
78
  return generateUUID();
79
79
  }
80
80
 
81
- // src/core/context.ts
81
+ // src/dto/runtime/context.ts
82
82
  var ContextFactory = class {
83
83
  static create(req, options = {}) {
84
84
  return {
@@ -150,7 +150,7 @@ function resolveStatusFromCode(code, codes) {
150
150
  return isSuccessCode(code, codes);
151
151
  }
152
152
 
153
- // src/core/config.ts
153
+ // src/dto/response/config.ts
154
154
  function resolveBuilderConfig(options = {}) {
155
155
  return {
156
156
  verbose: options.verbose === true,
@@ -162,11 +162,61 @@ function resolveBuilderConfig(options = {}) {
162
162
  };
163
163
  }
164
164
 
165
+ // src/dto/runtime/metadata.ts
166
+ var MetadataFactory = class {
167
+ static create(options = {}, context) {
168
+ return {
169
+ requestId: context?.requestId ?? generateUUID(),
170
+ serverTime: (/* @__PURE__ */ new Date()).toISOString(),
171
+ statusCode: 200,
172
+ ...options
173
+ };
174
+ }
175
+ };
176
+
177
+ // src/errors/error.ts
178
+ var ResponseError = class extends Error {
179
+ code;
180
+ httpStatus;
181
+ payload;
182
+ constructor(options = {}) {
183
+ const codes = createCodeRegistry(options.codes);
184
+ const code = options.code ?? codes.SERVER;
185
+ const message = options.message ?? defaultMessageForCode(code, codes);
186
+ super(message, { cause: options.cause });
187
+ this.name = "ResponseError";
188
+ this.code = code;
189
+ this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
190
+ if (options.payload !== void 0) {
191
+ this.payload = options.payload;
192
+ }
193
+ }
194
+ toJSON() {
195
+ return {
196
+ name: this.name,
197
+ message: this.message,
198
+ code: this.code,
199
+ httpStatus: this.httpStatus,
200
+ payload: this.payload
201
+ };
202
+ }
203
+ };
204
+ function isResponseError(value) {
205
+ return value instanceof ResponseError;
206
+ }
207
+ function codeToDefaultHttpStatus(code, codes) {
208
+ if (code === codes.SUCCESS) return 200;
209
+ if (code === codes.CLIENT) return 400;
210
+ if (code === codes.SERVER) return 500;
211
+ if (code === codes.VALIDATION) return 422;
212
+ return 500;
213
+ }
214
+
165
215
  // src/dto/shared/base-dto.ts
166
216
  var BaseDTO = class {
167
217
  };
168
218
 
169
- // src/core/assemble.ts
219
+ // src/dto/response/assemble.ts
170
220
  function assembleResponseBody(input) {
171
221
  const ordered = {
172
222
  status: input.status,
@@ -308,19 +358,7 @@ var ResponseDTO = class _ResponseDTO extends BaseDTO {
308
358
  }
309
359
  };
310
360
 
311
- // src/core/metadata.ts
312
- var MetadataFactory = class {
313
- static create(options = {}, context) {
314
- return {
315
- requestId: context?.requestId ?? generateUUID(),
316
- serverTime: (/* @__PURE__ */ new Date()).toISOString(),
317
- statusCode: 200,
318
- ...options
319
- };
320
- }
321
- };
322
-
323
- // src/core/plugins.ts
361
+ // src/dto/response/plugins.ts
324
362
  function sortPlugins(plugins) {
325
363
  return [...plugins].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
326
364
  }
@@ -357,7 +395,7 @@ var PluginRegistry = class {
357
395
  }
358
396
  };
359
397
 
360
- // src/core/presets.ts
398
+ // src/dto/response/presets.ts
361
399
  var ResponsePresets = class {
362
400
  builder;
363
401
  codes;
@@ -412,11 +450,9 @@ var ResponsePresets = class {
412
450
  this.applyExtras(extras);
413
451
  return this.dispatch();
414
452
  }
415
- /** Generic client failure — HTTP 400, CLIENT code */
416
453
  fail(dataOrMessage, messageOrExtras, extras) {
417
454
  return this.failure(StatusCodes.CLIENT_ERROR.BAD_REQUEST, this.codes.CLIENT, dataOrMessage, messageOrExtras, extras);
418
455
  }
419
- /** Generic server failure — HTTP 500, SERVER code */
420
456
  error(dataOrMessage, messageOrExtras, extras) {
421
457
  return this.failure(
422
458
  StatusCodes.SERVER_ERROR.INTERNAL_SERVER_ERROR,
@@ -482,45 +518,7 @@ var ResponsePresets = class {
482
518
  }
483
519
  };
484
520
 
485
- // src/errors/error.ts
486
- var ResponseError = class extends Error {
487
- code;
488
- httpStatus;
489
- payload;
490
- constructor(options = {}) {
491
- const codes = createCodeRegistry(options.codes);
492
- const code = options.code ?? codes.SERVER;
493
- const message = options.message ?? defaultMessageForCode(code, codes);
494
- super(message, { cause: options.cause });
495
- this.name = "ResponseError";
496
- this.code = code;
497
- this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
498
- if (options.payload !== void 0) {
499
- this.payload = options.payload;
500
- }
501
- }
502
- toJSON() {
503
- return {
504
- name: this.name,
505
- message: this.message,
506
- code: this.code,
507
- httpStatus: this.httpStatus,
508
- payload: this.payload
509
- };
510
- }
511
- };
512
- function isResponseError(value) {
513
- return value instanceof ResponseError;
514
- }
515
- function codeToDefaultHttpStatus(code, codes) {
516
- if (code === codes.SUCCESS) return 200;
517
- if (code === codes.CLIENT) return 400;
518
- if (code === codes.SERVER) return 500;
519
- if (code === codes.VALIDATION) return 422;
520
- return 500;
521
- }
522
-
523
- // src/core/builder.ts
521
+ // src/dto/response/builder.ts
524
522
  var Builder = class {
525
523
  dispatcher;
526
524
  options;
@@ -1,6 +1,6 @@
1
1
  import type { RuntimeOptions } from '../types/options.js';
2
2
  import type { FinalResult } from '../types/response.js';
3
- import type { Builder } from '../core/builder.js';
3
+ import type { Builder } from '../dto/response/builder.js';
4
4
  export interface ExpressLikeRequest {
5
5
  headers?: Record<string, string | string[] | undefined>;
6
6
  get?: (header: string) => string | undefined;
@@ -76,7 +76,7 @@ function resolveRequestId(req, headerNames = DEFAULT_REQUEST_ID_HEADERS) {
76
76
  return generateUUID();
77
77
  }
78
78
 
79
- // src/core/context.ts
79
+ // src/dto/runtime/context.ts
80
80
  var ContextFactory = class {
81
81
  static create(req, options = {}) {
82
82
  return {
@@ -148,7 +148,7 @@ function resolveStatusFromCode(code, codes) {
148
148
  return isSuccessCode(code, codes);
149
149
  }
150
150
 
151
- // src/core/config.ts
151
+ // src/dto/response/config.ts
152
152
  function resolveBuilderConfig(options = {}) {
153
153
  return {
154
154
  verbose: options.verbose === true,
@@ -160,11 +160,61 @@ function resolveBuilderConfig(options = {}) {
160
160
  };
161
161
  }
162
162
 
163
+ // src/dto/runtime/metadata.ts
164
+ var MetadataFactory = class {
165
+ static create(options = {}, context) {
166
+ return {
167
+ requestId: context?.requestId ?? generateUUID(),
168
+ serverTime: (/* @__PURE__ */ new Date()).toISOString(),
169
+ statusCode: 200,
170
+ ...options
171
+ };
172
+ }
173
+ };
174
+
175
+ // src/errors/error.ts
176
+ var ResponseError = class extends Error {
177
+ code;
178
+ httpStatus;
179
+ payload;
180
+ constructor(options = {}) {
181
+ const codes = createCodeRegistry(options.codes);
182
+ const code = options.code ?? codes.SERVER;
183
+ const message = options.message ?? defaultMessageForCode(code, codes);
184
+ super(message, { cause: options.cause });
185
+ this.name = "ResponseError";
186
+ this.code = code;
187
+ this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
188
+ if (options.payload !== void 0) {
189
+ this.payload = options.payload;
190
+ }
191
+ }
192
+ toJSON() {
193
+ return {
194
+ name: this.name,
195
+ message: this.message,
196
+ code: this.code,
197
+ httpStatus: this.httpStatus,
198
+ payload: this.payload
199
+ };
200
+ }
201
+ };
202
+ function isResponseError(value) {
203
+ return value instanceof ResponseError;
204
+ }
205
+ function codeToDefaultHttpStatus(code, codes) {
206
+ if (code === codes.SUCCESS) return 200;
207
+ if (code === codes.CLIENT) return 400;
208
+ if (code === codes.SERVER) return 500;
209
+ if (code === codes.VALIDATION) return 422;
210
+ return 500;
211
+ }
212
+
163
213
  // src/dto/shared/base-dto.ts
164
214
  var BaseDTO = class {
165
215
  };
166
216
 
167
- // src/core/assemble.ts
217
+ // src/dto/response/assemble.ts
168
218
  function assembleResponseBody(input) {
169
219
  const ordered = {
170
220
  status: input.status,
@@ -306,19 +356,7 @@ var ResponseDTO = class _ResponseDTO extends BaseDTO {
306
356
  }
307
357
  };
308
358
 
309
- // src/core/metadata.ts
310
- var MetadataFactory = class {
311
- static create(options = {}, context) {
312
- return {
313
- requestId: context?.requestId ?? generateUUID(),
314
- serverTime: (/* @__PURE__ */ new Date()).toISOString(),
315
- statusCode: 200,
316
- ...options
317
- };
318
- }
319
- };
320
-
321
- // src/core/plugins.ts
359
+ // src/dto/response/plugins.ts
322
360
  function sortPlugins(plugins) {
323
361
  return [...plugins].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
324
362
  }
@@ -355,7 +393,7 @@ var PluginRegistry = class {
355
393
  }
356
394
  };
357
395
 
358
- // src/core/presets.ts
396
+ // src/dto/response/presets.ts
359
397
  var ResponsePresets = class {
360
398
  builder;
361
399
  codes;
@@ -410,11 +448,9 @@ var ResponsePresets = class {
410
448
  this.applyExtras(extras);
411
449
  return this.dispatch();
412
450
  }
413
- /** Generic client failure — HTTP 400, CLIENT code */
414
451
  fail(dataOrMessage, messageOrExtras, extras) {
415
452
  return this.failure(StatusCodes.CLIENT_ERROR.BAD_REQUEST, this.codes.CLIENT, dataOrMessage, messageOrExtras, extras);
416
453
  }
417
- /** Generic server failure — HTTP 500, SERVER code */
418
454
  error(dataOrMessage, messageOrExtras, extras) {
419
455
  return this.failure(
420
456
  StatusCodes.SERVER_ERROR.INTERNAL_SERVER_ERROR,
@@ -480,45 +516,7 @@ var ResponsePresets = class {
480
516
  }
481
517
  };
482
518
 
483
- // src/errors/error.ts
484
- var ResponseError = class extends Error {
485
- code;
486
- httpStatus;
487
- payload;
488
- constructor(options = {}) {
489
- const codes = createCodeRegistry(options.codes);
490
- const code = options.code ?? codes.SERVER;
491
- const message = options.message ?? defaultMessageForCode(code, codes);
492
- super(message, { cause: options.cause });
493
- this.name = "ResponseError";
494
- this.code = code;
495
- this.httpStatus = options.httpStatus ?? codeToDefaultHttpStatus(code, codes);
496
- if (options.payload !== void 0) {
497
- this.payload = options.payload;
498
- }
499
- }
500
- toJSON() {
501
- return {
502
- name: this.name,
503
- message: this.message,
504
- code: this.code,
505
- httpStatus: this.httpStatus,
506
- payload: this.payload
507
- };
508
- }
509
- };
510
- function isResponseError(value) {
511
- return value instanceof ResponseError;
512
- }
513
- function codeToDefaultHttpStatus(code, codes) {
514
- if (code === codes.SUCCESS) return 200;
515
- if (code === codes.CLIENT) return 400;
516
- if (code === codes.SERVER) return 500;
517
- if (code === codes.VALIDATION) return 422;
518
- return 500;
519
- }
520
-
521
- // src/core/builder.ts
519
+ // src/dto/response/builder.ts
522
520
  var Builder = class {
523
521
  dispatcher;
524
522
  options;
@@ -1,7 +1 @@
1
- export { DTO, createDTO, type DTOConfig, type RuntimeOptions } from '../dto/runtime/dto.js';
2
- export { ExpressAdapter, ExpressDispatcher, expressMiddleware, type ExpressAdapterOptions, type ExpressLikeRequest, type ExpressLikeResponse, } from './express.js';
3
- export { NodeAdapter, NodeDispatcher, nodeMiddleware, type NodeAdapterOptions, type NodeRequest, type NodeResponse, } from './node.js';
4
- export { ElysiaAdapter, createElysiaDerive, elysiaMiddleware, type ElysiaAdapterOptions, type ElysiaDeriveInput, type ElysiaDerivedContext, } from './elysia.js';
5
- export { WebSocketAdapter, WebSocketDispatcher, websocketMiddleware, WS_OPEN, type WebSocketAdapterOptions, type WebSocketConnection, type WebSocketLike, } from './websocket.js';
6
- export { SocketIoAdapter, SocketIoDispatcher, socketIoMiddleware, type SocketIoAdapterOptions, type SocketIoConnection, type SocketIoLike, } from './socketio.js';
7
- export { createBuilderRuntime } from './shared.js';
1
+ export { DTO, createDTO, ContextFactory, MetadataFactory, Hooks, type DTOConfig, type RuntimeOptions, } from '../dto/runtime/index.js';