@ozanarslan/corpus 0.1.4 → 0.1.5

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
@@ -2,6 +2,14 @@
2
2
 
3
3
  /// <reference types="node" />
4
4
 
5
+ declare abstract class StoreAbstract<T> {
6
+ protected abstract value: T;
7
+ set(value: T): void;
8
+ get(): T;
9
+ }
10
+ declare class GlobalPrefixStore extends StoreAbstract<string> {
11
+ protected value: string;
12
+ }
5
13
  export type CookieOptions = {
6
14
  name: string;
7
15
  value: string;
@@ -502,7 +510,7 @@ export declare class Context<B = unknown, S = unknown, P = unknown, R = unknown>
502
510
  res: HttpResponse<R>;
503
511
  data: ContextDataInterface;
504
512
  static makeFromRequest(req: HttpRequest): Context;
505
- static appendParsedData<Path extends string = string, B = unknown, S = unknown, P = unknown, R = unknown>(ctx: Context<B, S, P, R>, req: HttpRequest, endpoint: Path, model?: RouterModelData<B, S, P>): Promise<void>;
513
+ static appendParsedData<Path extends string = string, B = unknown, S = unknown, P = unknown, R = unknown>(ctx: Context<B, S, P, R>, req: HttpRequest, endpoint: Path, model?: RouterModelData<B, S, P>, parsedParams?: Record<string, unknown>): Promise<void>;
506
514
  }
507
515
  export type Func<Args extends any[] = any[], Return = any> = (...args: Args) => Return;
508
516
  export type MaybePromise<T> = Promise<T> | T;
@@ -526,10 +534,10 @@ declare abstract class RouteAbstract<Path extends string = string, B = unknown,
526
534
  abstract id: RouteId;
527
535
  abstract handler: RouteHandler<B, S, P, R>;
528
536
  abstract model?: RouteModel<B, S, P, R>;
529
- resolveEndpoint(definition: RouteDefinition<Path>, variant: RouteVariant): Path;
530
- resolveMethod(definition: RouteDefinition<Path>): Method;
531
- resolvePattern(endpoint: Path): RegExp;
532
- resolveId(method: string, endpoint: Path): RouteId;
537
+ protected resolveEndpoint(definition: RouteDefinition<Path>, variant: RouteVariant): Path;
538
+ protected resolveMethod(definition: RouteDefinition<Path>): Method;
539
+ protected resolvePattern(endpoint: Path): RegExp;
540
+ protected resolveId(method: string, endpoint: Path): RouteId;
533
541
  }
534
542
  /**
535
543
  * The object to define an endpoint. Can be instantiated with "new" or inside a controller
@@ -547,6 +555,7 @@ export declare class Route<Path extends string = string, B = unknown, S = unknow
547
555
  handler: RouteHandler<B, S, P, R>;
548
556
  model?: RouteModel<B, S, P, R> | undefined;
549
557
  static makeRouteId(method: string, endpoint: string): RouteId;
558
+ static makeRoutePattern(endpoint: string): RegExp;
550
559
  }
551
560
  export type AnyRoute = Route<string, any, any, any, any>;
552
561
  export type AnyRouteModel = RouteModel<any, any, any, any>;
@@ -577,10 +586,6 @@ export declare class StaticRoute<Path extends string = string, B = unknown, S =
577
586
  private get extension();
578
587
  private getContent;
579
588
  private mimeTypes;
580
- private handleHtml;
581
- private handleCss;
582
- private handleJs;
583
- private handleFile;
584
589
  }
585
590
  export type ControllerOptions = {
586
591
  prefix?: string;
@@ -610,38 +615,41 @@ export declare class Middleware {
610
615
  useOn: MiddlewareUseOn;
611
616
  handler: MiddlewareHandler;
612
617
  }
613
- export type RouterMiddlewareData = MiddlewareHandler;
614
618
  export type RouterRouteData = Pick<AnyRoute, "id" | "endpoint" | "method" | "pattern" | "handler">;
619
+ export interface RouterAdapterInterface {
620
+ add(data: RouterRouteData): void;
621
+ find(method: string, path: string): {
622
+ route: RouterRouteData;
623
+ params?: Record<string, unknown>;
624
+ } | null;
625
+ list(): Array<RouterRouteData>;
626
+ }
615
627
  declare class Router {
616
- private _routes;
617
- private _middlewares;
618
- private _models;
619
- private internFuncMap;
628
+ constructor(adapter?: RouterAdapterInterface);
629
+ private _adapter;
620
630
  private cache;
621
- get routes(): Map<string, RouterRouteData>;
622
- get models(): Map<RouteId, RouterModelData>;
623
- get middlewares(): Map<string, RouterMiddlewareData>;
624
- globalPrefix: string;
625
- setGlobalPrefix(value: string): void;
626
- getRouteHandler(req: HttpRequest): Func<[
631
+ private internFuncMap;
632
+ private middlewares;
633
+ private models;
634
+ checkPossibleCollision(n: RouterRouteData): boolean;
635
+ addModel(routeId: RouteId, model: AnyRouteModel): void;
636
+ private findModel;
637
+ addMiddleware(m: Middleware): void;
638
+ private findMiddleware;
639
+ addRoute(r: AnyRoute): void;
640
+ findRouteHandler(req: HttpRequest): Func<[
627
641
  ], Promise<HttpResponse>>;
628
642
  getRouteList(): Array<[
629
643
  string,
630
644
  string
631
645
  ]>;
632
- addRoute(r: AnyRoute): void;
633
- addMiddleware(m: Middleware): void;
634
- addModel(routeId: RouteId, model: AnyRouteModel): void;
635
- findRouterMiddlewareData(routeId: RouteId): RouterMiddlewareData | undefined;
636
- findModel(routeId: RouteId): RouterModelData | undefined;
637
- findRoute(req: HttpRequest): RouterRouteData;
638
- private checkPossibleCollision;
639
- private hasLastPartParam;
640
- private removeLastParam;
641
- private hasAnyParam;
642
646
  private compile;
643
647
  private intern;
644
648
  }
649
+ declare class GlobalRouterStore extends StoreAbstract<Router | null> {
650
+ value: Router | null;
651
+ get(): Router;
652
+ }
645
653
  export type ConfigEnvKey = OrString<keyof Env>;
646
654
  export type ConfigValueParser<T> = Func<[
647
655
  string
@@ -734,7 +742,10 @@ export declare const DefaultStatusTexts: {
734
742
  500: string;
735
743
  };
736
744
  export type DefaultStatusTexts = ValueOf<typeof DefaultStatusTexts>;
737
- export type ServeOptions = {
745
+ export type ServerOptions = {
746
+ adapter?: RouterAdapterInterface;
747
+ };
748
+ export type ServeArgs = {
738
749
  port: number;
739
750
  hostname?: "0.0.0.0" | "127.0.0.1" | "localhost" | (string & {}) | undefined;
740
751
  fetch: (request: Request) => Promise<Response>;
@@ -763,9 +774,9 @@ export type RequestHandler<R = unknown> = Func<[
763
774
  ], MaybePromise<HttpResponse<R>>>;
764
775
  export type AfterResponseHandler = Func<[
765
776
  HttpResponse
766
- ], MaybePromise<HttpResponse>> | undefined;
777
+ ], MaybePromise<HttpResponse>>;
767
778
  export interface ServerInterface {
768
- serve(options: ServeOptions): void;
779
+ serve(options: ServeArgs): void;
769
780
  close(): Promise<void>;
770
781
  setGlobalPrefix(value: string): void;
771
782
  setCors(cors: CorsOptions): void;
@@ -797,38 +808,49 @@ export interface ServerInterface {
797
808
  setOnBeforeListen(handler: () => MaybePromise<void>): void;
798
809
  setOnBeforeClose(handler: () => MaybePromise<void>): void;
799
810
  setOnAfterResponse(handler: AfterResponseHandler): void;
800
- listen(port: ServeOptions["port"], hostname: ServeOptions["hostname"]): Promise<void>;
811
+ listen(port: ServeArgs["port"], hostname: ServeArgs["hostname"]): Promise<void>;
801
812
  handle(request: Request): Promise<Response>;
802
813
  }
803
814
  declare abstract class ServerAbstract implements ServerInterface {
804
- abstract serve(options: ServeOptions): void;
815
+ abstract serve(options: ServeArgs): void;
805
816
  abstract close(): Promise<void>;
806
- protected cors: Cors | undefined;
817
+ constructor(opts?: ServerOptions);
807
818
  get routes(): Array<[
808
819
  string,
809
820
  string
810
821
  ]>;
811
822
  setGlobalPrefix(value: string): void;
812
- setCors(cors: CorsOptions): void;
813
- setOnError(handler: ErrorHandler): void;
814
- setOnNotFound(handler: RequestHandler): void;
815
- setOnBeforeListen(handler: () => MaybePromise<void>): void;
816
- setOnBeforeClose(handler: () => MaybePromise<void>): void;
817
- setOnAfterResponse(handler: AfterResponseHandler): void;
818
- listen(port: ServeOptions["port"], hostname?: ServeOptions["hostname"]): Promise<void>;
823
+ listen(port: ServeArgs["port"], hostname?: ServeArgs["hostname"]): Promise<void>;
819
824
  handle(request: Request): Promise<Response>;
820
825
  private getResponse;
821
- protected handleBeforeListen: (() => MaybePromise<void>) | undefined;
822
- protected handleBeforeClose: (() => MaybePromise<void>) | undefined;
823
- protected handleAfterResponse: AfterResponseHandler;
826
+ protected cors: Cors | undefined;
827
+ setCors(opts: CorsOptions | undefined): void;
828
+ protected handleBeforeListen: Func<[
829
+ ], MaybePromise<void>> | undefined;
830
+ setOnBeforeListen(handler: Func<[
831
+ ], MaybePromise<void>> | undefined): void;
832
+ defaultOnBeforeListen: Func<[
833
+ ], MaybePromise<void>> | undefined;
834
+ protected handleBeforeClose: Func<[
835
+ ], MaybePromise<void>> | undefined;
836
+ setOnBeforeClose(handler: () => MaybePromise<void>): void;
837
+ defaultOnBeforeClose: Func<[
838
+ ], MaybePromise<void>> | undefined;
839
+ protected handleAfterResponse: AfterResponseHandler | undefined;
840
+ setOnAfterResponse(handler: AfterResponseHandler | undefined): void;
841
+ defaultOnAfterResponse: AfterResponseHandler | undefined;
824
842
  protected handleError: ErrorHandler;
843
+ setOnError(handler: ErrorHandler): void;
844
+ defaultErrorHandler: ErrorHandler;
825
845
  protected handleNotFound: RequestHandler;
846
+ setOnNotFound(handler: RequestHandler): void;
847
+ defaultNotFoundHandler: RequestHandler;
826
848
  protected handleMethodNotAllowed: RequestHandler;
849
+ defaultMethodNotFoundHandler: RequestHandler;
827
850
  }
828
851
  declare class ServerUsingBun extends ServerAbstract {
829
852
  private app;
830
- constructor();
831
- serve(options: ServeOptions): void;
853
+ serve(args: ServeArgs): void;
832
854
  close(): Promise<void>;
833
855
  private createApp;
834
856
  }
@@ -838,11 +860,21 @@ declare class ServerUsingBun extends ServerAbstract {
838
860
  */
839
861
  export declare class Server extends ServerUsingBun {
840
862
  }
841
- export declare function getRouterInstance(): Router;
842
- export declare function setRouterInstance(router: Router): void;
863
+ /** Router Adapter for the "memoirist" package. */
864
+ export declare class MemoiristAdapter implements RouterAdapterInterface {
865
+ private router;
866
+ add(data: RouterRouteData): void;
867
+ find(method: string, path: string): {
868
+ route: RouterRouteData;
869
+ params?: Record<string, unknown>;
870
+ } | null;
871
+ list(): Array<RouterRouteData>;
872
+ }
873
+ export declare const _globalPrefix: GlobalPrefixStore;
874
+ export declare const _router: GlobalRouterStore;
843
875
 
844
876
  declare namespace C {
845
- export { CommonHeaders, Config, Context, ContextDataInterface, ControllerAbstract as Controller, ControllerOptions, CookieOptions, Cookies, CookiesInit, DatabaseClientInterface, DefaultStatusTexts, Env, FileWalker, FileWalkerFile, HttpError as Error, HttpHeaderKey as HeaderKey, HttpHeaders as Headers, HttpHeadersInit as HeadersInit, HttpRequest as Request, HttpRequestInfo as RequestInfo, HttpRequestInit as RequestInit, HttpResponse as Response, HttpResponseBody as ResponseBody, HttpResponseInit as ResponseInit, InferModel, InferSchema, Method, Middleware, MiddlewareHandler, MiddlewareOptions, MiddlewareUseOn, Parser, RepositoryAbstract as Repository, Route, RouteDefinition, RouteHandler, RouteModel, Schema, SchemaValidator, ServeOptions, Server, StaticRoute, StaticRouteHandler, Status };
877
+ export { CommonHeaders, Config, Context, ContextDataInterface, ControllerAbstract as Controller, ControllerOptions, CookieOptions, Cookies, CookiesInit, DatabaseClientInterface, DefaultStatusTexts, Env, FileWalker, FileWalkerFile, HttpError as Error, HttpHeaderKey as HeaderKey, HttpHeaders as Headers, HttpHeadersInit as HeadersInit, HttpRequest as Request, HttpRequestInfo as RequestInfo, HttpRequestInit as RequestInit, HttpResponse as Response, HttpResponseBody as ResponseBody, HttpResponseInit as ResponseInit, InferModel, InferSchema, Method, Middleware, MiddlewareHandler, MiddlewareOptions, MiddlewareUseOn, Parser, RepositoryAbstract as Repository, Route, RouteDefinition, RouteHandler, RouteModel, Schema, SchemaValidator, ServeArgs, Server, ServerOptions, StaticRoute, StaticRouteHandler, Status };
846
878
  }
847
879
 
848
880
  export {