@cudenix/cudenix 0.0.58 → 0.0.60

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 (176) hide show
  1. package/dist/core/app.d.ts +16 -16
  2. package/dist/core/app.d.ts.map +1 -1
  3. package/dist/core/app.js +58 -185
  4. package/dist/core/app.js.map +1 -1
  5. package/dist/core/compile.d.ts +6 -1
  6. package/dist/core/compile.d.ts.map +1 -1
  7. package/dist/core/compile.js +121 -116
  8. package/dist/core/compile.js.map +1 -1
  9. package/dist/core/context.d.ts +3 -2
  10. package/dist/core/context.d.ts.map +1 -1
  11. package/dist/core/context.js +142 -76
  12. package/dist/core/context.js.map +1 -1
  13. package/dist/core/error.d.ts +2 -2
  14. package/dist/core/error.d.ts.map +1 -1
  15. package/dist/core/error.js +4 -3
  16. package/dist/core/error.js.map +1 -1
  17. package/dist/core/global.d.ts +5 -1
  18. package/dist/core/global.d.ts.map +1 -1
  19. package/dist/core/group.d.ts +1 -1
  20. package/dist/core/group.d.ts.map +1 -1
  21. package/dist/core/group.js +4 -4
  22. package/dist/core/group.js.map +1 -1
  23. package/dist/core/middleware.d.ts +1 -1
  24. package/dist/core/middleware.d.ts.map +1 -1
  25. package/dist/core/module.d.ts +7 -11
  26. package/dist/core/module.d.ts.map +1 -1
  27. package/dist/core/module.js +8 -8
  28. package/dist/core/module.js.map +1 -1
  29. package/dist/core/response.d.ts +1 -1
  30. package/dist/core/response.d.ts.map +1 -1
  31. package/dist/core/response.js +35 -21
  32. package/dist/core/response.js.map +1 -1
  33. package/dist/core/route.d.ts +12 -16
  34. package/dist/core/route.d.ts.map +1 -1
  35. package/dist/core/route.js +6 -7
  36. package/dist/core/route.js.map +1 -1
  37. package/dist/core/step.d.ts +4 -0
  38. package/dist/core/step.d.ts.map +1 -0
  39. package/dist/core/step.js +199 -0
  40. package/dist/core/step.js.map +1 -0
  41. package/dist/core/success.d.ts.map +1 -1
  42. package/dist/core/success.js +4 -3
  43. package/dist/core/success.js.map +1 -1
  44. package/dist/core/validator.d.ts +7 -11
  45. package/dist/core/validator.d.ts.map +1 -1
  46. package/dist/core/validator.js.map +1 -1
  47. package/dist/ecosystem/client/client.d.ts +6 -5
  48. package/dist/ecosystem/client/client.d.ts.map +1 -1
  49. package/dist/ecosystem/client/client.js +59 -46
  50. package/dist/ecosystem/client/client.js.map +1 -1
  51. package/dist/ecosystem/client/index.d.ts +4 -0
  52. package/dist/ecosystem/client/index.d.ts.map +1 -0
  53. package/dist/ecosystem/client/index.js +4 -0
  54. package/dist/ecosystem/client/index.js.map +1 -0
  55. package/dist/ecosystem/client/sse.d.ts.map +1 -1
  56. package/dist/ecosystem/client/sse.js +15 -28
  57. package/dist/ecosystem/client/sse.js.map +1 -1
  58. package/dist/ecosystem/client/ws.d.ts.map +1 -1
  59. package/dist/ecosystem/client/ws.js +12 -12
  60. package/dist/ecosystem/client/ws.js.map +1 -1
  61. package/dist/ecosystem/plugins/cluster/cluster.d.ts.map +1 -1
  62. package/dist/ecosystem/plugins/cluster/cluster.js +4 -2
  63. package/dist/ecosystem/plugins/cluster/cluster.js.map +1 -1
  64. package/dist/ecosystem/plugins/cluster/index.d.ts +2 -0
  65. package/dist/ecosystem/plugins/cluster/index.d.ts.map +1 -0
  66. package/dist/ecosystem/plugins/cluster/index.js +2 -0
  67. package/dist/ecosystem/plugins/cluster/index.js.map +1 -0
  68. package/dist/ecosystem/plugins/compress/compress.d.ts +9 -0
  69. package/dist/ecosystem/plugins/compress/compress.d.ts.map +1 -0
  70. package/dist/ecosystem/plugins/compress/compress.js +56 -0
  71. package/dist/ecosystem/plugins/compress/compress.js.map +1 -0
  72. package/dist/ecosystem/plugins/compress/index.d.ts +2 -0
  73. package/dist/ecosystem/plugins/compress/index.d.ts.map +1 -0
  74. package/dist/ecosystem/plugins/compress/index.js +2 -0
  75. package/dist/ecosystem/plugins/compress/index.js.map +1 -0
  76. package/dist/ecosystem/plugins/cors/cors.d.ts +12 -0
  77. package/dist/ecosystem/plugins/cors/cors.d.ts.map +1 -0
  78. package/dist/ecosystem/plugins/cors/cors.js +69 -0
  79. package/dist/ecosystem/plugins/cors/cors.js.map +1 -0
  80. package/dist/ecosystem/plugins/cors/index.d.ts +2 -0
  81. package/dist/ecosystem/plugins/cors/index.d.ts.map +1 -0
  82. package/dist/ecosystem/plugins/cors/index.js +2 -0
  83. package/dist/ecosystem/plugins/cors/index.js.map +1 -0
  84. package/dist/ecosystem/plugins/events/events.d.ts.map +1 -1
  85. package/dist/ecosystem/plugins/events/events.js +0 -2
  86. package/dist/ecosystem/plugins/events/events.js.map +1 -1
  87. package/dist/ecosystem/plugins/events/index.d.ts +3 -0
  88. package/dist/ecosystem/plugins/events/index.d.ts.map +1 -0
  89. package/dist/ecosystem/plugins/events/index.js +2 -0
  90. package/dist/ecosystem/plugins/events/index.js.map +1 -0
  91. package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.d.ts.map +1 -1
  92. package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.js.map +1 -1
  93. package/dist/ecosystem/plugins/global-request-context/index.d.ts +2 -0
  94. package/dist/ecosystem/plugins/global-request-context/index.d.ts.map +1 -0
  95. package/dist/ecosystem/plugins/global-request-context/index.js +2 -0
  96. package/dist/ecosystem/plugins/global-request-context/index.js.map +1 -0
  97. package/dist/ecosystem/plugins/i18n/i18n.d.ts +11 -9
  98. package/dist/ecosystem/plugins/i18n/i18n.d.ts.map +1 -1
  99. package/dist/ecosystem/plugins/i18n/i18n.js +86 -52
  100. package/dist/ecosystem/plugins/i18n/i18n.js.map +1 -1
  101. package/dist/ecosystem/plugins/i18n/index.d.ts +3 -0
  102. package/dist/ecosystem/plugins/i18n/index.d.ts.map +1 -0
  103. package/dist/ecosystem/plugins/i18n/index.js +2 -0
  104. package/dist/ecosystem/plugins/i18n/index.js.map +1 -0
  105. package/dist/ecosystem/plugins/openapi/index.d.ts +3 -0
  106. package/dist/ecosystem/plugins/openapi/index.d.ts.map +1 -0
  107. package/dist/ecosystem/plugins/openapi/index.js +3 -0
  108. package/dist/ecosystem/plugins/openapi/index.js.map +1 -0
  109. package/dist/ecosystem/plugins/openapi/openapi.d.ts +5 -4
  110. package/dist/ecosystem/plugins/openapi/openapi.d.ts.map +1 -1
  111. package/dist/ecosystem/plugins/openapi/openapi.js +48 -44
  112. package/dist/ecosystem/plugins/openapi/openapi.js.map +1 -1
  113. package/dist/ecosystem/plugins/openapi/scalar.js +3 -3
  114. package/dist/ecosystem/plugins/openapi/scalar.js.map +1 -1
  115. package/dist/ecosystem/plugins/try-catch/index.d.ts +2 -0
  116. package/dist/ecosystem/plugins/try-catch/index.d.ts.map +1 -0
  117. package/dist/ecosystem/plugins/try-catch/index.js +2 -0
  118. package/dist/ecosystem/plugins/try-catch/index.js.map +1 -0
  119. package/dist/ecosystem/plugins/try-catch/try-catch.d.ts +9 -0
  120. package/dist/ecosystem/plugins/try-catch/try-catch.d.ts.map +1 -0
  121. package/dist/ecosystem/{modules/trycatch/trycatch.js → plugins/try-catch/try-catch.js} +6 -2
  122. package/dist/ecosystem/plugins/try-catch/try-catch.js.map +1 -0
  123. package/dist/types/all-properties-are-unknown.d.ts +1 -1
  124. package/dist/types/all-properties-are-unknown.d.ts.map +1 -1
  125. package/dist/types/conditionally-omit.d.ts +2 -5
  126. package/dist/types/conditionally-omit.d.ts.map +1 -1
  127. package/dist/types/conditionally-optional.d.ts +4 -4
  128. package/dist/types/conditionally-optional.d.ts.map +1 -1
  129. package/dist/types/extract-url-params.d.ts +5 -6
  130. package/dist/types/extract-url-params.d.ts.map +1 -1
  131. package/dist/types/standard-schema.d.ts +4 -4
  132. package/dist/types/standard-schema.d.ts.map +1 -1
  133. package/dist/utils/functions/is-generator.d.ts +2 -0
  134. package/dist/utils/functions/is-generator.d.ts.map +1 -0
  135. package/dist/utils/functions/is-generator.js +6 -0
  136. package/dist/utils/functions/is-generator.js.map +1 -0
  137. package/dist/utils/headers/quality.d.ts +2 -0
  138. package/dist/utils/headers/quality.d.ts.map +1 -0
  139. package/dist/utils/headers/quality.js +19 -0
  140. package/dist/utils/headers/quality.js.map +1 -0
  141. package/dist/utils/headers/select.d.ts +2 -0
  142. package/dist/utils/headers/select.d.ts.map +1 -0
  143. package/dist/utils/headers/select.js +54 -0
  144. package/dist/utils/headers/select.js.map +1 -0
  145. package/dist/utils/json/try-parse.d.ts +2 -0
  146. package/dist/utils/json/try-parse.d.ts.map +1 -0
  147. package/dist/utils/json/try-parse.js +9 -0
  148. package/dist/utils/json/try-parse.js.map +1 -0
  149. package/dist/utils/objects/empty.d.ts +1 -0
  150. package/dist/utils/objects/empty.d.ts.map +1 -1
  151. package/dist/utils/objects/empty.js +2 -1
  152. package/dist/utils/objects/empty.js.map +1 -1
  153. package/dist/utils/objects/merge.js +1 -1
  154. package/dist/utils/objects/merge.js.map +1 -1
  155. package/dist/utils/regexps/path-to-regexp.d.ts +6 -0
  156. package/dist/utils/regexps/path-to-regexp.d.ts.map +1 -0
  157. package/dist/utils/regexps/path-to-regexp.js +40 -0
  158. package/dist/utils/regexps/path-to-regexp.js.map +1 -0
  159. package/dist/utils/standard-schema/validate.d.ts +4 -1
  160. package/dist/utils/standard-schema/validate.d.ts.map +1 -1
  161. package/dist/utils/standard-schema/validate.js +12 -4
  162. package/dist/utils/standard-schema/validate.js.map +1 -1
  163. package/package.json +24 -23
  164. package/dist/ecosystem/modules/compress/compress.d.ts +0 -8
  165. package/dist/ecosystem/modules/compress/compress.d.ts.map +0 -1
  166. package/dist/ecosystem/modules/compress/compress.js +0 -116
  167. package/dist/ecosystem/modules/compress/compress.js.map +0 -1
  168. package/dist/ecosystem/modules/cors/cors.d.ts +0 -27
  169. package/dist/ecosystem/modules/cors/cors.d.ts.map +0 -1
  170. package/dist/ecosystem/modules/cors/cors.js +0 -67
  171. package/dist/ecosystem/modules/cors/cors.js.map +0 -1
  172. package/dist/ecosystem/modules/trycatch/trycatch.d.ts +0 -5
  173. package/dist/ecosystem/modules/trycatch/trycatch.d.ts.map +0 -1
  174. package/dist/ecosystem/modules/trycatch/trycatch.js.map +0 -1
  175. /package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.d.ts +0 -0
  176. /package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.js +0 -0
@@ -3,34 +3,34 @@ import type { AnyModule } from "../core/module.js";
3
3
  import type { AnyRoute } from "../core/route.js";
4
4
  import type { AnyStore } from "../core/store.js";
5
5
  import type { AnyValidator } from "../core/validator.js";
6
- export type Plugin = (...options: any[]) => string | Promise<string>;
7
- export interface PluginOptions {
8
- compile?: "AFTER" | "BEFORE" | false;
9
- }
10
- export interface MemoryPlugin {
11
- plugin: Plugin;
12
- options?: PluginOptions | undefined;
13
- }
6
+ import type { MaybePromise } from "../types/maybe-promise.js";
14
7
  export type Chain = (AnyMiddleware | AnyRoute | AnyStore | AnyValidator)[];
15
8
  export interface Endpoint {
16
9
  chain: Chain;
17
10
  generator: boolean;
18
- paramsRegexp: RegExp;
11
+ paramsRegexp?: RegExp;
19
12
  path: string;
20
13
  route: AnyRoute;
21
- use: Set<"body" | "cookies" | "headers" | "params" | "query">;
14
+ use: number;
15
+ }
16
+ interface MethodData {
17
+ endpoints: Endpoint[];
18
+ regexp: RegExp;
19
+ }
20
+ type Plugin = (...options: any[]) => MaybePromise<void>;
21
+ interface PluginOptions {
22
+ compile?: "AFTER" | "BEFORE" | false;
22
23
  }
23
24
  export interface App {
24
25
  compile(): Promise<void>;
25
- endpoint(request: Request, endpoint: Endpoint, path: string): Promise<Response>;
26
- endpoints: Map<string, Endpoint[]>;
27
- fetch(request: Request): Promise<Response>;
26
+ endpoint(endpoint: Endpoint, path: string, request: Request): MaybePromise<Response>;
27
+ fetch(request: Request): MaybePromise<Response>;
28
28
  listen(options?: Omit<Bun.Serve.Options<unknown>, "fetch" | "unix">): Promise<App>;
29
29
  memory: Map<string, unknown>;
30
- plugin(plugin: Plugin | Plugin[], options?: PluginOptions): App;
31
- regexps: Map<string, RegExp>;
30
+ methods: Map<string, MethodData>;
31
+ plugins(plugins: Plugin[], options: PluginOptions): App;
32
32
  routes?: Record<string, Bun.Serve.Routes<unknown, string>>;
33
- server?: Bun.Server<unknown> | undefined;
33
+ server?: Bun.Server<unknown>;
34
34
  }
35
35
  type Constructor = new (module: AnyModule) => App;
36
36
  export declare const App: Constructor;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/core/app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EACX,QAAQ,EAGR,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EACX,YAAY,EAGZ,MAAM,kBAAkB,CAAC;AAI1B,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,MAAM,KAAK,GAAG,CAAC,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC;AAE3E,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,GAAG;IACnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,CACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,CACL,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,GAC1D,OAAO,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,GAAG,CAAC;IAChE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CACzC;AAED,KAAK,WAAW,GAAG,KAAK,MAAM,EAAE,SAAS,KAAK,GAAG,CAAC;AAElD,eAAO,MAAM,GAAG,EAMA,WAAW,CAAC;AAgX5B,eAAO,MAAM,GAAG,GAAI,QAAQ,SAAS,KACV,GAC1B,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/core/app.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO1D,MAAM,MAAM,KAAK,GAAG,CAAC,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC;AAE3E,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACZ;AAOD,UAAU,UAAU;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,KAAK,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAExD,UAAU,aAAa;IACtB,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED,MAAM,WAAW,GAAG;IACnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,CACP,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACd,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1B,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CACL,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,GAC1D,OAAO,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,GAAG,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,KAAK,WAAW,GAAG,KAAK,MAAM,EAAE,SAAS,KAAK,GAAG,CAAC;AAElD,eAAO,MAAM,GAAG,EAKA,WAAW,CAAC;AAiL5B,eAAO,MAAM,GAAG,GAAI,QAAQ,SAAS,KACV,GAC1B,CAAC"}
package/dist/core/app.js CHANGED
@@ -1,201 +1,80 @@
1
1
  import { compile } from "../core/compile.js";
2
2
  import { Context } from "../core/context.js";
3
- import { Error } from "../core/error.js";
4
- import { processResponse } from "../core/response.js";
5
- import { merge } from "../utils/objects/merge.js";
3
+ import { stepAndRespond } from "../core/step.js";
4
+ const NOT_FOUND_INIT = {
5
+ status: 404,
6
+ };
6
7
  export const App = function (module) {
7
- this.endpoints = new Map();
8
8
  this.memory = new Map();
9
- this.regexps = new Map();
9
+ this.methods = new Map();
10
10
  this.memory.set("module", module);
11
11
  };
12
12
  App.prototype.compile = async function () {
13
+ const memoryPlugins = (this.memory.get("plugins") ?? []);
13
14
  const pluginsAfterCompile = [];
14
- this.endpoints.clear();
15
- this.regexps.clear();
16
- this.routes = {};
17
- if (this.memory.has("plugins")) {
18
- const plugins = this.memory.get("plugins");
19
- for (let i = 0; i < plugins.length; i++) {
20
- const plugin = plugins[i];
21
- if (!plugin) {
22
- continue;
23
- }
24
- if (plugin.options?.compile === false) {
25
- continue;
26
- }
27
- if (plugin.options?.compile === "AFTER") {
28
- pluginsAfterCompile.push(plugin.plugin);
29
- continue;
30
- }
31
- await plugin.plugin.call(this);
15
+ for (let i = 0; i < memoryPlugins.length; i++) {
16
+ const plugin = memoryPlugins[i];
17
+ if (!plugin || plugin.options?.compile === false) {
18
+ continue;
19
+ }
20
+ if (plugin.options?.compile === "AFTER") {
21
+ pluginsAfterCompile.push(plugin.plugin);
22
+ continue;
23
+ }
24
+ const result = plugin.plugin.call(this);
25
+ if (result instanceof Promise) {
26
+ await result;
32
27
  }
33
28
  }
34
- await compile(this, this.memory.get("module"));
29
+ compile(this, this.memory.get("module"));
35
30
  for (let i = 0; i < pluginsAfterCompile.length; i++) {
36
- await pluginsAfterCompile[i]?.call(this);
31
+ const result = pluginsAfterCompile[i]?.call(this);
32
+ if (result instanceof Promise) {
33
+ await result;
34
+ }
37
35
  }
38
36
  this.memory.delete("module");
39
37
  this.memory.delete("plugins");
40
38
  };
41
- App.prototype.endpoint = async function (request, endpoint, path) {
39
+ App.prototype.endpoint = function (endpoint, path, request) {
42
40
  const context = new Context(endpoint, this.memory, path, request, this.server);
43
- await context.loadRequest();
44
- const validatorPlugin = this.memory.get("validator");
45
- const step = async (chain, index) => {
46
- for (let i = index; i < chain.length; i++) {
47
- if (context.response.content) {
48
- return;
49
- }
50
- const link = chain[i];
51
- if (!link) {
52
- continue;
53
- }
54
- if (link.type === "ROUTE") {
55
- continue;
56
- }
57
- if (link.type === "MIDDLEWARE") {
58
- const middleware = await link.middleware(context, () => {
59
- return step(chain, i + 1);
60
- });
61
- if (middleware) {
62
- context.response.content = middleware;
63
- }
64
- return;
65
- }
66
- if (link.type === "STORE") {
67
- const store = await link.store(context);
68
- if (store instanceof Error) {
69
- context.response.content = store;
70
- }
71
- else {
72
- merge(context.store, store);
73
- }
74
- continue;
75
- }
76
- if (!link.request) {
77
- continue;
78
- }
79
- const errors = new Map();
80
- for (let i = 0; i < link.keys.length; i++) {
81
- const key = link.keys[i];
82
- const schema = link.request[key];
83
- const validated = await validatorPlugin(schema, context.request[key], key);
84
- if (validated.success) {
85
- context.request[key] =
86
- validated.content;
87
- continue;
88
- }
89
- const content = validated.content.pop
90
- ? validated.content
91
- : [validated.content];
92
- if (errors.has(key)) {
93
- errors.get(key)?.details.push(...content);
94
- continue;
95
- }
96
- errors.set(key, {
97
- details: content,
98
- type: key,
99
- });
100
- }
101
- if (errors.size > 0) {
102
- context.response.content = new Error(Array.from(errors.values()), {
103
- status: 422,
104
- });
105
- }
106
- }
107
- if (context.response.content) {
108
- return;
109
- }
110
- if (endpoint.generator) {
111
- context.response.content = new ReadableStream({
112
- async start(controller) {
113
- let closed = false;
114
- const onAbort = () => {
115
- closed = true;
116
- try {
117
- controller.close();
118
- }
119
- catch { }
120
- };
121
- request.signal.addEventListener("abort", onAbort);
122
- try {
123
- for await (const chunk of endpoint.route.route(context)) {
124
- if (closed) {
125
- break;
126
- }
127
- if (chunk.data.transform) {
128
- if (chunk.id) {
129
- controller.enqueue(`id: ${chunk.id}\n`);
130
- }
131
- if (chunk.event) {
132
- controller.enqueue(`event: ${chunk.event}\n`);
133
- }
134
- if (chunk.retry) {
135
- controller.enqueue(`retry: ${chunk.retry.toString()}\n`);
136
- }
137
- controller.enqueue(`data: ${JSON.stringify(chunk.data)}\n\n`);
138
- continue;
139
- }
140
- controller.enqueue(chunk.data.content);
141
- }
142
- }
143
- catch {
144
- }
145
- finally {
146
- request.signal.removeEventListener("abort", onAbort);
147
- onAbort();
148
- }
149
- },
150
- });
151
- return;
152
- }
153
- const returned = await endpoint.route.route(context);
154
- if (endpoint.route.method === "WS") {
155
- this.server?.upgrade(request, {
156
- data: {
157
- close: async (ws, code, reason) => {
158
- await returned?.close?.(ws, code, reason);
159
- },
160
- drain: async (ws) => {
161
- await returned?.drain?.(ws);
162
- },
163
- message: async (ws, message) => {
164
- await returned?.message(ws, message);
165
- },
166
- open: async (ws) => {
167
- await returned?.open?.(ws);
168
- },
169
- },
170
- });
171
- return;
172
- }
173
- context.response.content = returned;
174
- };
175
- await step(endpoint.chain, 0);
176
- return processResponse(context.response);
41
+ const result = context.loadRequest();
42
+ if (result instanceof Promise) {
43
+ return result.then(() => {
44
+ return stepAndRespond(this, context, endpoint, request);
45
+ });
46
+ }
47
+ return stepAndRespond(this, context, endpoint, request);
177
48
  };
178
- App.prototype.fetch = async function (request) {
179
- const match = this.regexps.get(request.method)?.exec(request.url);
49
+ App.prototype.fetch = function (request) {
50
+ const data = this.methods.get(request.method);
51
+ if (!data) {
52
+ return new Response(undefined, NOT_FOUND_INIT);
53
+ }
54
+ const match = data.regexp.exec(request.url);
180
55
  if (!match) {
181
- return new Response(undefined, {
182
- status: 404,
183
- });
56
+ return new Response(undefined, NOT_FOUND_INIT);
184
57
  }
185
- let index = 0;
58
+ const path = match[2];
59
+ if (!path) {
60
+ return new Response(undefined, NOT_FOUND_INIT);
61
+ }
62
+ let index = -1;
186
63
  for (let i = 3; i < match.length; i++) {
187
- if (match[i] === "") {
188
- index = i - 3;
189
- break;
64
+ if (match[i] === undefined) {
65
+ continue;
190
66
  }
67
+ index = i - 3;
68
+ break;
191
69
  }
192
- const endpoint = this.endpoints.get(request.method)?.[index];
193
- if (!endpoint || !match[2]) {
194
- return new Response(undefined, {
195
- status: 404,
196
- });
70
+ if (index === -1) {
71
+ return new Response(undefined, NOT_FOUND_INIT);
72
+ }
73
+ const endpoint = data.endpoints[index];
74
+ if (!endpoint) {
75
+ return new Response(undefined, NOT_FOUND_INIT);
197
76
  }
198
- return this.endpoint(request, endpoint, match[2]);
77
+ return this.endpoint(endpoint, path, request);
199
78
  };
200
79
  App.prototype.listen = async function (options) {
201
80
  await this.compile();
@@ -222,30 +101,24 @@ App.prototype.listen = async function (options) {
222
101
  },
223
102
  },
224
103
  });
225
- process.once("SIGINT", () => {
104
+ process.once("beforeExit", () => {
226
105
  this.server?.stop(true);
227
106
  this.server = undefined;
228
107
  });
229
108
  Bun.gc();
230
109
  return this;
231
110
  };
232
- App.prototype.plugin = function (plugins, options) {
111
+ App.prototype.plugins = function (plugins, options) {
233
112
  if (!this.memory.has("plugins")) {
234
113
  this.memory.set("plugins", []);
235
114
  }
236
- if (typeof plugins === "function") {
237
- this.memory.get("plugins").push({
238
- options,
239
- plugin: plugins,
240
- });
241
- return this;
242
- }
115
+ const memoryPlugins = this.memory.get("plugins");
243
116
  for (let i = 0; i < plugins.length; i++) {
244
117
  const plugin = plugins[i];
245
118
  if (!plugin) {
246
119
  continue;
247
120
  }
248
- this.memory.get("plugins").push({
121
+ memoryPlugins.push({
249
122
  options,
250
123
  plugin,
251
124
  });
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/core/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/core/app.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import type { App } from "../core/app.js";
2
2
  import { type AnyModule } from "../core/module.js";
3
- export declare const compile: (app: App, module: AnyModule) => Promise<void>;
3
+ export declare const USE_BODY = 1;
4
+ export declare const USE_COOKIES = 2;
5
+ export declare const USE_HEADERS = 4;
6
+ export declare const USE_PARAMS = 8;
7
+ export declare const USE_QUERY = 16;
8
+ export declare const compile: (app: App, module: AnyModule) => void;
4
9
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/core/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAmB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,eAAe,CAAC;AAoNvD,eAAO,MAAM,OAAO,GAAU,KAAK,GAAG,EAAE,QAAQ,SAAS,kBA6ExD,CAAC"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/core/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAmB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,eAAe,CAAC;AAKvD,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,SAAS,KAAK,CAAC;AA6N5B,eAAO,MAAM,OAAO,GAAI,KAAK,GAAG,EAAE,QAAQ,SAAS,SAiElD,CAAC"}