arri 0.0.1 → 0.0.2

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/index.d.ts CHANGED
@@ -7,33 +7,35 @@ declare function defineError(statusCode: number, opts?: Partial<Omit<H3Error, "s
7
7
  type ExtractParam<Path, NextPart> = Path extends `:${infer Param}` ? Record<Param, string> & NextPart : NextPart;
8
8
  type ExtractParams<Path> = Path extends `${infer Segment}/${infer Rest}` ? ExtractParam<Segment, ExtractParams<Rest>> : ExtractParam<Path, {}>;
9
9
 
10
- interface RouteEventContext<Params extends Record<string, string> = any, Body = any, Query = any, Response = any> {
11
- params?: Params;
12
- body?: Body;
13
- query?: Query;
14
- response?: Response;
10
+ interface HandlerEventContext<Params extends Record<string, string> = any, Body = any, Query = any> {
11
+ params: Params;
12
+ body: Body;
13
+ query: Query;
15
14
  }
16
- interface RouteEvent<Context extends RouteEventContext> extends H3Event {
15
+ interface PostHandlerEventContext<Params extends Record<string, string> = any, Body = any, Query = any, Response = any> extends HandlerEventContext<Params, Body, Query> {
16
+ response: Response;
17
+ }
18
+ interface RouteEvent<Context extends HandlerEventContext> extends H3Event {
17
19
  context: Context;
18
20
  }
19
- type ArriRouteHandler<Params extends Record<string, string>, Body, Query, Response> = (event: RouteEvent<RouteEventContext<Params, Body, Query>>) => Response | Promise<Response>;
21
+ type ArriRouteHandler<Params extends Record<string, string>, Body, Query, Response> = (event: RouteEvent<HandlerEventContext<Params, Body, Query>>) => Response | Promise<Response>;
20
22
  interface ArriRoute<Path extends string = "", Method extends RouterMethod = "get", Body extends undefined | ZodTypeAny = undefined, Query extends undefined | AnyZodObject = undefined, Response = any> {
21
- id?: string;
23
+ id?: undefined | string;
22
24
  path: Path;
23
25
  method: Method;
24
- schema?: {
26
+ schema?: undefined | {
25
27
  body?: Body;
26
28
  query?: Query;
27
29
  };
28
30
  handler: ArriRouteHandler<ExtractParams<Path>, Body extends ZodTypeAny ? Body["_type"] : undefined, Query extends AnyZodObject ? Query["_type"] : undefined, Response>;
29
- postHandler?: (event: RouteEvent<RouteEventContext<ExtractParams<Path>, Body extends ZodTypeAny ? Body["_type"] : undefined, Query extends AnyZodObject ? Query["_type"] : undefined, Response>>) => any;
31
+ postHandler?: (event: RouteEvent<PostHandlerEventContext<ExtractParams<Path>, Body extends ZodTypeAny ? Body["_type"] : undefined, Query extends AnyZodObject ? Query["_type"] : undefined, Response>>) => any;
30
32
  }
31
- declare const defineRoute: <Path extends string, Method extends "get" | "head" | "patch" | "post" | "put" | "delete" | "connect" | "options" | "trace", Body_1 extends ZodTypeAny | undefined, Query extends AnyZodObject | undefined, Response_1 = any>(route: ArriRoute<Path, Method, Body_1, Query, Response_1>) => ArriRoute<Path, Method, Body_1, Query, Response_1>;
32
- type ApiRouteMiddleware = (event: RouteEvent<RouteEventContext<Record<string, string>, any, any, undefined>>) => void | Promise<void>;
33
+ declare const defineRoute: <Path extends string, Method extends "get" | "head" | "patch" | "post" | "put" | "delete" | "connect" | "options" | "trace", Body_1 extends ZodTypeAny | undefined = any, Query extends AnyZodObject | undefined = any, Response_1 = any>(route: ArriRoute<Path, Method, Body_1, Query, Response_1>) => ArriRoute<Path, Method, Body_1, Query, Response_1>;
34
+ type ApiRouteMiddleware = (event: RouteEvent<HandlerEventContext<Record<string, string>, any, any>>) => void | Promise<void>;
33
35
  declare const defineMiddleware: (middleware: ApiRouteMiddleware) => ApiRouteMiddleware;
34
36
  declare function handleRoute(event: H3Event, route: ArriRoute, middlewares: ApiRouteMiddleware[]): Promise<void>;
35
37
  declare function registerArriRoutes(app: App, routeMap: any): void;
36
38
  declare function registerArriRoute(app: App, route: ArriRoute): void;
37
39
  declare const methodAllowsBody: (method: RouterMethod) => boolean;
38
40
 
39
- export { ApiRouteMiddleware, ArriRoute, ArriRouteHandler, ExtractParam, ExtractParams, RouteEvent, RouteEventContext, defineError, defineMiddleware, defineRoute, handleRoute, isH3Error, methodAllowsBody, registerArriRoute, registerArriRoutes };
41
+ export { ApiRouteMiddleware, ArriRoute, ArriRouteHandler, ExtractParam, ExtractParams, HandlerEventContext, PostHandlerEventContext, RouteEvent, defineError, defineMiddleware, defineRoute, handleRoute, isH3Error, methodAllowsBody, registerArriRoute, registerArriRoutes };