@forklaunch/hyper-express 0.7.11 → 0.8.1
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/lib/index.d.mts +33 -37
- package/lib/index.d.ts +33 -37
- package/lib/index.js +310 -59
- package/lib/index.mjs +312 -59
- package/package.json +12 -12
package/lib/index.d.mts
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
import * as _forklaunch_core_http from '@forklaunch/core/http';
|
2
|
-
import { ParamsObject, ResponsesObject, Body, QueryObject, HeadersObject, VersionSchema, SchemaAuthMethods, ContractDetails, ExpressLikeSchemaHandler,
|
2
|
+
import { ParamsObject, ResponsesObject, Body, QueryObject, HeadersObject, VersionSchema, SessionObject, SchemaAuthMethods, ContractDetails, ExpressLikeSchemaHandler, ExpressLikeApplicationOptions, ExpressLikeRouterOptions, ForklaunchExpressLikeApplication, OpenTelemetryCollector, MetricsDefinition, ParsedQs, ForklaunchExpressLikeRouter, ForklaunchRouter, TypedMiddlewareDefinition } from '@forklaunch/core/http';
|
3
|
+
import { AnySchemaValidator } from '@forklaunch/validator';
|
3
4
|
import { Request, Response, MiddlewareNext, ServerConstructorOptions, Server, MiddlewareHandler, Router as Router$1 } from '@forklaunch/hyper-express-fork';
|
4
5
|
export { MiddlewareNext as NextFunction, Request, Response, ServerConstructorOptions } from '@forklaunch/hyper-express-fork';
|
5
|
-
import
|
6
|
+
import * as uWebsockets from 'uWebSockets.js';
|
6
7
|
import { BusboyConfig } from 'busboy';
|
7
8
|
export { BusboyConfig } from 'busboy';
|
8
9
|
import { CorsOptions } from 'cors';
|
9
10
|
export { CorsOptions } from 'cors';
|
10
|
-
import * as uWebsockets from 'uWebSockets.js';
|
11
11
|
|
12
12
|
/**
|
13
13
|
* Creates a route handler that matches any HTTP method with schema validation and type safety.
|
@@ -63,11 +63,11 @@ import * as uWebsockets from 'uWebSockets.js';
|
|
63
63
|
* );
|
64
64
|
* ```
|
65
65
|
*/
|
66
|
-
declare const any: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
66
|
+
declare const any: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "middleware", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => {
|
67
67
|
_typedHandler: true;
|
68
68
|
_path: Path;
|
69
|
-
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>;
|
70
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
69
|
+
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>;
|
70
|
+
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
71
71
|
};
|
72
72
|
|
73
73
|
/**
|
@@ -134,7 +134,7 @@ declare const any: <SV extends AnySchemaValidator, Name extends string, Path ext
|
|
134
134
|
* );
|
135
135
|
* ```
|
136
136
|
*/
|
137
|
-
declare const delete_: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "delete">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
137
|
+
declare const delete_: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "delete">, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "delete", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "delete", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
138
138
|
|
139
139
|
/**
|
140
140
|
* Creates a GET route handler with schema validation and type safety.
|
@@ -212,7 +212,7 @@ declare const delete_: <SV extends AnySchemaValidator, Name extends string, Path
|
|
212
212
|
* );
|
213
213
|
* ```
|
214
214
|
*/
|
215
|
-
declare const get: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "get">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
215
|
+
declare const get: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "get">, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "get", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "get", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
216
216
|
|
217
217
|
/**
|
218
218
|
* Creates a HEAD route handler with schema validation and type safety.
|
@@ -282,7 +282,7 @@ declare const get: <SV extends AnySchemaValidator, Name extends string, Path ext
|
|
282
282
|
* );
|
283
283
|
* ```
|
284
284
|
*/
|
285
|
-
declare const head: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "head">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
285
|
+
declare const head: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "head">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "head", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "head", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
286
286
|
|
287
287
|
/**
|
288
288
|
* Creates a middleware handler with schema validation and type safety.
|
@@ -346,11 +346,11 @@ declare const head: <SV extends AnySchemaValidator, Name extends string, Path ex
|
|
346
346
|
* );
|
347
347
|
* ```
|
348
348
|
*/
|
349
|
-
declare const middleware: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
349
|
+
declare const middleware: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "middleware", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => {
|
350
350
|
_typedHandler: true;
|
351
351
|
_path: Path;
|
352
|
-
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>;
|
353
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
352
|
+
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>;
|
353
|
+
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
354
354
|
};
|
355
355
|
|
356
356
|
/**
|
@@ -408,7 +408,7 @@ declare const middleware: <SV extends AnySchemaValidator, Name extends string, P
|
|
408
408
|
* );
|
409
409
|
* ```
|
410
410
|
*/
|
411
|
-
declare const options: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "options">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
411
|
+
declare const options: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "options">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "options", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "options", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
412
412
|
|
413
413
|
/**
|
414
414
|
* Creates a PATCH route handler with schema validation and type safety.
|
@@ -500,7 +500,7 @@ declare const options: <SV extends AnySchemaValidator, Name extends string, Path
|
|
500
500
|
* );
|
501
501
|
* ```
|
502
502
|
*/
|
503
|
-
declare const patch: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "patch">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
503
|
+
declare const patch: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "patch">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "patch", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "patch", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
504
504
|
|
505
505
|
/**
|
506
506
|
* Creates a POST route handler with schema validation and type safety.
|
@@ -585,7 +585,7 @@ declare const patch: <SV extends AnySchemaValidator, Name extends string, Path e
|
|
585
585
|
* );
|
586
586
|
* ```
|
587
587
|
*/
|
588
|
-
declare const post: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "post">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
588
|
+
declare const post: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "post">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "post", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "post", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
589
589
|
|
590
590
|
/**
|
591
591
|
* Creates a PUT route handler with schema validation and type safety for Hyper-Express.
|
@@ -651,7 +651,7 @@ declare const post: <SV extends AnySchemaValidator, Name extends string, Path ex
|
|
651
651
|
* );
|
652
652
|
* ```
|
653
653
|
*/
|
654
|
-
declare const put: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "put">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
654
|
+
declare const put: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "put">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "put", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "put", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
655
655
|
|
656
656
|
/**
|
657
657
|
* Creates a TRACE route handler with schema validation and type safety.
|
@@ -703,14 +703,16 @@ declare const put: <SV extends AnySchemaValidator, Name extends string, Path ext
|
|
703
703
|
* );
|
704
704
|
* ```
|
705
705
|
*/
|
706
|
-
declare const trace: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "trace">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
706
|
+
declare const trace: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "trace">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "trace", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "trace", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
707
707
|
|
708
|
-
type
|
709
|
-
docs?: DocsConfiguration;
|
708
|
+
type ExpressApplicationOptions<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> = ExpressLikeApplicationOptions<SV, SessionSchema> & {
|
710
709
|
busboy?: BusboyConfig;
|
711
710
|
server?: ServerConstructorOptions;
|
712
711
|
cors?: CorsOptions;
|
713
712
|
};
|
713
|
+
type ExpressRouterOptions<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> = ExpressLikeRouterOptions<SV, SessionSchema> & {
|
714
|
+
busboy?: BusboyConfig;
|
715
|
+
};
|
714
716
|
|
715
717
|
/**
|
716
718
|
* Represents an application built on top of Hyper-Express and Forklaunch.
|
@@ -734,8 +736,11 @@ type ExpressOptions = {
|
|
734
736
|
* await app.listen(3000);
|
735
737
|
* ```
|
736
738
|
*/
|
737
|
-
declare class Application<SV extends AnySchemaValidator
|
739
|
+
declare class Application<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> extends ForklaunchExpressLikeApplication<SV, Server, MiddlewareHandler, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, SessionSchema> {
|
738
740
|
private docsConfiguration;
|
741
|
+
private mcpConfiguration;
|
742
|
+
private openapiConfiguration;
|
743
|
+
private hostingConfiguration;
|
739
744
|
/**
|
740
745
|
* Creates an instance of the Application class.
|
741
746
|
*
|
@@ -752,7 +757,7 @@ declare class Application<SV extends AnySchemaValidator> extends ForklaunchExpre
|
|
752
757
|
* );
|
753
758
|
* ```
|
754
759
|
*/
|
755
|
-
constructor(schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, configurationOptions?:
|
760
|
+
constructor(schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, configurationOptions?: ExpressApplicationOptions<SV, SessionSchema>);
|
756
761
|
/**
|
757
762
|
* Starts the server and sets up API documentation.
|
758
763
|
* Supports multiple listening configurations including port, host, and UNIX socket path.
|
@@ -797,18 +802,16 @@ type ExpressRequestHandler = (req: Omit<Request<Record<string, unknown>>, 'query
|
|
797
802
|
headers: Record<string, unknown>;
|
798
803
|
}, res: Response<Record<string, unknown>>, next: MiddlewareNext) => void;
|
799
804
|
|
800
|
-
declare class Router<SV extends AnySchemaValidator, BasePath extends `/${string}
|
805
|
+
declare class Router<SV extends AnySchemaValidator, BasePath extends `/${string}`, SessionSchema extends SessionObject<SV>> extends ForklaunchExpressLikeRouter<SV, BasePath, MiddlewareHandler, Router$1, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, SessionSchema> implements ForklaunchRouter<SV> {
|
801
806
|
basePath: BasePath;
|
802
807
|
private configOptions;
|
803
|
-
constructor(basePath: BasePath, schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?:
|
804
|
-
busboy?: BusboyConfig;
|
805
|
-
});
|
808
|
+
constructor(basePath: BasePath, schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?: ExpressRouterOptions<SV, SessionSchema>);
|
806
809
|
route(path: string): this;
|
807
|
-
any: TypedMiddlewareDefinition<this, SV, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, ExpressRequestHandler>;
|
810
|
+
any: TypedMiddlewareDefinition<this, SV, SessionSchema, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, ExpressRequestHandler>;
|
808
811
|
clone(): this;
|
809
812
|
}
|
810
813
|
|
811
|
-
type App<SV extends AnySchemaValidator
|
814
|
+
type App<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> = Application<SV, SessionSchema>;
|
812
815
|
/**
|
813
816
|
* Creates a new instance of Application with the given schema validator.
|
814
817
|
*
|
@@ -816,12 +819,7 @@ type App<SV extends AnySchemaValidator> = Application<SV>;
|
|
816
819
|
* @param {SV} schemaValidator - The schema validator.
|
817
820
|
* @returns {Application<SV>} - The new application instance.
|
818
821
|
*/
|
819
|
-
declare function forklaunchExpress<SV extends AnySchemaValidator
|
820
|
-
docs?: DocsConfiguration;
|
821
|
-
busboy?: BusboyConfig;
|
822
|
-
server?: ServerConstructorOptions;
|
823
|
-
cors?: CorsOptions;
|
824
|
-
}): Application<SV>;
|
822
|
+
declare function forklaunchExpress<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>>(schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?: ExpressApplicationOptions<SV, SessionSchema>): Application<SV, SessionSchema>;
|
825
823
|
/**
|
826
824
|
* Creates a new instance of Router with the given base path and schema validator.
|
827
825
|
*
|
@@ -830,9 +828,7 @@ declare function forklaunchExpress<SV extends AnySchemaValidator>(schemaValidato
|
|
830
828
|
* @param {SV} schemaValidator - The schema validator.
|
831
829
|
* @returns {Router<SV>} - The new router instance.
|
832
830
|
*/
|
833
|
-
declare function forklaunchRouter<SV extends AnySchemaValidator, BasePath extends `/${string}
|
834
|
-
busboy?: BusboyConfig;
|
835
|
-
}): Router<SV, BasePath>;
|
831
|
+
declare function forklaunchRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, SessionSchema extends SessionObject<SV>>(basePath: BasePath, schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?: ExpressRouterOptions<SV, SessionSchema>): Router<SV, BasePath, SessionSchema>;
|
836
832
|
|
837
833
|
declare const handlers: {
|
838
834
|
any: typeof any;
|
@@ -847,4 +843,4 @@ declare const handlers: {
|
|
847
843
|
trace: typeof trace;
|
848
844
|
};
|
849
845
|
|
850
|
-
export { type App, Application, type
|
846
|
+
export { type App, Application, type ExpressApplicationOptions, type ExpressRouterOptions, Router, forklaunchExpress, forklaunchRouter, handlers };
|
package/lib/index.d.ts
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
import * as _forklaunch_core_http from '@forklaunch/core/http';
|
2
|
-
import { ParamsObject, ResponsesObject, Body, QueryObject, HeadersObject, VersionSchema, SchemaAuthMethods, ContractDetails, ExpressLikeSchemaHandler,
|
2
|
+
import { ParamsObject, ResponsesObject, Body, QueryObject, HeadersObject, VersionSchema, SessionObject, SchemaAuthMethods, ContractDetails, ExpressLikeSchemaHandler, ExpressLikeApplicationOptions, ExpressLikeRouterOptions, ForklaunchExpressLikeApplication, OpenTelemetryCollector, MetricsDefinition, ParsedQs, ForklaunchExpressLikeRouter, ForklaunchRouter, TypedMiddlewareDefinition } from '@forklaunch/core/http';
|
3
|
+
import { AnySchemaValidator } from '@forklaunch/validator';
|
3
4
|
import { Request, Response, MiddlewareNext, ServerConstructorOptions, Server, MiddlewareHandler, Router as Router$1 } from '@forklaunch/hyper-express-fork';
|
4
5
|
export { MiddlewareNext as NextFunction, Request, Response, ServerConstructorOptions } from '@forklaunch/hyper-express-fork';
|
5
|
-
import
|
6
|
+
import * as uWebsockets from 'uWebSockets.js';
|
6
7
|
import { BusboyConfig } from 'busboy';
|
7
8
|
export { BusboyConfig } from 'busboy';
|
8
9
|
import { CorsOptions } from 'cors';
|
9
10
|
export { CorsOptions } from 'cors';
|
10
|
-
import * as uWebsockets from 'uWebSockets.js';
|
11
11
|
|
12
12
|
/**
|
13
13
|
* Creates a route handler that matches any HTTP method with schema validation and type safety.
|
@@ -63,11 +63,11 @@ import * as uWebsockets from 'uWebSockets.js';
|
|
63
63
|
* );
|
64
64
|
* ```
|
65
65
|
*/
|
66
|
-
declare const any: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
66
|
+
declare const any: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "middleware", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => {
|
67
67
|
_typedHandler: true;
|
68
68
|
_path: Path;
|
69
|
-
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>;
|
70
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
69
|
+
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>;
|
70
|
+
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
71
71
|
};
|
72
72
|
|
73
73
|
/**
|
@@ -134,7 +134,7 @@ declare const any: <SV extends AnySchemaValidator, Name extends string, Path ext
|
|
134
134
|
* );
|
135
135
|
* ```
|
136
136
|
*/
|
137
|
-
declare const delete_: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "delete">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
137
|
+
declare const delete_: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "delete">, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "delete", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "delete", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
138
138
|
|
139
139
|
/**
|
140
140
|
* Creates a GET route handler with schema validation and type safety.
|
@@ -212,7 +212,7 @@ declare const delete_: <SV extends AnySchemaValidator, Name extends string, Path
|
|
212
212
|
* );
|
213
213
|
* ```
|
214
214
|
*/
|
215
|
-
declare const get: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "get">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
215
|
+
declare const get: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "get">, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "get", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "get", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
216
216
|
|
217
217
|
/**
|
218
218
|
* Creates a HEAD route handler with schema validation and type safety.
|
@@ -282,7 +282,7 @@ declare const get: <SV extends AnySchemaValidator, Name extends string, Path ext
|
|
282
282
|
* );
|
283
283
|
* ```
|
284
284
|
*/
|
285
|
-
declare const head: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "head">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
285
|
+
declare const head: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "head">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "head", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "head", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
286
286
|
|
287
287
|
/**
|
288
288
|
* Creates a middleware handler with schema validation and type safety.
|
@@ -346,11 +346,11 @@ declare const head: <SV extends AnySchemaValidator, Name extends string, Path ex
|
|
346
346
|
* );
|
347
347
|
* ```
|
348
348
|
*/
|
349
|
-
declare const middleware: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
349
|
+
declare const middleware: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "middleware">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "middleware", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => {
|
350
350
|
_typedHandler: true;
|
351
351
|
_path: Path;
|
352
|
-
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>;
|
353
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
352
|
+
contractDetails: _forklaunch_core_http.MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>;
|
353
|
+
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
|
354
354
|
};
|
355
355
|
|
356
356
|
/**
|
@@ -408,7 +408,7 @@ declare const middleware: <SV extends AnySchemaValidator, Name extends string, P
|
|
408
408
|
* );
|
409
409
|
* ```
|
410
410
|
*/
|
411
|
-
declare const options: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "options">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
411
|
+
declare const options: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "options">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "options", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "options", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
412
412
|
|
413
413
|
/**
|
414
414
|
* Creates a PATCH route handler with schema validation and type safety.
|
@@ -500,7 +500,7 @@ declare const options: <SV extends AnySchemaValidator, Name extends string, Path
|
|
500
500
|
* );
|
501
501
|
* ```
|
502
502
|
*/
|
503
|
-
declare const patch: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "patch">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
503
|
+
declare const patch: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "patch">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "patch", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "patch", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
504
504
|
|
505
505
|
/**
|
506
506
|
* Creates a POST route handler with schema validation and type safety.
|
@@ -585,7 +585,7 @@ declare const patch: <SV extends AnySchemaValidator, Name extends string, Path e
|
|
585
585
|
* );
|
586
586
|
* ```
|
587
587
|
*/
|
588
|
-
declare const post: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "post">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
588
|
+
declare const post: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "post">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "post", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "post", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
589
589
|
|
590
590
|
/**
|
591
591
|
* Creates a PUT route handler with schema validation and type safety for Hyper-Express.
|
@@ -651,7 +651,7 @@ declare const post: <SV extends AnySchemaValidator, Name extends string, Path ex
|
|
651
651
|
* );
|
652
652
|
* ```
|
653
653
|
*/
|
654
|
-
declare const put: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "put">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
654
|
+
declare const put: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "put">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "put", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "put", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
655
655
|
|
656
656
|
/**
|
657
657
|
* Creates a TRACE route handler with schema validation and type safety.
|
@@ -703,14 +703,16 @@ declare const put: <SV extends AnySchemaValidator, Name extends string, Path ext
|
|
703
703
|
* );
|
704
704
|
* ```
|
705
705
|
*/
|
706
|
-
declare const trace: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "trace">, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders,
|
706
|
+
declare const trace: <SV extends AnySchemaValidator, Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, "trace">, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, "trace", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, SessionSchema, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => _forklaunch_core_http.ExpressLikeTypedHandler<SV, Name, "trace", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
|
707
707
|
|
708
|
-
type
|
709
|
-
docs?: DocsConfiguration;
|
708
|
+
type ExpressApplicationOptions<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> = ExpressLikeApplicationOptions<SV, SessionSchema> & {
|
710
709
|
busboy?: BusboyConfig;
|
711
710
|
server?: ServerConstructorOptions;
|
712
711
|
cors?: CorsOptions;
|
713
712
|
};
|
713
|
+
type ExpressRouterOptions<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> = ExpressLikeRouterOptions<SV, SessionSchema> & {
|
714
|
+
busboy?: BusboyConfig;
|
715
|
+
};
|
714
716
|
|
715
717
|
/**
|
716
718
|
* Represents an application built on top of Hyper-Express and Forklaunch.
|
@@ -734,8 +736,11 @@ type ExpressOptions = {
|
|
734
736
|
* await app.listen(3000);
|
735
737
|
* ```
|
736
738
|
*/
|
737
|
-
declare class Application<SV extends AnySchemaValidator
|
739
|
+
declare class Application<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> extends ForklaunchExpressLikeApplication<SV, Server, MiddlewareHandler, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, SessionSchema> {
|
738
740
|
private docsConfiguration;
|
741
|
+
private mcpConfiguration;
|
742
|
+
private openapiConfiguration;
|
743
|
+
private hostingConfiguration;
|
739
744
|
/**
|
740
745
|
* Creates an instance of the Application class.
|
741
746
|
*
|
@@ -752,7 +757,7 @@ declare class Application<SV extends AnySchemaValidator> extends ForklaunchExpre
|
|
752
757
|
* );
|
753
758
|
* ```
|
754
759
|
*/
|
755
|
-
constructor(schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, configurationOptions?:
|
760
|
+
constructor(schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, configurationOptions?: ExpressApplicationOptions<SV, SessionSchema>);
|
756
761
|
/**
|
757
762
|
* Starts the server and sets up API documentation.
|
758
763
|
* Supports multiple listening configurations including port, host, and UNIX socket path.
|
@@ -797,18 +802,16 @@ type ExpressRequestHandler = (req: Omit<Request<Record<string, unknown>>, 'query
|
|
797
802
|
headers: Record<string, unknown>;
|
798
803
|
}, res: Response<Record<string, unknown>>, next: MiddlewareNext) => void;
|
799
804
|
|
800
|
-
declare class Router<SV extends AnySchemaValidator, BasePath extends `/${string}
|
805
|
+
declare class Router<SV extends AnySchemaValidator, BasePath extends `/${string}`, SessionSchema extends SessionObject<SV>> extends ForklaunchExpressLikeRouter<SV, BasePath, MiddlewareHandler, Router$1, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, SessionSchema> implements ForklaunchRouter<SV> {
|
801
806
|
basePath: BasePath;
|
802
807
|
private configOptions;
|
803
|
-
constructor(basePath: BasePath, schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?:
|
804
|
-
busboy?: BusboyConfig;
|
805
|
-
});
|
808
|
+
constructor(basePath: BasePath, schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?: ExpressRouterOptions<SV, SessionSchema>);
|
806
809
|
route(path: string): this;
|
807
|
-
any: TypedMiddlewareDefinition<this, SV, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, ExpressRequestHandler>;
|
810
|
+
any: TypedMiddlewareDefinition<this, SV, SessionSchema, Request<Record<string, unknown>>, Response<Record<string, unknown>>, MiddlewareNext, ExpressRequestHandler>;
|
808
811
|
clone(): this;
|
809
812
|
}
|
810
813
|
|
811
|
-
type App<SV extends AnySchemaValidator
|
814
|
+
type App<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>> = Application<SV, SessionSchema>;
|
812
815
|
/**
|
813
816
|
* Creates a new instance of Application with the given schema validator.
|
814
817
|
*
|
@@ -816,12 +819,7 @@ type App<SV extends AnySchemaValidator> = Application<SV>;
|
|
816
819
|
* @param {SV} schemaValidator - The schema validator.
|
817
820
|
* @returns {Application<SV>} - The new application instance.
|
818
821
|
*/
|
819
|
-
declare function forklaunchExpress<SV extends AnySchemaValidator
|
820
|
-
docs?: DocsConfiguration;
|
821
|
-
busboy?: BusboyConfig;
|
822
|
-
server?: ServerConstructorOptions;
|
823
|
-
cors?: CorsOptions;
|
824
|
-
}): Application<SV>;
|
822
|
+
declare function forklaunchExpress<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>>(schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?: ExpressApplicationOptions<SV, SessionSchema>): Application<SV, SessionSchema>;
|
825
823
|
/**
|
826
824
|
* Creates a new instance of Router with the given base path and schema validator.
|
827
825
|
*
|
@@ -830,9 +828,7 @@ declare function forklaunchExpress<SV extends AnySchemaValidator>(schemaValidato
|
|
830
828
|
* @param {SV} schemaValidator - The schema validator.
|
831
829
|
* @returns {Router<SV>} - The new router instance.
|
832
830
|
*/
|
833
|
-
declare function forklaunchRouter<SV extends AnySchemaValidator, BasePath extends `/${string}
|
834
|
-
busboy?: BusboyConfig;
|
835
|
-
}): Router<SV, BasePath>;
|
831
|
+
declare function forklaunchRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, SessionSchema extends SessionObject<SV>>(basePath: BasePath, schemaValidator: SV, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, options?: ExpressRouterOptions<SV, SessionSchema>): Router<SV, BasePath, SessionSchema>;
|
836
832
|
|
837
833
|
declare const handlers: {
|
838
834
|
any: typeof any;
|
@@ -847,4 +843,4 @@ declare const handlers: {
|
|
847
843
|
trace: typeof trace;
|
848
844
|
};
|
849
845
|
|
850
|
-
export { type App, Application, type
|
846
|
+
export { type App, Application, type ExpressApplicationOptions, type ExpressRouterOptions, Router, forklaunchExpress, forklaunchRouter, handlers };
|