spiceflow 1.1.2 → 1.1.4
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 +54 -23
- package/dist/benchmark.benchmark.d.ts +2 -0
- package/dist/benchmark.benchmark.d.ts.map +1 -0
- package/dist/benchmark.benchmark.js +13 -0
- package/dist/benchmark.benchmark.js.map +1 -0
- package/dist/context.d.ts +9 -26
- package/dist/context.d.ts.map +1 -1
- package/dist/cors.d.ts +22 -0
- package/dist/cors.d.ts.map +1 -0
- package/dist/cors.js +76 -0
- package/dist/cors.js.map +1 -0
- package/dist/cors.test.d.ts +2 -0
- package/dist/cors.test.d.ts.map +1 -0
- package/dist/cors.test.js +39 -0
- package/dist/cors.test.js.map +1 -0
- package/dist/error.d.ts +0 -4
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +0 -7
- package/dist/error.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware.test.js +64 -0
- package/dist/middleware.test.js.map +1 -1
- package/dist/openapi.d.ts +1 -1
- package/dist/spiceflow.d.ts +5 -16
- package/dist/spiceflow.d.ts.map +1 -1
- package/dist/spiceflow.js +70 -55
- package/dist/spiceflow.js.map +1 -1
- package/dist/spiceflow.test.js +60 -4
- package/dist/spiceflow.test.js.map +1 -1
- package/dist/types.d.ts +23 -53
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +23 -1
- package/src/benchmark.benchmark.ts +16 -0
- package/src/context.ts +10 -28
- package/src/cors.test.ts +44 -0
- package/src/cors.ts +115 -0
- package/src/error.ts +0 -8
- package/src/index.ts +1 -0
- package/src/middleware.test.ts +68 -0
- package/src/spiceflow.test.ts +81 -4
- package/src/spiceflow.ts +83 -109
- package/src/types.test.ts +1 -0
- package/src/types.ts +30 -55
- package/dist/benchmark.test.d.ts +0 -2
- package/dist/benchmark.test.d.ts.map +0 -1
- package/dist/benchmark.test.js +0 -8
- package/dist/benchmark.test.js.map +0 -1
- package/src/benchmark.test.ts +0 -8
package/src/types.ts
CHANGED
|
@@ -19,11 +19,10 @@ import type { Context, ErrorContext, MiddlewareContext } from './context.js'
|
|
|
19
19
|
import {
|
|
20
20
|
ELYSIA_RESPONSE,
|
|
21
21
|
InternalServerError,
|
|
22
|
-
NotFoundError,
|
|
23
22
|
ParseError,
|
|
24
23
|
ValidationError,
|
|
25
24
|
} from './error.js'
|
|
26
|
-
import {
|
|
25
|
+
import { Spiceflow } from './spiceflow.js'
|
|
27
26
|
|
|
28
27
|
export type MaybeArray<T> = T | T[]
|
|
29
28
|
export type MaybePromise<T> = T | Promise<T>
|
|
@@ -145,7 +144,7 @@ export type Reconcile<
|
|
|
145
144
|
: never
|
|
146
145
|
|
|
147
146
|
export interface SingletonBase {
|
|
148
|
-
|
|
147
|
+
state: Record<string, unknown>
|
|
149
148
|
}
|
|
150
149
|
|
|
151
150
|
export interface DefinitionBase {
|
|
@@ -312,8 +311,7 @@ export interface MergeSchema<
|
|
|
312
311
|
export type Handler<
|
|
313
312
|
in out Route extends RouteSchema = {},
|
|
314
313
|
in out Singleton extends SingletonBase = {
|
|
315
|
-
|
|
316
|
-
store: {}
|
|
314
|
+
state: {}
|
|
317
315
|
},
|
|
318
316
|
Path extends string = '',
|
|
319
317
|
> = (
|
|
@@ -353,8 +351,7 @@ export type CoExist<Original, Target, With> = IsAny<Target> extends true
|
|
|
353
351
|
export type InlineHandler<
|
|
354
352
|
Route extends RouteSchema = {},
|
|
355
353
|
Singleton extends SingletonBase = {
|
|
356
|
-
|
|
357
|
-
store: {}
|
|
354
|
+
state: {}
|
|
358
355
|
},
|
|
359
356
|
Path extends string = '',
|
|
360
357
|
MacroContext = {},
|
|
@@ -386,8 +383,7 @@ export type InlineHandler<
|
|
|
386
383
|
export type OptionalHandler<
|
|
387
384
|
in out Route extends RouteSchema = {},
|
|
388
385
|
in out Singleton extends SingletonBase = {
|
|
389
|
-
|
|
390
|
-
store: {}
|
|
386
|
+
state: {}
|
|
391
387
|
},
|
|
392
388
|
Path extends string = '',
|
|
393
389
|
> = Handler<Route, Singleton, Path> extends (
|
|
@@ -399,8 +395,7 @@ export type OptionalHandler<
|
|
|
399
395
|
export type AfterHandler<
|
|
400
396
|
in out Route extends RouteSchema = {},
|
|
401
397
|
in out Singleton extends SingletonBase = {
|
|
402
|
-
|
|
403
|
-
store: {}
|
|
398
|
+
state: {}
|
|
404
399
|
},
|
|
405
400
|
Path extends string = '',
|
|
406
401
|
> = Handler<Route, Singleton, Path> extends (
|
|
@@ -418,8 +413,7 @@ export type AfterHandler<
|
|
|
418
413
|
export type MapResponse<
|
|
419
414
|
in out Route extends RouteSchema = {},
|
|
420
415
|
in out Singleton extends SingletonBase = {
|
|
421
|
-
|
|
422
|
-
store: {}
|
|
416
|
+
state: {}
|
|
423
417
|
},
|
|
424
418
|
Path extends string = '',
|
|
425
419
|
> = Handler<
|
|
@@ -437,16 +431,14 @@ export type MapResponse<
|
|
|
437
431
|
export type VoidHandler<
|
|
438
432
|
in out Route extends RouteSchema = {},
|
|
439
433
|
in out Singleton extends SingletonBase = {
|
|
440
|
-
|
|
441
|
-
store: {}
|
|
434
|
+
state: {}
|
|
442
435
|
},
|
|
443
436
|
> = (context: Context<Route, Singleton>) => MaybePromise<void>
|
|
444
437
|
|
|
445
438
|
export type TransformHandler<
|
|
446
439
|
in out Route extends RouteSchema = {},
|
|
447
440
|
in out Singleton extends SingletonBase = {
|
|
448
|
-
|
|
449
|
-
store: {}
|
|
441
|
+
state: {}
|
|
450
442
|
},
|
|
451
443
|
BasePath extends string = '',
|
|
452
444
|
> = {
|
|
@@ -466,8 +458,7 @@ export type TransformHandler<
|
|
|
466
458
|
export type BodyHandler<
|
|
467
459
|
in out Route extends RouteSchema = {},
|
|
468
460
|
in out Singleton extends SingletonBase = {
|
|
469
|
-
|
|
470
|
-
store: {}
|
|
461
|
+
state: {}
|
|
471
462
|
},
|
|
472
463
|
Path extends string = '',
|
|
473
464
|
> = (
|
|
@@ -476,39 +467,24 @@ export type BodyHandler<
|
|
|
476
467
|
contentType: string
|
|
477
468
|
} & Context<Route, Singleton, Path>
|
|
478
469
|
>,
|
|
479
|
-
|
|
480
|
-
* @deprecated
|
|
481
|
-
*
|
|
482
|
-
* use `context.contentType` instead
|
|
483
|
-
*
|
|
484
|
-
* @example
|
|
485
|
-
* ```ts
|
|
486
|
-
* new Spiceflow()
|
|
487
|
-
* .onParse(({ contentType, request }) => {
|
|
488
|
-
* if (contentType === 'application/json')
|
|
489
|
-
* return request.json()
|
|
490
|
-
* })
|
|
491
|
-
* ```
|
|
492
|
-
*/
|
|
470
|
+
|
|
493
471
|
contentType: string,
|
|
494
472
|
) => MaybePromise<any>
|
|
495
473
|
|
|
496
474
|
export type MiddlewareHandler<
|
|
497
475
|
in out Route extends RouteSchema = {},
|
|
498
476
|
in out Singleton extends SingletonBase = {
|
|
499
|
-
|
|
500
|
-
store: {}
|
|
477
|
+
state: {}
|
|
501
478
|
},
|
|
502
479
|
> = (
|
|
503
480
|
context: MiddlewareContext<Singleton>,
|
|
504
|
-
next: () => Promise<Response
|
|
481
|
+
next: () => Promise<Response>,
|
|
505
482
|
) => MaybePromise<Route['response'] | void>
|
|
506
483
|
|
|
507
484
|
export type AfterResponseHandler<
|
|
508
485
|
in out Route extends RouteSchema = {},
|
|
509
486
|
in out Singleton extends SingletonBase = {
|
|
510
|
-
|
|
511
|
-
store: {}
|
|
487
|
+
state: {}
|
|
512
488
|
},
|
|
513
489
|
> = (
|
|
514
490
|
context: Prettify<
|
|
@@ -526,13 +502,13 @@ export type ErrorHandler<
|
|
|
526
502
|
in out T extends Record<string, Error> = {},
|
|
527
503
|
in out Route extends RouteSchema = {},
|
|
528
504
|
in out Singleton extends SingletonBase = {
|
|
529
|
-
|
|
505
|
+
state: {}
|
|
530
506
|
},
|
|
531
507
|
> = (
|
|
532
508
|
context: ErrorContext<
|
|
533
509
|
Route,
|
|
534
510
|
{
|
|
535
|
-
|
|
511
|
+
state: Singleton['state']
|
|
536
512
|
}
|
|
537
513
|
> &
|
|
538
514
|
(
|
|
@@ -541,35 +517,35 @@ export type ErrorHandler<
|
|
|
541
517
|
request: Request
|
|
542
518
|
code: 'UNKNOWN'
|
|
543
519
|
error: Readonly<Error>
|
|
544
|
-
} & Partial<Singleton['
|
|
520
|
+
} & Partial<Singleton['state']>
|
|
545
521
|
>
|
|
546
522
|
| Prettify<
|
|
547
523
|
{
|
|
548
524
|
request: Request
|
|
549
525
|
code: 'VALIDATION'
|
|
550
526
|
error: Readonly<ValidationError>
|
|
551
|
-
} & Singleton['
|
|
552
|
-
>
|
|
553
|
-
| Prettify<
|
|
554
|
-
{
|
|
555
|
-
request: Request
|
|
556
|
-
code: 'NOT_FOUND'
|
|
557
|
-
error: Readonly<NotFoundError>
|
|
558
|
-
} & NeverKey<Singleton['store']>
|
|
527
|
+
} & Singleton['state']
|
|
559
528
|
>
|
|
529
|
+
// | Prettify<
|
|
530
|
+
// {
|
|
531
|
+
// request: Request
|
|
532
|
+
// code: 'NOT_FOUND'
|
|
533
|
+
// error: Readonly<NotFoundError>
|
|
534
|
+
// } & NeverKey<Singleton['state']>
|
|
535
|
+
// >
|
|
560
536
|
| Prettify<
|
|
561
537
|
{
|
|
562
538
|
request: Request
|
|
563
539
|
code: 'PARSE'
|
|
564
540
|
error: Readonly<ParseError>
|
|
565
|
-
} & Singleton['
|
|
541
|
+
} & Singleton['state']
|
|
566
542
|
>
|
|
567
543
|
| Prettify<
|
|
568
544
|
{
|
|
569
545
|
request: Request
|
|
570
546
|
code: 'INTERNAL_SERVER_ERROR'
|
|
571
547
|
error: Readonly<InternalServerError>
|
|
572
|
-
} & Partial<Singleton['
|
|
548
|
+
} & Partial<Singleton['state']>
|
|
573
549
|
>
|
|
574
550
|
| Prettify<
|
|
575
551
|
{
|
|
@@ -579,7 +555,7 @@ export type ErrorHandler<
|
|
|
579
555
|
error: Readonly<T[K]>
|
|
580
556
|
}
|
|
581
557
|
}[keyof T] &
|
|
582
|
-
Partial<Singleton['
|
|
558
|
+
Partial<Singleton['state']>
|
|
583
559
|
>
|
|
584
560
|
),
|
|
585
561
|
) => any | Promise<any>
|
|
@@ -713,8 +689,7 @@ export type MergeSpiceflowInstances<
|
|
|
713
689
|
Prefix extends string = '',
|
|
714
690
|
Scoped extends boolean = false,
|
|
715
691
|
Singleton extends SingletonBase = {
|
|
716
|
-
|
|
717
|
-
store: {}
|
|
692
|
+
state: {}
|
|
718
693
|
},
|
|
719
694
|
Definitions extends DefinitionBase = {
|
|
720
695
|
type: {}
|
|
@@ -756,7 +731,7 @@ export type MergeSpiceflowInstances<
|
|
|
756
731
|
Prefix,
|
|
757
732
|
Scoped,
|
|
758
733
|
{
|
|
759
|
-
|
|
734
|
+
state: Prettify<Singleton['state']>
|
|
760
735
|
},
|
|
761
736
|
{
|
|
762
737
|
type: Prettify<Definitions['type']>
|
package/dist/benchmark.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.test.d.ts","sourceRoot":"","sources":["../src/benchmark.test.ts"],"names":[],"mappings":""}
|
package/dist/benchmark.test.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.test.js","sourceRoot":"","sources":["../src/benchmark.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAA;IAC5B,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|