@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.
- package/README.md +210 -569
- package/dist/adapters/elysia.cjs +56 -58
- package/dist/adapters/elysia.d.ts +1 -1
- package/dist/adapters/elysia.js +56 -58
- package/dist/adapters/express.cjs +56 -58
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.js +56 -58
- package/dist/adapters/index.d.ts +1 -7
- package/dist/adapters/node.cjs +56 -58
- package/dist/adapters/node.d.ts +1 -1
- package/dist/adapters/node.js +56 -58
- package/dist/adapters/shared.d.ts +1 -1
- package/dist/adapters/socketio.cjs +56 -58
- package/dist/adapters/socketio.d.ts +1 -1
- package/dist/adapters/socketio.js +56 -58
- package/dist/adapters/websocket.cjs +56 -58
- package/dist/adapters/websocket.d.ts +1 -1
- package/dist/adapters/websocket.js +56 -58
- package/dist/dto/index.cjs +511 -57
- package/dist/dto/index.d.ts +2 -2
- package/dist/dto/index.js +504 -58
- package/dist/dto/response/assemble.d.ts +9 -1
- package/dist/{core → dto/response}/builder.d.ts +7 -7
- package/dist/{core → dto/response}/config.d.ts +4 -4
- package/dist/dto/response/index.cjs +466 -1
- package/dist/dto/response/index.d.ts +5 -0
- package/dist/dto/response/index.js +462 -2
- package/dist/{core → dto/response}/plugins.d.ts +2 -2
- package/dist/{core → dto/response}/presets.d.ts +3 -5
- package/dist/{core → dto/runtime}/context.d.ts +1 -1
- package/dist/{core → dto/runtime}/hooks.d.ts +1 -1
- package/dist/dto/runtime/{dto.cjs → index.cjs} +79 -47
- package/dist/dto/runtime/index.d.ts +4 -0
- package/dist/dto/runtime/{dto.js → index.js} +77 -48
- package/dist/{core → dto/runtime}/metadata.d.ts +1 -1
- package/dist/index.cjs +545 -547
- package/dist/index.d.ts +6 -3
- package/dist/index.js +545 -547
- package/package.json +54 -59
- package/dist/core/assemble-log.d.ts +0 -1
- package/dist/core/assemble-queue.d.ts +0 -1
- package/dist/core/assemble.d.ts +0 -9
- package/dist/core/index.cjs +0 -1002
- package/dist/core/index.d.ts +0 -14
- package/dist/core/index.js +0 -986
- package/dist/core/log-dto.d.ts +0 -1
- package/dist/core/queue-dto.d.ts +0 -1
- package/dist/core/response-dto.d.ts +0 -1
- package/dist/core/schema-utils.d.ts +0 -1
package/dist/adapters/elysia.cjs
CHANGED
|
@@ -82,7 +82,7 @@ function resolveRequestId(req, headerNames = DEFAULT_REQUEST_ID_HEADERS) {
|
|
|
82
82
|
return generateUUID();
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
// src/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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 '../
|
|
3
|
+
import type { Builder } from '../dto/response/builder.js';
|
|
4
4
|
export interface ElysiaDeriveInput {
|
|
5
5
|
request: {
|
|
6
6
|
headers: Headers;
|
package/dist/adapters/elysia.js
CHANGED
|
@@ -80,7 +80,7 @@ function resolveRequestId(req, headerNames = DEFAULT_REQUEST_ID_HEADERS) {
|
|
|
80
80
|
return generateUUID();
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
// src/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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 '../
|
|
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;
|
package/dist/adapters/express.js
CHANGED
|
@@ -76,7 +76,7 @@ function resolveRequestId(req, headerNames = DEFAULT_REQUEST_ID_HEADERS) {
|
|
|
76
76
|
return generateUUID();
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
// src/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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;
|
package/dist/adapters/index.d.ts
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
export { DTO, createDTO, type DTOConfig, type RuntimeOptions } from '../dto/runtime/
|
|
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';
|