@xrystal/dto 26.6.27-v12

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 (87) hide show
  1. package/README.md +724 -0
  2. package/dist/adapters/elysia.cjs +820 -0
  3. package/dist/adapters/elysia.d.ts +138 -0
  4. package/dist/adapters/elysia.js +816 -0
  5. package/dist/adapters/express.cjs +789 -0
  6. package/dist/adapters/express.d.ts +49 -0
  7. package/dist/adapters/express.js +785 -0
  8. package/dist/adapters/index.d.ts +7 -0
  9. package/dist/adapters/node.cjs +790 -0
  10. package/dist/adapters/node.d.ts +27 -0
  11. package/dist/adapters/node.js +786 -0
  12. package/dist/adapters/shared.d.ts +11 -0
  13. package/dist/adapters/socketio.cjs +767 -0
  14. package/dist/adapters/socketio.d.ts +31 -0
  15. package/dist/adapters/socketio.js +763 -0
  16. package/dist/adapters/websocket.cjs +759 -0
  17. package/dist/adapters/websocket.d.ts +31 -0
  18. package/dist/adapters/websocket.js +754 -0
  19. package/dist/core/assemble-log.d.ts +1 -0
  20. package/dist/core/assemble-queue.d.ts +1 -0
  21. package/dist/core/assemble.d.ts +9 -0
  22. package/dist/core/builder.d.ts +49 -0
  23. package/dist/core/config.d.ts +10 -0
  24. package/dist/core/context.d.ts +5 -0
  25. package/dist/core/hooks.d.ts +8 -0
  26. package/dist/core/index.cjs +1002 -0
  27. package/dist/core/index.d.ts +14 -0
  28. package/dist/core/index.js +986 -0
  29. package/dist/core/log-dto.d.ts +1 -0
  30. package/dist/core/metadata.d.ts +6 -0
  31. package/dist/core/plugins.d.ts +10 -0
  32. package/dist/core/presets.d.ts +32 -0
  33. package/dist/core/queue-dto.d.ts +1 -0
  34. package/dist/core/response-dto.d.ts +1 -0
  35. package/dist/core/schema-utils.d.ts +1 -0
  36. package/dist/dto/index.cjs +909 -0
  37. package/dist/dto/index.d.ts +6 -0
  38. package/dist/dto/index.js +898 -0
  39. package/dist/dto/log/assemble.d.ts +3 -0
  40. package/dist/dto/log/builder.d.ts +41 -0
  41. package/dist/dto/log/index.cjs +152 -0
  42. package/dist/dto/log/index.d.ts +3 -0
  43. package/dist/dto/log/index.js +149 -0
  44. package/dist/dto/log/types.d.ts +26 -0
  45. package/dist/dto/queue/assemble.d.ts +2 -0
  46. package/dist/dto/queue/builder.d.ts +35 -0
  47. package/dist/dto/queue/index.cjs +154 -0
  48. package/dist/dto/queue/index.d.ts +3 -0
  49. package/dist/dto/queue/index.js +151 -0
  50. package/dist/dto/queue/types.d.ts +34 -0
  51. package/dist/dto/response/assemble.d.ts +1 -0
  52. package/dist/dto/response/dto.d.ts +39 -0
  53. package/dist/dto/response/index.cjs +179 -0
  54. package/dist/dto/response/index.d.ts +2 -0
  55. package/dist/dto/response/index.js +176 -0
  56. package/dist/dto/runtime/dto.cjs +1318 -0
  57. package/dist/dto/runtime/dto.d.ts +64 -0
  58. package/dist/dto/runtime/dto.js +1315 -0
  59. package/dist/dto/shared/base-dto.d.ts +12 -0
  60. package/dist/dto/shared/schema-utils.d.ts +1 -0
  61. package/dist/enums/node-env.d.ts +5 -0
  62. package/dist/errors/codes.d.ts +15 -0
  63. package/dist/errors/error.d.ts +32 -0
  64. package/dist/errors/index.d.ts +2 -0
  65. package/dist/index.cjs +1482 -0
  66. package/dist/index.d.ts +22 -0
  67. package/dist/index.js +1433 -0
  68. package/dist/types/builder.d.ts +15 -0
  69. package/dist/types/codes.d.ts +7 -0
  70. package/dist/types/context.d.ts +16 -0
  71. package/dist/types/hooks.d.ts +7 -0
  72. package/dist/types/index.d.ts +10 -0
  73. package/dist/types/log.d.ts +1 -0
  74. package/dist/types/metadata.d.ts +7 -0
  75. package/dist/types/options.d.ts +24 -0
  76. package/dist/types/plugin.d.ts +35 -0
  77. package/dist/types/queue.d.ts +1 -0
  78. package/dist/types/response.d.ts +43 -0
  79. package/dist/utils/constants/http.d.ts +2 -0
  80. package/dist/utils/constants/index.d.ts +3 -0
  81. package/dist/utils/constants/security-headers.d.ts +1 -0
  82. package/dist/utils/constants/status-codes.d.ts +35 -0
  83. package/dist/utils/helpers/index.d.ts +2 -0
  84. package/dist/utils/helpers/request-id.d.ts +3 -0
  85. package/dist/utils/helpers/uuid.d.ts +2 -0
  86. package/dist/utils/index.d.ts +2 -0
  87. package/package.json +130 -0
@@ -0,0 +1 @@
1
+ export { assembleLogBody } from '../dto/log/assemble.js';
@@ -0,0 +1 @@
1
+ export { assembleQueueMessage } from '../dto/queue/assemble.js';
@@ -0,0 +1,9 @@
1
+ import type { Payload, ResponseBody } from '../types/response.js';
2
+ export interface AssembleInput<T> {
3
+ status: boolean;
4
+ message: string;
5
+ payload?: Payload<T>;
6
+ code: number;
7
+ }
8
+ /** Guarantees JSON key order: status → message → payload? → code */
9
+ export declare function assembleResponseBody<T>(input: AssembleInput<T>): ResponseBody<T>;
@@ -0,0 +1,49 @@
1
+ import type { HeaderValue } from '../types/codes.js';
2
+ import type { RequestContext } from '../types/context.js';
3
+ import type { MetadataOptions } from '../types/metadata.js';
4
+ import type { BuilderOptions } from '../types/options.js';
5
+ import type { Dispatcher } from '../types/plugin.js';
6
+ import type { FinalResult, Payload, SchemaInput } from '../types/response.js';
7
+ import { ResponseDTO } from '../dto/response/dto.js';
8
+ import { ResponsePresets } from './presets.js';
9
+ /**
10
+ * Request-scoped response builder — composes {@link ResponseDTO} (body) with transport and dispatch.
11
+ */
12
+ export declare class Builder<T = unknown> {
13
+ private readonly dispatcher?;
14
+ private readonly options;
15
+ private readonly context?;
16
+ private readonly plugins;
17
+ private body;
18
+ private _statusCode;
19
+ private _headers;
20
+ private _cookies;
21
+ private _presets?;
22
+ constructor(dispatcher?: Dispatcher<T>, options?: BuilderOptions, context?: RequestContext);
23
+ get dto(): ResponseDTO<T>;
24
+ httpStatus(code: number): this;
25
+ code(code: number): this;
26
+ status(value: boolean): this;
27
+ message(msg: string): this;
28
+ data(data: T | undefined): this;
29
+ payload(partial: Payload<T>): this;
30
+ schema(input?: SchemaInput<T>): this;
31
+ setMeta(meta: Record<string, unknown>): this;
32
+ withMetadata(options?: MetadataOptions): this;
33
+ paginate(total: number, page: number, limit: number): this;
34
+ setHeaders(key: string, value: HeaderValue): this;
35
+ setHeaders(headers: Record<string, HeaderValue>): this;
36
+ header(key: string, value: HeaderValue): this;
37
+ setCookies(name: string, value: string, options?: Record<string, unknown>): this;
38
+ setCookies(cookies: Record<string, string>, options?: Record<string, unknown>): this;
39
+ fromError(error: unknown): this;
40
+ wrap(promise: Promise<T>): Promise<this>;
41
+ transform<U>(fn: (data: T) => U): Builder<U>;
42
+ when(condition: boolean, fn: (builder: this) => void): this;
43
+ get as(): ResponsePresets<T>;
44
+ build(): FinalResult<T> | unknown;
45
+ private resolvePublicErrorMessage;
46
+ private createPluginContext;
47
+ private emitHook;
48
+ }
49
+ export declare function createBuilderProxy<T = unknown>(dispatcher?: Dispatcher<T>, options?: BuilderOptions, context?: RequestContext): Builder<T>;
@@ -0,0 +1,10 @@
1
+ import type { BuilderOptions } from '../types/options.js';
2
+ export declare function resolveBuilderConfig(options?: BuilderOptions): {
3
+ verbose: boolean;
4
+ includeStack: boolean | undefined;
5
+ withDefaultBody: boolean;
6
+ codes: import("../index.js").CodeMap;
7
+ hooks: import("../index.js").HookBus | undefined;
8
+ plugins: import("../index.js").Plugin<unknown>[];
9
+ };
10
+ export type ResolvedBuilderConfig = ReturnType<typeof resolveBuilderConfig>;
@@ -0,0 +1,5 @@
1
+ import type { IncomingHttpRequest, RequestContext, ContextFactoryOptions } from '../types/context.js';
2
+ export declare class ContextFactory {
3
+ static create(req: IncomingHttpRequest, options?: ContextFactoryOptions): RequestContext;
4
+ static fromId(requestId: string): RequestContext;
5
+ }
@@ -0,0 +1,8 @@
1
+ import type { HookEvent, HookFn } from '../types/hooks.js';
2
+ export declare class Hooks {
3
+ private readonly listeners;
4
+ private emittingError;
5
+ on(event: HookEvent, fn: HookFn): this;
6
+ hasListeners(event: HookEvent): boolean;
7
+ emit(event: HookEvent, payload: unknown): void;
8
+ }