elysia 2.0.0-beta.21 → 2.0.0-beta.23

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 (217) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +1 -0
  2. package/dist/adapter/bun/index.d.ts +6 -8
  3. package/dist/adapter/bun/index.js +6 -8
  4. package/dist/adapter/bun/index.mjs +7 -8
  5. package/dist/adapter/constants.mjs +1 -0
  6. package/dist/adapter/default-headers.mjs +1 -0
  7. package/dist/adapter/index.mjs +1 -0
  8. package/dist/adapter/origin.mjs +1 -0
  9. package/dist/adapter/response-ownership.mjs +1 -0
  10. package/dist/adapter/skip-clone.mjs +1 -0
  11. package/dist/adapter/types.mjs +1 -0
  12. package/dist/adapter/utils.d.ts +5 -8
  13. package/dist/adapter/utils.js +24 -18
  14. package/dist/adapter/utils.mjs +25 -18
  15. package/dist/adapter/web-standard/handler.mjs +2 -1
  16. package/dist/adapter/web-standard/index.mjs +1 -0
  17. package/dist/adapter/web-standard/utils.mjs +1 -0
  18. package/dist/base.d.ts +118 -69
  19. package/dist/base.js +214 -194
  20. package/dist/base.mjs +221 -200
  21. package/dist/compile/aot-capture.js +2 -2
  22. package/dist/compile/aot-capture.mjs +4 -3
  23. package/dist/compile/aot-emit.js +7 -8
  24. package/dist/compile/aot-emit.mjs +8 -8
  25. package/dist/compile/aot-reconstruct.mjs +3 -2
  26. package/dist/compile/aot.d.ts +3 -3
  27. package/dist/compile/aot.js +5 -5
  28. package/dist/compile/aot.mjs +6 -5
  29. package/dist/compile/handler/descriptor.d.ts +2 -5
  30. package/dist/compile/handler/descriptor.js +12 -17
  31. package/dist/compile/handler/descriptor.mjs +16 -21
  32. package/dist/compile/handler/frozen-validator.d.ts +2 -2
  33. package/dist/compile/handler/frozen-validator.js +3 -3
  34. package/dist/compile/handler/frozen-validator.mjs +4 -3
  35. package/dist/compile/handler/index.d.ts +3 -1
  36. package/dist/compile/handler/index.js +78 -118
  37. package/dist/compile/handler/index.mjs +84 -125
  38. package/dist/compile/handler/jit.d.ts +12 -12
  39. package/dist/compile/handler/jit.js +60 -43
  40. package/dist/compile/handler/jit.mjs +63 -47
  41. package/dist/compile/handler/params.d.ts +5 -1
  42. package/dist/compile/handler/params.js +14 -5
  43. package/dist/compile/handler/params.mjs +16 -7
  44. package/dist/compile/handler/reconstruct.d.ts +2 -2
  45. package/dist/compile/handler/reconstruct.js +2 -2
  46. package/dist/compile/handler/reconstruct.mjs +3 -2
  47. package/dist/compile/handler/static-clone-resolver.mjs +1 -0
  48. package/dist/compile/handler/utils.d.ts +13 -7
  49. package/dist/compile/handler/utils.js +75 -52
  50. package/dist/compile/handler/utils.mjs +77 -54
  51. package/dist/compile/jit-probe.mjs +1 -0
  52. package/dist/compile/lexer.js +4 -4
  53. package/dist/compile/lexer.mjs +5 -4
  54. package/dist/compile/utils.d.ts +2 -1
  55. package/dist/compile/utils.js +8 -3
  56. package/dist/compile/utils.mjs +8 -3
  57. package/dist/compiled.mjs +1 -0
  58. package/dist/constants.mjs +1 -0
  59. package/dist/context.d.ts +1 -1
  60. package/dist/context.js +1 -0
  61. package/dist/context.mjs +3 -1
  62. package/dist/cookie/config.d.ts +2 -2
  63. package/dist/cookie/config.js +21 -26
  64. package/dist/cookie/config.mjs +22 -26
  65. package/dist/cookie/cookie.mjs +1 -0
  66. package/dist/cookie/crypto.mjs +1 -0
  67. package/dist/cookie/error.mjs +1 -0
  68. package/dist/cookie/lib.mjs +1 -0
  69. package/dist/cookie/serialize.mjs +1 -0
  70. package/dist/cookie/types.mjs +1 -0
  71. package/dist/cookie/utils.d.ts +1 -1
  72. package/dist/cookie/utils.js +64 -45
  73. package/dist/cookie/utils.mjs +66 -46
  74. package/dist/error.d.ts +10 -6
  75. package/dist/error.js +22 -6
  76. package/dist/error.mjs +25 -9
  77. package/dist/generation.mjs +1 -0
  78. package/dist/handler/error.d.ts +12 -15
  79. package/dist/handler/error.js +43 -40
  80. package/dist/handler/error.mjs +45 -41
  81. package/dist/handler/fetch.js +59 -21
  82. package/dist/handler/fetch.mjs +61 -22
  83. package/dist/handler/utils.d.ts +16 -3
  84. package/dist/handler/utils.js +14 -13
  85. package/dist/handler/utils.mjs +16 -15
  86. package/dist/index.d.ts +9 -9
  87. package/dist/index.js +1 -0
  88. package/dist/index.mjs +3 -2
  89. package/dist/memory.mjs +1 -0
  90. package/dist/package.js +1 -1
  91. package/dist/package.mjs +2 -1
  92. package/dist/parse-query.js +76 -76
  93. package/dist/parse-query.mjs +77 -76
  94. package/dist/plugin/aot/bun.mjs +1 -0
  95. package/dist/plugin/aot/core.d.ts +1 -1
  96. package/dist/plugin/aot/core.js +7 -4
  97. package/dist/plugin/aot/core.mjs +8 -5
  98. package/dist/plugin/aot/esbuild.mjs +1 -0
  99. package/dist/plugin/aot/rspack-loader.mjs +1 -0
  100. package/dist/plugin/aot/rspack.mjs +1 -0
  101. package/dist/plugin/aot/treeshake.mjs +1 -0
  102. package/dist/plugin/aot/unplugin.mjs +4 -3
  103. package/dist/plugin/aot/vite.mjs +1 -0
  104. package/dist/plugin/aot/worker.mjs +1 -0
  105. package/dist/plugin/auto-head.mjs +1 -0
  106. package/dist/plugin/trace.mjs +1 -0
  107. package/dist/plugin/websocket.mjs +1 -0
  108. package/dist/route-table.mjs +1 -0
  109. package/dist/schema-snapshot.js +28 -3
  110. package/dist/schema-snapshot.mjs +29 -3
  111. package/dist/sucrose.d.ts +2 -2
  112. package/dist/sucrose.js +11 -11
  113. package/dist/sucrose.mjs +12 -11
  114. package/dist/trace.js +8 -10
  115. package/dist/trace.mjs +10 -11
  116. package/dist/type/bridge-live.d.ts +1 -1
  117. package/dist/type/bridge-live.mjs +1 -0
  118. package/dist/type/bridge.d.ts +1 -1
  119. package/dist/type/bridge.mjs +1 -0
  120. package/dist/type/coerce-plan.mjs +1 -0
  121. package/dist/type/coerce.d.ts +1 -1
  122. package/dist/type/coerce.mjs +1 -0
  123. package/dist/type/compat.mjs +1 -0
  124. package/dist/type/constants.d.ts +1 -1
  125. package/dist/type/constants.mjs +1 -0
  126. package/dist/type/elysia/accelerate.mjs +1 -0
  127. package/dist/type/elysia/array-buffer.d.ts +3 -2
  128. package/dist/type/elysia/array-buffer.js +5 -5
  129. package/dist/type/elysia/array-buffer.mjs +6 -5
  130. package/dist/type/elysia/array-string.mjs +1 -0
  131. package/dist/type/elysia/array.mjs +1 -0
  132. package/dist/type/elysia/boolean-string.mjs +1 -0
  133. package/dist/type/elysia/boolean.mjs +1 -0
  134. package/dist/type/elysia/cookie.mjs +1 -0
  135. package/dist/type/elysia/date.mjs +1 -0
  136. package/dist/type/elysia/file-type.mjs +1 -0
  137. package/dist/type/elysia/file.mjs +1 -0
  138. package/dist/type/elysia/files.mjs +1 -0
  139. package/dist/type/elysia/form.mjs +1 -0
  140. package/dist/type/elysia/integer-string.mjs +1 -0
  141. package/dist/type/elysia/integer.mjs +1 -0
  142. package/dist/type/elysia/intersect.mjs +1 -0
  143. package/dist/type/elysia/json-string.mjs +1 -0
  144. package/dist/type/elysia/keep-config.js +8 -8
  145. package/dist/type/elysia/keep-config.mjs +9 -8
  146. package/dist/type/elysia/maybe-empty.mjs +1 -0
  147. package/dist/type/elysia/no-validate.mjs +1 -0
  148. package/dist/type/elysia/nullable.mjs +1 -0
  149. package/dist/type/elysia/number.mjs +1 -0
  150. package/dist/type/elysia/numeric-enum.d.ts +4 -2
  151. package/dist/type/elysia/numeric-enum.mjs +1 -0
  152. package/dist/type/elysia/numeric.mjs +1 -0
  153. package/dist/type/elysia/object-string.mjs +1 -0
  154. package/dist/type/elysia/object.mjs +1 -0
  155. package/dist/type/elysia/optional.mjs +1 -0
  156. package/dist/type/elysia/problem.mjs +1 -0
  157. package/dist/type/elysia/string.mjs +1 -0
  158. package/dist/type/elysia/uint8-array.d.ts +2 -1
  159. package/dist/type/elysia/uint8-array.js +2 -2
  160. package/dist/type/elysia/uint8-array.mjs +3 -2
  161. package/dist/type/elysia/union-enum.mjs +1 -0
  162. package/dist/type/elysia/union.mjs +1 -0
  163. package/dist/type/elysia/utils.js +3 -3
  164. package/dist/type/elysia/utils.mjs +4 -3
  165. package/dist/type/exports.mjs +1 -0
  166. package/dist/type/index.mjs +2 -1
  167. package/dist/type/shared.mjs +1 -0
  168. package/dist/type/sync-require.mjs +1 -0
  169. package/dist/type/typebox-system-lite.mjs +1 -0
  170. package/dist/type/typebox-system-require.mjs +1 -0
  171. package/dist/type/typebox-type-live.mjs +1 -0
  172. package/dist/type/typebox-value-live.mjs +1 -0
  173. package/dist/type/typebox-value-ops.mjs +1 -0
  174. package/dist/type/typebox-value.mjs +1 -0
  175. package/dist/type/types.d.ts +1 -1
  176. package/dist/type/types.mjs +1 -0
  177. package/dist/type/utils.mjs +1 -0
  178. package/dist/type/validator/clean-safe.mjs +1 -0
  179. package/dist/type/validator/custom-error.js +41 -33
  180. package/dist/type/validator/custom-error.mjs +42 -33
  181. package/dist/type/validator/default-precompute.d.ts +2 -2
  182. package/dist/type/validator/default-precompute.js +10 -11
  183. package/dist/type/validator/default-precompute.mjs +13 -13
  184. package/dist/type/validator/exact-mirror.mjs +1 -0
  185. package/dist/type/validator/frozen-check.js +7 -7
  186. package/dist/type/validator/frozen-check.mjs +8 -7
  187. package/dist/type/validator/index.d.ts +2 -2
  188. package/dist/type/validator/index.js +4 -8
  189. package/dist/type/validator/index.mjs +5 -8
  190. package/dist/type/validator/string-codec-aot.d.ts +1 -1
  191. package/dist/type/validator/string-codec-aot.mjs +1 -0
  192. package/dist/type/validator/validator-cache.js +18 -18
  193. package/dist/type/validator/validator-cache.mjs +19 -18
  194. package/dist/types.d.ts +108 -70
  195. package/dist/types.mjs +1 -0
  196. package/dist/universal/constants.mjs +1 -0
  197. package/dist/universal/file.mjs +1 -0
  198. package/dist/universal/index.mjs +1 -0
  199. package/dist/universal/is-production.mjs +1 -0
  200. package/dist/universal/server.mjs +1 -0
  201. package/dist/utils.d.ts +49 -31
  202. package/dist/utils.js +221 -109
  203. package/dist/utils.mjs +215 -106
  204. package/dist/validator/index.d.ts +3 -3
  205. package/dist/validator/index.js +4 -4
  206. package/dist/validator/index.mjs +5 -4
  207. package/dist/validator/route.d.ts +2 -2
  208. package/dist/validator/route.mjs +1 -0
  209. package/dist/ws/context.js +1 -1
  210. package/dist/ws/context.mjs +2 -1
  211. package/dist/ws/index.mjs +1 -0
  212. package/dist/ws/parser.mjs +1 -0
  213. package/dist/ws/route.js +34 -25
  214. package/dist/ws/route.mjs +40 -30
  215. package/dist/ws/types.d.ts +2 -3
  216. package/dist/ws/types.mjs +1 -0
  217. package/package.json +2 -2
package/dist/utils.d.ts CHANGED
@@ -1,13 +1,23 @@
1
- import { AnySchema, StandardSchemaV1Like } from "./type/types.js";
2
1
  import { Context } from "./context.js";
3
- import { AnyLocalHook, AppHook, BunHTMLBundlelike, ElysiaFormData, EventFn, EventScope, GuardSchemaType, InputSchema, Macro, MaybeArray, Prettify, SSEPayload } from "./types.js";
2
+ import { AnySchema, StandardSchemaV1Like } from "./type/types.js";
3
+ import { AnyLocalHook, AppHook, BunHTMLBundlelike, ElysiaFormData, EventFn, EventScope, GuardSchemaType, InputSchema, Macro, MacroTypeLambda, MaybeArray, Prettify, SSEPayload } from "./types.js";
4
4
 
5
5
  //#region src/utils.d.ts
6
- type DeriveEntry = Function | readonly [Function, 'mapDerive'];
6
+ type DeriveEntry = Function | readonly [Function, 'mapDerive' | 'beforeHandle'];
7
7
  declare const nullObject: () => any;
8
8
  declare const mapDeriveEntry: (fn: Function) => DeriveEntry;
9
9
  declare const deriveEntryFn: (entry: DeriveEntry) => any;
10
10
  declare const isMapDeriveEntry: (entry: DeriveEntry) => boolean;
11
+ declare const isPlainDeriveEntry: (entry: DeriveEntry) => boolean;
12
+ /**
13
+ * `~deriveEntries` for `hooks` whose role per occurrence is `at` (an entry
14
+ * for a derive, undefined for a plain hook). `deriveModes` gives each
15
+ * function's entries to its occurrences in order, so a plain occurrence
16
+ * before a derive of the same function gets a placeholder
17
+ */
18
+ declare function occurrenceDeriveEntries(hooks: readonly Function[], at: readonly (DeriveEntry | undefined)[]): DeriveEntry[];
19
+ /** Each function's derive entries, in occurrence order */
20
+ declare const deriveQueues: (entries: readonly DeriveEntry[] | undefined) => Map<any, DeriveEntry[]> | undefined;
11
21
  declare function isEmpty<T extends Object>(obj: T): boolean;
12
22
  declare const isNotEmpty: <T extends Object>(obj?: T) => boolean | undefined;
13
23
  /**
@@ -20,20 +30,20 @@ declare const isNotEmpty: <T extends Object>(obj?: T) => boolean | undefined;
20
30
  */
21
31
  declare function evictOldestHalf(cache: Map<any, any>): void;
22
32
  declare function fnv1a(str: string): number;
33
+ /**
34
+ * 48-bit hash of a named plugin's key (fnv1a + 16 bits of a second hash): at
35
+ * 32 bits two plugins collide by ~77k and the second is dropped. 48 keeps
36
+ * `origin * 16 + slot` exact
37
+ */
38
+ declare function pluginHash(str: string): number;
23
39
  declare const compositionKeys: readonly string[];
24
40
  declare function refTargets(roots: unknown[], models?: Record<string, unknown>): (name: string) => Iterable<unknown>;
41
+ declare const macroOrigin: WeakMap<object | Function, number>;
25
42
  /**
26
- * Maps each lifecycle/derive function to the hash of the named plugin it was
27
- * first registered on. Used by `.use()` to dedup absorbed hooks: if a fn's
28
- * origin is already in `parent.#apps`, the parent has already absorbed that
29
- * named plugin via another path and should skip re-adding the fn.
30
- *
31
- * Anonymous plugins (no name) don't tag their fns - there's no hash to dedup
32
- * by, so their fns always propagate.
43
+ * Id of an unnamed plugin in `childrenHash`, negative so it never collides
44
+ * with a named plugin's unsigned hash
33
45
  */
34
- declare const fnOrigin: WeakMap<Function, number>;
35
- declare const macroOrigin: WeakMap<object | Function, number>;
36
- declare const isLocalScope: (s: EventScope | undefined) => s is "local" | undefined;
46
+ declare const pluginId: (plugin: object) => number;
37
47
  /**
38
48
  * Linked-list representation of the scope/global hook chain of a route
39
49
  *
@@ -51,10 +61,9 @@ declare const isLocalScope: (s: EventScope | undefined) => s is "local" | undefi
51
61
  * without flattening - `over` is walked first (older / outer context),
52
62
  * then `combine` (newer / inner context)
53
63
  *
54
- * `tail` is the child's own chain head at that `.use()`. Its local hooks
55
- * registered after the child absorbed the route run after the route's own
56
- * hooks, as they would with the child as the root (`afterUseHooks` in
57
- * `compile/handler`)
64
+ * `callback` is the chain of a `.group()`/`.guard()` callback the route came
65
+ * out of: its error hooks cover every route the callback produced. Flattening
66
+ * never reads it
58
67
  *
59
68
  * Use with {@link flattenChain} to walk tail-first and reconstruct
60
69
  * flat `Partial<AppHook>` at compile time
@@ -66,18 +75,15 @@ type ChainNode = {
66
75
  scope?: EventScope;
67
76
  propagated?: boolean;
68
77
  owner?: object;
78
+ origin?: number;
79
+ registration?: ChainNode;
69
80
  } | {
70
81
  combine: ChainNode | undefined;
71
82
  over: ChainNode | undefined;
72
- tail?: ChainNode;
83
+ callback?: ChainNode;
84
+ inner?: ChainNode;
73
85
  refs: boolean;
74
86
  };
75
- /**
76
- * The absorbing instance's chain as it stood at `.use()`: the `over` of a
77
- * combine node, or the node itself. A combine node is never on an instance's
78
- * own chain, so it can't serve as a `stopAt` directly
79
- */
80
- declare const rootSnapshot: (node: ChainNode | undefined) => ChainNode | undefined;
81
87
  interface CompactBeforeHandleChunk {
82
88
  parent?: CompactBeforeHandleChunk;
83
89
  values: readonly Function[];
@@ -91,19 +97,30 @@ interface CompactBeforeHandlePrefix {
91
97
  declare const isCompactBeforeHandleOnly: (hook: Partial<AppHook> | undefined) => boolean;
92
98
  declare function compactBeforeHandleConflicts(hook: Partial<AppHook> | undefined): boolean;
93
99
  declare function compactBeforeHandlePrefix(start: ChainNode | undefined): CompactBeforeHandlePrefix | undefined;
100
+ interface ChainInfo {
101
+ installs?: ReadonlySet<number>;
102
+ named?: true;
103
+ }
94
104
  /**
95
105
  * Walk the chain tail-first into a fresh `Partial<AppHook>`
96
106
  *
107
+ * Each instance chain a combine node links is one layer, outermost first.
108
+ * A named plugin's hook is skipped when an outer layer, or `skip`, already
109
+ * installed that plugin's same lifecycle event: it runs once, at its
110
+ * outermost position. Within a layer every registration stays
111
+ *
97
112
  * Explicit-stack walk (no recursion) so it works uniformly for linear
98
113
  * chains and combine nodes without risking stack overflow on deep chains
99
114
  */
100
- declare function flattenChain(start: ChainNode | undefined, keep?: (s: EventScope | undefined) => boolean, stopAt?: ChainNode, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined): Partial<AppHook> | undefined;
115
+ declare function flattenChain(start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined, skip?: ReadonlySet<number>, info?: ChainInfo): Partial<AppHook> | undefined;
101
116
  declare const macroEpoch: () => number;
102
117
  declare const invalidateMacroEpoch: () => void;
103
118
  /** Drop this root's flattened-chain memo. Recomputable on next compile. */
104
119
  declare function clearFlattenChainMemo(root: object): void;
105
- declare function flattenChainMemoReadonly(root: object, start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined): Partial<AppHook> | undefined;
106
- declare function flattenChainMemo(root: object, start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined): Partial<AppHook> | undefined;
120
+ /** What the chain installs, see {@link flattenChain} */
121
+ declare function flattenChainInfo(root: object, start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined): ChainInfo | undefined;
122
+ declare function flattenChainMemoReadonly(root: object, start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined, skip?: ReadonlySet<number>): Partial<AppHook> | undefined;
123
+ declare function flattenChainMemo(root: object, start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined, skip?: ReadonlySet<number>): Partial<AppHook> | undefined;
107
124
  /**
108
125
  *
109
126
  * @param url URL to redirect to
@@ -130,6 +147,7 @@ declare function formToFormData(value: Record<keyof any, unknown>): FormData;
130
147
  * ```
131
148
  */
132
149
  declare const form: <const T extends Record<keyof any, unknown>>(value: T) => ElysiaFormData<T>;
150
+ declare const macroType: <L extends MacroTypeLambda>() => L | undefined;
133
151
  declare const assignOwn: <T extends object>(target: T, source: any) => T;
134
152
  declare const getLoosePath: (path: string) => string;
135
153
  /**
@@ -171,7 +189,7 @@ declare function hookToGuard(a: Partial<AppHook & Macro> & {
171
189
  schema?: GuardSchemaType;
172
190
  }): Partial<AppHook & Macro>;
173
191
  declare function coalesceSchemas(existing: any[], incoming: any[]): void;
174
- declare function mergeHook(a: Partial<AppHook>, b: Partial<AppHook> | undefined, reverse?: boolean, dedup?: boolean): Partial<AppHook>;
192
+ declare function mergeHook(a: Partial<AppHook>, b: Partial<AppHook> | undefined): Partial<AppHook>;
175
193
  declare const createErrorEventHandler: (fn: EventFn<"error">, error: Error) => (context: Context) => unknown;
176
194
  declare function mergeDeep<A extends Record<string, any>, B extends Record<string, any>>(target: A, source: B, skipKeys?: string[], override?: boolean, mergeArray?: boolean, seen?: WeakSet<object>, cloneAdopt?: {
177
195
  map?: WeakMap<object, any>;
@@ -181,7 +199,6 @@ declare function cloneHook<T extends Partial<AnyLocalHook> | Partial<AppHook>>(s
181
199
  declare function clonePlainDeep<T>(value: T, seen?: WeakMap<object, any>): T;
182
200
  declare function guardNonPlainLeaves(target: Record<string, unknown>, source: Record<string, unknown>): void;
183
201
  declare function joinPath(base: string, path: string): string;
184
- declare function pushField<K extends keyof any>(target: Record<K, unknown>, key: K, item: unknown): void;
185
202
  declare const requestId: typeof Bun.randomUUIDv7 | (() => `${string}-${string}-${string}-${string}-${string}`);
186
203
  /**
187
204
  * Offset of the first byte after `://`, so the authority is never scanned as
@@ -200,7 +217,8 @@ declare function serializeMacroSeed(_key: string, value: unknown): unknown;
200
217
  declare const throwLifecycleErrors: (errors: unknown[]) => void;
201
218
  declare const isDisposable: (value: any) => boolean;
202
219
  declare const isSingleton: (value: object) => boolean;
203
- declare const markSingletons: (value: unknown, depth?: number, seen?: Set<object>) => void;
220
+ declare const markSingletons: (value: unknown, depth?: number) => void;
221
+ declare const markPropertySingletons: (object: object) => void;
204
222
  declare const isSocketQuiet: (socket: {
205
223
  readyState: number;
206
224
  data: {
@@ -211,4 +229,4 @@ declare const isSocketQuiet: (socket: {
211
229
  }) => boolean;
212
230
  declare const isHTMLBundle: (value: unknown) => value is BunHTMLBundlelike;
213
231
  //#endregion
214
- export { ChainNode, CompactBeforeHandleChunk, CompactBeforeHandlePrefix, DeriveEntry, ELYSIA_FORM_PROTOTYPE, assignOwn, authorityEnd, bytes, clearFlattenChainMemo, cloneHook, clonePlainDecorators, clonePlainDeep, coalesceSchemas, compactBeforeHandleConflicts, compactBeforeHandlePrefix, compositionKeys, constantTimeEqual, createErrorEventHandler, deriveEntryFn, eventProperties, evictOldestHalf, flattenChain, flattenChainMemo, flattenChainMemoReadonly, fnOrigin, fnv1a, form, formToFormData, getLoosePath, guardNonPlainLeaves, hookToGuard, invalidateMacroEpoch, isBlob, isByteStream, isCompactBeforeHandleOnly, isDisposable, isElysiaForm, isEmpty, isHTMLBundle, isLocalScope, isMapDeriveEntry, isNotEmpty, isPlainObject, isRecordNumber, isSingleton, isSocketQuiet, joinPath, macroEpoch, macroOrigin, mapDeriveEntry, markSingletons, mergeArray, mergeDeep, mergeHook, mergeResponse, nullObject, prefix, pushField, redirect, refTargets, replaceUrlPath, requestId, rootSnapshot, schemaProperties, serializeMacroSeed, sse, sseData, throwLifecycleErrors };
232
+ export { ChainInfo, ChainNode, CompactBeforeHandleChunk, CompactBeforeHandlePrefix, DeriveEntry, ELYSIA_FORM_PROTOTYPE, assignOwn, authorityEnd, bytes, clearFlattenChainMemo, cloneHook, clonePlainDecorators, clonePlainDeep, coalesceSchemas, compactBeforeHandleConflicts, compactBeforeHandlePrefix, compositionKeys, constantTimeEqual, createErrorEventHandler, deriveEntryFn, deriveQueues, eventProperties, evictOldestHalf, flattenChain, flattenChainInfo, flattenChainMemo, flattenChainMemoReadonly, fnv1a, form, formToFormData, getLoosePath, guardNonPlainLeaves, hookToGuard, invalidateMacroEpoch, isBlob, isByteStream, isCompactBeforeHandleOnly, isDisposable, isElysiaForm, isEmpty, isHTMLBundle, isMapDeriveEntry, isNotEmpty, isPlainDeriveEntry, isPlainObject, isRecordNumber, isSingleton, isSocketQuiet, joinPath, macroEpoch, macroOrigin, macroType, mapDeriveEntry, markPropertySingletons, markSingletons, mergeArray, mergeDeep, mergeHook, mergeResponse, nullObject, occurrenceDeriveEntries, pluginHash, pluginId, prefix, redirect, refTargets, replaceUrlPath, requestId, schemaProperties, serializeMacroSeed, sse, sseData, throwLifecycleErrors };