elysia 1.0.21 → 1.0.22

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/dist/cjs/utils.js CHANGED
@@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/utils.ts
31
31
  var utils_exports = {};
32
32
  __export(utils_exports, {
33
+ ELYSIA_FORM_DATA: () => ELYSIA_FORM_DATA,
33
34
  InvertedStatusMap: () => InvertedStatusMap,
34
35
  PromiseGroup: () => PromiseGroup,
35
36
  StatusMap: () => StatusMap,
@@ -39,6 +40,7 @@ __export(utils_exports, {
39
40
  createMacroManager: () => createMacroManager,
40
41
  filterGlobalHook: () => filterGlobalHook,
41
42
  fnToContainer: () => fnToContainer,
43
+ form: () => form,
42
44
  getCookieValidator: () => getCookieValidator,
43
45
  getResponseSchemaValidator: () => getResponseSchemaValidator,
44
46
  getSchemaValidator: () => getSchemaValidator,
@@ -387,7 +389,7 @@ var validateFile = (options, value) => {
387
389
  }
388
390
  return true;
389
391
  };
390
- var File = import_typebox.TypeRegistry.Get("Files") ?? import_system.TypeSystem.Type("File", validateFile);
392
+ var File2 = import_typebox.TypeRegistry.Get("Files") ?? import_system.TypeSystem.Type("File", validateFile);
391
393
  var Files = import_typebox.TypeRegistry.Get("Files") ?? import_system.TypeSystem.Type(
392
394
  "Files",
393
395
  (options, value) => {
@@ -533,7 +535,7 @@ var ElysiaType = {
533
535
  return JSON.stringify(value);
534
536
  });
535
537
  },
536
- File,
538
+ File: File2,
537
539
  Files: (options = {}) => t.Transform(Files(options)).Decode((value) => {
538
540
  if (Array.isArray(value))
539
541
  return value;
@@ -1283,14 +1285,28 @@ var cloneInference = (inference) => ({
1283
1285
  set: inference.trace.set
1284
1286
  }
1285
1287
  });
1286
- var redirect = (url, status = 301) => new Response(null, {
1287
- status,
1288
- headers: {
1289
- Location: url
1288
+ var redirect = (url, status = 301) => Response.redirect(url, status);
1289
+ var ELYSIA_FORM_DATA = Symbol("ElysiaFormData");
1290
+ var form = (items) => {
1291
+ const formData = new FormData();
1292
+ for (const [key, value] of Object.entries(items)) {
1293
+ if (Array.isArray(value)) {
1294
+ for (const v of value) {
1295
+ if (value instanceof File)
1296
+ formData.append(key, value, value.name);
1297
+ formData.append(key, v);
1298
+ }
1299
+ continue;
1300
+ }
1301
+ if (value instanceof File)
1302
+ formData.append(key, value, value.name);
1303
+ formData.append(key, value);
1290
1304
  }
1291
- });
1305
+ return formData;
1306
+ };
1292
1307
  // Annotate the CommonJS export names for ESM import in node:
1293
1308
  0 && (module.exports = {
1309
+ ELYSIA_FORM_DATA,
1294
1310
  InvertedStatusMap,
1295
1311
  PromiseGroup,
1296
1312
  StatusMap,
@@ -1300,6 +1316,7 @@ var redirect = (url, status = 301) => new Response(null, {
1300
1316
  createMacroManager,
1301
1317
  filterGlobalHook,
1302
1318
  fnToContainer,
1319
+ form,
1303
1320
  getCookieValidator,
1304
1321
  getResponseSchemaValidator,
1305
1322
  getSchemaValidator,
@@ -269,7 +269,7 @@ var validateFile = (options, value) => {
269
269
  }
270
270
  return true;
271
271
  };
272
- var File = import_typebox.TypeRegistry.Get("Files") ?? import_system.TypeSystem.Type("File", validateFile);
272
+ var File2 = import_typebox.TypeRegistry.Get("Files") ?? import_system.TypeSystem.Type("File", validateFile);
273
273
  var Files = import_typebox.TypeRegistry.Get("Files") ?? import_system.TypeSystem.Type(
274
274
  "Files",
275
275
  (options, value) => {
@@ -415,7 +415,7 @@ var ElysiaType = {
415
415
  return JSON.stringify(value);
416
416
  });
417
417
  },
418
- File,
418
+ File: File2,
419
419
  Files: (options = {}) => t.Transform(Files(options)).Decode((value) => {
420
420
  if (Array.isArray(value))
421
421
  return value;
@@ -577,6 +577,7 @@ var InvertedStatusMap = Object.fromEntries(
577
577
  Object.entries(StatusMap).map(([k, v]) => [v, k])
578
578
  );
579
579
  var encoder = new TextEncoder();
580
+ var ELYSIA_FORM_DATA = Symbol("ElysiaFormData");
580
581
 
581
582
  // src/error.ts
582
583
  var env = typeof Bun !== "undefined" ? Bun.env : typeof process !== "undefined" ? process?.env : void 0;
package/dist/compose.mjs CHANGED
@@ -833,9 +833,21 @@ var mapResponse = (response, set, request) => {
833
833
  return new Response(response, set);
834
834
  case "Blob":
835
835
  return handleFile(response, set);
836
- case "Object":
837
836
  case "Array":
838
837
  return Response.json(response, set);
838
+ case "Object":
839
+ for (const value in Object.values(response)) {
840
+ switch (value?.constructor?.name) {
841
+ case "Blob":
842
+ case "File":
843
+ case "ArrayBuffer":
844
+ case "FileRef":
845
+ return new Response(form(response));
846
+ default:
847
+ break;
848
+ }
849
+ }
850
+ return Response.json(response, set);
839
851
  case "ReadableStream":
840
852
  if (!set.headers["content-type"]?.startsWith(
841
853
  "text/event-stream"
@@ -909,6 +921,8 @@ var mapResponse = (response, set, request) => {
909
921
  if (response instanceof Cookie)
910
922
  return new Response(response.value, set);
911
923
  return new Response(response?.toString(), set);
924
+ case "FormData":
925
+ return new Response(response, set);
912
926
  default:
913
927
  if (response instanceof Response) {
914
928
  let isCookieSet2 = false;
@@ -968,13 +982,24 @@ var mapResponse = (response, set, request) => {
968
982
  return new Response(response);
969
983
  case "Blob":
970
984
  return handleFile(response, set);
971
- case "Object":
972
985
  case "Array":
973
- return new Response(JSON.stringify(response), {
974
- headers: {
975
- "content-type": "application/json"
986
+ return Response.json(response);
987
+ case "Object":
988
+ for (const value in Object.values(response)) {
989
+ switch (value?.constructor?.name) {
990
+ case "Blob":
991
+ case "File":
992
+ case "ArrayBuffer":
993
+ case "FileRef":
994
+ return new Response(
995
+ form(response),
996
+ set
997
+ );
998
+ default:
999
+ break;
976
1000
  }
977
- });
1001
+ }
1002
+ return Response.json(response, set);
978
1003
  case "ReadableStream":
979
1004
  request?.signal.addEventListener(
980
1005
  "abort",
@@ -1021,6 +1046,8 @@ var mapResponse = (response, set, request) => {
1021
1046
  if (response instanceof Cookie)
1022
1047
  return new Response(response.value, set);
1023
1048
  return new Response(response?.toString(), set);
1049
+ case "FormData":
1050
+ return new Response(response, set);
1024
1051
  default:
1025
1052
  if (response instanceof Response)
1026
1053
  return new Response(response.body, {
@@ -1075,9 +1102,24 @@ var mapEarlyResponse = (response, set, request) => {
1075
1102
  return new Response(response, set);
1076
1103
  case "Blob":
1077
1104
  return handleFile(response, set);
1078
- case "Object":
1079
1105
  case "Array":
1080
1106
  return Response.json(response, set);
1107
+ case "Object":
1108
+ for (const value in Object.values(response)) {
1109
+ switch (value?.constructor?.name) {
1110
+ case "Blob":
1111
+ case "File":
1112
+ case "ArrayBuffer":
1113
+ case "FileRef":
1114
+ return new Response(
1115
+ form(response),
1116
+ set
1117
+ );
1118
+ default:
1119
+ break;
1120
+ }
1121
+ }
1122
+ return Response.json(response, set);
1081
1123
  case "ReadableStream":
1082
1124
  if (!set.headers["content-type"]?.startsWith(
1083
1125
  "text/event-stream"
@@ -1149,6 +1191,8 @@ var mapEarlyResponse = (response, set, request) => {
1149
1191
  response.toString(),
1150
1192
  set
1151
1193
  );
1194
+ case "FormData":
1195
+ return new Response(response);
1152
1196
  case "Cookie":
1153
1197
  if (response instanceof Cookie)
1154
1198
  return new Response(response.value, set);
@@ -1208,13 +1252,24 @@ var mapEarlyResponse = (response, set, request) => {
1208
1252
  return new Response(response);
1209
1253
  case "Blob":
1210
1254
  return handleFile(response, set);
1211
- case "Object":
1212
1255
  case "Array":
1213
- return new Response(JSON.stringify(response), {
1214
- headers: {
1215
- "content-type": "application/json"
1256
+ return Response.json(response);
1257
+ case "Object":
1258
+ for (const value in Object.values(response)) {
1259
+ switch (value?.constructor?.name) {
1260
+ case "Blob":
1261
+ case "File":
1262
+ case "ArrayBuffer":
1263
+ case "FileRef":
1264
+ return new Response(
1265
+ form(response),
1266
+ set
1267
+ );
1268
+ default:
1269
+ break;
1216
1270
  }
1217
- });
1271
+ }
1272
+ return Response.json(response, set);
1218
1273
  case "ReadableStream":
1219
1274
  request?.signal.addEventListener(
1220
1275
  "abort",
@@ -1260,6 +1315,8 @@ var mapEarlyResponse = (response, set, request) => {
1260
1315
  if (response instanceof Cookie)
1261
1316
  return new Response(response.value, set);
1262
1317
  return new Response(response?.toString(), set);
1318
+ case "FormData":
1319
+ return new Response(response);
1263
1320
  default:
1264
1321
  if (response instanceof Response)
1265
1322
  return new Response(response.body, {
@@ -1299,13 +1356,23 @@ var mapCompactResponse = (response, request) => {
1299
1356
  return new Response(response);
1300
1357
  case "Blob":
1301
1358
  return handleFile(response);
1302
- case "Object":
1303
1359
  case "Array":
1304
- return new Response(JSON.stringify(response), {
1305
- headers: {
1306
- "content-type": "application/json"
1307
- }
1308
- });
1360
+ return Response.json(response);
1361
+ case "Object":
1362
+ form:
1363
+ for (const value of Object.values(response))
1364
+ switch (value?.constructor?.name) {
1365
+ case "Blob":
1366
+ case "File":
1367
+ case "ArrayBuffer":
1368
+ case "FileRef":
1369
+ return new Response(form(response));
1370
+ case "Object":
1371
+ break form;
1372
+ default:
1373
+ break;
1374
+ }
1375
+ return Response.json(response);
1309
1376
  case "ReadableStream":
1310
1377
  request?.signal.addEventListener(
1311
1378
  "abort",
@@ -1345,6 +1412,8 @@ var mapCompactResponse = (response, request) => {
1345
1412
  case "Number":
1346
1413
  case "Boolean":
1347
1414
  return new Response(response.toString());
1415
+ case "FormData":
1416
+ return new Response(response);
1348
1417
  default:
1349
1418
  if (response instanceof Response)
1350
1419
  return new Response(response.body, {
@@ -1594,7 +1663,7 @@ var validateFile = (options, value) => {
1594
1663
  }
1595
1664
  return true;
1596
1665
  };
1597
- var File = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
1666
+ var File2 = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
1598
1667
  var Files = TypeRegistry.Get("Files") ?? TypeSystem.Type(
1599
1668
  "Files",
1600
1669
  (options, value) => {
@@ -1740,7 +1809,7 @@ var ElysiaType = {
1740
1809
  return JSON.stringify(value);
1741
1810
  });
1742
1811
  },
1743
- File,
1812
+ File: File2,
1744
1813
  Files: (options = {}) => t.Transform(Files(options)).Decode((value) => {
1745
1814
  if (Array.isArray(value))
1746
1815
  return value;
@@ -2065,12 +2134,25 @@ var lifeCycleToFn = (a) => {
2065
2134
  stop: a.stop?.map((x) => x.fn)
2066
2135
  };
2067
2136
  };
2068
- var redirect = (url, status = 301) => new Response(null, {
2069
- status,
2070
- headers: {
2071
- Location: url
2137
+ var redirect = (url, status = 301) => Response.redirect(url, status);
2138
+ var ELYSIA_FORM_DATA = Symbol("ElysiaFormData");
2139
+ var form = (items) => {
2140
+ const formData = new FormData();
2141
+ for (const [key, value] of Object.entries(items)) {
2142
+ if (Array.isArray(value)) {
2143
+ for (const v of value) {
2144
+ if (value instanceof File)
2145
+ formData.append(key, value, value.name);
2146
+ formData.append(key, v);
2147
+ }
2148
+ continue;
2149
+ }
2150
+ if (value instanceof File)
2151
+ formData.append(key, value, value.name);
2152
+ formData.append(key, value);
2072
2153
  }
2073
- });
2154
+ return formData;
2155
+ };
2074
2156
 
2075
2157
  // src/compose.ts
2076
2158
  var headersHasToJSON = new Headers().toJSON;
package/dist/cookies.mjs CHANGED
@@ -336,7 +336,7 @@ var validateFile = (options, value) => {
336
336
  }
337
337
  return true;
338
338
  };
339
- var File = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
339
+ var File2 = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
340
340
  var Files = TypeRegistry.Get("Files") ?? TypeSystem.Type(
341
341
  "Files",
342
342
  (options, value) => {
@@ -482,7 +482,7 @@ var ElysiaType = {
482
482
  return JSON.stringify(value);
483
483
  });
484
484
  },
485
- File,
485
+ File: File2,
486
486
  Files: (options = {}) => t.Transform(Files(options)).Decode((value) => {
487
487
  if (Array.isArray(value))
488
488
  return value;
@@ -689,6 +689,7 @@ var isNumericString = (message) => {
689
689
  }
690
690
  return false;
691
691
  };
692
+ var ELYSIA_FORM_DATA = Symbol("ElysiaFormData");
692
693
 
693
694
  // src/cookies.ts
694
695
  var Cookie = class {
@@ -542,7 +542,7 @@ var validateFile = (options, value) => {
542
542
  }
543
543
  return true;
544
544
  };
545
- var File = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
545
+ var File2 = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
546
546
  var Files = TypeRegistry.Get("Files") ?? TypeSystem.Type(
547
547
  "Files",
548
548
  (options, value) => {
@@ -688,7 +688,7 @@ var ElysiaType = {
688
688
  return JSON.stringify(value);
689
689
  });
690
690
  },
691
- File,
691
+ File: File2,
692
692
  Files: (options = {}) => t.Transform(Files(options)).Decode((value) => {
693
693
  if (Array.isArray(value))
694
694
  return value;
@@ -895,12 +895,25 @@ var isNumericString = (message) => {
895
895
  }
896
896
  return false;
897
897
  };
898
- var redirect = (url, status = 301) => new Response(null, {
899
- status,
900
- headers: {
901
- Location: url
898
+ var redirect = (url, status = 301) => Response.redirect(url, status);
899
+ var ELYSIA_FORM_DATA = Symbol("ElysiaFormData");
900
+ var form = (items) => {
901
+ const formData = new FormData();
902
+ for (const [key, value] of Object.entries(items)) {
903
+ if (Array.isArray(value)) {
904
+ for (const v of value) {
905
+ if (value instanceof File)
906
+ formData.append(key, value, value.name);
907
+ formData.append(key, v);
908
+ }
909
+ continue;
910
+ }
911
+ if (value instanceof File)
912
+ formData.append(key, value, value.name);
913
+ formData.append(key, value);
902
914
  }
903
- });
915
+ return formData;
916
+ };
904
917
 
905
918
  // src/handler.ts
906
919
  var hasHeaderShorthand = "toJSON" in new Headers();
@@ -1008,9 +1021,21 @@ var mapResponse = (response, set, request) => {
1008
1021
  return new Response(response, set);
1009
1022
  case "Blob":
1010
1023
  return handleFile(response, set);
1011
- case "Object":
1012
1024
  case "Array":
1013
1025
  return Response.json(response, set);
1026
+ case "Object":
1027
+ for (const value in Object.values(response)) {
1028
+ switch (value?.constructor?.name) {
1029
+ case "Blob":
1030
+ case "File":
1031
+ case "ArrayBuffer":
1032
+ case "FileRef":
1033
+ return new Response(form(response));
1034
+ default:
1035
+ break;
1036
+ }
1037
+ }
1038
+ return Response.json(response, set);
1014
1039
  case "ReadableStream":
1015
1040
  if (!set.headers["content-type"]?.startsWith(
1016
1041
  "text/event-stream"
@@ -1084,6 +1109,8 @@ var mapResponse = (response, set, request) => {
1084
1109
  if (response instanceof Cookie)
1085
1110
  return new Response(response.value, set);
1086
1111
  return new Response(response?.toString(), set);
1112
+ case "FormData":
1113
+ return new Response(response, set);
1087
1114
  default:
1088
1115
  if (response instanceof Response) {
1089
1116
  let isCookieSet2 = false;
@@ -1143,13 +1170,24 @@ var mapResponse = (response, set, request) => {
1143
1170
  return new Response(response);
1144
1171
  case "Blob":
1145
1172
  return handleFile(response, set);
1146
- case "Object":
1147
1173
  case "Array":
1148
- return new Response(JSON.stringify(response), {
1149
- headers: {
1150
- "content-type": "application/json"
1174
+ return Response.json(response);
1175
+ case "Object":
1176
+ for (const value in Object.values(response)) {
1177
+ switch (value?.constructor?.name) {
1178
+ case "Blob":
1179
+ case "File":
1180
+ case "ArrayBuffer":
1181
+ case "FileRef":
1182
+ return new Response(
1183
+ form(response),
1184
+ set
1185
+ );
1186
+ default:
1187
+ break;
1151
1188
  }
1152
- });
1189
+ }
1190
+ return Response.json(response, set);
1153
1191
  case "ReadableStream":
1154
1192
  request?.signal.addEventListener(
1155
1193
  "abort",
@@ -1196,6 +1234,8 @@ var mapResponse = (response, set, request) => {
1196
1234
  if (response instanceof Cookie)
1197
1235
  return new Response(response.value, set);
1198
1236
  return new Response(response?.toString(), set);
1237
+ case "FormData":
1238
+ return new Response(response, set);
1199
1239
  default:
1200
1240
  if (response instanceof Response)
1201
1241
  return new Response(response.body, {
@@ -1250,9 +1290,24 @@ var mapEarlyResponse = (response, set, request) => {
1250
1290
  return new Response(response, set);
1251
1291
  case "Blob":
1252
1292
  return handleFile(response, set);
1253
- case "Object":
1254
1293
  case "Array":
1255
1294
  return Response.json(response, set);
1295
+ case "Object":
1296
+ for (const value in Object.values(response)) {
1297
+ switch (value?.constructor?.name) {
1298
+ case "Blob":
1299
+ case "File":
1300
+ case "ArrayBuffer":
1301
+ case "FileRef":
1302
+ return new Response(
1303
+ form(response),
1304
+ set
1305
+ );
1306
+ default:
1307
+ break;
1308
+ }
1309
+ }
1310
+ return Response.json(response, set);
1256
1311
  case "ReadableStream":
1257
1312
  if (!set.headers["content-type"]?.startsWith(
1258
1313
  "text/event-stream"
@@ -1324,6 +1379,8 @@ var mapEarlyResponse = (response, set, request) => {
1324
1379
  response.toString(),
1325
1380
  set
1326
1381
  );
1382
+ case "FormData":
1383
+ return new Response(response);
1327
1384
  case "Cookie":
1328
1385
  if (response instanceof Cookie)
1329
1386
  return new Response(response.value, set);
@@ -1383,13 +1440,24 @@ var mapEarlyResponse = (response, set, request) => {
1383
1440
  return new Response(response);
1384
1441
  case "Blob":
1385
1442
  return handleFile(response, set);
1386
- case "Object":
1387
1443
  case "Array":
1388
- return new Response(JSON.stringify(response), {
1389
- headers: {
1390
- "content-type": "application/json"
1444
+ return Response.json(response);
1445
+ case "Object":
1446
+ for (const value in Object.values(response)) {
1447
+ switch (value?.constructor?.name) {
1448
+ case "Blob":
1449
+ case "File":
1450
+ case "ArrayBuffer":
1451
+ case "FileRef":
1452
+ return new Response(
1453
+ form(response),
1454
+ set
1455
+ );
1456
+ default:
1457
+ break;
1391
1458
  }
1392
- });
1459
+ }
1460
+ return Response.json(response, set);
1393
1461
  case "ReadableStream":
1394
1462
  request?.signal.addEventListener(
1395
1463
  "abort",
@@ -1435,6 +1503,8 @@ var mapEarlyResponse = (response, set, request) => {
1435
1503
  if (response instanceof Cookie)
1436
1504
  return new Response(response.value, set);
1437
1505
  return new Response(response?.toString(), set);
1506
+ case "FormData":
1507
+ return new Response(response);
1438
1508
  default:
1439
1509
  if (response instanceof Response)
1440
1510
  return new Response(response.body, {
@@ -1474,13 +1544,23 @@ var mapCompactResponse = (response, request) => {
1474
1544
  return new Response(response);
1475
1545
  case "Blob":
1476
1546
  return handleFile(response);
1477
- case "Object":
1478
1547
  case "Array":
1479
- return new Response(JSON.stringify(response), {
1480
- headers: {
1481
- "content-type": "application/json"
1482
- }
1483
- });
1548
+ return Response.json(response);
1549
+ case "Object":
1550
+ form:
1551
+ for (const value of Object.values(response))
1552
+ switch (value?.constructor?.name) {
1553
+ case "Blob":
1554
+ case "File":
1555
+ case "ArrayBuffer":
1556
+ case "FileRef":
1557
+ return new Response(form(response));
1558
+ case "Object":
1559
+ break form;
1560
+ default:
1561
+ break;
1562
+ }
1563
+ return Response.json(response);
1484
1564
  case "ReadableStream":
1485
1565
  request?.signal.addEventListener(
1486
1566
  "abort",
@@ -1520,6 +1600,8 @@ var mapCompactResponse = (response, request) => {
1520
1600
  case "Number":
1521
1601
  case "Boolean":
1522
1602
  return new Response(response.toString());
1603
+ case "FormData":
1604
+ return new Response(response);
1523
1605
  default:
1524
1606
  if (response instanceof Response)
1525
1607
  return new Response(response.body, {
@@ -1611,11 +1693,11 @@ var createDynamicHandler = (app) => async (request) => {
1611
1693
  break;
1612
1694
  case "multipart/form-data":
1613
1695
  body = {};
1614
- const form = await request.formData();
1615
- for (const key of form.keys()) {
1696
+ const form2 = await request.formData();
1697
+ for (const key of form2.keys()) {
1616
1698
  if (body[key])
1617
1699
  continue;
1618
- const value = form.getAll(key);
1700
+ const value = form2.getAll(key);
1619
1701
  if (value.length === 1)
1620
1702
  body[key] = value[0];
1621
1703
  else
@@ -1657,11 +1739,11 @@ var createDynamicHandler = (app) => async (request) => {
1657
1739
  break;
1658
1740
  case "multipart/form-data":
1659
1741
  body = {};
1660
- const form = await request.formData();
1661
- for (const key of form.keys()) {
1742
+ const form2 = await request.formData();
1743
+ for (const key of form2.keys()) {
1662
1744
  if (body[key])
1663
1745
  continue;
1664
- const value = form.getAll(key);
1746
+ const value = form2.getAll(key);
1665
1747
  if (value.length === 1)
1666
1748
  body[key] = value[0];
1667
1749
  else
package/dist/error.mjs CHANGED
@@ -242,7 +242,7 @@ var validateFile = (options, value) => {
242
242
  }
243
243
  return true;
244
244
  };
245
- var File = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
245
+ var File2 = TypeRegistry.Get("Files") ?? TypeSystem.Type("File", validateFile);
246
246
  var Files = TypeRegistry.Get("Files") ?? TypeSystem.Type(
247
247
  "Files",
248
248
  (options, value) => {
@@ -388,7 +388,7 @@ var ElysiaType = {
388
388
  return JSON.stringify(value);
389
389
  });
390
390
  },
391
- File,
391
+ File: File2,
392
392
  Files: (options = {}) => t.Transform(Files(options)).Decode((value) => {
393
393
  if (Array.isArray(value))
394
394
  return value;
@@ -550,6 +550,7 @@ var InvertedStatusMap = Object.fromEntries(
550
550
  Object.entries(StatusMap).map(([k, v]) => [v, k])
551
551
  );
552
552
  var encoder = new TextEncoder();
553
+ var ELYSIA_FORM_DATA = Symbol("ElysiaFormData");
553
554
 
554
555
  // src/error.ts
555
556
  var env = typeof Bun !== "undefined" ? Bun.env : typeof process !== "undefined" ? process?.env : void 0;