@forklaunch/hyper-express 1.2.32 → 1.2.34

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.
Files changed (46) hide show
  1. package/lib/index.d.ts +28 -864
  2. package/lib/index.d.ts.map +1 -0
  3. package/lib/src/cluster/hyperExpress.cluster.d.ts +4 -0
  4. package/lib/src/cluster/hyperExpress.cluster.d.ts.map +1 -0
  5. package/lib/src/handlers/any.d.ts +64 -0
  6. package/lib/src/handlers/any.d.ts.map +1 -0
  7. package/lib/src/handlers/delete.d.ts +69 -0
  8. package/lib/src/handlers/delete.d.ts.map +1 -0
  9. package/lib/src/handlers/get.d.ts +81 -0
  10. package/lib/src/handlers/get.d.ts.map +1 -0
  11. package/lib/src/handlers/head.d.ts +73 -0
  12. package/lib/src/handlers/head.d.ts.map +1 -0
  13. package/lib/src/handlers/middleware.d.ts +72 -0
  14. package/lib/src/handlers/middleware.d.ts.map +1 -0
  15. package/lib/src/handlers/options.d.ts +60 -0
  16. package/lib/src/handlers/options.d.ts.map +1 -0
  17. package/lib/src/handlers/patch.d.ts +95 -0
  18. package/lib/src/handlers/patch.d.ts.map +1 -0
  19. package/lib/src/handlers/post.d.ts +88 -0
  20. package/lib/src/handlers/post.d.ts.map +1 -0
  21. package/lib/src/handlers/put.d.ts +69 -0
  22. package/lib/src/handlers/put.d.ts.map +1 -0
  23. package/lib/src/handlers/trace.d.ts +55 -0
  24. package/lib/src/handlers/trace.d.ts.map +1 -0
  25. package/lib/src/hyperExpressApplication.d.ts +81 -0
  26. package/lib/src/hyperExpressApplication.d.ts.map +1 -0
  27. package/lib/src/hyperExpressRouter.d.ts +18 -0
  28. package/lib/src/hyperExpressRouter.d.ts.map +1 -0
  29. package/lib/src/middleware/contentParse.middleware.d.ts +36 -0
  30. package/lib/src/middleware/contentParse.middleware.d.ts.map +1 -0
  31. package/lib/src/middleware/enrichResponseTransmission.middleware.d.ts +26 -0
  32. package/lib/src/middleware/enrichResponseTransmission.middleware.d.ts.map +1 -0
  33. package/lib/src/middleware/polyfillGetHeaders.middleware.d.ts +26 -0
  34. package/lib/src/middleware/polyfillGetHeaders.middleware.d.ts.map +1 -0
  35. package/lib/src/middleware/swagger.middleware.d.ts +53 -0
  36. package/lib/src/middleware/swagger.middleware.d.ts.map +1 -0
  37. package/lib/src/types/hyperExpress.types.d.ts +52 -0
  38. package/lib/src/types/hyperExpress.types.d.ts.map +1 -0
  39. package/lib/src/types/hyperExpressOptions.types.d.ts +14 -0
  40. package/lib/src/types/hyperExpressOptions.types.d.ts.map +1 -0
  41. package/lib/src/types/websocketMiddleware.types.d.ts +45 -0
  42. package/lib/src/types/websocketMiddleware.types.d.ts.map +1 -0
  43. package/lib/src/webSocket.d.ts +12 -0
  44. package/lib/src/webSocket.d.ts.map +1 -0
  45. package/package.json +17 -17
  46. package/lib/index.d.mts +0 -896
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ClusterConfig } from '@forklaunch/core/http';
2
+ import { Server } from '@forklaunch/hyper-express-fork';
3
+ export declare function startHyperExpressCluster(config: ClusterConfig<Server>): void;
4
+ //# sourceMappingURL=hyperExpress.cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperExpress.cluster.d.ts","sourceRoot":"","sources":["../../../src/cluster/hyperExpress.cluster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAKxD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,QA0JrE"}
@@ -0,0 +1,64 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { MiddlewareNext, Request, Response } from '@forklaunch/hyper-express-fork';
3
+ import { AnySchemaValidator } from '@forklaunch/validator';
4
+ /**
5
+ * Creates a route handler that matches any HTTP method with schema validation and type safety.
6
+ *
7
+ * @template SV - The schema validator type
8
+ * @template Path - The route path type (must start with '/')
9
+ * @template P - The path parameters type
10
+ * @template ResBodyMap - The response body map type
11
+ * @template ReqBody - The request body type
12
+ * @template ReqQuery - The request query parameters type
13
+ * @template ReqHeaders - The request headers type
14
+ * @template ResHeaders - The response headers type
15
+ * @template LocalsObj - The locals object type
16
+ *
17
+ * @param {SV} schemaValidator - The schema validator instance
18
+ * @param {Path} path - The route path
19
+ * @param {ContractDetails<SV, 'any', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request<LocalsObj>>} contractDetails - The contract details for the route
20
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]} handlers - The route handlers
21
+ *
22
+ * @returns {void} - Returns nothing, registers the route with Hyper-Express
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * any(
27
+ * schemaValidator,
28
+ * '/webhooks',
29
+ * {
30
+ * summary: 'Webhook endpoint',
31
+ * description: 'Handles webhook requests from any HTTP method',
32
+ * tags: ['webhooks'],
33
+ * responses: {
34
+ * 200: {
35
+ * description: 'Webhook processed successfully',
36
+ * content: {
37
+ * 'application/json': {
38
+ * schema: {
39
+ * type: 'object',
40
+ * properties: {
41
+ * status: { type: 'string' }
42
+ * }
43
+ * }
44
+ * }
45
+ * }
46
+ * }
47
+ * }
48
+ * },
49
+ * async (req, res) => {
50
+ * const method = req.method;
51
+ * const body = await req.json();
52
+ * await processWebhook(method, body);
53
+ * res.status(200).json({ status: 'processed' });
54
+ * }
55
+ * );
56
+ * ```
57
+ */
58
+ export 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, VersionedApi, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => {
59
+ _typedHandler: true;
60
+ _path: Path;
61
+ contractDetails: import("@forklaunch/core/http").MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>;
62
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
63
+ };
64
+ //# sourceMappingURL=any.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any.d.ts","sourceRoot":"","sources":["../../../src/handlers/any.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,GAAG,GACd,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,EAC1D,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,CACnB,mBAEgB,EAAE,QACb,IAAI,mBACO,eAAe,CAC9B,EAAE,EACF,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,EAClB,IAAI,CACL,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAClD,OAAO,CAAC,SAAS,CAAC,EAClB,QAAQ,CAAC,SAAS,CAAC,EACnB,cAAc,CACf,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { MiddlewareNext, Request, Response } from '@forklaunch/hyper-express-fork';
3
+ import { AnySchemaValidator } from '@forklaunch/validator';
4
+ /**
5
+ * Creates a DELETE route handler with schema validation and type safety.
6
+ *
7
+ * @template SV - The schema validator type
8
+ * @template Path - The route path type (must start with '/')
9
+ * @template P - The path parameters type
10
+ * @template ResBodyMap - The response body map type
11
+ * @template ReqBody - The request body type
12
+ * @template ReqQuery - The request query parameters type
13
+ * @template ReqHeaders - The request headers type
14
+ * @template ResHeaders - The response headers type
15
+ * @template LocalsObj - The locals object type
16
+ *
17
+ * @param {SV} schemaValidator - The schema validator instance
18
+ * @param {Path} path - The route path
19
+ * @param {ContractDetails<SV, 'delete', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request<LocalsObj>>} contractDetails - The contract details for the route
20
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]} handlers - The route handlers
21
+ *
22
+ * @returns {void} - Returns nothing, registers the route with Hyper-Express
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * delete_(
27
+ * schemaValidator,
28
+ * '/users/:id',
29
+ * {
30
+ * summary: 'Delete user',
31
+ * description: 'Deletes a user by ID',
32
+ * tags: ['users'],
33
+ * parameters: [
34
+ * {
35
+ * name: 'id',
36
+ * in: 'path',
37
+ * required: true,
38
+ * schema: { type: 'string' }
39
+ * }
40
+ * ],
41
+ * responses: {
42
+ * 204: {
43
+ * description: 'User deleted successfully'
44
+ * },
45
+ * 404: {
46
+ * description: 'User not found',
47
+ * content: {
48
+ * 'application/json': {
49
+ * schema: {
50
+ * type: 'object',
51
+ * properties: {
52
+ * error: { type: 'string' }
53
+ * }
54
+ * }
55
+ * }
56
+ * }
57
+ * }
58
+ * }
59
+ * },
60
+ * async (req, res) => {
61
+ * const { id } = req.params;
62
+ * await deleteUser(id);
63
+ * res.status(204).end();
64
+ * }
65
+ * );
66
+ * ```
67
+ */
68
+ export 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, VersionedApi, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'delete', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => import("@forklaunch/core/http").ExpressLikeTypedHandler<SV, Name, "delete", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
69
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/handlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,OAAO,GAClB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,EACtD,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,CACnB,mBAEgB,EAAE,QACb,IAAI,mBACO,eAAe,CAC9B,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,EAClB,IAAI,CACL,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAClD,OAAO,CAAC,SAAS,CAAC,EAClB,QAAQ,CAAC,SAAS,CAAC,EACnB,cAAc,CACf,EAAE,wOAmBJ,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { MiddlewareNext, Request, Response } from '@forklaunch/hyper-express-fork';
3
+ import { AnySchemaValidator } from '@forklaunch/validator';
4
+ /**
5
+ * Creates a GET route handler with schema validation and type safety.
6
+ *
7
+ * @template SV - The schema validator type
8
+ * @template Path - The route path type (must start with '/')
9
+ * @template P - The path parameters type
10
+ * @template ResBodyMap - The response body map type
11
+ * @template ReqBody - The request body type
12
+ * @template ReqQuery - The request query parameters type
13
+ * @template ReqHeaders - The request headers type
14
+ * @template ResHeaders - The response headers type
15
+ * @template LocalsObj - The locals object type
16
+ *
17
+ * @param {SV} schemaValidator - The schema validator instance
18
+ * @param {Path} path - The route path
19
+ * @param {ContractDetails<SV, 'get', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request<LocalsObj>>} contractDetails - The contract details for the route
20
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]} handlers - The route handlers
21
+ *
22
+ * @returns {void} - Returns nothing, registers the route with Hyper-Express
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * get(
27
+ * schemaValidator,
28
+ * '/users/:id',
29
+ * {
30
+ * summary: 'Get user',
31
+ * description: 'Retrieves a user by ID',
32
+ * tags: ['users'],
33
+ * parameters: [
34
+ * {
35
+ * name: 'id',
36
+ * in: 'path',
37
+ * required: true,
38
+ * schema: { type: 'string' }
39
+ * }
40
+ * ],
41
+ * responses: {
42
+ * 200: {
43
+ * description: 'User retrieved successfully',
44
+ * content: {
45
+ * 'application/json': {
46
+ * schema: {
47
+ * type: 'object',
48
+ * properties: {
49
+ * id: { type: 'string' },
50
+ * name: { type: 'string' },
51
+ * email: { type: 'string' }
52
+ * }
53
+ * }
54
+ * }
55
+ * }
56
+ * },
57
+ * 404: {
58
+ * description: 'User not found',
59
+ * content: {
60
+ * 'application/json': {
61
+ * schema: {
62
+ * type: 'object',
63
+ * properties: {
64
+ * error: { type: 'string' }
65
+ * }
66
+ * }
67
+ * }
68
+ * }
69
+ * }
70
+ * }
71
+ * },
72
+ * async (req, res) => {
73
+ * const { id } = req.params;
74
+ * const user = await getUser(id);
75
+ * res.status(200).json(user);
76
+ * }
77
+ * );
78
+ * ```
79
+ */
80
+ export 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, VersionedApi, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'get', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => import("@forklaunch/core/http").ExpressLikeTypedHandler<SV, Name, "get", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
81
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/handlers/get.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,eAAO,MAAM,GAAG,GACd,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,EACnD,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,CACnB,mBAEgB,EAAE,QACb,IAAI,mBACO,eAAe,CAC9B,EAAE,EACF,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,EAClB,IAAI,CACL,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAClD,OAAO,CAAC,SAAS,CAAC,EAClB,QAAQ,CAAC,SAAS,CAAC,EACnB,cAAc,CACf,EAAE,qOAmBJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { MiddlewareNext, Request, Response } from '@forklaunch/hyper-express-fork';
3
+ import { AnySchemaValidator } from '@forklaunch/validator';
4
+ /**
5
+ * Creates a HEAD route handler with schema validation and type safety.
6
+ *
7
+ * @template SV - The schema validator type
8
+ * @template Path - The route path type (must start with '/')
9
+ * @template P - The path parameters type
10
+ * @template ResBodyMap - The response body map type
11
+ * @template ReqBody - The request body type
12
+ * @template ReqQuery - The request query parameters type
13
+ * @template ReqHeaders - The request headers type
14
+ * @template ResHeaders - The response headers type
15
+ * @template LocalsObj - The locals object type
16
+ *
17
+ * @param {SV} schemaValidator - The schema validator instance
18
+ * @param {Path} path - The route path
19
+ * @param {ContractDetails<SV, 'head', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request<LocalsObj>>} contractDetails - The contract details for the route
20
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]} handlers - The route handlers
21
+ *
22
+ * @returns {void} - Returns nothing, registers the route with Hyper-Express
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * head(
27
+ * schemaValidator,
28
+ * '/files/:id',
29
+ * {
30
+ * summary: 'Get file metadata',
31
+ * description: 'Retrieves metadata for a file without downloading its contents',
32
+ * tags: ['files'],
33
+ * parameters: [
34
+ * {
35
+ * name: 'id',
36
+ * in: 'path',
37
+ * required: true,
38
+ * schema: { type: 'string' }
39
+ * }
40
+ * ],
41
+ * responses: {
42
+ * 200: {
43
+ * description: 'File metadata retrieved successfully',
44
+ * headers: {
45
+ * 'content-length': {
46
+ * schema: { type: 'string' }
47
+ * },
48
+ * 'content-type': {
49
+ * schema: { type: 'string' }
50
+ * },
51
+ * 'last-modified': {
52
+ * schema: { type: 'string' }
53
+ * }
54
+ * }
55
+ * },
56
+ * 404: {
57
+ * description: 'File not found'
58
+ * }
59
+ * }
60
+ * },
61
+ * async (req, res) => {
62
+ * const { id } = req.params;
63
+ * const metadata = await getFileMetadata(id);
64
+ * res.setHeader('content-length', metadata.size);
65
+ * res.setHeader('content-type', metadata.type);
66
+ * res.setHeader('last-modified', metadata.lastModified);
67
+ * res.status(200).end();
68
+ * }
69
+ * );
70
+ * ```
71
+ */
72
+ export 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, VersionedApi, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'head', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => import("@forklaunch/core/http").ExpressLikeTypedHandler<SV, Name, "head", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
73
+ //# sourceMappingURL=head.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../src/handlers/head.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,eAAO,MAAM,IAAI,GACf,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,EACpD,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,CACnB,mBAEgB,EAAE,QACb,IAAI,mBACO,eAAe,CAC9B,EAAE,EACF,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,EAClB,IAAI,CACL,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAClD,OAAO,CAAC,SAAS,CAAC,EAClB,QAAQ,CAAC,SAAS,CAAC,EACnB,cAAc,CACf,EAAE,sOAmBJ,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { MiddlewareNext, Request, Response } from '@forklaunch/hyper-express-fork';
3
+ import { AnySchemaValidator } from '@forklaunch/validator';
4
+ /**
5
+ * Creates a middleware handler with schema validation and type safety.
6
+ *
7
+ * @template SV - The schema validator type
8
+ * @template Path - The route path type (must start with '/')
9
+ * @template P - The path parameters type
10
+ * @template ResBodyMap - The response body map type
11
+ * @template ReqBody - The request body type
12
+ * @template ReqQuery - The request query parameters type
13
+ * @template ReqHeaders - The request headers type
14
+ * @template ResHeaders - The response headers type
15
+ * @template LocalsObj - The locals object type
16
+ *
17
+ * @param {SV} schemaValidator - The schema validator instance
18
+ * @param {Path} path - The route path
19
+ * @param {ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request<LocalsObj>>} contractDetails - The contract details for the route
20
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]} handlers - The route handlers
21
+ *
22
+ * @returns {void} - Returns nothing, registers the middleware with Hyper-Express
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * middleware(
27
+ * schemaValidator,
28
+ * '/api/*',
29
+ * {
30
+ * summary: 'Authentication middleware',
31
+ * description: 'Validates JWT tokens for API routes',
32
+ * tags: ['auth'],
33
+ * responses: {
34
+ * 401: {
35
+ * description: 'Unauthorized',
36
+ * content: {
37
+ * 'application/json': {
38
+ * schema: {
39
+ * type: 'object',
40
+ * properties: {
41
+ * error: { type: 'string' }
42
+ * }
43
+ * }
44
+ * }
45
+ * }
46
+ * }
47
+ * }
48
+ * },
49
+ * async (req, res, next) => {
50
+ * const token = req.headers.authorization?.split(' ')[1];
51
+ * if (!token) {
52
+ * res.status(401).json({ error: 'No token provided' });
53
+ * return;
54
+ * }
55
+ * try {
56
+ * const decoded = await verifyToken(token);
57
+ * req.user = decoded;
58
+ * next();
59
+ * } catch (err) {
60
+ * res.status(401).json({ error: 'Invalid token' });
61
+ * }
62
+ * }
63
+ * );
64
+ * ```
65
+ */
66
+ export 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, VersionedApi, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => {
67
+ _typedHandler: true;
68
+ _path: Path;
69
+ contractDetails: import("@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, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[];
71
+ };
72
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/handlers/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,eAAO,MAAM,UAAU,GACrB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,EAC1D,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,CACnB,mBAEgB,EAAE,QACb,IAAI,mBACO,eAAe,CAC9B,EAAE,EACF,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,EAClB,IAAI,CACL,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAClD,OAAO,CAAC,SAAS,CAAC,EAClB,QAAQ,CAAC,SAAS,CAAC,EACnB,cAAc,CACf,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { MiddlewareNext, Request, Response } from '@forklaunch/hyper-express-fork';
3
+ import { AnySchemaValidator } from '@forklaunch/validator';
4
+ /**
5
+ * Creates an OPTIONS route handler with schema validation and type safety.
6
+ *
7
+ * @template SV - The schema validator type
8
+ * @template Path - The route path type (must start with '/')
9
+ * @template P - The path parameters type
10
+ * @template ResBodyMap - The response body map type
11
+ * @template ReqBody - The request body type
12
+ * @template ReqQuery - The request query parameters type
13
+ * @template ReqHeaders - The request headers type
14
+ * @template ResHeaders - The response headers type
15
+ * @template LocalsObj - The locals object type
16
+ *
17
+ * @param {SV} schemaValidator - The schema validator instance
18
+ * @param {Path} path - The route path
19
+ * @param {ContractDetails<SV, 'options', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request<LocalsObj>>} contractDetails - The contract details for the route
20
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]} handlers - The route handlers
21
+ *
22
+ * @returns {void} - Returns nothing, registers the route with Hyper-Express
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * options(
27
+ * schemaValidator,
28
+ * '/users/:id',
29
+ * {
30
+ * summary: 'Get user options',
31
+ * description: 'Returns the allowed HTTP methods for the user resource',
32
+ * tags: ['users'],
33
+ * parameters: [
34
+ * {
35
+ * name: 'id',
36
+ * in: 'path',
37
+ * required: true,
38
+ * schema: { type: 'string' }
39
+ * }
40
+ * ],
41
+ * responses: {
42
+ * 200: {
43
+ * description: 'Allowed methods retrieved successfully',
44
+ * headers: {
45
+ * 'allow': {
46
+ * schema: { type: 'string' }
47
+ * }
48
+ * }
49
+ * }
50
+ * }
51
+ * },
52
+ * async (req, res) => {
53
+ * res.setHeader('allow', 'GET, PUT, PATCH, DELETE');
54
+ * res.status(200).end();
55
+ * }
56
+ * );
57
+ * ```
58
+ */
59
+ export 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, VersionedApi, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'options', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => import("@forklaunch/core/http").ExpressLikeTypedHandler<SV, Name, "options", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
60
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/handlers/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,OAAO,GAClB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,EACvD,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,CACnB,mBAEgB,EAAE,QACb,IAAI,mBACO,eAAe,CAC9B,EAAE,EACF,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,EAClB,IAAI,CACL,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAClD,OAAO,CAAC,SAAS,CAAC,EAClB,QAAQ,CAAC,SAAS,CAAC,EACnB,cAAc,CACf,EAAE,yOAmBJ,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { MiddlewareNext, Request, Response } from '@forklaunch/hyper-express-fork';
3
+ import { AnySchemaValidator } from '@forklaunch/validator';
4
+ /**
5
+ * Creates a PATCH route handler with schema validation and type safety.
6
+ *
7
+ * @template SV - The schema validator type
8
+ * @template Path - The route path type (must start with '/')
9
+ * @template P - The path parameters type
10
+ * @template ResBodyMap - The response body map type
11
+ * @template ReqBody - The request body type
12
+ * @template ReqQuery - The request query parameters type
13
+ * @template ReqHeaders - The request headers type
14
+ * @template ResHeaders - The response headers type
15
+ * @template LocalsObj - The locals object type
16
+ *
17
+ * @param {SV} schemaValidator - The schema validator instance
18
+ * @param {Path} path - The route path
19
+ * @param {ContractDetails<SV, 'patch', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request<LocalsObj>>} contractDetails - The contract details for the route
20
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]} handlers - The route handlers
21
+ *
22
+ * @returns {void} - Returns nothing, registers the route with Hyper-Express
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * patch(
27
+ * schemaValidator,
28
+ * '/users/:id',
29
+ * {
30
+ * summary: 'Update user partially',
31
+ * description: 'Updates specific fields of a user by ID',
32
+ * tags: ['users'],
33
+ * parameters: [
34
+ * {
35
+ * name: 'id',
36
+ * in: 'path',
37
+ * required: true,
38
+ * schema: { type: 'string' }
39
+ * }
40
+ * ],
41
+ * requestBody: {
42
+ * content: {
43
+ * 'application/json': {
44
+ * schema: {
45
+ * type: 'object',
46
+ * properties: {
47
+ * name: { type: 'string' },
48
+ * email: { type: 'string' }
49
+ * }
50
+ * }
51
+ * }
52
+ * }
53
+ * },
54
+ * responses: {
55
+ * 200: {
56
+ * description: 'User updated successfully',
57
+ * content: {
58
+ * 'application/json': {
59
+ * schema: {
60
+ * type: 'object',
61
+ * properties: {
62
+ * id: { type: 'string' },
63
+ * name: { type: 'string' },
64
+ * email: { type: 'string' }
65
+ * }
66
+ * }
67
+ * }
68
+ * }
69
+ * },
70
+ * 404: {
71
+ * description: 'User not found',
72
+ * content: {
73
+ * 'application/json': {
74
+ * schema: {
75
+ * type: 'object',
76
+ * properties: {
77
+ * error: { type: 'string' }
78
+ * }
79
+ * }
80
+ * }
81
+ * }
82
+ * }
83
+ * }
84
+ * },
85
+ * async (req, res) => {
86
+ * const { id } = req.params;
87
+ * const updates = await req.json();
88
+ * const user = await updateUser(id, updates);
89
+ * res.status(200).json(user);
90
+ * }
91
+ * );
92
+ * ```
93
+ */
94
+ export 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, VersionedApi, Request<LocalsObj>>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'patch', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<LocalsObj>, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext>[]) => import("@forklaunch/core/http").ExpressLikeTypedHandler<SV, Name, "patch", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<LocalsObj>, Response<LocalsObj>, MiddlewareNext, Auth>;
95
+ //# sourceMappingURL=patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/handlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,eAAO,MAAM,KAAK,GAChB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,EACrD,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,CACnB,mBAEgB,EAAE,QACb,IAAI,mBACO,eAAe,CAC9B,EAAE,EACF,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,EAClB,IAAI,CACL,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAClD,OAAO,CAAC,SAAS,CAAC,EAClB,QAAQ,CAAC,SAAS,CAAC,EACnB,cAAc,CACf,EAAE,uOAmBJ,CAAC"}