elysia 0.6.19 → 0.6.21

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.
@@ -211,7 +211,7 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
211
211
  }>;
212
212
  mount(handle: (request: Request) => MaybePromise<Response>): this;
213
213
  mount(path: string, handle: (request: Request) => MaybePromise<Response>): this;
214
- get<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
214
+ get<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
215
215
  request: Instance['request'];
216
216
  store: Instance['store'];
217
217
  schema: Instance['schema'];
@@ -220,12 +220,12 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
220
220
  defs: Instance['meta']['defs'];
221
221
  exposed: Instance['meta']['exposed'];
222
222
  schema: Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
223
- [path in `${BasePath}${Path}`]: {
223
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
224
224
  get: {
225
225
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
226
226
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
227
227
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
228
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
228
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
229
229
  response: Typed['response'] extends TSchema | string ? {
230
230
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
231
231
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -238,18 +238,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
238
238
  } : {})>;
239
239
  };
240
240
  }>;
241
- post<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
241
+ post<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
242
242
  request: Instance['request'];
243
243
  store: Instance['store'];
244
244
  schema: Instance['schema'];
245
245
  error: Instance['error'];
246
246
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
247
- [path in `${BasePath}${Path}`]: {
247
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
248
248
  post: {
249
249
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
250
250
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
251
251
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
252
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
252
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
253
253
  response: Typed['response'] extends TSchema | string ? {
254
254
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
255
255
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -261,18 +261,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
261
261
  };
262
262
  } : {})>>;
263
263
  }>;
264
- put<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
264
+ put<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
265
265
  request: Instance['request'];
266
266
  store: Instance['store'];
267
267
  schema: Instance['schema'];
268
268
  error: Instance['error'];
269
269
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
270
- [path in `${BasePath}${Path}`]: {
270
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
271
271
  put: {
272
272
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
273
273
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
274
274
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
275
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
275
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
276
276
  response: Typed['response'] extends TSchema | string ? {
277
277
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
278
278
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -284,18 +284,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
284
284
  };
285
285
  } : {})>>;
286
286
  }>;
287
- patch<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
287
+ patch<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
288
288
  request: Instance['request'];
289
289
  store: Instance['store'];
290
290
  schema: Instance['schema'];
291
291
  error: Instance['error'];
292
292
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
293
- [path in `${BasePath}${Path}`]: {
293
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
294
294
  patch: {
295
295
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
296
296
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
297
297
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
298
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
298
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
299
299
  response: Typed['response'] extends TSchema | string ? {
300
300
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
301
301
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -307,18 +307,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
307
307
  };
308
308
  } : {})>>;
309
309
  }>;
310
- delete<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
310
+ delete<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
311
311
  request: Instance['request'];
312
312
  store: Instance['store'];
313
313
  schema: Instance['schema'];
314
314
  error: Instance['error'];
315
315
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
316
- [path in `${BasePath}${Path}`]: {
316
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
317
317
  delete: {
318
318
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
319
319
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
320
320
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
321
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
321
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
322
322
  response: Typed['response'] extends TSchema | string ? {
323
323
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
324
324
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -330,18 +330,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
330
330
  };
331
331
  } : {})>>;
332
332
  }>;
333
- options<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
333
+ options<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
334
334
  request: Instance['request'];
335
335
  store: Instance['store'];
336
336
  schema: Instance['schema'];
337
337
  error: Instance['error'];
338
338
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
339
- [path in `${BasePath}${Path}`]: {
339
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
340
340
  options: {
341
341
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
342
342
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
343
343
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
344
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
344
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
345
345
  response: Typed['response'] extends TSchema | string ? {
346
346
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
347
347
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -353,18 +353,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
353
353
  };
354
354
  } : {})>>;
355
355
  }>;
356
- all<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
356
+ all<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
357
357
  request: Instance['request'];
358
358
  store: Instance['store'];
359
359
  schema: Instance['schema'];
360
360
  error: Instance['error'];
361
361
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
362
- [path in `${BasePath}${Path}`]: {
362
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
363
363
  all: {
364
364
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
365
365
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
366
366
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
367
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
367
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
368
368
  response: Typed['response'] extends TSchema | string ? {
369
369
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
370
370
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -376,18 +376,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
376
376
  };
377
377
  } : {})>>;
378
378
  }>;
379
- head<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
379
+ head<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
380
380
  request: Instance['request'];
381
381
  store: Instance['store'];
382
382
  schema: Instance['schema'];
383
383
  error: Instance['error'];
384
384
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
385
- [path in `${BasePath}${Path}`]: {
385
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
386
386
  head: {
387
387
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
388
388
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
389
389
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
390
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
390
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
391
391
  response: Typed['response'] extends TSchema | string ? {
392
392
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
393
393
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -399,18 +399,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
399
399
  };
400
400
  } : {})>>;
401
401
  }>;
402
- trace<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
402
+ trace<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
403
403
  request: Instance['request'];
404
404
  store: Instance['store'];
405
405
  schema: Instance['schema'];
406
406
  error: Instance['error'];
407
407
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
408
- [path in `${BasePath}${Path}`]: {
408
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
409
409
  trace: {
410
410
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
411
411
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
412
412
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
413
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
413
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
414
414
  response: Typed['response'] extends TSchema | string ? {
415
415
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
416
416
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -422,18 +422,18 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
422
422
  };
423
423
  } : {})>>;
424
424
  }>;
425
- connect<Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Path}`>): Elysia<BasePath, {
425
+ connect<Paths extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>, Schema extends TypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, handler: Handler, hook?: LocalHook<Schema, Instance, `${BasePath}${Extract<Paths, string>}`>): Elysia<BasePath, {
426
426
  request: Instance['request'];
427
427
  store: Instance['store'];
428
428
  schema: Instance['schema'];
429
429
  error: Instance['error'];
430
430
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & (MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
431
- [path in `${BasePath}${Path}`]: {
431
+ [path in `${BasePath}${Extract<Paths, string>}`]: {
432
432
  connect: {
433
433
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
434
434
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
435
435
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
436
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
436
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Paths, string>>, string>;
437
437
  response: Typed['response'] extends TSchema | string ? {
438
438
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
439
439
  } : Typed['response'] extends Record<string, TSchema | string> ? {
@@ -445,16 +445,16 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
445
445
  };
446
446
  } : {})>>;
447
447
  }>;
448
- ws<Path extends string, Schema extends WSTypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(path: Path, options: this extends Elysia<any, infer Instance> ? ElysiaWSOptions<`${BasePath}${Path}`, Schema, Instance> : never): Elysia<BasePath, {
448
+ ws<Paths extends string | string[], Schema extends WSTypedSchema<Extract<keyof Instance['meta']['defs'], string>>>(paths: Paths, options: this extends Elysia<any, infer Instance> ? ElysiaWSOptions<`${BasePath}${Extract<Paths, string>}`, Schema, Instance> : never): Elysia<BasePath, {
449
449
  request: Instance['request'];
450
450
  store: Instance['store'];
451
451
  schema: Instance['schema'];
452
452
  error: Instance['error'];
453
- meta: Instance['meta'] & Record<'schema', Record<`${BasePath}${Path}`, MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
454
- subscribe: TypedWSRouteToEden<Typed, Instance['meta']['defs'], `${BasePath}${Path}`>;
453
+ meta: Instance['meta'] & Record<'schema', Record<`${BasePath}${Extract<Paths, string>}`, MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
454
+ subscribe: TypedWSRouteToEden<Typed, Instance['meta']['defs'], `${BasePath}${Extract<Paths, string>}`>;
455
455
  } : {}>>;
456
456
  }>;
457
- route<Schema extends TypedSchema<Exclude<keyof Instance['meta']['defs'], number | symbol>>, Method extends HTTPMethod, Path extends string, Handler extends LocalHandler<Schema, Instance, `${BasePath}${Path}`>>(method: Method, path: Path, handler: Handler, { config, ...hook }?: LocalHook<Schema, Instance, `${BasePath}${Path}`> & {
457
+ route<Schema extends TypedSchema<Exclude<keyof Instance['meta']['defs'], number | symbol>>, Method extends HTTPMethod, Path extends string | string[], Handler extends LocalHandler<Schema, Instance, `${BasePath}${Extract<Path, string>}`>>(method: Method, path: Path, handler: Handler, { config, ...hook }?: LocalHook<Schema, Instance, `${BasePath}${Extract<Path, string>}`> & {
458
458
  config: {
459
459
  allowMeta?: boolean;
460
460
  };
@@ -464,12 +464,12 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
464
464
  schema: Instance['schema'];
465
465
  error: Instance['error'];
466
466
  meta: Record<'defs', Instance['meta']['defs']> & Record<'exposed', Instance['meta']['exposed']> & Record<'schema', Prettify<Instance['meta']['schema'] & MergeSchema<Schema, Instance['schema']> extends infer Typed extends TypedSchema ? {
467
- [path in `${BasePath}${Path}`]: {
467
+ [path in `${BasePath}${Extract<Path, string>}`]: {
468
468
  [method in Method]: {
469
469
  body: UnwrapSchema<Typed['body'], Instance['meta']['defs']>;
470
470
  headers: UnwrapSchema<Typed['headers'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
471
471
  query: UnwrapSchema<Typed['query'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : undefined;
472
- params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Path>, string>;
472
+ params: UnwrapSchema<Typed['params'], Instance['meta']['defs']> extends infer Result ? Result extends Record<string, any> ? Result : undefined : Record<ExtractPath<Extract<Path, string>>, string>;
473
473
  response: Typed['response'] extends TSchema | string ? {
474
474
  '200': UnwrapSchema<Typed['response'], Instance['meta']['defs'], ReturnType<Handler>>;
475
475
  } : Typed['response'] extends Record<string, TSchema | string> ? {