@forklaunch/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 (86) hide show
  1. package/lib/index.d.ts +48 -2062
  2. package/lib/index.d.ts.map +1 -0
  3. package/lib/index.js +9 -1
  4. package/lib/index.mjs +9 -1
  5. package/lib/src/cluster/bun.cluster.d.ts +4 -0
  6. package/lib/src/cluster/bun.cluster.d.ts.map +1 -0
  7. package/lib/src/cluster/bun.serve.shim.d.ts +55 -0
  8. package/lib/src/cluster/bun.serve.shim.d.ts.map +1 -0
  9. package/lib/src/cluster/bun.socket.shim.d.ts +81 -0
  10. package/lib/src/cluster/bun.socket.shim.d.ts.map +1 -0
  11. package/lib/src/cluster/node.cluster.d.ts +4 -0
  12. package/lib/src/cluster/node.cluster.d.ts.map +1 -0
  13. package/lib/src/expressApplication.d.ts +59 -0
  14. package/lib/src/expressApplication.d.ts.map +1 -0
  15. package/lib/src/expressRouter.d.ts +51 -0
  16. package/lib/src/expressRouter.d.ts.map +1 -0
  17. package/lib/src/handlers/checkout.d.ts +40 -0
  18. package/lib/src/handlers/checkout.d.ts.map +1 -0
  19. package/lib/src/handlers/copy.d.ts +89 -0
  20. package/lib/src/handlers/copy.d.ts.map +1 -0
  21. package/lib/src/handlers/delete.d.ts +59 -0
  22. package/lib/src/handlers/delete.d.ts.map +1 -0
  23. package/lib/src/handlers/get.d.ts +46 -0
  24. package/lib/src/handlers/get.d.ts.map +1 -0
  25. package/lib/src/handlers/head.d.ts +69 -0
  26. package/lib/src/handlers/head.d.ts.map +1 -0
  27. package/lib/src/handlers/link.d.ts +91 -0
  28. package/lib/src/handlers/link.d.ts.map +1 -0
  29. package/lib/src/handlers/lock.d.ts +90 -0
  30. package/lib/src/handlers/lock.d.ts.map +1 -0
  31. package/lib/src/handlers/m-search.d.ts +85 -0
  32. package/lib/src/handlers/m-search.d.ts.map +1 -0
  33. package/lib/src/handlers/merge.d.ts +101 -0
  34. package/lib/src/handlers/merge.d.ts.map +1 -0
  35. package/lib/src/handlers/middleware.d.ts +67 -0
  36. package/lib/src/handlers/middleware.d.ts.map +1 -0
  37. package/lib/src/handlers/mkcactivity.d.ts +76 -0
  38. package/lib/src/handlers/mkcactivity.d.ts.map +1 -0
  39. package/lib/src/handlers/mkcol.d.ts +76 -0
  40. package/lib/src/handlers/mkcol.d.ts.map +1 -0
  41. package/lib/src/handlers/move.d.ts +78 -0
  42. package/lib/src/handlers/move.d.ts.map +1 -0
  43. package/lib/src/handlers/notify.d.ts +75 -0
  44. package/lib/src/handlers/notify.d.ts.map +1 -0
  45. package/lib/src/handlers/options.d.ts +67 -0
  46. package/lib/src/handlers/options.d.ts.map +1 -0
  47. package/lib/src/handlers/patch.d.ts +86 -0
  48. package/lib/src/handlers/patch.d.ts.map +1 -0
  49. package/lib/src/handlers/post.d.ts +50 -0
  50. package/lib/src/handlers/post.d.ts.map +1 -0
  51. package/lib/src/handlers/propfind.d.ts +84 -0
  52. package/lib/src/handlers/propfind.d.ts.map +1 -0
  53. package/lib/src/handlers/proppatch.d.ts +84 -0
  54. package/lib/src/handlers/proppatch.d.ts.map +1 -0
  55. package/lib/src/handlers/purge.d.ts +63 -0
  56. package/lib/src/handlers/purge.d.ts.map +1 -0
  57. package/lib/src/handlers/put.d.ts +73 -0
  58. package/lib/src/handlers/put.d.ts.map +1 -0
  59. package/lib/src/handlers/report.d.ts +70 -0
  60. package/lib/src/handlers/report.d.ts.map +1 -0
  61. package/lib/src/handlers/search.d.ts +83 -0
  62. package/lib/src/handlers/search.d.ts.map +1 -0
  63. package/lib/src/handlers/subscribe.d.ts +75 -0
  64. package/lib/src/handlers/subscribe.d.ts.map +1 -0
  65. package/lib/src/handlers/trace.d.ts +59 -0
  66. package/lib/src/handlers/trace.d.ts.map +1 -0
  67. package/lib/src/handlers/unlink.d.ts +70 -0
  68. package/lib/src/handlers/unlink.d.ts.map +1 -0
  69. package/lib/src/handlers/unlock.d.ts +70 -0
  70. package/lib/src/handlers/unlock.d.ts.map +1 -0
  71. package/lib/src/handlers/unsubscribe.d.ts +71 -0
  72. package/lib/src/handlers/unsubscribe.d.ts.map +1 -0
  73. package/lib/src/middleware/async.middleware.d.ts +16 -0
  74. package/lib/src/middleware/async.middleware.d.ts.map +1 -0
  75. package/lib/src/middleware/content.parse.middleware.d.ts +13 -0
  76. package/lib/src/middleware/content.parse.middleware.d.ts.map +1 -0
  77. package/lib/src/middleware/enrichResponseTransmission.middleware.d.ts +27 -0
  78. package/lib/src/middleware/enrichResponseTransmission.middleware.d.ts.map +1 -0
  79. package/lib/src/types/export.types.d.ts +9 -0
  80. package/lib/src/types/export.types.d.ts.map +1 -0
  81. package/lib/src/types/express.types.d.ts +84 -0
  82. package/lib/src/types/express.types.d.ts.map +1 -0
  83. package/lib/src/types/expressOptions.types.d.ts +17 -0
  84. package/lib/src/types/expressOptions.types.d.ts.map +1 -0
  85. package/package.json +22 -22
  86. package/lib/index.d.mts +0 -2112
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proppatch.d.ts","sourceRoot":"","sources":["../../../src/handlers/proppatch.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,eAAO,MAAM,SAAS,GACpB,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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates a PURGE route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Name - The name of the route
11
+ * @template Path - The route path type
12
+ * @template P - The path parameters type
13
+ * @template ResBodyMap - The response body map type
14
+ * @template ReqQuery - The request query parameters type
15
+ * @template ReqHeaders - The request headers type
16
+ * @template ResHeaders - The response headers type
17
+ * @template LocalsObj - The locals object type
18
+ *
19
+ * @param {SV} schemaValidator - The schema validator instance
20
+ * @param {Path} path - The route path
21
+ * @param {ContractDetails<SV, 'purge', Name, Path, P, ResBodyMap, never, ReqQuery, ReqHeaders, ResHeaders, Request>} contractDetails - The contract details for the route
22
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, never, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Response, NextFunction>[]} handlers - The route handlers
23
+ *
24
+ * @returns {void} - Returns nothing, registers the route with Express
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * purge(
29
+ * schemaValidator,
30
+ * '/cache/:id',
31
+ * {
32
+ * summary: 'Purge cache',
33
+ * description: 'Removes an item from the cache',
34
+ * tags: ['cache'],
35
+ * parameters: [
36
+ * {
37
+ * name: 'id',
38
+ * in: 'path',
39
+ * required: true,
40
+ * schema: { type: 'string' }
41
+ * }
42
+ * ],
43
+ * responses: {
44
+ * 204: {
45
+ * description: 'Cache item purged successfully'
46
+ * }
47
+ * }
48
+ * },
49
+ * async (req, res) => {
50
+ * const { id } = req.params;
51
+ * await purgeCacheItem(id);
52
+ * res.status(204).send();
53
+ * }
54
+ * );
55
+ * ```
56
+ */
57
+ export declare const purge: <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>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => {
58
+ _typedHandler: true;
59
+ _path: Path;
60
+ contractDetails: import("@forklaunch/core/http").MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Auth>;
61
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction>[];
62
+ };
63
+ //# sourceMappingURL=purge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../../src/handlers/purge.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;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,YAAY,CAAC,EAC1D,KAAK,CAAC,IAAI,SAAS,iBAAiB,CAClC,EAAE,EACF,CAAC,EACD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates a PUT route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Name - The name of the route
11
+ * @template Path - The route path type
12
+ * @template P - The path parameters type
13
+ * @template ResBodyMap - The response body map type
14
+ * @template ReqBody - The request body type
15
+ * @template ReqQuery - The request query parameters type
16
+ * @template ReqHeaders - The request headers type
17
+ * @template ResHeaders - The response headers type
18
+ * @template LocalsObj - The locals object type
19
+ * @template Auth - The authentication method type
20
+ *
21
+ * @param {SV} schemaValidator - The schema validator instance
22
+ * @param {Path} path - The route path
23
+ * @param {ContractDetails<SV, 'put', Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request, Auth>} contractDetails - The contract details for the route
24
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Response, NextFunction>[]} handlers - The route handlers
25
+ *
26
+ * @returns {void} - Returns nothing, registers the route with Express
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * put(
31
+ * schemaValidator,
32
+ * '/users/:id',
33
+ * {
34
+ * summary: 'Update user',
35
+ * description: 'Updates a user by ID',
36
+ * tags: ['users'],
37
+ * pathParams: {
38
+ * id: { type: 'string' }
39
+ * },
40
+ * body: {
41
+ * type: 'object',
42
+ * properties: {
43
+ * name: { type: 'string' }
44
+ * }
45
+ * },
46
+ * responses: {
47
+ * 200: {
48
+ * description: 'User updated successfully',
49
+ * content: {
50
+ * 'application/json': {
51
+ * schema: {
52
+ * type: 'object',
53
+ * properties: {
54
+ * id: { type: 'string' },
55
+ * name: { type: 'string' }
56
+ * }
57
+ * }
58
+ * }
59
+ * }
60
+ * }
61
+ * }
62
+ * },
63
+ * async (req, res) => {
64
+ * const { id } = req.params;
65
+ * const { name } = req.body;
66
+ * // Update user logic
67
+ * res.json({ id, name });
68
+ * }
69
+ * );
70
+ * ```
71
+ */
72
+ export 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, VersionedApi, Request>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'put', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => import("@forklaunch/core/http").ExpressLikeTypedHandler<SV, Name, "put", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction, Auth>;
73
+ //# sourceMappingURL=put.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/handlers/put.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE,0SAmBJ,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates a REPORT route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Name - The name of the route
11
+ * @template Path - The route path type
12
+ * @template P - The path parameters type
13
+ * @template ResBodyMap - The response body map type
14
+ * @template ReqBody - The request body type
15
+ * @template ReqQuery - The request query parameters type
16
+ * @template ReqHeaders - The request headers type
17
+ * @template ResHeaders - The response headers type
18
+ * @template LocalsObj - The locals object type
19
+ *
20
+ * @param {SV} schemaValidator - The schema validator instance
21
+ * @param {Path} path - The route path
22
+ * @param {ContractDetails<SV, 'report', Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request>} contractDetails - The contract details for the route
23
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Response, NextFunction>[]} handlers - The route handlers
24
+ *
25
+ * @returns {void} - Returns nothing, registers the route with Express
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * report(
30
+ * schemaValidator,
31
+ * '/reports/:id',
32
+ * {
33
+ * summary: 'Generate report',
34
+ * description: 'Generates a report for the specified resource',
35
+ * tags: ['reports'],
36
+ * pathParams: {
37
+ * id: { type: 'string' }
38
+ * },
39
+ * responses: {
40
+ * 200: {
41
+ * description: 'Report generated successfully',
42
+ * content: {
43
+ * 'application/json': {
44
+ * schema: {
45
+ * type: 'object',
46
+ * properties: {
47
+ * id: { type: 'string' },
48
+ * status: { type: 'string' }
49
+ * }
50
+ * }
51
+ * }
52
+ * }
53
+ * }
54
+ * }
55
+ * },
56
+ * async (req, res) => {
57
+ * const { id } = req.params;
58
+ * // Generate report logic
59
+ * res.json({ id, status: 'completed' });
60
+ * }
61
+ * );
62
+ * ```
63
+ */
64
+ export declare const report: <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>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => {
65
+ _typedHandler: true;
66
+ _path: Path;
67
+ contractDetails: import("@forklaunch/core/http").MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Auth>;
68
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction>[];
69
+ };
70
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/handlers/report.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,MAAM,GACjB,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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates a SEARCH route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Name - The name of the route
11
+ * @template Path - The route path type (must start with '/')
12
+ * @template P - The path parameters type
13
+ * @template ResBodyMap - The response body map type
14
+ * @template ReqBody - The request body type
15
+ * @template ReqQuery - The request query parameters type
16
+ * @template ReqHeaders - The request headers type
17
+ * @template ResHeaders - The response headers type
18
+ * @template LocalsObj - The locals object type
19
+ * @template Auth - The authentication methods type
20
+ *
21
+ * @param {SV} schemaValidator - The schema validator instance
22
+ * @param {Path} path - The route path
23
+ * @param {ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request, Auth>} contractDetails - The contract details for the route
24
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Auth>} handlers - The route handlers
25
+ *
26
+ * @returns {void} - Returns nothing, registers the route with Express
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * search(
31
+ * schemaValidator,
32
+ * '/search',
33
+ * {
34
+ * summary: 'Search resources',
35
+ * description: 'Searches for resources based on query parameters',
36
+ * tags: ['search'],
37
+ * query: {
38
+ * type: 'object',
39
+ * properties: {
40
+ * q: { type: 'string' },
41
+ * limit: { type: 'number' }
42
+ * }
43
+ * },
44
+ * responses: {
45
+ * 200: {
46
+ * description: 'Search results',
47
+ * content: {
48
+ * 'application/json': {
49
+ * schema: {
50
+ * type: 'object',
51
+ * properties: {
52
+ * results: {
53
+ * type: 'array',
54
+ * items: {
55
+ * type: 'object',
56
+ * properties: {
57
+ * id: { type: 'string' },
58
+ * title: { type: 'string' }
59
+ * }
60
+ * }
61
+ * }
62
+ * }
63
+ * }
64
+ * }
65
+ * }
66
+ * }
67
+ * }
68
+ * },
69
+ * async (req, res) => {
70
+ * const { q, limit } = req.query;
71
+ * // Search logic
72
+ * res.json({ results: [] });
73
+ * }
74
+ * );
75
+ * ```
76
+ */
77
+ export declare const search: <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>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => {
78
+ _typedHandler: true;
79
+ _path: Path;
80
+ contractDetails: import("@forklaunch/core/http").MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Auth>;
81
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction>[];
82
+ };
83
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/handlers/search.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,eAAO,MAAM,MAAM,GACjB,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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates a SUBSCRIBE route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Name - The name of the route
11
+ * @template Path - The route path type
12
+ * @template P - The path parameters type
13
+ * @template ResBodyMap - The response body map type
14
+ * @template ReqBody - The request body type
15
+ * @template ReqQuery - The request query parameters type
16
+ * @template ReqHeaders - The request headers type
17
+ * @template ResHeaders - The response headers type
18
+ * @template LocalsObj - The locals object type
19
+ * @template Auth - The authentication method type
20
+ *
21
+ * @param {SV} schemaValidator - The schema validator instance
22
+ * @param {Path} path - The route path
23
+ * @param {ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request, Auth>} contractDetails - The contract details for the route
24
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Auth>} handlers - The route handlers
25
+ *
26
+ * @returns {void} - Returns nothing, registers the route with Express
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * subscribe(
31
+ * schemaValidator,
32
+ * '/subscribe',
33
+ * {
34
+ * summary: 'Subscribe to updates',
35
+ * description: 'Subscribes to receive updates for a resource',
36
+ * tags: ['subscriptions'],
37
+ * body: {
38
+ * type: 'object',
39
+ * properties: {
40
+ * email: { type: 'string' },
41
+ * resourceId: { type: 'string' }
42
+ * }
43
+ * },
44
+ * responses: {
45
+ * 200: {
46
+ * description: 'Subscription created successfully',
47
+ * content: {
48
+ * 'application/json': {
49
+ * schema: {
50
+ * type: 'object',
51
+ * properties: {
52
+ * id: { type: 'string' },
53
+ * status: { type: 'string' }
54
+ * }
55
+ * }
56
+ * }
57
+ * }
58
+ * }
59
+ * }
60
+ * },
61
+ * async (req, res) => {
62
+ * const { email, resourceId } = req.body;
63
+ * // Subscription logic
64
+ * res.json({ id: 'sub_123', status: 'active' });
65
+ * }
66
+ * );
67
+ * ```
68
+ */
69
+ export declare const subscribe: <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>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => {
70
+ _typedHandler: true;
71
+ _path: Path;
72
+ contractDetails: import("@forklaunch/core/http").MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Auth>;
73
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction>[];
74
+ };
75
+ //# sourceMappingURL=subscribe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../src/handlers/subscribe.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,eAAO,MAAM,SAAS,GACpB,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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates a TRACE route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Name - The name of the route
11
+ * @template Path - The route path type
12
+ * @template P - The path parameters type
13
+ * @template ResBodyMap - The response body map type
14
+ * @template ReqBody - The request body type
15
+ * @template ReqQuery - The request query parameters type
16
+ * @template ReqHeaders - The request headers type
17
+ * @template ResHeaders - The response headers type
18
+ * @template LocalsObj - The locals object type
19
+ * @template Auth - The authentication method type
20
+ *
21
+ * @param {SV} schemaValidator - The schema validator instance
22
+ * @param {Path} path - The route path
23
+ * @param {ContractDetails<SV, 'trace', Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request, Auth>} contractDetails - The contract details for the route
24
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Response, NextFunction>[]} handlers - The route handlers
25
+ *
26
+ * @returns {void} - Returns nothing, registers the route with Express
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * trace(
31
+ * schemaValidator,
32
+ * '/trace',
33
+ * {
34
+ * summary: 'Trace request',
35
+ * description: 'Traces the request path and returns diagnostic information',
36
+ * tags: ['diagnostics'],
37
+ * responses: {
38
+ * 200: {
39
+ * description: 'Trace information',
40
+ * content: {
41
+ * 'message/http': {
42
+ * schema: {
43
+ * type: 'string'
44
+ * }
45
+ * }
46
+ * }
47
+ * }
48
+ * }
49
+ * },
50
+ * async (req, res) => {
51
+ * // Trace logic
52
+ * res.set('Content-Type', 'message/http');
53
+ * res.send('TRACE /trace HTTP/1.1');
54
+ * }
55
+ * );
56
+ * ```
57
+ */
58
+ export 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, VersionedApi, Request>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'trace', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => import("@forklaunch/core/http").ExpressLikeTypedHandler<SV, Name, "trace", Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction, Auth>;
59
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/handlers/trace.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE,4SAmBJ,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates an UNLINK route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Path - The route path type (must start with '/')
11
+ * @template P - The path parameters type
12
+ * @template ResBodyMap - The response body map type
13
+ * @template ReqBody - The request body type
14
+ * @template ReqQuery - The request query parameters type
15
+ * @template ReqHeaders - The request headers type
16
+ * @template ResHeaders - The response headers type
17
+ * @template LocalsObj - The locals object type
18
+ * @template Auth - The authentication method type
19
+ *
20
+ * @param {SV} schemaValidator - The schema validator instance
21
+ * @param {Path} path - The route path
22
+ * @param {ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request, Auth>} contractDetails - The contract details for the route
23
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Auth>} handlers - The route handlers
24
+ *
25
+ * @returns {void} - Returns nothing, registers the route with Express
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * unlink(
30
+ * schemaValidator,
31
+ * '/resources/:id/link',
32
+ * {
33
+ * summary: 'Unlink resource',
34
+ * description: 'Removes a link between two resources',
35
+ * tags: ['resources'],
36
+ * pathParams: {
37
+ * id: { type: 'string' }
38
+ * },
39
+ * responses: {
40
+ * 200: {
41
+ * description: 'Resource unlinked successfully',
42
+ * content: {
43
+ * 'application/json': {
44
+ * schema: {
45
+ * type: 'object',
46
+ * properties: {
47
+ * id: { type: 'string' },
48
+ * status: { type: 'string' }
49
+ * }
50
+ * }
51
+ * }
52
+ * }
53
+ * }
54
+ * }
55
+ * },
56
+ * async (req, res) => {
57
+ * const { id } = req.params;
58
+ * // Unlink logic
59
+ * res.json({ id, status: 'unlinked' });
60
+ * }
61
+ * );
62
+ * ```
63
+ */
64
+ export declare const unlink: <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>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => {
65
+ _typedHandler: true;
66
+ _path: Path;
67
+ contractDetails: import("@forklaunch/core/http").MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Auth>;
68
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction>[];
69
+ };
70
+ //# sourceMappingURL=unlink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlink.d.ts","sourceRoot":"","sources":["../../../src/handlers/unlink.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,MAAM,GACjB,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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE;;;;;CAmBJ,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { Body, ContractDetails, ExpressLikeSchemaHandler, HeadersObject, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from '@forklaunch/core/http';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import express from 'express-serve-static-core';
5
+ import { ParsedQs } from 'qs';
6
+ /**
7
+ * Creates an UNLOCK route handler with schema validation and type safety.
8
+ *
9
+ * @template SV - The schema validator type
10
+ * @template Path - The route path type (must start with '/')
11
+ * @template P - The path parameters type
12
+ * @template ResBodyMap - The response body map type
13
+ * @template ReqBody - The request body type
14
+ * @template ReqQuery - The request query parameters type
15
+ * @template ReqHeaders - The request headers type
16
+ * @template ResHeaders - The response headers type
17
+ * @template LocalsObj - The locals object type
18
+ * @template Auth - The authentication method type
19
+ *
20
+ * @param {SV} schemaValidator - The schema validator instance
21
+ * @param {Path} path - The route path
22
+ * @param {ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, Request, Auth>} contractDetails - The contract details for the route
23
+ * @param {...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, Request, Auth>} handlers - The route handlers
24
+ *
25
+ * @returns {void} - Returns nothing, registers the route with Express
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * unlock(
30
+ * schemaValidator,
31
+ * '/resources/:id/lock',
32
+ * {
33
+ * summary: 'Unlock resource',
34
+ * description: 'Removes a lock from a resource',
35
+ * tags: ['resources'],
36
+ * pathParams: {
37
+ * id: { type: 'string' }
38
+ * },
39
+ * responses: {
40
+ * 200: {
41
+ * description: 'Resource unlocked successfully',
42
+ * content: {
43
+ * 'application/json': {
44
+ * schema: {
45
+ * type: 'object',
46
+ * properties: {
47
+ * id: { type: 'string' },
48
+ * status: { type: 'string' }
49
+ * }
50
+ * }
51
+ * }
52
+ * }
53
+ * }
54
+ * }
55
+ * },
56
+ * async (req, res) => {
57
+ * const { id } = req.params;
58
+ * // Unlock logic
59
+ * res.json({ id, status: 'unlocked' });
60
+ * }
61
+ * );
62
+ * ```
63
+ */
64
+ export declare const unlock: <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>>(schemaValidator: SV, path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request, Auth>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request, Response, NextFunction>[]) => {
65
+ _typedHandler: true;
66
+ _path: Path;
67
+ contractDetails: import("@forklaunch/core/http").MiddlewareContractDetails<SV, Name, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Auth>;
68
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, SessionObject<SV>>, Request<express.ParamsDictionary, any, any, ParsedQs, Record<string, any>>, Response<any, Record<string, any>>, NextFunction>[];
69
+ };
70
+ //# sourceMappingURL=unlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../src/handlers/unlock.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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,MAAM,GACjB,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,CACR,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,EACP,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,EACP,QAAQ,EACR,YAAY,CACb,EAAE;;;;;CAmBJ,CAAC"}