elysia 1.4.28 → 1.4.29

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.
@@ -61,8 +61,9 @@ c.body={}
61
61
  `, fnLiteral + `const dangerousKeys=new Set(['__proto__','constructor','prototype'])
62
62
  const isDangerousKey=(k)=>{if(dangerousKeys.has(k))return true;const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?dangerousKeys.has(m[1]):false}
63
63
  const parseArrayKey=(k)=>{const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?{name:m[1],index:parseInt(m[2],10)}:null}
64
- for(const key of form.keys()){if(c.body[key])continue
65
- const value=form.getAll(key)
64
+ const grouped=new Map()
65
+ form.forEach((v,k)=>{const l=grouped.get(k);if(l)l.push(v);else grouped.set(k,[v])})
66
+ for(const [key,value] of grouped){if(c.body[key])continue
66
67
  let finalValue
67
68
  if(value.length===1){
68
69
  const sv=value[0]
@@ -46,8 +46,9 @@ c.body={}
46
46
  `, fnLiteral + `const dangerousKeys=new Set(['__proto__','constructor','prototype'])
47
47
  const isDangerousKey=(k)=>{if(dangerousKeys.has(k))return true;const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?dangerousKeys.has(m[1]):false}
48
48
  const parseArrayKey=(k)=>{const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?{name:m[1],index:parseInt(m[2],10)}:null}
49
- for(const key of form.keys()){if(c.body[key])continue
50
- const value=form.getAll(key)
49
+ const grouped=new Map()
50
+ form.forEach((v,k)=>{const l=grouped.get(k);if(l)l.push(v);else grouped.set(k,[v])})
51
+ for(const [key,value] of grouped){if(c.body[key])continue
51
52
  let finalValue
52
53
  if(value.length===1){
53
54
  const sv=value[0]
@@ -142,10 +142,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
142
142
  break;
143
143
  case "multipart/form-data": {
144
144
  body = {};
145
- const form = await request.formData();
146
- for (const key of form.keys()) {
145
+ const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
146
+ form.forEach((v, k) => {
147
+ const list = grouped.get(k);
148
+ list ? list.push(v) : grouped.set(k, [v]);
149
+ });
150
+ for (const [key, value] of grouped) {
147
151
  if (body[key]) continue;
148
- const value = form.getAll(key), finalValue = normalizeFormValue(value);
152
+ const finalValue = normalizeFormValue(value);
149
153
  key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
150
154
  }
151
155
  break;
@@ -181,10 +185,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
181
185
  case "formdata":
182
186
  case "multipart/form-data": {
183
187
  body = {};
184
- const form = await request.formData();
185
- for (const key of form.keys()) {
188
+ const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
189
+ form.forEach((v, k) => {
190
+ const list = grouped.get(k);
191
+ list ? list.push(v) : grouped.set(k, [v]);
192
+ });
193
+ for (const [key, value] of grouped) {
186
194
  if (body[key]) continue;
187
- const value = form.getAll(key), finalValue = normalizeFormValue(value);
195
+ const finalValue = normalizeFormValue(value);
188
196
  key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
189
197
  }
190
198
  break;
@@ -228,10 +236,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
228
236
  break;
229
237
  case "multipart/form-data": {
230
238
  body = {};
231
- const form = await request.formData();
232
- for (const key of form.keys()) {
239
+ const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
240
+ form.forEach((v, k) => {
241
+ const list = grouped.get(k);
242
+ list ? list.push(v) : grouped.set(k, [v]);
243
+ });
244
+ for (const [key, value] of grouped) {
233
245
  if (body[key]) continue;
234
- const value = form.getAll(key), finalValue = normalizeFormValue(value);
246
+ const finalValue = normalizeFormValue(value);
235
247
  key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
236
248
  }
237
249
  break;
@@ -131,10 +131,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
131
131
  break;
132
132
  case "multipart/form-data": {
133
133
  body = {};
134
- const form = await request.formData();
135
- for (const key of form.keys()) {
134
+ const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
135
+ form.forEach((v, k) => {
136
+ const list = grouped.get(k);
137
+ list ? list.push(v) : grouped.set(k, [v]);
138
+ });
139
+ for (const [key, value] of grouped) {
136
140
  if (body[key]) continue;
137
- const value = form.getAll(key), finalValue = normalizeFormValue(value);
141
+ const finalValue = normalizeFormValue(value);
138
142
  key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
139
143
  }
140
144
  break;
@@ -170,10 +174,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
170
174
  case "formdata":
171
175
  case "multipart/form-data": {
172
176
  body = {};
173
- const form = await request.formData();
174
- for (const key of form.keys()) {
177
+ const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
178
+ form.forEach((v, k) => {
179
+ const list = grouped.get(k);
180
+ list ? list.push(v) : grouped.set(k, [v]);
181
+ });
182
+ for (const [key, value] of grouped) {
175
183
  if (body[key]) continue;
176
- const value = form.getAll(key), finalValue = normalizeFormValue(value);
184
+ const finalValue = normalizeFormValue(value);
177
185
  key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
178
186
  }
179
187
  break;
@@ -217,10 +225,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
217
225
  break;
218
226
  case "multipart/form-data": {
219
227
  body = {};
220
- const form = await request.formData();
221
- for (const key of form.keys()) {
228
+ const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
229
+ form.forEach((v, k) => {
230
+ const list = grouped.get(k);
231
+ list ? list.push(v) : grouped.set(k, [v]);
232
+ });
233
+ for (const [key, value] of grouped) {
222
234
  if (body[key]) continue;
223
- const value = form.getAll(key), finalValue = normalizeFormValue(value);
235
+ const finalValue = normalizeFormValue(value);
224
236
  key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
225
237
  }
226
238
  break;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "elysia",
3
3
  "description": "Ergonomic Framework for Human",
4
- "version": "1.4.28",
4
+ "version": "1.4.29",
5
5
  "author": {
6
6
  "name": "saltyAom",
7
7
  "url": "https://github.com/SaltyAom",