@visulima/api-platform 4.0.0-alpha.7 → 4.0.0-alpha.8

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 (238) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE.md +109 -0
  3. package/dist/connect/create-node-router.d.cts +24 -0
  4. package/dist/connect/create-node-router.d.mts +24 -0
  5. package/dist/connect/create-node-router.d.ts +24 -0
  6. package/dist/connect/handler.d.cts +5 -0
  7. package/dist/connect/handler.d.mts +5 -0
  8. package/dist/connect/handler.d.ts +5 -0
  9. package/dist/connect/middleware/cors-middleware.d.cts +5 -0
  10. package/dist/connect/middleware/cors-middleware.d.mts +5 -0
  11. package/dist/connect/middleware/cors-middleware.d.ts +5 -0
  12. package/dist/connect/middleware/http-header-normalizer.d.cts +12 -0
  13. package/dist/connect/middleware/http-header-normalizer.d.mts +12 -0
  14. package/dist/connect/middleware/http-header-normalizer.d.ts +12 -0
  15. package/dist/connect/middleware/rate-limiter-middleware.d.cts +7 -0
  16. package/dist/connect/middleware/rate-limiter-middleware.d.mts +7 -0
  17. package/dist/connect/middleware/rate-limiter-middleware.d.ts +7 -0
  18. package/dist/connect/middleware/serializers-middleware.d.cts +6 -0
  19. package/dist/connect/middleware/serializers-middleware.d.mts +6 -0
  20. package/dist/connect/middleware/serializers-middleware.d.ts +6 -0
  21. package/dist/error-handler/jsonapi-error-handler.d.cts +3 -0
  22. package/dist/error-handler/jsonapi-error-handler.d.mts +3 -0
  23. package/dist/error-handler/jsonapi-error-handler.d.ts +3 -0
  24. package/dist/error-handler/problem-error-handler.d.cts +7 -0
  25. package/dist/error-handler/problem-error-handler.d.mts +7 -0
  26. package/dist/error-handler/problem-error-handler.d.ts +7 -0
  27. package/dist/error-handler/utils.d.cts +9 -0
  28. package/dist/error-handler/utils.d.mts +9 -0
  29. package/dist/error-handler/utils.d.ts +9 -0
  30. package/dist/framework/cli/command/list/get-routes.d.cts +7 -0
  31. package/dist/framework/cli/command/list/get-routes.d.mts +7 -0
  32. package/dist/framework/cli/command/list/get-routes.d.ts +7 -0
  33. package/dist/framework/cli/command/list/list-command.d.cts +9 -0
  34. package/dist/framework/cli/command/list/list-command.d.mts +9 -0
  35. package/dist/framework/cli/command/list/list-command.d.ts +9 -0
  36. package/dist/framework/cli/command/list/routes/express/express-path-parser.d.cts +16 -0
  37. package/dist/framework/cli/command/list/routes/express/express-path-parser.d.mts +16 -0
  38. package/dist/framework/cli/command/list/routes/express/express-path-parser.d.ts +16 -0
  39. package/dist/framework/cli/command/list/routes/express/map-keys-to-path.d.cts +9 -0
  40. package/dist/framework/cli/command/list/routes/express/map-keys-to-path.d.mts +9 -0
  41. package/dist/framework/cli/command/list/routes/express/map-keys-to-path.d.ts +9 -0
  42. package/dist/framework/cli/command/list/routes/express/path-regex-parser.d.cts +11 -0
  43. package/dist/framework/cli/command/list/routes/express/path-regex-parser.d.mts +11 -0
  44. package/dist/framework/cli/command/list/routes/express/path-regex-parser.d.ts +11 -0
  45. package/dist/framework/cli/command/list/routes/express-routes.d.cts +4 -0
  46. package/dist/framework/cli/command/list/routes/express-routes.d.mts +4 -0
  47. package/dist/framework/cli/command/list/routes/express-routes.d.ts +4 -0
  48. package/dist/framework/cli/command/list/routes/fastify-routes.d.cts +4 -0
  49. package/dist/framework/cli/command/list/routes/fastify-routes.d.mts +4 -0
  50. package/dist/framework/cli/command/list/routes/fastify-routes.d.ts +4 -0
  51. package/dist/framework/cli/command/list/routes/hapi-routes.d.cts +4 -0
  52. package/dist/framework/cli/command/list/routes/hapi-routes.d.mts +4 -0
  53. package/dist/framework/cli/command/list/routes/hapi-routes.d.ts +4 -0
  54. package/dist/framework/cli/command/list/routes/koa-routes.d.cts +4 -0
  55. package/dist/framework/cli/command/list/routes/koa-routes.d.mts +4 -0
  56. package/dist/framework/cli/command/list/routes/koa-routes.d.ts +4 -0
  57. package/dist/framework/cli/command/list/routes/next/api-route-file-parser.d.cts +3 -0
  58. package/dist/framework/cli/command/list/routes/next/api-route-file-parser.d.mts +3 -0
  59. package/dist/framework/cli/command/list/routes/next/api-route-file-parser.d.ts +3 -0
  60. package/dist/framework/cli/command/list/routes/next/collect-api-route-files.d.cts +2 -0
  61. package/dist/framework/cli/command/list/routes/next/collect-api-route-files.d.mts +2 -0
  62. package/dist/framework/cli/command/list/routes/next/collect-api-route-files.d.ts +2 -0
  63. package/dist/framework/cli/command/list/routes/routes-group-by.d.cts +3 -0
  64. package/dist/framework/cli/command/list/routes/routes-group-by.d.mts +3 -0
  65. package/dist/framework/cli/command/list/routes/routes-group-by.d.ts +3 -0
  66. package/dist/framework/cli/command/list/routes/routes-render.d.cts +5 -0
  67. package/dist/framework/cli/command/list/routes/routes-render.d.mts +5 -0
  68. package/dist/framework/cli/command/list/routes/routes-render.d.ts +5 -0
  69. package/dist/framework/cli/command/list/routes/types.d.cts +6 -0
  70. package/dist/framework/cli/command/list/routes/types.d.mts +6 -0
  71. package/dist/framework/cli/command/list/routes/types.d.ts +6 -0
  72. package/dist/framework/cli/command/list/utils.d.cts +11 -0
  73. package/dist/framework/cli/command/list/utils.d.mts +11 -0
  74. package/dist/framework/cli/command/list/utils.d.ts +11 -0
  75. package/dist/framework/cli/index.cjs +1 -0
  76. package/dist/framework/cli/index.d.cts +1 -0
  77. package/dist/framework/cli/index.d.mts +1 -10
  78. package/dist/framework/cli/index.d.ts +1 -10
  79. package/dist/framework/cli/index.mjs +1 -2
  80. package/dist/framework/next/index-browser.d.cts +1 -0
  81. package/dist/framework/next/index-browser.d.mts +1 -5
  82. package/dist/framework/next/index-browser.d.ts +1 -5
  83. package/dist/framework/next/index-browser.mjs +1 -2
  84. package/dist/framework/next/index-server.cjs +1 -0
  85. package/dist/framework/next/index-server.d.cts +3 -0
  86. package/dist/framework/next/index-server.d.mts +3 -20
  87. package/dist/framework/next/index-server.d.ts +3 -20
  88. package/dist/framework/next/index-server.mjs +1 -2
  89. package/dist/framework/next/routes/api/swagger.d.cts +6 -0
  90. package/dist/framework/next/routes/api/swagger.d.mts +6 -0
  91. package/dist/framework/next/routes/api/swagger.d.ts +6 -0
  92. package/dist/framework/next/routes/pages/get-static-properties-swagger.d.cts +3 -0
  93. package/dist/framework/next/routes/pages/get-static-properties-swagger.d.mts +3 -0
  94. package/dist/framework/next/routes/pages/get-static-properties-swagger.d.ts +3 -0
  95. package/dist/framework/next/routes/pages/redoc/index.cjs +5 -0
  96. package/dist/framework/next/routes/pages/redoc/index.d.cts +6 -0
  97. package/dist/framework/next/routes/pages/redoc/index.d.mts +3 -5
  98. package/dist/framework/next/routes/pages/redoc/index.d.ts +2 -4
  99. package/dist/framework/next/routes/pages/redoc/index.mjs +2 -3
  100. package/dist/framework/next/routes/pages/swagger/index.cjs +5 -0
  101. package/dist/framework/next/routes/pages/swagger/index.d.cts +5 -0
  102. package/dist/framework/next/routes/pages/swagger/index.d.mts +4 -6
  103. package/dist/framework/next/routes/pages/swagger/index.d.ts +3 -5
  104. package/dist/framework/next/routes/pages/swagger/index.mjs +2 -3
  105. package/dist/framework/next/webpack/with-open-api.d.cts +11 -0
  106. package/dist/framework/next/webpack/with-open-api.d.mts +11 -0
  107. package/dist/framework/next/webpack/with-open-api.d.ts +11 -0
  108. package/dist/index-browser.d.cts +1 -0
  109. package/dist/index-browser.d.mts +1 -2
  110. package/dist/index-browser.d.ts +1 -2
  111. package/dist/index-browser.mjs +1 -2
  112. package/dist/index-server.cjs +1 -0
  113. package/dist/index-server.d.cts +14 -0
  114. package/dist/index-server.d.mts +14 -75
  115. package/dist/index-server.d.ts +14 -75
  116. package/dist/index-server.mjs +1 -3
  117. package/dist/packem_shared/corsMiddleware-D1pyvOyv.mjs +1 -0
  118. package/dist/packem_shared/corsMiddleware-DWTsl8B1.cjs +1 -0
  119. package/dist/packem_shared/createNodeRouter-Dm5Whmms.mjs +1 -0
  120. package/dist/packem_shared/createNodeRouter-iaG84YWy.cjs +1 -0
  121. package/dist/packem_shared/dateIn-C9Ti6fo7.mjs +1 -0
  122. package/dist/packem_shared/dateIn-DylTg8aG.cjs +1 -0
  123. package/dist/packem_shared/getSwaggerStaticProps-CyQoc8U9.cjs +1 -0
  124. package/dist/packem_shared/getSwaggerStaticProps-HLLlemG9.js +1 -0
  125. package/dist/packem_shared/getSwaggerStaticProps-HLLlemG9.mjs +1 -0
  126. package/dist/packem_shared/httpHeaderNormalizerMiddleware-DjISyK8_.mjs +1 -0
  127. package/dist/packem_shared/httpHeaderNormalizerMiddleware-QqE89aK5.cjs +1 -0
  128. package/dist/packem_shared/index-BjPTPgei.cjs +1 -0
  129. package/dist/packem_shared/index-C3aJF6SV.mjs +1 -0
  130. package/dist/packem_shared/listCommand-BQnW5VPN.mjs +5 -0
  131. package/dist/packem_shared/listCommand-CUt5_WGC.cjs +5 -0
  132. package/dist/packem_shared/onError-DIbxlS28.cjs +1 -0
  133. package/dist/packem_shared/onError-DzFkIIU_.mjs +1 -0
  134. package/dist/packem_shared/rateLimiterMiddleware-Ohn-bfGn.mjs +1 -0
  135. package/dist/packem_shared/rateLimiterMiddleware-iKphEEyl.cjs +1 -0
  136. package/dist/packem_shared/serialize-BQ5nNuTA.mjs +1 -0
  137. package/dist/packem_shared/serialize-DrSd3bRJ.cjs +1 -0
  138. package/dist/packem_shared/serializersMiddleware-DmYV9JsS.cjs +1 -0
  139. package/dist/packem_shared/serializersMiddleware-WsnnEh4z.mjs +1 -0
  140. package/dist/packem_shared/swaggerApiRoute-Bg8TT2PM.cjs +1 -0
  141. package/dist/packem_shared/swaggerApiRoute-uMNR4Fq6.mjs +1 -0
  142. package/dist/packem_shared/swaggerHandler-D4zaMC6r.cjs +1 -0
  143. package/dist/packem_shared/swaggerHandler-Dcg9F7KZ.mjs +1 -0
  144. package/dist/packem_shared/utils-B3c9VYrK.cjs +1 -0
  145. package/dist/packem_shared/utils-CDFMC8qn.mjs +1 -0
  146. package/dist/packem_shared/withOpenApi-D27jB-z-.cjs +1 -0
  147. package/dist/packem_shared/withOpenApi-DXirQ48v.mjs +1 -0
  148. package/dist/packem_shared/xmlTransformer-D49hlcok.mjs +1 -0
  149. package/dist/packem_shared/xmlTransformer-sHYc31_g.cjs +1 -0
  150. package/dist/packem_shared/yamlTransformer-CJsV5N3c.mjs +1 -0
  151. package/dist/packem_shared/yamlTransformer-DgcCb8ww.cjs +1 -0
  152. package/dist/packem_shared/zod-Bvj53ziu.cjs +1 -0
  153. package/dist/packem_shared/zod-D9vLMypI.mjs +1 -0
  154. package/dist/serializers/has-json-structure.d.cts +2 -0
  155. package/dist/serializers/has-json-structure.d.mts +2 -0
  156. package/dist/serializers/has-json-structure.d.ts +2 -0
  157. package/dist/serializers/index.d.cts +4 -0
  158. package/dist/serializers/index.d.mts +4 -0
  159. package/dist/serializers/index.d.ts +4 -0
  160. package/dist/serializers/serialize.d.cts +6 -0
  161. package/dist/serializers/serialize.d.mts +6 -0
  162. package/dist/serializers/serialize.d.ts +6 -0
  163. package/dist/serializers/transformer/xml.d.cts +3 -0
  164. package/dist/serializers/transformer/xml.d.mts +3 -0
  165. package/dist/serializers/transformer/xml.d.ts +3 -0
  166. package/dist/serializers/transformer/yaml.d.cts +3 -0
  167. package/dist/serializers/transformer/yaml.d.mts +3 -0
  168. package/dist/serializers/transformer/yaml.d.ts +3 -0
  169. package/dist/swagger/api/swagger-handler.d.cts +15 -0
  170. package/dist/swagger/api/swagger-handler.d.mts +15 -0
  171. package/dist/swagger/api/swagger-handler.d.ts +15 -0
  172. package/dist/swagger/extend-swagger-spec.d.cts +7 -0
  173. package/dist/swagger/extend-swagger-spec.d.mts +7 -0
  174. package/dist/swagger/extend-swagger-spec.d.ts +7 -0
  175. package/dist/utils.d.cts +10 -0
  176. package/dist/utils.d.mts +10 -0
  177. package/dist/utils.d.ts +10 -0
  178. package/dist/zod/date-in-schema.d.cts +12 -0
  179. package/dist/zod/date-in-schema.d.mts +12 -0
  180. package/dist/zod/date-in-schema.d.ts +12 -0
  181. package/dist/zod/date-out-schema.d.cts +11 -0
  182. package/dist/zod/date-out-schema.d.mts +11 -0
  183. package/dist/zod/date-out-schema.d.ts +11 -0
  184. package/dist/zod/index.d.cts +5 -0
  185. package/dist/zod/index.d.mts +5 -0
  186. package/dist/zod/index.d.ts +5 -0
  187. package/package.json +62 -39
  188. package/dist/chunk-2RCSQLSQ.js +0 -2
  189. package/dist/chunk-2RCSQLSQ.js.map +0 -1
  190. package/dist/chunk-4C666HHU.js +0 -2
  191. package/dist/chunk-4C666HHU.js.map +0 -1
  192. package/dist/chunk-5DME62EW.mjs +0 -2
  193. package/dist/chunk-5DME62EW.mjs.map +0 -1
  194. package/dist/chunk-BJSUSPWM.mjs +0 -2
  195. package/dist/chunk-BJSUSPWM.mjs.map +0 -1
  196. package/dist/chunk-EEEP2HBM.js +0 -2
  197. package/dist/chunk-EEEP2HBM.js.map +0 -1
  198. package/dist/chunk-FQUHP33M.js +0 -6
  199. package/dist/chunk-FQUHP33M.js.map +0 -1
  200. package/dist/chunk-HZWWJL43.mjs +0 -2
  201. package/dist/chunk-HZWWJL43.mjs.map +0 -1
  202. package/dist/chunk-JPUMGEAE.mjs +0 -6
  203. package/dist/chunk-JPUMGEAE.mjs.map +0 -1
  204. package/dist/chunk-LTU4LAD7.mjs +0 -2
  205. package/dist/chunk-LTU4LAD7.mjs.map +0 -1
  206. package/dist/chunk-NCNFFJRK.js +0 -2
  207. package/dist/chunk-NCNFFJRK.js.map +0 -1
  208. package/dist/framework/cli/commander/index.d.mts +0 -5
  209. package/dist/framework/cli/commander/index.d.ts +0 -5
  210. package/dist/framework/cli/commander/index.js +0 -2
  211. package/dist/framework/cli/commander/index.js.map +0 -1
  212. package/dist/framework/cli/commander/index.mjs +0 -2
  213. package/dist/framework/cli/commander/index.mjs.map +0 -1
  214. package/dist/framework/cli/index.js +0 -2
  215. package/dist/framework/cli/index.js.map +0 -1
  216. package/dist/framework/cli/index.mjs.map +0 -1
  217. package/dist/framework/next/index-browser.js +0 -2
  218. package/dist/framework/next/index-browser.js.map +0 -1
  219. package/dist/framework/next/index-browser.mjs.map +0 -1
  220. package/dist/framework/next/index-server.js +0 -2
  221. package/dist/framework/next/index-server.js.map +0 -1
  222. package/dist/framework/next/index-server.mjs.map +0 -1
  223. package/dist/framework/next/routes/pages/redoc/index.js +0 -8
  224. package/dist/framework/next/routes/pages/redoc/index.js.map +0 -1
  225. package/dist/framework/next/routes/pages/redoc/index.mjs.map +0 -1
  226. package/dist/framework/next/routes/pages/swagger/index.js +0 -8
  227. package/dist/framework/next/routes/pages/swagger/index.js.map +0 -1
  228. package/dist/framework/next/routes/pages/swagger/index.mjs.map +0 -1
  229. package/dist/index-browser-Cy6Ywaan.d.mts +0 -30
  230. package/dist/index-browser-Cy6Ywaan.d.ts +0 -30
  231. package/dist/index-browser.js +0 -2
  232. package/dist/index-browser.js.map +0 -1
  233. package/dist/index-browser.mjs.map +0 -1
  234. package/dist/index-server.js +0 -3
  235. package/dist/index-server.js.map +0 -1
  236. package/dist/index-server.mjs.map +0 -1
  237. package/dist/swagger-handler-BPZJNDgC.d.mts +0 -17
  238. package/dist/swagger-handler-BPZJNDgC.d.ts +0 -17
@@ -1,75 +1,14 @@
1
- import { IncomingMessage, ServerResponse } from 'node:http';
2
- import * as _visulima_connect from '@visulima/connect';
3
- import { NodeRouter, Route, Nextable as Nextable$1, FunctionLike, ValueOrPromise, NextHandler } from '@visulima/connect';
4
- export { EdgeRequestHandler, EdgeRouter, ExpressRequestHandler, FindResult, FunctionLike, HandlerOptions, HttpMethod, NextHandler, Nextable, NodeRequestHandler, NodeRouter, Route, RouteShortcutMethod, Router, ValueOrPromise, createEdgeRouter, expressWrapper, sendJson, withZod } from '@visulima/connect';
5
- import { AnyZodObject, ZodObject } from 'zod';
6
- import { CorsOptions, CorsOptionsDelegate } from 'cors';
7
- import { NextApiResponse } from 'next/types';
8
- import { RateLimiterAbstract, RateLimiterRes } from 'rate-limiter-flexible';
9
- export { d as dateIn, a as dateOut, i as zod } from './index-browser-Cy6Ywaan.mjs';
10
- export { s as swaggerHandler } from './swagger-handler-BPZJNDgC.mjs';
11
- export { BadGateway, BadRequest, BandwidthLimitExceeded, Conflict, ExpectationFailed, FailedDependency, Forbidden, GatewayTimeout, Gone, HTTPVersionNotSupported, ImATeapot, InsufficientStorage, InternalServerError, LengthRequired, Locked, LoopDetected, MethodNotAllowed, MisdirectedRequest, NetworkAuthenticationRequire, NotAcceptable, NotExtended, NotFound, NotImplemented, PayloadTooLarge, PaymentRequired, PreconditionFailed, PreconditionRequired, ProxyAuthenticationRequired, RangeNotSatisfiable, RequestHeaderFieldsTooLarge, RequestTimeout, ServiceUnavailable, TooManyRequests, URITooLong, Unauthorized, UnavailableForLegalReasons, UnprocessableEntity, UnsupportedMediaType, UpgradeRequired, VariantAlsoNegotiates, default as createHttpError } from 'http-errors';
12
- import '@visulima/crud';
13
- import 'openapi-types';
14
-
15
- type ErrorHandler = <Request extends IncomingMessage, Response extends ServerResponse>(
16
- error: any,
17
- request: Request,
18
- response: Response,
19
- ) => Promise<any> | any;
20
-
21
- type ErrorHandlers = {
22
- handler: ErrorHandler;
23
- regex: RegExp;
24
- }[];
25
-
26
- type Serializer = (data: any) => Buffer | Uint8Array | string;
27
-
28
- type Serializers = {
29
- regex: RegExp;
30
- serializer: Serializer;
31
- }[];
32
-
33
- declare const serialize: <Request extends IncomingMessage, Response extends ServerResponse>(serializers: Serializers, request: Request, response: Response, data: unknown, options: {
34
- defaultContentType: string;
35
- }) => Buffer | Uint8Array | string;
36
-
37
- declare const xmlTransformer: Serializer;
38
-
39
- declare const yamlTransformer: Serializer;
40
-
41
- declare const createNodeRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends AnyZodObject = ZodObject<{
42
- body?: AnyZodObject;
43
- headers?: AnyZodObject;
44
- query?: AnyZodObject;
45
- }>>(options?: {
46
- errorHandlers?: ErrorHandlers;
47
- middlewares?: {
48
- "http-header-normalizer"?: {
49
- canonical?: boolean;
50
- normalizeHeaderKey?: (key: string, canonical: boolean) => string;
51
- };
52
- serializers?: {
53
- defaultContentType?: string;
54
- serializers?: Serializers;
55
- };
56
- };
57
- showTrace?: boolean;
58
- }) => NodeRouter<Request, Response, Schema>;
59
-
60
- declare const onError: <Request extends IncomingMessage, Response extends ServerResponse>(errorHandlers: ErrorHandlers, showTrace: boolean) => (error: unknown, request: Request, response: Response) => Promise<void>;
61
- declare const onNoMatch: <Request extends IncomingMessage, Response extends ServerResponse>(request: Request, response: Response, routes: Route<Nextable$1<FunctionLike>>[]) => ValueOrPromise<void>;
62
-
63
- declare const corsMiddleware: <Request extends IncomingMessage, Response extends ServerResponse>(options?: CorsOptions | CorsOptionsDelegate) => Nextable<_visulima_connect.NodeRequestHandler<Request_1, Response_1>>;
64
-
65
- declare const httpHeaderNormalizerMiddleware: (options_?: {
66
- canonical?: boolean;
67
- normalizeHeaderKey?: (key: string, canonical: boolean) => string;
68
- }) => (request: IncomingMessage, response: ServerResponse, next: NextHandler) => ValueOrPromise<void>;
69
-
70
- type HeaderValue = ReadonlyArray<string> | number | string;
71
- declare const rateLimiterMiddleware: (rateLimiter: RateLimiterAbstract, headers?: (limiterResponse: RateLimiterRes) => Record<string, HeaderValue>) => <Request extends IncomingMessage, Response extends ServerResponse>(request: Request, response: NextApiResponse | Response, next: NextHandler) => Promise<void>;
72
-
73
- declare const serializersMiddleware: (serializers?: Serializers, defaultContentType?: string) => <Request extends IncomingMessage, Response extends ServerResponse>(request: Request, response: NextApiResponse | Response, next: NextHandler) => Promise<ValueOrPromise<void>>;
74
-
75
- export { type Serializer, type Serializers, corsMiddleware, createNodeRouter, httpHeaderNormalizerMiddleware, onError, onNoMatch, rateLimiterMiddleware, serialize, serializersMiddleware, xmlTransformer, yamlTransformer };
1
+ export { default as createNodeRouter } from "./connect/create-node-router.d.mts";
2
+ export { onError, onNoMatch } from "./connect/handler.d.mts";
3
+ export { default as corsMiddleware } from "./connect/middleware/cors-middleware.d.mts";
4
+ export { default as httpHeaderNormalizerMiddleware } from "./connect/middleware/http-header-normalizer.d.mts";
5
+ export { default as rateLimiterMiddleware } from "./connect/middleware/rate-limiter-middleware.d.mts";
6
+ export { default as serializersMiddleware } from "./connect/middleware/serializers-middleware.d.mts";
7
+ export * from "./index-browser.d.mts";
8
+ export type { Serializer, Serializers } from "./serializers/index.d.mts";
9
+ export { serialize, xmlTransformer, yamlTransformer } from "./serializers/index.d.mts";
10
+ export { default as swaggerHandler } from "./swagger/api/swagger-handler.d.mts";
11
+ export { dateIn, dateOut } from "./zod/index.d.mts";
12
+ export type { EdgeRequestHandler, ExpressRequestHandler, FindResult, FunctionLike, HandlerOptions, HttpMethod, Nextable, NextHandler, NodeRequestHandler, Route, RouteShortcutMethod, ValueOrPromise, } from "@visulima/connect";
13
+ export { createEdgeRouter, EdgeRouter, expressWrapper, NodeRouter, Router, sendJson, withZod } from "@visulima/connect";
14
+ export { BadGateway, BadRequest, BandwidthLimitExceeded, Conflict, default as createHttpError, ExpectationFailed, FailedDependency, Forbidden, GatewayTimeout, Gone, HTTPVersionNotSupported, ImATeapot, InsufficientStorage, InternalServerError, LengthRequired, Locked, LoopDetected, MethodNotAllowed, MisdirectedRequest, NetworkAuthenticationRequire, NotAcceptable, NotExtended, NotFound, NotImplemented, PayloadTooLarge, PaymentRequired, PreconditionFailed, PreconditionRequired, ProxyAuthenticationRequired, RangeNotSatisfiable, RequestHeaderFieldsTooLarge, RequestTimeout, ServiceUnavailable, TooManyRequests, Unauthorized, UnavailableForLegalReasons, UnprocessableEntity, UnsupportedMediaType, UpgradeRequired, URITooLong, VariantAlsoNegotiates, } from "http-errors";
@@ -1,75 +1,14 @@
1
- import { IncomingMessage, ServerResponse } from 'node:http';
2
- import * as _visulima_connect from '@visulima/connect';
3
- import { NodeRouter, Route, Nextable as Nextable$1, FunctionLike, ValueOrPromise, NextHandler } from '@visulima/connect';
4
- export { EdgeRequestHandler, EdgeRouter, ExpressRequestHandler, FindResult, FunctionLike, HandlerOptions, HttpMethod, NextHandler, Nextable, NodeRequestHandler, NodeRouter, Route, RouteShortcutMethod, Router, ValueOrPromise, createEdgeRouter, expressWrapper, sendJson, withZod } from '@visulima/connect';
5
- import { AnyZodObject, ZodObject } from 'zod';
6
- import { CorsOptions, CorsOptionsDelegate } from 'cors';
7
- import { NextApiResponse } from 'next/types';
8
- import { RateLimiterAbstract, RateLimiterRes } from 'rate-limiter-flexible';
9
- export { d as dateIn, a as dateOut, i as zod } from './index-browser-Cy6Ywaan.js';
10
- export { s as swaggerHandler } from './swagger-handler-BPZJNDgC.js';
11
- export { BadGateway, BadRequest, BandwidthLimitExceeded, Conflict, ExpectationFailed, FailedDependency, Forbidden, GatewayTimeout, Gone, HTTPVersionNotSupported, ImATeapot, InsufficientStorage, InternalServerError, LengthRequired, Locked, LoopDetected, MethodNotAllowed, MisdirectedRequest, NetworkAuthenticationRequire, NotAcceptable, NotExtended, NotFound, NotImplemented, PayloadTooLarge, PaymentRequired, PreconditionFailed, PreconditionRequired, ProxyAuthenticationRequired, RangeNotSatisfiable, RequestHeaderFieldsTooLarge, RequestTimeout, ServiceUnavailable, TooManyRequests, URITooLong, Unauthorized, UnavailableForLegalReasons, UnprocessableEntity, UnsupportedMediaType, UpgradeRequired, VariantAlsoNegotiates, default as createHttpError } from 'http-errors';
12
- import '@visulima/crud';
13
- import 'openapi-types';
14
-
15
- type ErrorHandler = <Request extends IncomingMessage, Response extends ServerResponse>(
16
- error: any,
17
- request: Request,
18
- response: Response,
19
- ) => Promise<any> | any;
20
-
21
- type ErrorHandlers = {
22
- handler: ErrorHandler;
23
- regex: RegExp;
24
- }[];
25
-
26
- type Serializer = (data: any) => Buffer | Uint8Array | string;
27
-
28
- type Serializers = {
29
- regex: RegExp;
30
- serializer: Serializer;
31
- }[];
32
-
33
- declare const serialize: <Request extends IncomingMessage, Response extends ServerResponse>(serializers: Serializers, request: Request, response: Response, data: unknown, options: {
34
- defaultContentType: string;
35
- }) => Buffer | Uint8Array | string;
36
-
37
- declare const xmlTransformer: Serializer;
38
-
39
- declare const yamlTransformer: Serializer;
40
-
41
- declare const createNodeRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends AnyZodObject = ZodObject<{
42
- body?: AnyZodObject;
43
- headers?: AnyZodObject;
44
- query?: AnyZodObject;
45
- }>>(options?: {
46
- errorHandlers?: ErrorHandlers;
47
- middlewares?: {
48
- "http-header-normalizer"?: {
49
- canonical?: boolean;
50
- normalizeHeaderKey?: (key: string, canonical: boolean) => string;
51
- };
52
- serializers?: {
53
- defaultContentType?: string;
54
- serializers?: Serializers;
55
- };
56
- };
57
- showTrace?: boolean;
58
- }) => NodeRouter<Request, Response, Schema>;
59
-
60
- declare const onError: <Request extends IncomingMessage, Response extends ServerResponse>(errorHandlers: ErrorHandlers, showTrace: boolean) => (error: unknown, request: Request, response: Response) => Promise<void>;
61
- declare const onNoMatch: <Request extends IncomingMessage, Response extends ServerResponse>(request: Request, response: Response, routes: Route<Nextable$1<FunctionLike>>[]) => ValueOrPromise<void>;
62
-
63
- declare const corsMiddleware: <Request extends IncomingMessage, Response extends ServerResponse>(options?: CorsOptions | CorsOptionsDelegate) => Nextable<_visulima_connect.NodeRequestHandler<Request_1, Response_1>>;
64
-
65
- declare const httpHeaderNormalizerMiddleware: (options_?: {
66
- canonical?: boolean;
67
- normalizeHeaderKey?: (key: string, canonical: boolean) => string;
68
- }) => (request: IncomingMessage, response: ServerResponse, next: NextHandler) => ValueOrPromise<void>;
69
-
70
- type HeaderValue = ReadonlyArray<string> | number | string;
71
- declare const rateLimiterMiddleware: (rateLimiter: RateLimiterAbstract, headers?: (limiterResponse: RateLimiterRes) => Record<string, HeaderValue>) => <Request extends IncomingMessage, Response extends ServerResponse>(request: Request, response: NextApiResponse | Response, next: NextHandler) => Promise<void>;
72
-
73
- declare const serializersMiddleware: (serializers?: Serializers, defaultContentType?: string) => <Request extends IncomingMessage, Response extends ServerResponse>(request: Request, response: NextApiResponse | Response, next: NextHandler) => Promise<ValueOrPromise<void>>;
74
-
75
- export { type Serializer, type Serializers, corsMiddleware, createNodeRouter, httpHeaderNormalizerMiddleware, onError, onNoMatch, rateLimiterMiddleware, serialize, serializersMiddleware, xmlTransformer, yamlTransformer };
1
+ export { default as createNodeRouter } from "./connect/create-node-router.d.ts";
2
+ export { onError, onNoMatch } from "./connect/handler.d.ts";
3
+ export { default as corsMiddleware } from "./connect/middleware/cors-middleware.d.ts";
4
+ export { default as httpHeaderNormalizerMiddleware } from "./connect/middleware/http-header-normalizer.d.ts";
5
+ export { default as rateLimiterMiddleware } from "./connect/middleware/rate-limiter-middleware.d.ts";
6
+ export { default as serializersMiddleware } from "./connect/middleware/serializers-middleware.d.ts";
7
+ export * from "./index-browser.d.ts";
8
+ export type { Serializer, Serializers } from "./serializers/index.d.ts";
9
+ export { serialize, xmlTransformer, yamlTransformer } from "./serializers/index.d.ts";
10
+ export { default as swaggerHandler } from "./swagger/api/swagger-handler.d.ts";
11
+ export { dateIn, dateOut } from "./zod/index.d.ts";
12
+ export type { EdgeRequestHandler, ExpressRequestHandler, FindResult, FunctionLike, HandlerOptions, HttpMethod, Nextable, NextHandler, NodeRequestHandler, Route, RouteShortcutMethod, ValueOrPromise, } from "@visulima/connect";
13
+ export { createEdgeRouter, EdgeRouter, expressWrapper, NodeRouter, Router, sendJson, withZod } from "@visulima/connect";
14
+ export { BadGateway, BadRequest, BandwidthLimitExceeded, Conflict, default as createHttpError, ExpectationFailed, FailedDependency, Forbidden, GatewayTimeout, Gone, HTTPVersionNotSupported, ImATeapot, InsufficientStorage, InternalServerError, LengthRequired, Locked, LoopDetected, MethodNotAllowed, MisdirectedRequest, NetworkAuthenticationRequire, NotAcceptable, NotExtended, NotFound, NotImplemented, PayloadTooLarge, PaymentRequired, PreconditionFailed, PreconditionRequired, ProxyAuthenticationRequired, RangeNotSatisfiable, RequestHeaderFieldsTooLarge, RequestTimeout, ServiceUnavailable, TooManyRequests, Unauthorized, UnavailableForLegalReasons, UnprocessableEntity, UnsupportedMediaType, UpgradeRequired, URITooLong, VariantAlsoNegotiates, } from "http-errors";
@@ -1,3 +1 @@
1
- export{a as dateIn,b as dateOut,c as zod}from'./chunk-BJSUSPWM.mjs';import {b,a}from'./chunk-LTU4LAD7.mjs';export{c as swaggerHandler,b as yamlTransformer}from'./chunk-LTU4LAD7.mjs';import'./chunk-HZWWJL43.mjs';import {NodeRouter,expressWrapper}from'@visulima/connect';export{EdgeRouter,NodeRouter,Router,createEdgeRouter,expressWrapper,sendJson,withZod}from'@visulima/connect';import P,{HttpError}from'http-errors';export{BadGateway,BadRequest,BandwidthLimitExceeded,Conflict,ExpectationFailed,FailedDependency,Forbidden,GatewayTimeout,Gone,HTTPVersionNotSupported,ImATeapot,InsufficientStorage,InternalServerError,LengthRequired,Locked,LoopDetected,MethodNotAllowed,MisdirectedRequest,NetworkAuthenticationRequire,NotAcceptable,NotExtended,NotFound,NotImplemented,PayloadTooLarge,PaymentRequired,PreconditionFailed,PreconditionRequired,ProxyAuthenticationRequired,RangeNotSatisfiable,RequestHeaderFieldsTooLarge,RequestTimeout,ServiceUnavailable,TooManyRequests,URITooLong,Unauthorized,UnavailableForLegalReasons,UnprocessableEntity,UnsupportedMediaType,UpgradeRequired,VariantAlsoNegotiates,default as createHttpError}from'http-errors';import {getReasonPhrase,StatusCodes}from'http-status-codes';import h from'ts-japi';import te from'debug';import Y from'accepts';import {toXML}from'jstoxml';import de from'cors';var R=(e,o)=>{let t=o.headers??{};Object.keys(t).forEach(r=>{e.setHeader(r,t[r]);});},c=(e,o)=>{e.setHeader("content-type","application/json; charset=utf-8"),e.end(JSON.stringify(o));},y=(e,o)=>{o.statusCode!==void 0&&(e.statusCode=o.statusCode),o.status!==void 0&&(e.statusCode=o.status),e.statusCode<400&&(e.statusCode=StatusCodes.INTERNAL_SERVER_ERROR);};var T="An error occurred",W=(e,o,t)=>{if(y(t,e),R(t,e),e instanceof h.JapiError||h.JapiError.isLikeJapiError(e)){let r=new h.ErrorSerializer;c(t,r.serialize(e));}else if(e instanceof HttpError){let{message:r,statusCode:n,title:a}=e;c(t,{errors:[{code:n,title:a||getReasonPhrase(n)||T,detail:r}]});}else {let{message:r}=e;c(t,{errors:[{code:"500",title:getReasonPhrase(t.statusCode)||T,detail:r}]});}},A=W;var C="https://tools.ietf.org/html/rfc2616#section-10",I="An error occurred",X=(e,o,t)=>{let{message:r,stack:n}=e;if(e instanceof HttpError){let{expose:a,statusCode:s,title:i,type:d}=e;t.statusCode=s,R(t,e),c(t,{type:d||C,title:i||getReasonPhrase(s)||I,details:r,...a?{trace:n}:{}});}else y(t,e),c(t,{type:C,title:getReasonPhrase(t.statusCode)||I,details:r,...e.expose?{trace:n}:{}});},O=X;var H=(e,o)=>async(t,r,n)=>{let a=r.headers.accept,s=O;a==="application/vnd.api+json"&&(s=A);for(let{handler:i,regex:d}of e)if(d.test(a)){s=i;break}t.expose=o,s(t,r,n);},S=async(e,o,t)=>{let r=[...new Set(t.map(n=>n.method))].join(", ");throw o.setHeader("Allow",r),o.statusCode=405,P(405,`No route with [${e.method}] method found.`)};var q={alpn:"ALPN","c-pep":"C-PEP","c-pep-info":"C-PEP-Info","caldav-timezones":"CalDAV-Timezones","content-id":"Content-ID","content-md5":"Content-MD5",dasl:"DASL",dav:"DAV",dnt:"DNT",etag:"ETag",getprofile:"GetProfile","http2-settings":"HTTP2-Settings","last-event-id":"Last-Event-ID","mime-version":"MIME-Version","optional-www-authenticate":"Optional-WWW-Authenticate","sec-websocket-accept":"Sec-WebSocket-Accept","sec-websocket-extensions":"Sec-WebSocket-Extensions","sec-webSocket-key":"Sec-WebSocket-Key","sec-webSocket-protocol":"Sec-WebSocket-Protocol","sec-webSocket-version":"Sec-WebSocket-Version",slug:"SLUG",tcn:"TCN",te:"TE",ttl:"TTL","www-authenticate":"WWW-Authenticate","x-att-deviceid":"X-ATT-DeviceId","x-dnsprefetch-control":"X-DNSPrefetch-Control","x-uidh":"X-UIDH"},Z=(e,o)=>{let t=e.toLowerCase();return o?q[t]?q[t]:t.split("-").map(r=>r[0]?.toUpperCase()+r.slice(1)).join("-"):t},B={canonical:false,normalizeHeaderKey:Z},G=e=>{let o={...B,...e};return async(t,r,n)=>{let a={},s={};return Object.keys(t.headers).forEach(i=>{a[i]=t.headers[i];let d=o.normalizeHeaderKey(i,o.canonical);d&&(s[d]=t.headers[i]);}),t.headers=s,t.rawHeaders=a,n()}},E=G;var _=e=>{if(typeof e!="string")return false;try{let o=JSON.parse(e),t=Object.prototype.toString.call(o);return t==="[object Object]"||t==="[object Array]"}catch{return false}},w=_;var Q=e=>toXML(e,{header:true,indent:" "}),g=Q;var x="Content-Type",ee=(e,o,t,r,n)=>{if(typeof t.getHeader(x)=="string")return r;let i=[...Y(o).types(),n.defaultContentType],d=r,b$1=false;return i.forEach(m=>{e.forEach(({regex:k,serializer:L})=>{k.test(m)&&(t.setHeader(x,m),d=L(d),b$1=true);}),b$1||(/yaml|yml/.test(m)?(t.setHeader(x,m),d=b(w(r)?JSON.parse(r):r)):m.includes("xml")&&(t.setHeader(x,m),d=g({[a(`${o.url?.replace("/api/","")}`.trim())]:w(r)?JSON.parse(r):r})));}),d},f=ee;var re=te("api-platform:connect:serializers-middleware"),oe=(e=[],o="application/json; charset=utf-8")=>async(t,r,n)=>{if(typeof r.send=="function"){let a=r.send;r.send=s=>{r.send=a,s=f(e,t,r,s,{defaultContentType:o}),r.send(s);};}else if(typeof r.json=="function")re("response.json() is not supported by @visulima/api-platform serializer. Use response.send() or response.end() instead.");else {let a=r.end;r.end=(s,...i)=>(r.end=a,s=f(e,t,r,s,{defaultContentType:o}),r.end(s,...i));}return n()},N=oe;var ne=(e={})=>new NodeRouter({onError:H(e.errorHandlers??[],e.showTrace??false),onNoMatch:S}).use(E(e.middlewares?.["http-header-normalizer"]??{})).use(N(e.middlewares?.serializers?.serializers??[],e.middlewares?.serializers?.defaultContentType??"application/json; charset=utf-8")),ae=ne;var pe=e=>expressWrapper(de(e)),le=pe;var ce=e=>e.ip??e.headers["x-forwarded-for"]??e.headers["x-real-ip"]??e.socket.remoteAddress,me=(e,o)=>async(t,r,n)=>{let a=ce(t);if(a===void 0)throw P(400,"Missing IP");try{let s=await e.consume(a),i={"Retry-After":Math.round(s.msBeforeNext/1e3)||1,"X-RateLimit-Remaining":s.remainingPoints,"X-RateLimit-Reset":new Date(Date.now()+s.msBeforeNext).toISOString(),...o};Object.keys(i).forEach(d=>{r.setHeader(d,i[d]);}),await n();}catch{throw P(429,"Too Many Requests")}},fe=me;
2
- export{le as corsMiddleware,ae as createNodeRouter,E as httpHeaderNormalizerMiddleware,H as onError,S as onNoMatch,fe as rateLimiterMiddleware,f as serialize,N as serializersMiddleware,g as xmlTransformer};//# sourceMappingURL=index-server.mjs.map
3
- //# sourceMappingURL=index-server.mjs.map
1
+ import{default as o}from"./packem_shared/createNodeRouter-Dm5Whmms.mjs";import{onError as a,onNoMatch as d}from"./packem_shared/onError-DzFkIIU_.mjs";import{default as n}from"./packem_shared/corsMiddleware-D1pyvOyv.mjs";import{default as l}from"./packem_shared/httpHeaderNormalizerMiddleware-DjISyK8_.mjs";import{default as p}from"./packem_shared/rateLimiterMiddleware-Ohn-bfGn.mjs";import{default as m}from"./packem_shared/serializersMiddleware-WsnnEh4z.mjs";import{default as x}from"./packem_shared/swaggerHandler-Dcg9F7KZ.mjs";import{d as g,a as N,i as T}from"./packem_shared/index-C3aJF6SV.mjs";import{EdgeRouter as w,NodeRouter as y,Router as h,createEdgeRouter as E,expressWrapper as L,sendJson as M,withZod as F}from"@visulima/connect";import{BadGateway as b,BadRequest as A,BandwidthLimitExceeded as I,Conflict as P,ExpectationFailed as z,FailedDependency as H,Forbidden as S,GatewayTimeout as v,Gone as B,HTTPVersionNotSupported as G,ImATeapot as k,InsufficientStorage as D,InternalServerError as V,LengthRequired as C,Locked as J,LoopDetected as O,MethodNotAllowed as W,MisdirectedRequest as Z,NetworkAuthenticationRequire as j,NotAcceptable as K,NotExtended as Q,NotFound as X,NotImplemented as Y,PayloadTooLarge as _,PaymentRequired as $,PreconditionFailed as ee,PreconditionRequired as re,ProxyAuthenticationRequired as oe,RangeNotSatisfiable as te,RequestHeaderFieldsTooLarge as ae,RequestTimeout as de,ServiceUnavailable as ie,TooManyRequests as ne,URITooLong as se,Unauthorized as le,UnavailableForLegalReasons as ue,UnprocessableEntity as pe,UnsupportedMediaType as fe,UpgradeRequired as me,VariantAlsoNegotiates as ce,default as xe}from"http-errors";import{default as ge}from"./packem_shared/serialize-BQ5nNuTA.mjs";import{default as Te}from"./packem_shared/xmlTransformer-D49hlcok.mjs";import{default as we}from"./packem_shared/yamlTransformer-CJsV5N3c.mjs";export{b as BadGateway,A as BadRequest,I as BandwidthLimitExceeded,P as Conflict,w as EdgeRouter,z as ExpectationFailed,H as FailedDependency,S as Forbidden,v as GatewayTimeout,B as Gone,G as HTTPVersionNotSupported,k as ImATeapot,D as InsufficientStorage,V as InternalServerError,C as LengthRequired,J as Locked,O as LoopDetected,W as MethodNotAllowed,Z as MisdirectedRequest,j as NetworkAuthenticationRequire,y as NodeRouter,K as NotAcceptable,Q as NotExtended,X as NotFound,Y as NotImplemented,_ as PayloadTooLarge,$ as PaymentRequired,ee as PreconditionFailed,re as PreconditionRequired,oe as ProxyAuthenticationRequired,te as RangeNotSatisfiable,ae as RequestHeaderFieldsTooLarge,de as RequestTimeout,h as Router,ie as ServiceUnavailable,ne as TooManyRequests,se as URITooLong,le as Unauthorized,ue as UnavailableForLegalReasons,pe as UnprocessableEntity,fe as UnsupportedMediaType,me as UpgradeRequired,ce as VariantAlsoNegotiates,n as corsMiddleware,E as createEdgeRouter,xe as createHttpError,o as createNodeRouter,g as dateIn,N as dateOut,L as expressWrapper,l as httpHeaderNormalizerMiddleware,a as onError,d as onNoMatch,p as rateLimiterMiddleware,M as sendJson,ge as serialize,m as serializersMiddleware,x as swaggerHandler,F as withZod,Te as xmlTransformer,we as yamlTransformer,T as zod};
@@ -0,0 +1 @@
1
+ var o=Object.defineProperty;var a=(r,e)=>o(r,"name",{value:e,configurable:!0});import{expressWrapper as p}from"@visulima/connect";import t from"cors";var s=Object.defineProperty,f=a((r,e)=>s(r,"name",{value:e,configurable:!0}),"s");const c=f(r=>p(t(r)),"corsMiddleware");export{c as default};
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});const a=require("@visulima/connect"),n=require("cors"),c=t(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),s=c(n);var p=Object.defineProperty,u=t((e,r)=>p(e,"name",{value:r,configurable:!0}),"s");const i=u(e=>a.expressWrapper(s(e)),"corsMiddleware");module.exports=i;
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var o=(r,e)=>a(r,"name",{value:e,configurable:!0});import{NodeRouter as t}from"@visulima/connect";import{onNoMatch as s,onError as i}from"./onError-DzFkIIU_.mjs";import l from"./httpHeaderNormalizerMiddleware-DjISyK8_.mjs";import n from"./serializersMiddleware-WsnnEh4z.mjs";var d=Object.defineProperty,m=o((r,e)=>d(r,"name",{value:e,configurable:!0}),"o");const w=m((r={})=>new t({onError:i(r.errorHandlers??[],r.showTrace??!1),onNoMatch:s}).use(l(r.middlewares?.["http-header-normalizer"]??{})).use(n(r.middlewares?.serializers?.serializers??[],r.middlewares?.serializers?.defaultContentType??"application/json; charset=utf-8")),"createNodeRouter");export{w as default};
@@ -0,0 +1 @@
1
+ "use strict";var i=Object.defineProperty;var a=(e,r)=>i(e,"name",{value:r,configurable:!0});const s=require("@visulima/connect"),o=require("./onError-DIbxlS28.cjs"),t=require("./httpHeaderNormalizerMiddleware-QqE89aK5.cjs"),n=require("./serializersMiddleware-DmYV9JsS.cjs");var l=Object.defineProperty,d=a((e,r)=>l(e,"name",{value:r,configurable:!0}),"o");const u=d((e={})=>new s.NodeRouter({onError:o.onError(e.errorHandlers??[],e.showTrace??!1),onNoMatch:o.onNoMatch}).use(t(e.middlewares?.["http-header-normalizer"]??{})).use(n(e.middlewares?.serializers?.serializers??[],e.middlewares?.serializers?.defaultContentType??"application/json; charset=utf-8")),"createNodeRouter");module.exports=u;
@@ -0,0 +1 @@
1
+ import"zod-to-ts";import{d as e,a as o}from"./index-C3aJF6SV.mjs";export{e as dateIn,o as dateOut};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("zod-to-ts");const e=require("./index-BjPTPgei.cjs");exports.dateIn=e.d;exports.dateOut=e.a;
@@ -0,0 +1 @@
1
+ "use strict";var r=Object.defineProperty;var e=(t,a)=>r(t,"name",{value:a,configurable:!0});const s=require("debug"),o=e(t=>t&&typeof t=="object"&&"default"in t?t.default:t,"_interopDefaultCompat"),i=o(s);var n=Object.defineProperty,c=e((t,a)=>n(t,"name",{value:a,configurable:!0}),"r");const g=i("visulima:api-platform:swagger:get-static-properties-swagger"),p=c(t=>async()=>{const a=await(await fetch(t)).json();return g(a),{props:{swaggerData:JSON.parse(JSON.stringify(a)),swaggerUrl:t}}},"getStaticProps");module.exports=p;
@@ -0,0 +1 @@
1
+ var t=Object.defineProperty;var e=(a,r)=>t(a,"name",{value:r,configurable:!0});import s from"debug";var g=Object.defineProperty,i=e((a,r)=>g(a,"name",{value:r,configurable:!0}),"r");const o=s("visulima:api-platform:swagger:get-static-properties-swagger"),c=i(a=>async()=>{const r=await(await fetch(a)).json();return o(r),{props:{swaggerData:JSON.parse(JSON.stringify(r)),swaggerUrl:a}}},"getStaticProps");export{c as default};
@@ -0,0 +1 @@
1
+ var t=Object.defineProperty;var e=(a,r)=>t(a,"name",{value:r,configurable:!0});import s from"debug";var g=Object.defineProperty,i=e((a,r)=>g(a,"name",{value:r,configurable:!0}),"r");const o=s("visulima:api-platform:swagger:get-static-properties-swagger"),c=i(a=>async()=>{const r=await(await fetch(a)).json();return o(r),{props:{swaggerData:JSON.parse(JSON.stringify(r)),swaggerUrl:a}}},"getStaticProps");export{c as default};
@@ -0,0 +1 @@
1
+ var S=Object.defineProperty;var i=(c,t)=>S(c,"name",{value:t,configurable:!0});var h=Object.defineProperty,d=i((c,t)=>h(c,"name",{value:t,configurable:!0}),"a");const l={alpn:"ALPN","c-pep":"C-PEP","c-pep-info":"C-PEP-Info","caldav-timezones":"CalDAV-Timezones","content-id":"Content-ID","content-md5":"Content-MD5",dasl:"DASL",dav:"DAV",dnt:"DNT",etag:"ETag",getprofile:"GetProfile","http2-settings":"HTTP2-Settings","last-event-id":"Last-Event-ID","mime-version":"MIME-Version","optional-www-authenticate":"Optional-WWW-Authenticate","sec-websocket-accept":"Sec-WebSocket-Accept","sec-websocket-extensions":"Sec-WebSocket-Extensions","sec-webSocket-key":"Sec-WebSocket-Key","sec-webSocket-protocol":"Sec-WebSocket-Protocol","sec-webSocket-version":"Sec-WebSocket-Version",slug:"SLUG",tcn:"TCN",te:"TE",ttl:"TTL","www-authenticate":"WWW-Authenticate","x-att-deviceid":"X-ATT-DeviceId","x-dnsprefetch-control":"X-DNSPrefetch-Control","x-uidh":"X-UIDH"},w=d((c,t)=>{const e=c.toLowerCase();return t?l[e]?l[e]:e.split("-").map(o=>o[0]?.toUpperCase()+o.slice(1)).join("-"):e},"normalizeHeaderKey"),b={canonical:!1,normalizeHeaderKey:w},f=d(c=>{const t={...b,...c};return async(e,o,p)=>{const a={},r={};return Object.keys(e.headers).forEach(n=>{a[n]=e.headers[n];const s=t.normalizeHeaderKey(n,t.canonical);s&&(r[s]=e.headers[n])}),e.headers=r,e.rawHeaders=a,p()}},"httpHeaderNormalizerMiddleware");export{f as default};
@@ -0,0 +1 @@
1
+ "use strict";var S=Object.defineProperty;var i=(c,t)=>S(c,"name",{value:t,configurable:!0});var h=Object.defineProperty,d=i((c,t)=>h(c,"name",{value:t,configurable:!0}),"a");const l={alpn:"ALPN","c-pep":"C-PEP","c-pep-info":"C-PEP-Info","caldav-timezones":"CalDAV-Timezones","content-id":"Content-ID","content-md5":"Content-MD5",dasl:"DASL",dav:"DAV",dnt:"DNT",etag:"ETag",getprofile:"GetProfile","http2-settings":"HTTP2-Settings","last-event-id":"Last-Event-ID","mime-version":"MIME-Version","optional-www-authenticate":"Optional-WWW-Authenticate","sec-websocket-accept":"Sec-WebSocket-Accept","sec-websocket-extensions":"Sec-WebSocket-Extensions","sec-webSocket-key":"Sec-WebSocket-Key","sec-webSocket-protocol":"Sec-WebSocket-Protocol","sec-webSocket-version":"Sec-WebSocket-Version",slug:"SLUG",tcn:"TCN",te:"TE",ttl:"TTL","www-authenticate":"WWW-Authenticate","x-att-deviceid":"X-ATT-DeviceId","x-dnsprefetch-control":"X-DNSPrefetch-Control","x-uidh":"X-UIDH"},w=d((c,t)=>{const e=c.toLowerCase();return t?l[e]?l[e]:e.split("-").map(o=>o[0]?.toUpperCase()+o.slice(1)).join("-"):e},"normalizeHeaderKey"),b={canonical:!1,normalizeHeaderKey:w},u=d(c=>{const t={...b,...c};return async(e,o,p)=>{const a={},r={};return Object.keys(e.headers).forEach(n=>{a[n]=e.headers[n];const s=t.normalizeHeaderKey(n,t.canonical);s&&(r[s]=e.headers[n])}),e.headers=r,e.rawHeaders=a,p()}},"httpHeaderNormalizerMiddleware");module.exports=u;
@@ -0,0 +1 @@
1
+ "use strict";var l=Object.defineProperty;var s=(d,t)=>l(d,"name",{value:t,configurable:!0});const p=require("zod-to-ts"),e=require("zod");var v=Object.defineProperty,c=s((d,t)=>v(d,"name",{value:t,configurable:!0}),"a$2");const x="ZodDateIn",Z=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?)?Z?$/;class o extends e.ZodType{static{s(this,"ZodDateIn")}static{c(this,"ZodDateIn")}static create=c(()=>new o({typeName:x}),"create");_parse(t){const{ctx:a,status:r}=this._processInputParams(t);if(a.parsedType!==e.ZodParsedType.string)return e.addIssueToContext(a,{code:e.ZodIssueCode.invalid_type,expected:e.ZodParsedType.string,received:a.parsedType}),e.INVALID;Z.test(a.data)||(e.addIssueToContext(a,{code:e.ZodIssueCode.invalid_string,validation:"regex"}),r.dirty());const i=new Date(a.data);return Number.isNaN(i.getTime())?(e.addIssueToContext(a,{code:e.ZodIssueCode.invalid_date}),e.INVALID):{status:r.value,value:i}}}var g=Object.defineProperty,u=s((d,t)=>g(d,"name",{value:t,configurable:!0}),"a$1");const N="ZodDateOut";class n extends e.ZodType{static{s(this,"ZodDateOut")}static{u(this,"ZodDateOut")}static create=u(()=>new n({typeName:N}),"create");_parse(t){const{ctx:a,status:r}=this._processInputParams(t);return a.parsedType!==e.ZodParsedType.date?(e.addIssueToContext(a,{code:e.ZodIssueCode.invalid_type,expected:e.ZodParsedType.date,received:a.parsedType}),e.INVALID):Number.isNaN(a.data.getTime())?(e.addIssueToContext(a,{code:e.ZodIssueCode.invalid_date}),e.INVALID):{status:r.value,value:a.data.toISOString()}}}var m=Object.defineProperty,y=s((d,t)=>m(d,"name",{value:t,configurable:!0}),"o");const I=y((...d)=>p.withGetType(o.create(...d),t=>t.factory.createKeywordTypeNode(t.SyntaxKind.StringKeyword)),"dateIn"),T=y((...d)=>p.withGetType(n.create(...d),t=>t.factory.createKeywordTypeNode(t.SyntaxKind.StringKeyword)),"dateOut"),D=Object.defineProperty({__proto__:null,dateIn:I,dateOut:T},Symbol.toStringTag,{value:"Module"});exports.a=T;exports.d=I;exports.i=D;
@@ -0,0 +1 @@
1
+ var T=Object.defineProperty;var r=(a,e)=>T(a,"name",{value:e,configurable:!0});import{withGetType as v}from"zod-to-ts";import{ZodType as m,ZodParsedType as o,INVALID as i,addIssueToContext as d,ZodIssueCode as s}from"zod";var x=Object.defineProperty,y=r((a,e)=>x(a,"name",{value:e,configurable:!0}),"a$2");const f="ZodDateIn",I=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?)?Z?$/;class c extends m{static{r(this,"ZodDateIn")}static{y(this,"ZodDateIn")}static create=y(()=>new c({typeName:f}),"create");_parse(e){const{ctx:t,status:n}=this._processInputParams(e);if(t.parsedType!==o.string)return d(t,{code:s.invalid_type,expected:o.string,received:t.parsedType}),i;I.test(t.data)||(d(t,{code:s.invalid_string,validation:"regex"}),n.dirty());const p=new Date(t.data);return Number.isNaN(p.getTime())?(d(t,{code:s.invalid_date}),i):{status:n.value,value:p}}}var N=Object.defineProperty,l=r((a,e)=>N(a,"name",{value:e,configurable:!0}),"a$1");const _="ZodDateOut";class u extends m{static{r(this,"ZodDateOut")}static{l(this,"ZodDateOut")}static create=l(()=>new u({typeName:_}),"create");_parse(e){const{ctx:t,status:n}=this._processInputParams(e);return t.parsedType!==o.date?(d(t,{code:s.invalid_type,expected:o.date,received:t.parsedType}),i):Number.isNaN(t.data.getTime())?(d(t,{code:s.invalid_date}),i):{status:n.value,value:t.data.toISOString()}}}var b=Object.defineProperty,g=r((a,e)=>b(a,"name",{value:e,configurable:!0}),"o");const O=g((...a)=>v(c.create(...a),e=>e.factory.createKeywordTypeNode(e.SyntaxKind.StringKeyword)),"dateIn"),w=g((...a)=>v(u.create(...a),e=>e.factory.createKeywordTypeNode(e.SyntaxKind.StringKeyword)),"dateOut"),P=Object.defineProperty({__proto__:null,dateIn:O,dateOut:w},Symbol.toStringTag,{value:"Module"});export{w as a,O as d,P as i};
@@ -0,0 +1,5 @@
1
+ var L=Object.defineProperty;var p=(e,t)=>L(e,"name",{value:t,configurable:!0});import{createRequire as M}from"node:module";import{toNamespacedPath as y,parse as T,join as g,extname as k}from"@visulima/path";import u from"chalk";import{parseFile as O,jsDocumentCommentsToOpenApi as z,swaggerJsDocumentCommentsToOpenApi as K}from"@visulima/jsdoc-open-api";import{collect as X}from"@visulima/fs";const W=M(import.meta.url),m=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,N=p(e=>{if(typeof m<"u"&&m.versions&&m.versions.node){const[t,r]=m.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return m.getBuiltinModule(e)}return W(e)},"__cjs_getBuiltinModule"),{execSync:q}=N("node:child_process"),{readFileSync:H,readdirSync:J,statSync:F,existsSync:E,rmSync:A}=N("node:fs"),w=m,{cwd:Y}=w;var Q=Object.defineProperty,V=p((e,t)=>Q(e,"name",{value:t,configurable:!0}),"l$2");const Z=V((e,t)=>{if(t.length===0)throw new Error("must include at least one key to map");let r=e.toString();return t.forEach(o=>{r=o.optional?r.replace("(?:\\/([^\\/]+?))?\\",`/:${o.name}?`):r.replace(String.raw`(?:([^\/]+?))`,`:${o.name}`)}),r.replace(String.raw`/?(?=\/|$)/i`,"").replace("/^","").replaceAll("\\","").replaceAll(/\/{2,}/gu,"/")},"mapKeysToPath");var ee=Object.defineProperty,te=p((e,t)=>ee(e,"name",{value:t,configurable:!0}),"n$5");const re=te((e,t)=>{if(typeof e=="string")return e;if(e.fast_slash)return"";if(e.fast_star)return"*";let r="";t.length>0&&(r=Z(e,t));const o=/^\/\^((?:\\[$()*+./?[\\\]^{|}]|[^$()*+./?[\\\]^{|}])*)\$\//u.exec(e.toString().replace(String.raw`\/?`,"").replace(String.raw`(?=\/|$)`,"$"));return Array.isArray(o)&&o.length>1?o[1].replaceAll(/\\(.)/gu,"$1").slice(1):r?r.slice(1):e.toString()},"pathRegexParser");var oe=Object.defineProperty,v=p((e,t)=>oe(e,"name",{value:t,configurable:!0}),"n$4");const ae=v((e,t,r)=>{const o=e.route.stack.at(-1),a=t.map(l=>({in:"path",name:l.name,required:!l.optional})),s=e.route.stack.filter(l=>l.handle.metadata);if(s.length>1)throw new Error("Only one metadata middleware is allowed per route");const n=(r+e.route.path).replaceAll(/\/{2,}/gu,"/");return s.length===0?{method:o.method,path:n,pathParams:a}:{metadata:s[0].handle.metadata,method:o.method,path:n,pathParams:a}},"parseRouteLayer"),G=v((e,t,r,o)=>{if(o=[...o,...r.keys],r.name==="router"&&r.handle?.stack!==void 0)for(const a of r.handle.stack)t=t||"",G(e,`${t}/${re(r.regexp,r.keys)}`,a,o);!r.route||r.route.stack.length===0||e.push(ae(r,o,t))},"traverse"),ne=v(e=>{const t=e._router||e.router,r=[];for(const o of t.stack)G(r,"",o,[]);return r},"expressPathParser");var se=Object.defineProperty,le=p((e,t)=>se(e,"name",{value:t,configurable:!0}),"s$1");const ie=le(e=>{const t=[];return ne(e).forEach(r=>{t.push({file:"unknown",method:r.method.toUpperCase(),path:r.path,tags:[]})}),t},"expressRoutes");var ce=Object.defineProperty,$=p((e,t)=>ce(e,"name",{value:t,configurable:!0}),"u$1");const x=$(e=>e.replaceAll(/ \(.*\)/gu,"").trim(),"getSegment"),S=$(e=>e.trim().split(" ")[1].slice(1,-1),"getMethod"),pe=$(e=>{const t=e.printRoutes().replaceAll(/[─│└├]/gu," ").trimEnd().split(`
2
+ `),r=t.reduce((a,s,n)=>{const l=x(s);if(x(t[n-1]??"")===l){const d=a.filter(j=>j.index<n&&j.segment===l),{methods:b}=d.at(-1);return b!==null&&b.push(S(s)),a}const i=s.replaceAll(/ \(.*\)/gu,"").match(/ /gu);if(i===null)throw new Error("Invalid spaces");const c=i.length/4,f=s.includes("("),h=f?[S(s)]:null;return a.push({depth:c,index:n,isRoute:f,methods:h,segment:l}),a},[]),o=[];return r.filter(a=>a.isRoute).forEach(a=>{const s=[...r.filter(n=>n.index<a.index&&n.depth<a.depth).filter((n,l,i)=>!i.find(c=>c.depth===n.depth&&c.index>n.index)).map(n=>n.segment),a.segment].join("");if(a.methods===null)throw new Error("Invalid methods");a.methods.forEach(n=>{o.push({file:"unknown",method:n.toUpperCase(),path:s,tags:[]})})}),o},"fastifyRoutes");var ue=Object.defineProperty,fe=p((e,t)=>ue(e,"name",{value:t,configurable:!0}),"p$2");const he=fe(e=>{const t=e._core.router.routes,r=[];return[...t.keys()].forEach(o=>{t.get(o).routes.forEach(a=>{r.push({file:"unknown",method:a.route.method.toUpperCase(),path:a.path,tags:[]})})}),r},"hapiRoutes");var de=Object.defineProperty,ge=p((e,t)=>de(e,"name",{value:t,configurable:!0}),"a$1");const me=ge(e=>{const t=[];return e.middleware.filter(r=>r.router).flatMap(r=>r.router.stack).forEach(r=>{t.push({file:"unknown",method:r.methods.join("|").toUpperCase(),path:r.path,tags:[]})}),t},"koaRoutes");var ye=Object.defineProperty,Ee=p((e,t)=>ye(e,"name",{value:t,configurable:!0}),"f");const D=/\.(js|ts|mjs|cjs)$/u,we=Ee((e,t,r=!1)=>{e=y(e);const o=y(Y());let a=[];const s=O(e,z,r);a=[...a,...s.map(i=>i.spec)];const n=O(e,K,r);a=[...a,...n.map(i=>i.spec)];const l=[];return a.length===0?(H(e,"utf8").split(/\r?\n/u).forEach(i=>{const c=/[=aces|]+\s["'|](GET|POST|PUT|PATCH|HEAD|DELETE|OPTIONS)["'|]/u.exec(i);if(c){let[,f]=c;f==="GET"&&(f="GET|HEAD"),l.push({file:e.replace(`${o}/`,""),method:f,path:y(e.replace(t,"").replace(D,"")),tags:[]})}}),l.length===0&&l.push({file:e.replace(`${o}/`,""),method:"GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS",path:y(e.replace(t,"").replace(D,"")),tags:[]}),l):(a.forEach(i=>{Object.entries(i?.paths??{}).forEach(([c,f])=>{Object.entries(f).forEach(([h,d])=>{l.push({file:e.replace(`${o}/`,""),method:h.toUpperCase(),path:y(c),tags:d.tags})})})}),l)},"apiRouteFileParser");var ve=Object.defineProperty,P=p((e,t)=>ve(e,"name",{value:t,configurable:!0}),"n$2");const U=[".js",".ts",".mjs",".cjs"],$e=P(e=>{let t=T(e);for(;t.base&&t.root!==t.dir;){if(J(t.dir).find(r=>r==="package.json"))return t.dir;t=T(t.dir)}return null},"getAppWorkingDirectoryPath"),Pe=P(e=>{const t=`${e}/package.json`,{dependencies:r}=JSON.parse(H(t).toString());return r?.express?"express":r?.koa&&(r["@koa/router"]||r["koa-router"])?"koa":r?.next?"next":r?.["@hapi/hapi"]?"hapi":r?.fastify?"fastify":null},"getFrameworkName"),be=P((e,t)=>Object.keys(e).length===0?null:t==="hapi"?typeof e.app.app=="string"?e.app:e:e.app??e,"getApp");var je=Object.defineProperty,B=p((e,t)=>je(e,"name",{value:t,configurable:!0}),"e");const _=B(e=>{try{return F(e).isDirectory()}catch{return!1}},"isDirectory"),Ae=B(async(e="")=>{let t=g(e,"pages/api");return!_(t)&&(t=g(e,"src/pages/api"),!_(t))?[]:X(t,{extensions:U,includeDirs:!1})},"collectApiRouteFiles");var Te=Object.defineProperty,ke=p((e,t)=>Te(e,"name",{value:t,configurable:!0}),"r");const R=ke(async(e,t,r)=>{if(t==="express")return ie(e);if(t==="koa")return me(e);if(t==="hapi")return he(e);if(t==="fastify")return pe(e);if(t==="next"){const o=await Ae(e);if(o.length===0)throw new Error(`No API routes found, in "${e}".`);return o.flatMap(a=>we(a,e,r))}return null},"getRoutes");var Oe=Object.defineProperty,xe=p((e,t)=>Oe(e,"name",{value:t,configurable:!0}),"n");const Se=xe((e,t)=>{const r=new Map;return e.forEach(o=>{const a=t(o),s=r.get(a);s?s.push(o):r.set(a,[o])}),r},"routesGroupBy");var De=Object.defineProperty,I=p((e,t)=>De(e,"name",{value:t,configurable:!0}),"l");const _e=I((e,t)=>{const r={ANY:u.redBright,DELETE:u.redBright,GET:u.blue,HEAD:u.hex("#6C7280"),OPTIONS:u.hex("#6C7280"),PATCH:u.yellow,POST:u.yellow,PUT:u.yellow};let o;if(e==="GET|HEAD")o=`${u.blue("GET")}${u.grey("|HEAD")}`;else{const c=r[e](e);o=e==="GET"?`${c}${u.grey("|HEAD")}`:c}const a=e==="GET"?6:14-e.length,s=Array.from({length:a}).fill(" ").join(""),n=process.stdout.columns-16-t.length-4,l=n>0?Array.from({length:n}).fill(".").join(""):"",i=t.split("/").map(c=>[":","["].includes(c[0]??"")?u.yellowBright(c):c).join("/");return` ${o}${s}${i}${u.grey(l)}`},"renderRoute"),C=I((e,t={})=>e.map(r=>{if(!(Array.isArray(t.methods)&&t.methods.includes(r.method)))return r.method==="GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS"&&(r.method="ANY"),_e(r.method,r.path.replace("/pages",""))}).filter(Boolean),"routesRender");var Re=Object.defineProperty,Ce=p((e,t)=>Re(e,"name",{value:t,configurable:!0}),"m");const Ie=Ce(async(e,t,r={})=>{const o=g(w.cwd(),t);if(!E(o))throw new Error("No such file, invalid path provided.");const a=$e(o);if(!a)throw new Error("Please initialize local package.json.");if(e===void 0){const n=Pe(a);if(!n)throw new Error("Couldn't detect supported back-end framework.");e=n}let s=null;if(e==="next")s=await R(o,"next",r.verbose??!1);else{if(!F(o).isFile())throw new Error(`${o} is directory, but file expected.`);if(!U.includes(k(o)))throw new Error("Please specify application .ts/.js/.mjs/.cjs file.");const n=`${a}/.env`;E(n)&&(await import("dotenv")).config({path:n});const l=k(o)===".ts",i=g(a,"node_modules/.bin/tsc");if(l&&!E(i))throw new Error(`Please install typescript in ${a}`);try{if(l)try{q(`${i} --outDir framework-list >&2`,{cwd:a})}catch(d){console.log(`TSC compilation failed. Please resolve issues in your project.
3
+ `),console.log(d),A(g(a,"framework-list"),{recursive:!0})}const c=l?g(a,"framework-list",o.replace(a,"").replace(".ts",".js")):o,f=new Function("path","return import(path)"),{default:h}=await f(c);s=await R(["AsyncFunction","Function"].includes(h.constructor.name)?await h():be(h,e),e,r.verbose??!1)}finally{l&&A(g(a,"framework-list"),{recursive:!0})}}if(s===null)throw new Error(`Framework "${e}" is not supported.`);if(Array.isArray(r.includePaths)&&r.includePaths.length>0&&(s=r.includePaths.flatMap(n=>s.filter(l=>l.path.startsWith(n)))),Array.isArray(r.excludePaths)&&r.excludePaths.length>0&&(s=r.excludePaths.flatMap(n=>s.filter(l=>!l.path.startsWith(n)))),typeof r.group=="string"&&r.group!==""){console.log();const n=Se(s,i=>r.group==="path"?i.path.replace("/pages","").split("/")[1]:i.tags[0]??"unsorted");let l=0;n.forEach((i,c)=>{l>0&&console.log();const f=(w.stdout.columns-16-c.length)/2,h=f>0?Array.from({length:f}).fill(" ").join(""):"";console.log(h+u.bold.underline(c)),C(i,r).forEach(d=>{console.log(d)}),l+=1})}else console.log(),C(s,r).forEach(n=>{console.log(n)});console.log(`
4
+ Listed ${u.greenBright(String(s.length))} HTTP ${s.length===1?"route":"routes"}.
5
+ `)},"listCommand");export{Ie as default};
@@ -0,0 +1,5 @@
1
+ "use strict";var _=Object.create;var E=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var p=(e,t)=>E(e,"name",{value:t,configurable:!0});var L=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of U(t))!I.call(e,a)&&a!==r&&E(e,a,{get:()=>t[a],enumerable:!(o=G(t,a))||o.enumerable});return e};var B=(e,t,r)=>(r=e!=null?_(q(e)):{},L(t||!e||!e.__esModule?E(r,"default",{value:e,enumerable:!0}):r,e));const M=require("node:child_process"),d=require("node:fs"),D=require("node:process"),u=require("@visulima/path"),W=require("chalk"),y=require("@visulima/jsdoc-open-api"),J=require("@visulima/fs"),N=p(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),A=N(D),h=N(W);var Y=Object.defineProperty,z=p((e,t)=>Y(e,"name",{value:t,configurable:!0}),"l$2");const K=z((e,t)=>{if(t.length===0)throw new Error("must include at least one key to map");let r=e.toString();return t.forEach(o=>{r=o.optional?r.replace("(?:\\/([^\\/]+?))?\\",`/:${o.name}?`):r.replace(String.raw`(?:([^\/]+?))`,`:${o.name}`)}),r.replace(String.raw`/?(?=\/|$)/i`,"").replace("/^","").replaceAll("\\","").replaceAll(/\/{2,}/gu,"/")},"mapKeysToPath");var X=Object.defineProperty,Q=p((e,t)=>X(e,"name",{value:t,configurable:!0}),"n$5");const V=Q((e,t)=>{if(typeof e=="string")return e;if(e.fast_slash)return"";if(e.fast_star)return"*";let r="";t.length>0&&(r=K(e,t));const o=/^\/\^((?:\\[$()*+./?[\\\]^{|}]|[^$()*+./?[\\\]^{|}])*)\$\//u.exec(e.toString().replace(String.raw`\/?`,"").replace(String.raw`(?=\/|$)`,"$"));return Array.isArray(o)&&o.length>1?o[1].replaceAll(/\\(.)/gu,"$1").slice(1):r?r.slice(1):e.toString()},"pathRegexParser");var Z=Object.defineProperty,w=p((e,t)=>Z(e,"name",{value:t,configurable:!0}),"n$4");const ee=w((e,t,r)=>{const o=e.route.stack.at(-1),a=t.map(l=>({in:"path",name:l.name,required:!l.optional})),s=e.route.stack.filter(l=>l.handle.metadata);if(s.length>1)throw new Error("Only one metadata middleware is allowed per route");const n=(r+e.route.path).replaceAll(/\/{2,}/gu,"/");return s.length===0?{method:o.method,path:n,pathParams:a}:{metadata:s[0].handle.metadata,method:o.method,path:n,pathParams:a}},"parseRouteLayer"),C=w((e,t,r,o)=>{if(o=[...o,...r.keys],r.name==="router"&&r.handle?.stack!==void 0)for(const a of r.handle.stack)t=t||"",C(e,`${t}/${V(r.regexp,r.keys)}`,a,o);!r.route||r.route.stack.length===0||e.push(ee(r,o,t))},"traverse"),te=w(e=>{const t=e._router||e.router,r=[];for(const o of t.stack)C(r,"",o,[]);return r},"expressPathParser");var re=Object.defineProperty,ae=p((e,t)=>re(e,"name",{value:t,configurable:!0}),"s$1");const oe=ae(e=>{const t=[];return te(e).forEach(r=>{t.push({file:"unknown",method:r.method.toUpperCase(),path:r.path,tags:[]})}),t},"expressRoutes");var ne=Object.defineProperty,$=p((e,t)=>ne(e,"name",{value:t,configurable:!0}),"u$1");const b=$(e=>e.replaceAll(/ \(.*\)/gu,"").trim(),"getSegment"),T=$(e=>e.trim().split(" ")[1].slice(1,-1),"getMethod"),se=$(e=>{const t=e.printRoutes().replaceAll(/[─│└├]/gu," ").trimEnd().split(`
2
+ `),r=t.reduce((a,s,n)=>{const l=b(s);if(b(t[n-1]??"")===l){const m=a.filter(j=>j.index<n&&j.segment===l),{methods:P}=m.at(-1);return P!==null&&P.push(T(s)),a}const i=s.replaceAll(/ \(.*\)/gu,"").match(/ /gu);if(i===null)throw new Error("Invalid spaces");const c=i.length/4,f=s.includes("("),g=f?[T(s)]:null;return a.push({depth:c,index:n,isRoute:f,methods:g,segment:l}),a},[]),o=[];return r.filter(a=>a.isRoute).forEach(a=>{const s=[...r.filter(n=>n.index<a.index&&n.depth<a.depth).filter((n,l,i)=>!i.find(c=>c.depth===n.depth&&c.index>n.index)).map(n=>n.segment),a.segment].join("");if(a.methods===null)throw new Error("Invalid methods");a.methods.forEach(n=>{o.push({file:"unknown",method:n.toUpperCase(),path:s,tags:[]})})}),o},"fastifyRoutes");var le=Object.defineProperty,ie=p((e,t)=>le(e,"name",{value:t,configurable:!0}),"p$2");const ce=ie(e=>{const t=e._core.router.routes,r=[];return[...t.keys()].forEach(o=>{t.get(o).routes.forEach(a=>{r.push({file:"unknown",method:a.route.method.toUpperCase(),path:a.path,tags:[]})})}),r},"hapiRoutes");var pe=Object.defineProperty,ue=p((e,t)=>pe(e,"name",{value:t,configurable:!0}),"a$1");const he=ue(e=>{const t=[];return e.middleware.filter(r=>r.router).flatMap(r=>r.router.stack).forEach(r=>{t.push({file:"unknown",method:r.methods.join("|").toUpperCase(),path:r.path,tags:[]})}),t},"koaRoutes");var fe=Object.defineProperty,de=p((e,t)=>fe(e,"name",{value:t,configurable:!0}),"f");const O=/\.(js|ts|mjs|cjs)$/u,ge=de((e,t,r=!1)=>{e=u.toNamespacedPath(e);const o=u.toNamespacedPath(D.cwd());let a=[];const s=y.parseFile(e,y.jsDocumentCommentsToOpenApi,r);a=[...a,...s.map(i=>i.spec)];const n=y.parseFile(e,y.swaggerJsDocumentCommentsToOpenApi,r);a=[...a,...n.map(i=>i.spec)];const l=[];return a.length===0?(d.readFileSync(e,"utf8").split(/\r?\n/u).forEach(i=>{const c=/[=aces|]+\s["'|](GET|POST|PUT|PATCH|HEAD|DELETE|OPTIONS)["'|]/u.exec(i);if(c){let[,f]=c;f==="GET"&&(f="GET|HEAD"),l.push({file:e.replace(`${o}/`,""),method:f,path:u.toNamespacedPath(e.replace(t,"").replace(O,"")),tags:[]})}}),l.length===0&&l.push({file:e.replace(`${o}/`,""),method:"GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS",path:u.toNamespacedPath(e.replace(t,"").replace(O,"")),tags:[]}),l):(a.forEach(i=>{Object.entries(i?.paths??{}).forEach(([c,f])=>{Object.entries(f).forEach(([g,m])=>{l.push({file:e.replace(`${o}/`,""),method:g.toUpperCase(),path:u.toNamespacedPath(c),tags:m.tags})})})}),l)},"apiRouteFileParser");var me=Object.defineProperty,v=p((e,t)=>me(e,"name",{value:t,configurable:!0}),"n$2");const R=[".js",".ts",".mjs",".cjs"],ye=v(e=>{let t=u.parse(e);for(;t.base&&t.root!==t.dir;){if(d.readdirSync(t.dir).find(r=>r==="package.json"))return t.dir;t=u.parse(t.dir)}return null},"getAppWorkingDirectoryPath"),Ee=v(e=>{const t=`${e}/package.json`,{dependencies:r}=JSON.parse(d.readFileSync(t).toString());return r?.express?"express":r?.koa&&(r["@koa/router"]||r["koa-router"])?"koa":r?.next?"next":r?.["@hapi/hapi"]?"hapi":r?.fastify?"fastify":null},"getFrameworkName"),we=v((e,t)=>Object.keys(e).length===0?null:t==="hapi"?typeof e.app.app=="string"?e.app:e:e.app??e,"getApp");var $e=Object.defineProperty,F=p((e,t)=>$e(e,"name",{value:t,configurable:!0}),"e");const k=F(e=>{try{return d.statSync(e).isDirectory()}catch{return!1}},"isDirectory"),ve=F(async(e="")=>{let t=u.join(e,"pages/api");return!k(t)&&(t=u.join(e,"src/pages/api"),!k(t))?[]:J.collect(t,{extensions:R,includeDirs:!1})},"collectApiRouteFiles");var Pe=Object.defineProperty,je=p((e,t)=>Pe(e,"name",{value:t,configurable:!0}),"r");const x=je(async(e,t,r)=>{if(t==="express")return oe(e);if(t==="koa")return he(e);if(t==="hapi")return ce(e);if(t==="fastify")return se(e);if(t==="next"){const o=await ve(e);if(o.length===0)throw new Error(`No API routes found, in "${e}".`);return o.flatMap(a=>ge(a,e,r))}return null},"getRoutes");var Ae=Object.defineProperty,be=p((e,t)=>Ae(e,"name",{value:t,configurable:!0}),"n");const Te=be((e,t)=>{const r=new Map;return e.forEach(o=>{const a=t(o),s=r.get(a);s?s.push(o):r.set(a,[o])}),r},"routesGroupBy");var Oe=Object.defineProperty,H=p((e,t)=>Oe(e,"name",{value:t,configurable:!0}),"l");const ke=H((e,t)=>{const r={ANY:h.redBright,DELETE:h.redBright,GET:h.blue,HEAD:h.hex("#6C7280"),OPTIONS:h.hex("#6C7280"),PATCH:h.yellow,POST:h.yellow,PUT:h.yellow};let o;if(e==="GET|HEAD")o=`${h.blue("GET")}${h.grey("|HEAD")}`;else{const c=r[e](e);o=e==="GET"?`${c}${h.grey("|HEAD")}`:c}const a=e==="GET"?6:14-e.length,s=Array.from({length:a}).fill(" ").join(""),n=process.stdout.columns-16-t.length-4,l=n>0?Array.from({length:n}).fill(".").join(""):"",i=t.split("/").map(c=>[":","["].includes(c[0]??"")?h.yellowBright(c):c).join("/");return` ${o}${s}${i}${h.grey(l)}`},"renderRoute"),S=H((e,t={})=>e.map(r=>{if(!(Array.isArray(t.methods)&&t.methods.includes(r.method)))return r.method==="GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS"&&(r.method="ANY"),ke(r.method,r.path.replace("/pages",""))}).filter(Boolean),"routesRender");var xe=Object.defineProperty,Se=p((e,t)=>xe(e,"name",{value:t,configurable:!0}),"m");const De=Se(async(e,t,r={})=>{const o=u.join(A.cwd(),t);if(!d.existsSync(o))throw new Error("No such file, invalid path provided.");const a=ye(o);if(!a)throw new Error("Please initialize local package.json.");if(e===void 0){const n=Ee(a);if(!n)throw new Error("Couldn't detect supported back-end framework.");e=n}let s=null;if(e==="next")s=await x(o,"next",r.verbose??!1);else{if(!d.statSync(o).isFile())throw new Error(`${o} is directory, but file expected.`);if(!R.includes(u.extname(o)))throw new Error("Please specify application .ts/.js/.mjs/.cjs file.");const n=`${a}/.env`;d.existsSync(n)&&(await import("dotenv")).config({path:n});const l=u.extname(o)===".ts",i=u.join(a,"node_modules/.bin/tsc");if(l&&!d.existsSync(i))throw new Error(`Please install typescript in ${a}`);try{if(l)try{M.execSync(`${i} --outDir framework-list >&2`,{cwd:a})}catch(m){console.log(`TSC compilation failed. Please resolve issues in your project.
3
+ `),console.log(m),d.rmSync(u.join(a,"framework-list"),{recursive:!0})}const c=l?u.join(a,"framework-list",o.replace(a,"").replace(".ts",".js")):o,f=new Function("path","return import(path)"),{default:g}=await f(c);s=await x(["AsyncFunction","Function"].includes(g.constructor.name)?await g():we(g,e),e,r.verbose??!1)}finally{l&&d.rmSync(u.join(a,"framework-list"),{recursive:!0})}}if(s===null)throw new Error(`Framework "${e}" is not supported.`);if(Array.isArray(r.includePaths)&&r.includePaths.length>0&&(s=r.includePaths.flatMap(n=>s.filter(l=>l.path.startsWith(n)))),Array.isArray(r.excludePaths)&&r.excludePaths.length>0&&(s=r.excludePaths.flatMap(n=>s.filter(l=>!l.path.startsWith(n)))),typeof r.group=="string"&&r.group!==""){console.log();const n=Te(s,i=>r.group==="path"?i.path.replace("/pages","").split("/")[1]:i.tags[0]??"unsorted");let l=0;n.forEach((i,c)=>{l>0&&console.log();const f=(A.stdout.columns-16-c.length)/2,g=f>0?Array.from({length:f}).fill(" ").join(""):"";console.log(g+h.bold.underline(c)),S(i,r).forEach(m=>{console.log(m)}),l+=1})}else console.log(),S(s,r).forEach(n=>{console.log(n)});console.log(`
4
+ Listed ${h.greenBright(String(s.length))} HTTP ${s.length===1?"route":"routes"}.
5
+ `)},"listCommand");module.exports=De;
@@ -0,0 +1 @@
1
+ "use strict";var R=Object.defineProperty;var d=(e,t)=>R(e,"name",{value:t,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("http-errors"),c=require("http-status-codes"),j=require("ts-japi"),C=d(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),S=C(f),p=C(j);var H=Object.defineProperty,h=d((e,t)=>H(e,"name",{value:t,configurable:!0}),"e");const g=h((e,t)=>{const o=t.headers??{};Object.keys(o).forEach(r=>{e.setHeader(r,o[r])})},"setErrorHeaders"),i=h((e,t)=>{e.setHeader("content-type","application/json; charset=utf-8"),e.end(JSON.stringify(t))},"sendJson"),b=h((e,t)=>{t.statusCode!==void 0&&(e.statusCode=t.statusCode),t.status!==void 0&&(e.statusCode=t.status),e.statusCode<400&&(e.statusCode=c.StatusCodes.INTERNAL_SERVER_ERROR)},"addStatusCodeToResponse");var P=Object.defineProperty,_=d((e,t)=>P(e,"name",{value:t,configurable:!0}),"d$1");const m="An error occurred",O=_((e,t,o)=>{if(b(o,e),g(o,e),e instanceof p.JapiError||p.JapiError.isLikeJapiError(e)){const r=new p.ErrorSerializer;i(o,r.serialize(e))}else if(e instanceof f.HttpError){const{message:r,statusCode:s,title:a}=e;i(o,{errors:[{code:s,title:a||c.getReasonPhrase(s)||m,detail:r}]})}else{const{message:r}=e;i(o,{errors:[{code:"500",title:c.getReasonPhrase(o.statusCode)||m,detail:r}]})}},"jsonapiErrorHandler");var N=Object.defineProperty,J=d((e,t)=>N(e,"name",{value:t,configurable:!0}),"d");const E="https://tools.ietf.org/html/rfc2616#section-10",v="An error occurred",$=J((e,t,o)=>{const{message:r,stack:s}=e;if(e instanceof f.HttpError){const{expose:a,statusCode:n,title:u,type:l}=e;o.statusCode=n,g(o,e),i(o,{type:l||E,title:u||c.getReasonPhrase(n)||v,details:r,...a?{trace:s}:{}})}else b(o,e),i(o,{type:E,title:c.getReasonPhrase(o.statusCode)||v,details:r,...e.expose?{trace:s}:{}})},"problemErrorHandler");var w=Object.defineProperty,y=d((e,t)=>w(e,"name",{value:t,configurable:!0}),"a");const x=y((e,t)=>async(o,r,s)=>{const a=r.headers.accept;let n=$;a==="application/vnd.api+json"&&(n=O);for(const{handler:u,regex:l}of e)if(l.test(a)){n=u;break}o.expose=t,n(o,r,s)},"onError"),M=y(async(e,t,o)=>{const r=[...new Set(o.map(s=>s.method))].join(", ");throw t.setHeader("Allow",r),t.statusCode=405,S(405,`No route with [${e.method}] method found.`)},"onNoMatch");exports.onError=x;exports.onNoMatch=M;
@@ -0,0 +1 @@
1
+ var g=Object.defineProperty;var d=(e,t)=>g(e,"name",{value:t,configurable:!0});import j,{HttpError as v}from"http-errors";import{StatusCodes as R,getReasonPhrase as c}from"http-status-codes";import p from"ts-japi";var H=Object.defineProperty,f=d((e,t)=>H(e,"name",{value:t,configurable:!0}),"e");const C=f((e,t)=>{const o=t.headers??{};Object.keys(o).forEach(r=>{e.setHeader(r,o[r])})},"setErrorHeaders"),i=f((e,t)=>{e.setHeader("content-type","application/json; charset=utf-8"),e.end(JSON.stringify(t))},"sendJson"),y=f((e,t)=>{t.statusCode!==void 0&&(e.statusCode=t.statusCode),t.status!==void 0&&(e.statusCode=t.status),e.statusCode<400&&(e.statusCode=R.INTERNAL_SERVER_ERROR)},"addStatusCodeToResponse");var O=Object.defineProperty,S=d((e,t)=>O(e,"name",{value:t,configurable:!0}),"d$1");const m="An error occurred",x=S((e,t,o)=>{if(y(o,e),C(o,e),e instanceof p.JapiError||p.JapiError.isLikeJapiError(e)){const r=new p.ErrorSerializer;i(o,r.serialize(e))}else if(e instanceof v){const{message:r,statusCode:s,title:a}=e;i(o,{errors:[{code:s,title:a||c(s)||m,detail:r}]})}else{const{message:r}=e;i(o,{errors:[{code:"500",title:c(o.statusCode)||m,detail:r}]})}},"jsonapiErrorHandler");var J=Object.defineProperty,N=d((e,t)=>J(e,"name",{value:t,configurable:!0}),"d");const E="https://tools.ietf.org/html/rfc2616#section-10",h="An error occurred",$=N((e,t,o)=>{const{message:r,stack:s}=e;if(e instanceof v){const{expose:a,statusCode:n,title:u,type:l}=e;o.statusCode=n,C(o,e),i(o,{type:l||E,title:u||c(n)||h,details:r,...a?{trace:s}:{}})}else y(o,e),i(o,{type:E,title:c(o.statusCode)||h,details:r,...e.expose?{trace:s}:{}})},"problemErrorHandler");var w=Object.defineProperty,b=d((e,t)=>w(e,"name",{value:t,configurable:!0}),"a");const z=b((e,t)=>async(o,r,s)=>{const a=r.headers.accept;let n=$;a==="application/vnd.api+json"&&(n=x);for(const{handler:u,regex:l}of e)if(l.test(a)){n=u;break}o.expose=t,n(o,r,s)},"onError"),L=b(async(e,t,o)=>{const r=[...new Set(o.map(s=>s.method))].join(", ");throw t.setHeader("Allow",r),t.statusCode=405,j(405,`No route with [${e.method}] method found.`)},"onNoMatch");export{z as onError,L as onNoMatch};
@@ -0,0 +1 @@
1
+ var w=Object.defineProperty;var s=(e,t)=>w(e,"name",{value:t,configurable:!0});import n from"http-errors";var g=Object.defineProperty,c=s((e,t)=>g(e,"name",{value:t,configurable:!0}),"r");const h=c(e=>e.ip??e.headers["x-forwarded-for"]??e.headers["x-real-ip"]??e.socket.remoteAddress,"getIP"),y=c((e,t)=>async(d,m,f)=>{const a=h(d);if(a===void 0)throw n(400,"Missing IP");try{const r=await e.consume(a),i={"Retry-After":Math.round(r.msBeforeNext/1e3)||1,"X-RateLimit-Remaining":r.remainingPoints,"X-RateLimit-Reset":new Date(Date.now()+r.msBeforeNext).toISOString(),...t};Object.keys(i).forEach(o=>{m.setHeader(o,i[o])}),await f()}catch{throw n(429,"Too Many Requests")}},"rateLimiterMiddleware");export{y as default};
@@ -0,0 +1 @@
1
+ "use strict";var m=Object.defineProperty;var a=(e,t)=>m(e,"name",{value:t,configurable:!0});const l=require("http-errors"),w=a(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),n=w(l);var g=Object.defineProperty,c=a((e,t)=>g(e,"name",{value:t,configurable:!0}),"r");const h=c(e=>e.ip??e.headers["x-forwarded-for"]??e.headers["x-real-ip"]??e.socket.remoteAddress,"getIP"),p=c((e,t)=>async(d,f,u)=>{const o=h(d);if(o===void 0)throw n(400,"Missing IP");try{const r=await e.consume(o),i={"Retry-After":Math.round(r.msBeforeNext/1e3)||1,"X-RateLimit-Remaining":r.remainingPoints,"X-RateLimit-Reset":new Date(Date.now()+r.msBeforeNext).toISOString(),...t};Object.keys(i).forEach(s=>{f.setHeader(s,i[s])}),await u()}catch{throw n(429,"Too Many Requests")}},"rateLimiterMiddleware");module.exports=p;
@@ -0,0 +1 @@
1
+ var y=Object.defineProperty;var n=(e,t)=>y(e,"name",{value:t,configurable:!0});import d from"accepts";import{t as b}from"./utils-CDFMC8qn.mjs";import g from"./xmlTransformer-D49hlcok.mjs";import O from"./yamlTransformer-CJsV5N3c.mjs";var j=Object.defineProperty,v=n((e,t)=>j(e,"name",{value:t,configurable:!0}),"o");const f=v(e=>{if(typeof e!="string")return!1;try{const t=JSON.parse(e),a=Object.prototype.toString.call(t);return a==="[object Object]"||a==="[object Array]"}catch{return!1}},"hasJsonStructure");var H=Object.defineProperty,S=n((e,t)=>H(e,"name",{value:t,configurable:!0}),"f");const c="Content-Type",$=S((e,t,a,r,l)=>{if(typeof a.getHeader(c)=="string")return r;const p=[...d(t).types(),l.defaultContentType];let s=r,i=!1;return p.forEach(o=>{e.forEach(({regex:u,serializer:m})=>{u.test(o)&&(a.setHeader(c,o),s=m(s),i=!0)}),i||(/yaml|yml/.test(o)?(a.setHeader(c,o),s=O(f(r)?JSON.parse(r):r)):o.includes("xml")&&(a.setHeader(c,o),s=g({[b(`${t.url?.replace("/api/","")}`.trim())]:f(r)?JSON.parse(r):r})))}),s},"serialize");export{$ as default};
@@ -0,0 +1 @@
1
+ "use strict";var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});const m=require("accepts"),b=require("./utils-B3c9VYrK.cjs"),g=require("./xmlTransformer-sHYc31_g.cjs"),j=require("./yamlTransformer-DgcCb8ww.cjs"),O=n(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),v=O(m);var S=Object.defineProperty,h=n((e,t)=>S(e,"name",{value:t,configurable:!0}),"o");const l=h(e=>{if(typeof e!="string")return!1;try{const t=JSON.parse(e),a=Object.prototype.toString.call(t);return a==="[object Object]"||a==="[object Array]"}catch{return!1}},"hasJsonStructure");var q=Object.defineProperty,x=n((e,t)=>q(e,"name",{value:t,configurable:!0}),"f");const u="Content-Type",H=x((e,t,a,r,i)=>{if(typeof a.getHeader(u)=="string")return r;const f=[...v(t).types(),i.defaultContentType];let s=r,c=!1;return f.forEach(o=>{e.forEach(({regex:p,serializer:y})=>{p.test(o)&&(a.setHeader(u,o),s=y(s),c=!0)}),c||(/yaml|yml/.test(o)?(a.setHeader(u,o),s=j(l(r)?JSON.parse(r):r)):o.includes("xml")&&(a.setHeader(u,o),s=g({[b.t(`${t.url?.replace("/api/","")}`.trim())]:l(r)?JSON.parse(r):r})))}),s},"serialize");module.exports=H;
@@ -0,0 +1 @@
1
+ "use strict";var p=Object.defineProperty;var i=(e,s)=>p(e,"name",{value:s,configurable:!0});const f=require("debug"),a=require("./serialize-DrSd3bRJ.cjs"),u=i(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),c=u(f);var m=Object.defineProperty,y=i((e,s)=>m(e,"name",{value:s,configurable:!0}),"p");const j=c("api-platform:connect:serializers-middleware"),b=y((e=[],s="application/json; charset=utf-8")=>async(o,n,d)=>{if(typeof n.send=="function"){const r=n.send;n.send=t=>{n.send=r,t=a(e,o,n,t,{defaultContentType:s}),n.send(t)}}else if(typeof n.json=="function")j("response.json() is not supported by @visulima/api-platform serializer. Use response.send() or response.end() instead.");else{const r=n.end;n.end=(t,...l)=>(n.end=r,t=a(e,o,n,t,{defaultContentType:s}),n.end(t,...l))}return d()},"serializersMiddleware");module.exports=b;
@@ -0,0 +1 @@
1
+ var l=Object.defineProperty;var i=(r,s)=>l(r,"name",{value:s,configurable:!0});import f from"debug";import a from"./serialize-BQ5nNuTA.mjs";var c=Object.defineProperty,u=i((r,s)=>c(r,"name",{value:s,configurable:!0}),"p");const m=f("api-platform:connect:serializers-middleware"),b=u((r=[],s="application/json; charset=utf-8")=>async(o,e,d)=>{if(typeof e.send=="function"){const t=e.send;e.send=n=>{e.send=t,n=a(r,o,e,n,{defaultContentType:s}),e.send(n)}}else if(typeof e.json=="function")m("response.json() is not supported by @visulima/api-platform serializer. Use response.send() or response.end() instead.");else{const t=e.end;e.end=(n,...p)=>(e.end=t,n=a(r,o,e,n,{defaultContentType:s}),e.end(n,...p))}return d()},"serializersMiddleware");export{b as default};
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});const s=require("./swaggerHandler-D4zaMC6r.cjs");var g=Object.defineProperty,n=t((e,r)=>g(e,"name",{value:r,configurable:!0}),"e");const o=n((e={})=>s(e),"swaggerApiRoute");module.exports=o;
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});import o from"./swaggerHandler-Dcg9F7KZ.mjs";var u=Object.defineProperty,f=t((e,r)=>u(e,"name",{value:r,configurable:!0}),"e");const n=f((e={})=>o(e),"swaggerApiRoute");export{n as default};
@@ -0,0 +1 @@
1
+ "use strict";var $=Object.defineProperty;var u=(e,t)=>$(e,"name",{value:t,configurable:!0});const j=require("node:fs"),S=require("@visulima/crud"),O=require("@visulima/path"),q=require("debug"),T=require("lodash.merge"),C=require("./yamlTransformer-DgcCb8ww.cjs"),M=require("jstoxml"),A=require("yaml"),b=require("./utils-B3c9VYrK.cjs"),w=u(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),P=w(q),v=w(T);var _=Object.defineProperty,d=u((e,t)=>_(e,"name",{value:t,configurable:!0}),"c$1");const y="application/json",g=d((e,t,s)=>{e.responses[t].content===void 0&&(e.responses[t].content={}),e.responses[t].content?.[s]===void 0&&(e.responses[t].content[s]={})},"prepareStatusContent"),k=d((e,t,s)=>{typeof e.components!="object"&&(e.components={}),typeof e.components.schemas!="object"&&(e.components.schemas={}),e.components.schemas[t]===void 0&&(e.components.schemas[t]=s)},"extendComponentSchemas"),H=d((e,t,s,n,i)=>{g(e,t,s),e.responses[t].content?.[s]?.schema===void 0&&(e.responses[t].content[s].schema={}),e.responses[t].content[s].schema=i?{items:{$ref:`#/components/schemas/${n}`},type:"array"}:{$ref:`#/components/schemas/${n}`}},"extendResponseSchema"),J=d((e,t,s,n,i,c)=>{let a,o;return Object.entries(t.content).forEach(([p,r])=>{if(typeof r.schema=="object"){const{schema:m}=r;p===y&&r.examples!==void 0?o=r.examples:p===y&&r.example!==void 0&&(a=r.example);const f=m.type==="array";Object.entries(s??{}).forEach(([l,E])=>{if(!E)return;let h;m?.$ref===void 0?(h=`${b.t(n.trim().replace("/",""))}${l==="application/ld+json"?".jsonld":""}`,k(i,h,m)):h=m.$ref.replace("#/components/schemas/",""),H(e,c,l,h,f)})}}),{example:a,examples:o}},"extendSwaggerWithMediaTypeSchema"),N=d((e,t,s,n,i,c)=>{Object.keys(t.content).forEach(a=>{a!==y&&Object.entries(n??{}).forEach(([o,p])=>{if(!p)return;g(e,s,o),e.responses[s].content?.[o]?.example===void 0&&(e.responses[s].content[o].example={});let r=!1;i.forEach(({regex:m,transformer:f})=>{!r&&m.test(o)&&(e.responses[s].content[o].example=f(c),r=!0)}),r||(e.responses[s].content[o].example=c)})})},"extendSwaggerWithMediaTypeExample"),W=d((e,t,s)=>{typeof e.components!="object"&&(e.components={}),typeof e.components.examples!="object"&&(e.components.examples={}),e.components.examples[t]===void 0&&s[t]!==void 0&&(e.components.examples[t]=s[t])},"extendComponentExamples"),F=d((e,t,s,n,i,c)=>{g(t,s,n),t.responses[s].content?.[n]?.examples===void 0&&(t.responses[s].content[n].examples={});const a={};Object.entries(c).forEach(([o,p])=>{let r=!1;i.forEach(({regex:m,transformer:f})=>{if(!r&&m.test(n)){let l="";e.components?.examples?.[o]?l=e.components.examples[o].value:p.$ref?l=(e.components?.examples?.[p.$ref.replace("#/components/examples/","")]).value:typeof p.value=="string"&&(l=p.value),a[o]={value:f(l)},r=!0}}),r||(a[o]=e.components?.examples?.[o]===void 0?p:{$ref:`#/components/examples/${o}`})}),t.responses[s].content[n].examples=a},"prepareResponseExamples"),R=d((e,t,s,n,i,c,a,o)=>{const p=b.t(c.trim().replace("/",""));Object.keys(n.content).forEach(r=>{r!==y&&Object.entries(i??{}).forEach(([m,f])=>{f&&(W(e,p,o),F(e,t,s,m,a,o))})})},"extendSwaggerWithMediaTypeExamples");function x(e,t,s=[{regex:/xml/u,transformer:d(n=>M.toXML(n,{header:!0,indent:" "}),"transformer")},{regex:/yaml|yml/,transformer:d(n=>A.stringify(n,{indent:2}),"transformer")}]){return typeof e=="object"&&typeof e.paths=="object"&&Object.entries(e.paths).forEach(([n,i])=>{Object.values(i).forEach(c=>{typeof c.responses=="object"&&Object.entries(c.responses).forEach(([a,o])=>{if(typeof o.content=="object"){const{example:p,examples:r}=J(c,o,t,n,e,a);p!==void 0?N(c,o,a,t,s,p):r!==void 0&&R(e,c,a,o,t,n,s,r)}})})}),e}u(x,"k");d(x,"extendSwaggerSpec");var D=Object.defineProperty,I=u((e,t)=>D(e,"name",{value:t,configurable:!0}),"c");const L=P("visulima:api-platform:swagger:crud:get-static-properties-swagger"),X=I((e={})=>{const{allowedMediaTypes:t={"application/json":!0},crud:s,specs:n,swaggerFilePath:i}=e;return async(c,a)=>{const o=O.join(process.cwd(),i??"swagger/swagger.json");if(!j.existsSync(o))throw new Error(`Swagger file not found at "${o}".`);const p=j.readFileSync(o,"utf8");let r=x(JSON.parse(p),t),m={};if(s!==void 0)try{const l=await S.modelsToOpenApi(s);m={components:{examples:l.examples,schemas:l.schemas},paths:l.paths,tags:l.tags},m=x(m,t),L(JSON.stringify(m,null,2)),r=v(r,m)}catch(l){throw console.log(l),new Error("Please install @visulima/crud to use the crud swagger generator.")}Array.isArray(n)&&n.forEach(l=>{r=v(r,x(l,t))});let f;typeof c.headers.accept=="string"&&/yaml|yml/.test(c.headers.accept)?(a.setHeader("Content-Type",c.headers.accept),f=C(r)):(a.setHeader("Content-Type","application/json"),f=JSON.stringify(r,null,2)),a.statusCode=200,a.end(f)}},"swaggerHandler");module.exports=X;
@@ -0,0 +1 @@
1
+ var E=Object.defineProperty;var u=(e,t)=>E(e,"name",{value:t,configurable:!0});import{createRequire as $}from"node:module";import{modelsToOpenApi as M}from"@visulima/crud";import{join as C}from"@visulima/path";import P from"debug";import v from"lodash.merge";import A from"./yamlTransformer-CJsV5N3c.mjs";import{toXML as H}from"jstoxml";import{stringify as N}from"yaml";import{t as b}from"./utils-CDFMC8qn.mjs";const S=$(import.meta.url),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,O=u(e=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[t,o]=h.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return h.getBuiltinModule(e)}return S(e)},"__cjs_getBuiltinModule"),{existsSync:_,readFileSync:T}=O("node:fs");var R=Object.defineProperty,d=u((e,t)=>R(e,"name",{value:t,configurable:!0}),"c$1");const y="application/json",j=d((e,t,o)=>{e.responses[t].content===void 0&&(e.responses[t].content={}),e.responses[t].content?.[o]===void 0&&(e.responses[t].content[o]={})},"prepareStatusContent"),k=d((e,t,o)=>{typeof e.components!="object"&&(e.components={}),typeof e.components.schemas!="object"&&(e.components.schemas={}),e.components.schemas[t]===void 0&&(e.components.schemas[t]=o)},"extendComponentSchemas"),q=d((e,t,o,n,l)=>{j(e,t,o),e.responses[t].content?.[o]?.schema===void 0&&(e.responses[t].content[o].schema={}),e.responses[t].content[o].schema=l?{items:{$ref:`#/components/schemas/${n}`},type:"array"}:{$ref:`#/components/schemas/${n}`}},"extendResponseSchema"),J=d((e,t,o,n,l,c)=>{let a,s;return Object.entries(t.content).forEach(([p,r])=>{if(typeof r.schema=="object"){const{schema:m}=r;p===y&&r.examples!==void 0?s=r.examples:p===y&&r.example!==void 0&&(a=r.example);const f=m.type==="array";Object.entries(o??{}).forEach(([i,w])=>{if(!w)return;let g;m?.$ref===void 0?(g=`${b(n.trim().replace("/",""))}${i==="application/ld+json"?".jsonld":""}`,k(l,g,m)):g=m.$ref.replace("#/components/schemas/",""),q(e,c,i,g,f)})}}),{example:a,examples:s}},"extendSwaggerWithMediaTypeSchema"),W=d((e,t,o,n,l,c)=>{Object.keys(t.content).forEach(a=>{a!==y&&Object.entries(n??{}).forEach(([s,p])=>{if(!p)return;j(e,o,s),e.responses[o].content?.[s]?.example===void 0&&(e.responses[o].content[s].example={});let r=!1;l.forEach(({regex:m,transformer:f})=>{!r&&m.test(s)&&(e.responses[o].content[s].example=f(c),r=!0)}),r||(e.responses[o].content[s].example=c)})})},"extendSwaggerWithMediaTypeExample"),B=d((e,t,o)=>{typeof e.components!="object"&&(e.components={}),typeof e.components.examples!="object"&&(e.components.examples={}),e.components.examples[t]===void 0&&o[t]!==void 0&&(e.components.examples[t]=o[t])},"extendComponentExamples"),F=d((e,t,o,n,l,c)=>{j(t,o,n),t.responses[o].content?.[n]?.examples===void 0&&(t.responses[o].content[n].examples={});const a={};Object.entries(c).forEach(([s,p])=>{let r=!1;l.forEach(({regex:m,transformer:f})=>{if(!r&&m.test(n)){let i="";e.components?.examples?.[s]?i=e.components.examples[s].value:p.$ref?i=(e.components?.examples?.[p.$ref.replace("#/components/examples/","")]).value:typeof p.value=="string"&&(i=p.value),a[s]={value:f(i)},r=!0}}),r||(a[s]=e.components?.examples?.[s]===void 0?p:{$ref:`#/components/examples/${s}`})}),t.responses[o].content[n].examples=a},"prepareResponseExamples"),I=d((e,t,o,n,l,c,a,s)=>{const p=b(c.trim().replace("/",""));Object.keys(n.content).forEach(r=>{r!==y&&Object.entries(l??{}).forEach(([m,f])=>{f&&(B(e,p,s),F(e,t,o,m,a,s))})})},"extendSwaggerWithMediaTypeExamples");function x(e,t,o=[{regex:/xml/u,transformer:d(n=>H(n,{header:!0,indent:" "}),"transformer")},{regex:/yaml|yml/,transformer:d(n=>N(n,{indent:2}),"transformer")}]){return typeof e=="object"&&typeof e.paths=="object"&&Object.entries(e.paths).forEach(([n,l])=>{Object.values(l).forEach(c=>{typeof c.responses=="object"&&Object.entries(c.responses).forEach(([a,s])=>{if(typeof s.content=="object"){const{example:p,examples:r}=J(c,s,t,n,e,a);p!==void 0?W(c,s,a,t,o,p):r!==void 0&&I(e,c,a,s,t,n,o,r)}})})}),e}u(x,"k");d(x,"extendSwaggerSpec");var L=Object.defineProperty,X=u((e,t)=>L(e,"name",{value:t,configurable:!0}),"c");const z=P("visulima:api-platform:swagger:crud:get-static-properties-swagger"),oe=X((e={})=>{const{allowedMediaTypes:t={"application/json":!0},crud:o,specs:n,swaggerFilePath:l}=e;return async(c,a)=>{const s=C(process.cwd(),l??"swagger/swagger.json");if(!_(s))throw new Error(`Swagger file not found at "${s}".`);const p=T(s,"utf8");let r=x(JSON.parse(p),t),m={};if(o!==void 0)try{const i=await M(o);m={components:{examples:i.examples,schemas:i.schemas},paths:i.paths,tags:i.tags},m=x(m,t),z(JSON.stringify(m,null,2)),r=v(r,m)}catch(i){throw console.log(i),new Error("Please install @visulima/crud to use the crud swagger generator.")}Array.isArray(n)&&n.forEach(i=>{r=v(r,x(i,t))});let f;typeof c.headers.accept=="string"&&/yaml|yml/.test(c.headers.accept)?(a.setHeader("Content-Type",c.headers.accept),f=A(r)):(a.setHeader("Content-Type","application/json"),f=JSON.stringify(r,null,2)),a.statusCode=200,a.end(f)}},"swaggerHandler");export{oe as default};
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var n=(e,r)=>o(e,"name",{value:r,configurable:!0});const u=require("node:url");var c=Object.defineProperty,s=n((e,r)=>c(e,"name",{value:r,configurable:!0}),"o");s((e,r,t)=>{e.statusCode=r,e.setHeader("Content-Type","application/json"),e.end(t?JSON.stringify(t):"")},"jsonResponse");s(async e=>{if(e.body)return e.body;const r=[];for await(const a of e)r.push(a);const t=Buffer.concat(r).toString();return t?JSON.parse(t):null},"parseBody");s(e=>{if(e.query)return e.query;if(!e.url)return{};const r=new u.URL(`https://${e.headers.host?.replace(/\/$/u,"")}/${e.url}`);return Object.fromEntries(r.searchParams.entries())},"parseQuery");const l=s(e=>e.toLowerCase().replaceAll(/[^\s\w]/gu," ").trimEnd().replaceAll(/\s+|_/gu,"-").replaceAll(/\b\w/gu,r=>r.toUpperCase()),"toHeaderCase");exports.t=l;
@@ -0,0 +1 @@
1
+ var i=Object.defineProperty;var n=(e,r)=>i(e,"name",{value:r,configurable:!0});import{createRequire as u}from"node:module";const c=u(import.meta.url),t=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,l=n(e=>{if(typeof t<"u"&&t.versions&&t.versions.node){const[r,s]=t.versions.node.split(".").map(Number);if(r>22||r===22&&s>=3||r===20&&s>=16)return t.getBuiltinModule(e)}return c(e)},"__cjs_getBuiltinModule"),{URL:p}=l("node:url");var d=Object.defineProperty,o=n((e,r)=>d(e,"name",{value:r,configurable:!0}),"o");o((e,r,s)=>{e.statusCode=r,e.setHeader("Content-Type","application/json"),e.end(s?JSON.stringify(s):"")},"jsonResponse");o(async e=>{if(e.body)return e.body;const r=[];for await(const a of e)r.push(a);const s=Buffer.concat(r).toString();return s?JSON.parse(s):null},"parseBody");o(e=>{if(e.query)return e.query;if(!e.url)return{};const r=new p(`https://${e.headers.host?.replace(/\/$/u,"")}/${e.url}`);return Object.fromEntries(r.searchParams.entries())},"parseQuery");const _=o(e=>e.toLowerCase().replaceAll(/[^\s\w]/gu," ").trimEnd().replaceAll(/\s+|_/gu,"-").replaceAll(/\b\w/gu,r=>r.toUpperCase()),"toHeaderCase");export{_ as t};
@@ -0,0 +1 @@
1
+ "use strict";var l=Object.defineProperty;var s=(e,r)=>l(e,"name",{value:r,configurable:!0});const f=require("node:fs"),w=require("@visulima/jsdoc-open-api"),g=require("@visulima/path"),d=s(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),b=d(f);var h=Object.defineProperty,p=s((e,r)=>h(e,"name",{value:r,configurable:!0}),"o");const j=p(({definition:e,output:r="swagger/swagger.json",sources:a,verbose:u})=>n=>({...n,webpack:p((t,o)=>{if(!o.isServer)return t;if(r.startsWith("/")&&(r=r.slice(1)),!r.endsWith(".json"))throw new Error("The output path must end with .json");return t={...t,plugins:[...t.plugins,new w.SwaggerCompilerPlugin(`${o.dir}/${r}`,a.map(c=>{const i=g.join(o.dir,c.replace("./",""));return b.lstatSync(i).isDirectory(),i}),{openapi:"3.0.0",...e},{verbose:u})]},typeof n.webpack=="function"?n.webpack(t,o):t},"webpack")}),"withOpenApi");module.exports=j;
@@ -0,0 +1 @@
1
+ var f=Object.defineProperty;var p=(r,e)=>f(r,"name",{value:e,configurable:!0});import{createRequire as d}from"node:module";import{SwaggerCompilerPlugin as w}from"@visulima/jsdoc-open-api";import{join as _}from"@visulima/path";const g=d(import.meta.url),s=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,m=p(r=>{if(typeof s<"u"&&s.versions&&s.versions.node){const[e,t]=s.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return s.getBuiltinModule(r)}return g(r)},"__cjs_getBuiltinModule"),b=m("node:fs");var h=Object.defineProperty,a=p((r,e)=>h(r,"name",{value:e,configurable:!0}),"o");const T=a(({definition:r,output:e="swagger/swagger.json",sources:t,verbose:c})=>i=>({...i,webpack:a((o,n)=>{if(!n.isServer)return o;if(e.startsWith("/")&&(e=e.slice(1)),!e.endsWith(".json"))throw new Error("The output path must end with .json");return o={...o,plugins:[...o.plugins,new w(`${n.dir}/${e}`,t.map(l=>{const u=_(n.dir,l.replace("./",""));return b.lstatSync(u).isDirectory(),u}),{openapi:"3.0.0",...r},{verbose:c})]},typeof i.webpack=="function"?i.webpack(o,n):o},"webpack")}),"withOpenApi");export{T as default};
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});import{toXML as o}from"jstoxml";var n=Object.defineProperty,m=t((e,r)=>n(e,"name",{value:r,configurable:!0}),"r");const d=m(e=>o(e,{header:!0,indent:" "}),"xmlTransformer");export{d as default};
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});const n=require("jstoxml");var a=Object.defineProperty,s=t((e,r)=>a(e,"name",{value:r,configurable:!0}),"r");const u=s(e=>n.toXML(e,{header:!0,indent:" "}),"xmlTransformer");module.exports=u;
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});import{stringify as n}from"yaml";var o=Object.defineProperty,f=t((e,r)=>o(e,"name",{value:r,configurable:!0}),"e");const l=f(e=>n(e,{indent:2}),"yamlTransformer");export{l as default};
@@ -0,0 +1 @@
1
+ "use strict";var n=Object.defineProperty;var t=(e,r)=>n(e,"name",{value:r,configurable:!0});const a=require("yaml");var i=Object.defineProperty,s=t((e,r)=>i(e,"name",{value:r,configurable:!0}),"e");const o=s(e=>a.stringify(e,{indent:2}),"yamlTransformer");module.exports=o;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-BjPTPgei.cjs");exports.zod=e.i;
@@ -0,0 +1 @@
1
+ import{i as a}from"./index-C3aJF6SV.mjs";export{a as zod};
@@ -0,0 +1,2 @@
1
+ declare const hasJsonStructure: (data: unknown) => boolean;
2
+ export = hasJsonStructure;
@@ -0,0 +1,2 @@
1
+ declare const hasJsonStructure: (data: unknown) => boolean;
2
+ export default hasJsonStructure;
@@ -0,0 +1,2 @@
1
+ declare const hasJsonStructure: (data: unknown) => boolean;
2
+ export = hasJsonStructure;
@@ -0,0 +1,4 @@
1
+ export { default as serialize } from "./serializers/serialize.d.cts";
2
+ export { default as xmlTransformer } from "./transformer/xml.d.cts";
3
+ export { default as yamlTransformer } from "./transformer/yaml.d.cts";
4
+ export type { Serializer, Serializers } from "./types.d.d.cts";
@@ -0,0 +1,4 @@
1
+ export { default as serialize } from "./serializers/serialize.d.mts";
2
+ export { default as xmlTransformer } from "./transformer/xml.d.mts";
3
+ export { default as yamlTransformer } from "./transformer/yaml.d.mts";
4
+ export type { Serializer, Serializers } from "./types.d.d.mts";
@@ -0,0 +1,4 @@
1
+ export { default as serialize } from "./serializers/serialize.d.ts";
2
+ export { default as xmlTransformer } from "./transformer/xml.d.ts";
3
+ export { default as yamlTransformer } from "./transformer/yaml.d.ts";
4
+ export type { Serializer, Serializers } from "./types.d.d.ts";
@@ -0,0 +1,6 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { Serializers } from "./types.d.d.cts";
3
+ declare const serialize: <Request extends IncomingMessage, Response extends ServerResponse>(serializers: Serializers, request: Request, response: Response, data: unknown, options: {
4
+ defaultContentType: string;
5
+ }) => Buffer | Uint8Array | string;
6
+ export = serialize;
@@ -0,0 +1,6 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { Serializers } from "./types.d.d.mts";
3
+ declare const serialize: <Request extends IncomingMessage, Response extends ServerResponse>(serializers: Serializers, request: Request, response: Response, data: unknown, options: {
4
+ defaultContentType: string;
5
+ }) => Buffer | Uint8Array | string;
6
+ export default serialize;
@@ -0,0 +1,6 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { Serializers } from "./types.d.d.ts";
3
+ declare const serialize: <Request extends IncomingMessage, Response extends ServerResponse>(serializers: Serializers, request: Request, response: Response, data: unknown, options: {
4
+ defaultContentType: string;
5
+ }) => Buffer | Uint8Array | string;
6
+ export = serialize;
@@ -0,0 +1,3 @@
1
+ import type { Serializer } from "../types.d.d.cts";
2
+ declare const xmlTransformer: Serializer;
3
+ export = xmlTransformer;
@@ -0,0 +1,3 @@
1
+ import type { Serializer } from "../types.d.d.mts";
2
+ declare const xmlTransformer: Serializer;
3
+ export default xmlTransformer;
@@ -0,0 +1,3 @@
1
+ import type { Serializer } from "../types.d.d.ts";
2
+ declare const xmlTransformer: Serializer;
3
+ export = xmlTransformer;
@@ -0,0 +1,3 @@
1
+ import type { Serializer } from "../types.d.d.cts";
2
+ declare const yamlTransformer: Serializer;
3
+ export = yamlTransformer;
@@ -0,0 +1,3 @@
1
+ import type { Serializer } from "../types.d.d.mts";
2
+ declare const yamlTransformer: Serializer;
3
+ export default yamlTransformer;