@elurjs/core 3.6.2 → 3.7.0-beta.0

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 (211) hide show
  1. package/dist/lib/async.cjs +1 -1
  2. package/dist/lib/async.js +1 -1
  3. package/dist/lib/component.cjs +1 -2
  4. package/dist/lib/component.js +2 -66
  5. package/dist/lib/context.cjs +1 -1
  6. package/dist/lib/context.js +35 -23
  7. package/dist/lib/devtools.cjs +1 -1
  8. package/dist/lib/devtools.js +1 -1
  9. package/dist/lib/elur/async.cjs +1 -1
  10. package/dist/lib/elur/async.cjs.map +1 -1
  11. package/dist/lib/elur/async.js +1 -1
  12. package/dist/lib/elur/component.cjs +1 -2
  13. package/dist/lib/elur/component.d.cts +1 -17
  14. package/dist/lib/elur/component.d.ts +1 -17
  15. package/dist/lib/elur/component.js +2 -66
  16. package/dist/lib/elur/context.cjs +1 -1
  17. package/dist/lib/elur/context.cjs.map +1 -1
  18. package/dist/lib/elur/context.d.cts +5 -0
  19. package/dist/lib/elur/context.d.ts +5 -0
  20. package/dist/lib/elur/context.js +35 -23
  21. package/dist/lib/elur/context.js.map +1 -1
  22. package/dist/lib/elur/devtools.cjs +1 -1
  23. package/dist/lib/elur/devtools.cjs.map +1 -1
  24. package/dist/lib/elur/devtools.js +1 -1
  25. package/dist/lib/elur/form.cjs +1 -1
  26. package/dist/lib/elur/form.cjs.map +1 -1
  27. package/dist/lib/elur/form.js +1 -1
  28. package/dist/lib/elur/hydrate/index.cjs +1 -2
  29. package/dist/lib/elur/hydrate/index.d.cts +1 -13
  30. package/dist/lib/elur/hydrate/index.d.ts +1 -13
  31. package/dist/lib/elur/hydrate/index.js +2 -410
  32. package/dist/lib/elur/lifecycle.cjs +1 -1
  33. package/dist/lib/elur/lifecycle.cjs.map +1 -1
  34. package/dist/lib/elur/lifecycle.d.cts +27 -0
  35. package/dist/lib/elur/lifecycle.d.ts +27 -0
  36. package/dist/lib/elur/lifecycle.js +4 -0
  37. package/dist/lib/elur/lifecycle.js.map +1 -1
  38. package/dist/lib/elur/next/component.d.cts +281 -0
  39. package/dist/lib/elur/next/component.d.ts +281 -0
  40. package/dist/lib/elur/next/dom-write.d.cts +18 -0
  41. package/dist/lib/elur/next/dom-write.d.ts +18 -0
  42. package/dist/lib/elur/next/hydrate.d.cts +14 -0
  43. package/dist/lib/elur/next/hydrate.d.ts +14 -0
  44. package/dist/lib/elur/next/keyed-diff.d.cts +46 -0
  45. package/dist/lib/elur/next/keyed-diff.d.ts +46 -0
  46. package/dist/lib/elur/next/mount-helpers.d.cts +25 -0
  47. package/dist/lib/elur/next/mount-helpers.d.ts +25 -0
  48. package/dist/lib/elur/next/mount.d.cts +29 -0
  49. package/dist/lib/elur/next/mount.d.ts +29 -0
  50. package/dist/lib/elur/next/node-binding.d.cts +6 -0
  51. package/dist/lib/elur/next/node-binding.d.ts +6 -0
  52. package/dist/lib/elur/next/reactivity.d.cts +193 -0
  53. package/dist/lib/elur/next/reactivity.d.ts +193 -0
  54. package/dist/lib/elur/next-2/component.cjs +2 -0
  55. package/dist/lib/elur/next-2/component.cjs.map +1 -0
  56. package/dist/lib/elur/next-2/component.d.cts +283 -0
  57. package/dist/lib/elur/next-2/component.d.ts +283 -0
  58. package/dist/lib/elur/next-2/component.js +340 -0
  59. package/dist/lib/elur/next-2/component.js.map +1 -0
  60. package/dist/lib/elur/next-2/dom-write.cjs +2 -0
  61. package/dist/lib/elur/next-2/dom-write.cjs.map +1 -0
  62. package/dist/lib/elur/next-2/dom-write.d.cts +18 -0
  63. package/dist/lib/elur/next-2/dom-write.d.ts +18 -0
  64. package/dist/lib/elur/next-2/dom-write.js +31 -0
  65. package/dist/lib/elur/next-2/dom-write.js.map +1 -0
  66. package/dist/lib/elur/next-2/hydrate.cjs +2 -0
  67. package/dist/lib/elur/next-2/hydrate.cjs.map +1 -0
  68. package/dist/lib/elur/next-2/hydrate.d.cts +30 -0
  69. package/dist/lib/elur/next-2/hydrate.d.ts +30 -0
  70. package/dist/lib/elur/next-2/hydrate.js +449 -0
  71. package/dist/lib/elur/next-2/hydrate.js.map +1 -0
  72. package/dist/lib/elur/next-2/keyed-diff.cjs +2 -0
  73. package/dist/lib/elur/next-2/keyed-diff.cjs.map +1 -0
  74. package/dist/lib/elur/next-2/keyed-diff.d.cts +79 -0
  75. package/dist/lib/elur/next-2/keyed-diff.d.ts +79 -0
  76. package/dist/lib/elur/next-2/keyed-diff.js +208 -0
  77. package/dist/lib/elur/next-2/keyed-diff.js.map +1 -0
  78. package/dist/lib/elur/next-2/mount-helpers.cjs +2 -0
  79. package/dist/lib/elur/next-2/mount-helpers.cjs.map +1 -0
  80. package/dist/lib/elur/next-2/mount-helpers.d.cts +25 -0
  81. package/dist/lib/elur/next-2/mount-helpers.d.ts +25 -0
  82. package/dist/lib/elur/next-2/mount-helpers.js +87 -0
  83. package/dist/lib/elur/next-2/mount-helpers.js.map +1 -0
  84. package/dist/lib/elur/next-2/mount.cjs +2 -0
  85. package/dist/lib/elur/next-2/mount.cjs.map +1 -0
  86. package/dist/lib/elur/next-2/mount.d.cts +29 -0
  87. package/dist/lib/elur/next-2/mount.d.ts +29 -0
  88. package/dist/lib/elur/next-2/mount.js +34 -0
  89. package/dist/lib/elur/next-2/mount.js.map +1 -0
  90. package/dist/lib/elur/next-2/node-binding.cjs +2 -0
  91. package/dist/lib/elur/next-2/node-binding.cjs.map +1 -0
  92. package/dist/lib/elur/next-2/node-binding.d.cts +6 -0
  93. package/dist/lib/elur/next-2/node-binding.d.ts +6 -0
  94. package/dist/lib/elur/next-2/node-binding.js +130 -0
  95. package/dist/lib/elur/next-2/node-binding.js.map +1 -0
  96. package/dist/lib/elur/next-2/reactivity.cjs +2 -0
  97. package/dist/lib/elur/next-2/reactivity.cjs.map +1 -0
  98. package/dist/lib/elur/next-2/reactivity.d.cts +220 -0
  99. package/dist/lib/elur/next-2/reactivity.d.ts +220 -0
  100. package/dist/lib/elur/next-2/reactivity.js +614 -0
  101. package/dist/lib/elur/next-2/reactivity.js.map +1 -0
  102. package/dist/lib/elur/next-2/scheduler.cjs +2 -0
  103. package/dist/lib/elur/next-2/scheduler.cjs.map +1 -0
  104. package/dist/lib/elur/next-2/scheduler.d.cts +23 -0
  105. package/dist/lib/elur/next-2/scheduler.d.ts +23 -0
  106. package/dist/lib/elur/next-2/scheduler.js +26 -0
  107. package/dist/lib/elur/next-2/scheduler.js.map +1 -0
  108. package/dist/lib/elur/plugins.cjs +1 -1
  109. package/dist/lib/elur/plugins.cjs.map +1 -1
  110. package/dist/lib/elur/plugins.js +1 -1
  111. package/dist/lib/elur/reactivity.cjs +1 -2
  112. package/dist/lib/elur/reactivity.d.cts +1 -67
  113. package/dist/lib/elur/reactivity.d.ts +1 -67
  114. package/dist/lib/elur/reactivity.js +2 -218
  115. package/dist/lib/elur/router.cjs +1 -1
  116. package/dist/lib/elur/router.cjs.map +1 -1
  117. package/dist/lib/elur/router.js +1 -1
  118. package/dist/lib/elur/server/index.cjs +1 -1
  119. package/dist/lib/elur/server/index.cjs.map +1 -1
  120. package/dist/lib/elur/server/index.js +175 -107
  121. package/dist/lib/elur/server/index.js.map +1 -1
  122. package/dist/lib/elur/store.cjs +1 -1
  123. package/dist/lib/elur/store.cjs.map +1 -1
  124. package/dist/lib/elur/store.js +1 -1
  125. package/dist/lib/elur/template/bindings.cjs +1 -1
  126. package/dist/lib/elur/template/bindings.cjs.map +1 -1
  127. package/dist/lib/elur/template/bindings.js +98 -84
  128. package/dist/lib/elur/template/bindings.js.map +1 -1
  129. package/dist/lib/elur/template/dom-write.d.cts +1 -5
  130. package/dist/lib/elur/template/dom-write.d.ts +1 -5
  131. package/dist/lib/elur/template/error-boundary.cjs +1 -1
  132. package/dist/lib/elur/template/error-boundary.cjs.map +1 -1
  133. package/dist/lib/elur/template/error-boundary.js +56 -50
  134. package/dist/lib/elur/template/error-boundary.js.map +1 -1
  135. package/dist/lib/elur/template/html.cjs +1 -1
  136. package/dist/lib/elur/template/html.cjs.map +1 -1
  137. package/dist/lib/elur/template/html.js +40 -37
  138. package/dist/lib/elur/template/html.js.map +1 -1
  139. package/dist/lib/elur/template/index.cjs +1 -1
  140. package/dist/lib/elur/template/index.d.cts +2 -1
  141. package/dist/lib/elur/template/index.d.ts +2 -1
  142. package/dist/lib/elur/template/index.js +13 -12
  143. package/dist/lib/elur/template/keyed-diff.d.cts +1 -32
  144. package/dist/lib/elur/template/keyed-diff.d.ts +1 -32
  145. package/dist/lib/elur/template/keyed.cjs +1 -1
  146. package/dist/lib/elur/template/keyed.cjs.map +1 -1
  147. package/dist/lib/elur/template/keyed.d.cts +10 -2
  148. package/dist/lib/elur/template/keyed.d.ts +10 -2
  149. package/dist/lib/elur/template/keyed.js +12 -1
  150. package/dist/lib/elur/template/keyed.js.map +1 -1
  151. package/dist/lib/elur/template/mount-helpers.d.cts +1 -29
  152. package/dist/lib/elur/template/mount-helpers.d.ts +1 -29
  153. package/dist/lib/elur/template/node-binding.d.cts +1 -6
  154. package/dist/lib/elur/template/node-binding.d.ts +1 -6
  155. package/dist/lib/elur/template/portal.cjs +1 -1
  156. package/dist/lib/elur/template/portal.cjs.map +1 -1
  157. package/dist/lib/elur/template/portal.js +1 -1
  158. package/dist/lib/elur/template/transitions.cjs +1 -1
  159. package/dist/lib/elur/template/transitions.cjs.map +1 -1
  160. package/dist/lib/elur/template/transitions.js +2 -2
  161. package/dist/lib/elur/template/types.cjs +1 -1
  162. package/dist/lib/elur/template/types.cjs.map +1 -1
  163. package/dist/lib/elur/template/types.d.cts +55 -0
  164. package/dist/lib/elur/template/types.d.ts +55 -0
  165. package/dist/lib/elur/template/types.js +5 -1
  166. package/dist/lib/elur/template/types.js.map +1 -1
  167. package/dist/lib/elur.cjs +1 -1
  168. package/dist/lib/elur.js +2 -2
  169. package/dist/lib/form.cjs +1 -1
  170. package/dist/lib/form.js +1 -1
  171. package/dist/lib/hydrate.cjs +1 -2
  172. package/dist/lib/hydrate.js +2 -410
  173. package/dist/lib/index.cjs +1 -1
  174. package/dist/lib/index.js +2 -2
  175. package/dist/lib/lifecycle.cjs +1 -1
  176. package/dist/lib/lifecycle.js +4 -0
  177. package/dist/lib/plugins.cjs +1 -1
  178. package/dist/lib/plugins.js +1 -1
  179. package/dist/lib/router.cjs +1 -1
  180. package/dist/lib/router.js +1 -1
  181. package/dist/lib/server.cjs +1 -1
  182. package/dist/lib/server.js +175 -107
  183. package/dist/lib/signals.cjs +1 -2
  184. package/dist/lib/signals.js +2 -218
  185. package/dist/lib/store.cjs +1 -1
  186. package/dist/lib/store.js +1 -1
  187. package/dist/lib/template.cjs +1 -1
  188. package/dist/lib/template.js +13 -12
  189. package/package.json +7 -9
  190. package/dist/lib/elur/component.cjs.map +0 -1
  191. package/dist/lib/elur/component.js.map +0 -1
  192. package/dist/lib/elur/hydrate/index.cjs.map +0 -1
  193. package/dist/lib/elur/hydrate/index.js.map +0 -1
  194. package/dist/lib/elur/reactivity.cjs.map +0 -1
  195. package/dist/lib/elur/reactivity.js.map +0 -1
  196. package/dist/lib/elur/template/dom-write.cjs +0 -2
  197. package/dist/lib/elur/template/dom-write.cjs.map +0 -1
  198. package/dist/lib/elur/template/dom-write.js +0 -16
  199. package/dist/lib/elur/template/dom-write.js.map +0 -1
  200. package/dist/lib/elur/template/keyed-diff.cjs +0 -2
  201. package/dist/lib/elur/template/keyed-diff.cjs.map +0 -1
  202. package/dist/lib/elur/template/keyed-diff.js +0 -100
  203. package/dist/lib/elur/template/keyed-diff.js.map +0 -1
  204. package/dist/lib/elur/template/mount-helpers.cjs +0 -2
  205. package/dist/lib/elur/template/mount-helpers.cjs.map +0 -1
  206. package/dist/lib/elur/template/mount-helpers.js +0 -132
  207. package/dist/lib/elur/template/mount-helpers.js.map +0 -1
  208. package/dist/lib/elur/template/node-binding.cjs +0 -2
  209. package/dist/lib/elur/template/node-binding.cjs.map +0 -1
  210. package/dist/lib/elur/template/node-binding.js +0 -95
  211. package/dist/lib/elur/template/node-binding.js.map +0 -1
@@ -1,18 +1,19 @@
1
- import { ELUR_RENDER_PROTOCOL as e, ELUR_TEMPLATE_DESCRIPTOR as t, isElurTemplate as n, isKeyedList as r } from "./elur/template/types.js";
2
- import { isElurComponent as i } from "./lifecycle.js";
3
- import { _popComponentContext as a, _pushComponentContext as o, _setContextScopeResolver as s } from "./context.js";
4
- import { normalizeRepeatKey as c, serializeRepeatKey as l } from "./elur/template/keyed.js";
5
- import { sanitizeUrl as u } from "./elur/template/sanitize.js";
6
- import { AsyncLocalStorage as d } from "node:async_hooks";
1
+ import { Signal as e, untrack as t } from "./elur/next-2/reactivity.js";
2
+ import { ELUR_RENDER_PROTOCOL as n, ELUR_TEMPLATE_DESCRIPTOR as r, isDerivedBinding as i, isElurTemplate as a, isKeyedList as o } from "./elur/template/types.js";
3
+ import { isElurComponent as s } from "./lifecycle.js";
4
+ import { _popComponentContext as c, _pushComponentContext as l, _setContextScopeResolver as u } from "./context.js";
5
+ import { normalizeRepeatKey as d, serializeRepeatKey as f } from "./elur/template/keyed.js";
6
+ import { sanitizeUrl as p } from "./elur/template/sanitize.js";
7
+ import { AsyncLocalStorage as m } from "node:async_hooks";
7
8
  //#region src/elur/server/index.ts
8
- var f = n, p = r, m = new d();
9
- s(() => m.getStore());
10
- function h(e = {}) {
9
+ var h = a, g = o, _ = new m();
10
+ u(() => _.getStore());
11
+ function v(e = {}) {
11
12
  let t = new AbortController(), n = {
12
13
  markers: e.markers === "hydration",
13
14
  context: e.context,
14
15
  onError: e.onError
15
- }, r = (e) => Promise.resolve(m.run([], e));
16
+ }, r = (e) => Promise.resolve(_.run([], e));
16
17
  return {
17
18
  signal: t.signal,
18
19
  async render(e, i) {
@@ -22,11 +23,11 @@ function h(e = {}) {
22
23
  signal: t.signal
23
24
  }, o = "";
24
25
  return await r(() => (async () => {
25
- for await (let t of y(e, a)) o += t.value;
26
+ for await (let t of S(e, a)) o += t.value;
26
27
  })()), o;
27
28
  },
28
29
  renderToChunks(e, r) {
29
- return g(e, {
30
+ return y(e, {
30
31
  ...n,
31
32
  markers: r?.markers ?? n.markers,
32
33
  signal: t.signal
@@ -37,13 +38,13 @@ function h(e = {}) {
37
38
  }
38
39
  };
39
40
  }
40
- function g(e, t) {
41
+ function y(e, t) {
41
42
  return { async *[Symbol.asyncIterator]() {
42
43
  let n = [], r = [], i = !1, a, o = () => {
43
44
  r.shift()?.();
44
- }, s = m.run([], async () => {
45
+ }, s = _.run([], async () => {
45
46
  try {
46
- for await (let r of y(e, t)) n.push(r), o();
47
+ for await (let r of S(e, t)) n.push(r), o();
47
48
  } catch (e) {
48
49
  a = e;
49
50
  } finally {
@@ -68,66 +69,66 @@ function g(e, t) {
68
69
  }, await s;
69
70
  } };
70
71
  }
71
- async function _(e, t = {}) {
72
+ async function b(e, t = {}) {
72
73
  let n = {
73
74
  markers: t.markers === "hydration",
74
75
  signal: t.signal,
75
76
  context: t.context,
76
77
  onError: t.onError
77
78
  }, r = "";
78
- return await Promise.resolve(m.run([], async () => {
79
- for await (let t of y(e, n)) r += t.value;
79
+ return await Promise.resolve(_.run([], async () => {
80
+ for await (let t of S(e, n)) r += t.value;
80
81
  })), r;
81
82
  }
82
- function v(e, t = {}) {
83
- return g(e, {
83
+ function x(e, t = {}) {
84
+ return y(e, {
84
85
  markers: t.markers === "hydration",
85
86
  signal: t.signal,
86
87
  context: t.context,
87
88
  onError: t.onError
88
89
  });
89
90
  }
90
- async function* y(n, r) {
91
- if (C(r), n instanceof Promise) {
92
- yield* y(await n, r);
91
+ async function* S(e, t) {
92
+ if (D(t), e instanceof Promise) {
93
+ yield* S(await e, t);
93
94
  return;
94
95
  }
95
- if (!(n == null || n === !1 || n === !0)) {
96
- if (typeof n == "string" || typeof n == "number" || typeof n == "bigint") {
96
+ if (!(e == null || e === !1 || e === !0)) {
97
+ if (typeof e == "string" || typeof e == "number" || typeof e == "bigint") {
97
98
  yield {
98
99
  type: "markup",
99
- value: E(String(n)),
100
+ value: A(String(e)),
100
101
  index: -1
101
102
  };
102
103
  return;
103
104
  }
104
- if (Array.isArray(n)) {
105
- let e = await Promise.all(n.map((e) => w(e)));
106
- C(r);
107
- for (let t of e) r.markers && (yield {
105
+ if (Array.isArray(e)) {
106
+ let n = await Promise.all(e.map((e) => O(e)));
107
+ D(t);
108
+ for (let e of n) t.markers && (yield {
108
109
  type: "markup",
109
110
  value: "<!--elur-ai-->",
110
111
  index: -1
111
- }), yield* y(t, r), r.markers && (yield {
112
+ }), yield* S(e, t), t.markers && (yield {
112
113
  type: "markup",
113
114
  value: "<!--elur-aiend-->",
114
115
  index: -1
115
116
  });
116
117
  return;
117
118
  }
118
- if ((typeof n == "object" || typeof n == "function") && n !== null) {
119
- let t = n[e];
120
- if (t?.renderServer) {
121
- let e = await t.renderServer({
122
- markers: r.markers,
123
- signal: r.signal,
124
- context: r.context,
125
- render: (e, t) => S(e, {
126
- ...r,
127
- markers: t?.markers ?? r.markers
119
+ if ((typeof e == "object" || typeof e == "function") && e !== null) {
120
+ let r = e[n];
121
+ if (r?.renderServer) {
122
+ let e = await r.renderServer({
123
+ markers: t.markers,
124
+ signal: t.signal,
125
+ context: t.context,
126
+ render: (e, n) => E(e, {
127
+ ...t,
128
+ markers: n?.markers ?? t.markers
128
129
  })
129
130
  });
130
- C(r), yield {
131
+ D(t), yield {
131
132
  type: "markup",
132
133
  value: e,
133
134
  index: -1
@@ -135,27 +136,27 @@ async function* y(n, r) {
135
136
  return;
136
137
  }
137
138
  }
138
- if (i(n)) {
139
- yield* b(n, r);
139
+ if (s(e)) {
140
+ yield* C(e, t);
140
141
  return;
141
142
  }
142
- if (p(n)) {
143
- if (!r.markers) {
143
+ if (g(e)) {
144
+ if (!t.markers) {
144
145
  yield {
145
146
  type: "markup",
146
- value: (await Promise.all(n.items.map((e, t) => S(n.renderFn(e, t), r)))).join(""),
147
+ value: (await Promise.all(e.items.map((n, r) => E(e.renderFn(n, r), t)))).join(""),
147
148
  index: -1
148
149
  };
149
150
  return;
150
151
  }
151
- let e = /* @__PURE__ */ new Set();
152
- for (let t = 0; t < n.items.length; t++) {
153
- let i = n.items[t], a = c(n.keyFn(i, t), t), o = l(a);
154
- e.has(o) && console.warn(`[elur] repeat(): duplicate key "${a}" during server render. Keys must be unique; entries after the first will leak during hydration.`), e.add(o), yield {
152
+ let n = /* @__PURE__ */ new Set();
153
+ for (let r = 0; r < e.items.length; r++) {
154
+ let i = e.items[r], a = d(e.keyFn(i, r), r), o = f(a);
155
+ n.has(o) && console.warn(`[elur] repeat(): duplicate key "${a}" during server render. Keys must be unique; entries after the first will leak during hydration.`), n.add(o), yield {
155
156
  type: "markup",
156
157
  value: `<!--elur-ki:${o}-->`,
157
158
  index: -1
158
- }, yield* y(n.renderFn(i, t), r), yield {
159
+ }, yield* S(e.renderFn(i, r), t), yield {
159
160
  type: "markup",
160
161
  value: "<!--elur-ke-->",
161
162
  index: -1
@@ -163,21 +164,21 @@ async function* y(n, r) {
163
164
  }
164
165
  return;
165
166
  }
166
- if (f(n)) {
167
- let e = n[t];
168
- if (!e) throw TypeError("[elur] Template does not support server rendering");
169
- yield* x(e, r);
167
+ if (h(e)) {
168
+ let n = e[r];
169
+ if (!n) throw TypeError("[elur] Template does not support server rendering");
170
+ yield* T(n, t);
170
171
  return;
171
172
  }
172
173
  yield {
173
174
  type: "markup",
174
- value: E(String(n)),
175
+ value: A(String(e)),
175
176
  index: -1
176
177
  };
177
178
  }
178
179
  }
179
- async function* b(e, t) {
180
- o();
180
+ async function* C(e, t) {
181
+ l();
181
182
  let n = {
182
183
  index: -1,
183
184
  context: "component",
@@ -192,7 +193,7 @@ async function* b(e, t) {
192
193
  else throw t;
193
194
  }
194
195
  try {
195
- yield* y(e.render(), t);
196
+ yield* S(e.render(), t);
196
197
  } catch (t) {
197
198
  if (e.onError) {
198
199
  e.onError(t);
@@ -206,106 +207,173 @@ async function* b(e, t) {
206
207
  cause: e
207
208
  }), e;
208
209
  } finally {
209
- a();
210
+ c();
210
211
  }
211
212
  }
212
- async function* x(e, t) {
213
- let n = new Uint8Array(e.strings.length);
214
- for (let r = 0; r < e.strings.length; r++) {
213
+ function w(e, t) {
214
+ return {
215
+ m: (e) => ({
216
+ type: "markup",
217
+ value: e,
218
+ index: -1
219
+ }),
220
+ node: async function* (t, n) {
221
+ e.markers && (yield {
222
+ type: "boundary-start",
223
+ value: `<!--elur-${t}-->`,
224
+ index: t
225
+ });
226
+ try {
227
+ let t = await O(n);
228
+ D(e), yield* S(t, e);
229
+ } catch (n) {
230
+ throw e.onError?.(n, {
231
+ index: t,
232
+ context: "node",
233
+ cause: n
234
+ }), n;
235
+ }
236
+ e.markers && (yield {
237
+ type: "boundary-end",
238
+ value: `<!--elur-end-${t}-->`,
239
+ index: t
240
+ });
241
+ },
242
+ attr: async (n, r, i, a, o, s) => {
243
+ let c = [{
244
+ type: "markup",
245
+ value: n,
246
+ index: r
247
+ }], l = await O(s);
248
+ if (D(e), i !== "ref" && l != null && l !== !1) {
249
+ let e = a ? p(String(l)) : String(l), t = /\s$/.test(n) ? "" : " ";
250
+ c.push({
251
+ type: "markup",
252
+ value: `${t}${i}="${j(e)}"`,
253
+ index: r
254
+ });
255
+ }
256
+ return e.markers && !t && c.push({
257
+ type: "markup",
258
+ value: ` data-elur-a-${r}="${j(i)}"`,
259
+ index: r
260
+ }), c;
261
+ },
262
+ event: (n, r, i) => e.markers && !t ? {
263
+ type: "markup",
264
+ value: `${r}${/\s$/.test(r) ? "" : " "}data-elur-e-${n}="${j(i)}"`,
265
+ index: n
266
+ } : {
267
+ type: "markup",
268
+ value: r.replace(/\s+$/, ""),
269
+ index: n
270
+ }
271
+ };
272
+ }
273
+ async function* T(e, t) {
274
+ let n = e.hydrate !== void 0;
275
+ if (e.ssr) {
276
+ yield* e.ssr(w(t, n), e.values);
277
+ return;
278
+ }
279
+ let r = new Uint8Array(e.strings.length);
280
+ for (let i = 0; i < e.strings.length; i++) {
215
281
  if (t.signal?.aborted) throw t.signal.reason ?? new DOMException("Render aborted", "AbortError");
216
- let i = e.strings[r];
217
- if (n[r] === 1 && (i[0] === "\"" || i[0] === "'") && (i = i.slice(1)), r >= e.contexts.length) {
282
+ let a = e.strings[i];
283
+ if (r[i] === 1 && (a[0] === "\"" || a[0] === "'") && (a = a.slice(1)), i >= e.contexts.length) {
218
284
  yield {
219
285
  type: "markup",
220
- value: i,
221
- index: r
286
+ value: a,
287
+ index: i
222
288
  };
223
289
  continue;
224
290
  }
225
- let a = e.contexts[r], o = e.values[r];
226
- if (a.type === "node") {
291
+ let o = e.contexts[i], s = e.values[i];
292
+ if (o.type === "node") {
227
293
  yield {
228
294
  type: "markup",
229
- value: i,
230
- index: r
295
+ value: a,
296
+ index: i
231
297
  }, t.markers && (yield {
232
298
  type: "boundary-start",
233
- value: `<!--elur-${r}-->`,
234
- index: r
299
+ value: `<!--elur-${i}-->`,
300
+ index: i
235
301
  });
236
302
  try {
237
- let e = await w(o);
238
- C(t), yield* y(e, t);
303
+ let e = await O(s);
304
+ D(t), yield* S(e, t);
239
305
  } catch (e) {
240
306
  throw t.onError?.(e, {
241
- index: r,
307
+ index: i,
242
308
  context: "node",
243
309
  cause: e
244
310
  }), e;
245
311
  }
246
312
  t.markers && (yield {
247
313
  type: "boundary-end",
248
- value: `<!--elur-end-${r}-->`,
249
- index: r
314
+ value: `<!--elur-end-${i}-->`,
315
+ index: i
250
316
  });
251
317
  continue;
252
318
  }
253
- let s = T(a), c = i.slice(0, -s);
254
- if (a.hadOpenQuote && (n[r + 1] = 1), a.type === "event") {
255
- t.markers ? yield {
319
+ let c = k(o), l = a.slice(0, -c);
320
+ if (o.hadOpenQuote && (r[i + 1] = 1), o.type === "event") {
321
+ t.markers && !n ? yield {
256
322
  type: "markup",
257
- value: `${c}${/\s$/.test(c) ? "" : " "}data-elur-e-${r}="${D(a.eventName)}"`,
258
- index: r
323
+ value: `${l}${/\s$/.test(l) ? "" : " "}data-elur-e-${i}="${j(o.eventName)}"`,
324
+ index: i
259
325
  } : yield {
260
326
  type: "markup",
261
- value: c.replace(/\s+$/, ""),
262
- index: r
327
+ value: l.replace(/\s+$/, ""),
328
+ index: i
263
329
  };
264
330
  continue;
265
331
  }
266
332
  yield {
267
333
  type: "markup",
268
- value: c,
269
- index: r
334
+ value: l,
335
+ index: i
270
336
  };
271
- let l = await w(o);
272
- if (C(t), a.attrName !== "ref" && l != null && l !== !1) {
273
- let e = a.url ? u(String(l)) : String(l);
337
+ let u = await O(s);
338
+ if (D(t), o.attrName !== "ref" && u != null && u !== !1) {
339
+ let e = o.url ? p(String(u)) : String(u);
274
340
  yield {
275
341
  type: "markup",
276
- value: `${/\s$/.test(c) ? "" : " "}${a.attrName}="${D(e)}"`,
277
- index: r
342
+ value: `${/\s$/.test(l) ? "" : " "}${o.attrName}="${j(e)}"`,
343
+ index: i
278
344
  };
279
345
  }
280
- t.markers && (yield {
346
+ t.markers && !n && (yield {
281
347
  type: "markup",
282
- value: ` data-elur-a-${r}="${D(a.attrName)}"`,
283
- index: r
348
+ value: ` data-elur-a-${i}="${j(o.attrName)}"`,
349
+ index: i
284
350
  });
285
351
  }
286
352
  }
287
- async function S(e, t) {
353
+ async function E(e, t) {
288
354
  let n = "";
289
- for await (let r of y(e, t)) n += r.value;
355
+ for await (let r of S(e, t)) n += r.value;
290
356
  return n;
291
357
  }
292
- function C(e) {
358
+ function D(e) {
293
359
  if (e.signal?.aborted) throw e.signal.reason ?? new DOMException("Render aborted", "AbortError");
294
360
  }
295
- async function w(e) {
296
- let t = typeof e == "function" ? e() : e;
297
- return t instanceof Promise ? await t : t;
361
+ async function O(n) {
362
+ if (n instanceof e) return n.peek();
363
+ if (i(n)) return t(n.get);
364
+ let r = typeof n == "function" ? n() : n;
365
+ return r instanceof Promise ? await r : r;
298
366
  }
299
- function T(e) {
367
+ function k(e) {
300
368
  return e.type === "event" ? `@${e.modifiers.length ? `${e.eventName}.${e.modifiers.join(".")}` : e.eventName}=`.length + +!!e.hadOpenQuote : `${e.attrName}=`.length + +!!e.hadOpenQuote;
301
369
  }
302
- function E(e) {
370
+ function A(e) {
303
371
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
304
372
  }
305
- function D(e) {
306
- return E(e).replace(/"/g, "&quot;");
373
+ function j(e) {
374
+ return A(e).replace(/"/g, "&quot;");
307
375
  }
308
376
  //#endregion
309
- export { h as createServerRenderScope, v as renderToChunks, _ as renderToString };
377
+ export { v as createServerRenderScope, x as renderToChunks, b as renderToString };
310
378
 
311
379
  //# sourceMappingURL=server.js.map
@@ -1,2 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(){return{ctxPool:[],ctxStack:[],activeEffect:null,activeDeps:null,activeErrorHandler:null,errorHandlerStack:[],batchLevel:0,pendingEffectsSet:new Set,pendingEffectsArr:[],effectDepth:0,notifyBuf:[],notifyBase:0,signalDebugHooks:null}}var t=Symbol.for(`@elurjs/core/reactivity-state`),n=globalThis,r=(()=>{let r=n[t];if(r){let t=e(),n=r;for(let e of Object.keys(t))e in n||(n[e]=t[e]);return r}let i=e();return n[t]=i,i})();function i(e){r.errorHandlerStack.push(r.activeErrorHandler),r.activeErrorHandler=e}function a(){r.activeErrorHandler=r.errorHandlerStack.pop()??null}var o=100,s=64,c=16,l=32;function u(){let e=r.signalDebugHookSet;if(!e||e.size===0){r.signalDebugHooks=null;return}if(e.size===1){r.signalDebugHooks=e.values().next().value??null;return}r.signalDebugHooks={onCreate(t,n){for(let r of e)r.onCreate?.(t,n)},onWrite(t,n){for(let r of e)r.onWrite?.(t,n)}}}function d(e){let t=new Set;e&&t.add(e),r.signalDebugHookSet=t,u()}function f(e){let t=r.signalDebugHookSet;return t||(t=new Set,r.signalDebugHooks&&t.add(r.signalDebugHooks),r.signalDebugHookSet=t),t.add(e),u(),()=>{t.delete(e),u()}}function p(){return r.notifyBuf.length}var m=class{_value;_subs=new Set;constructor(e){this._value=e,r.signalDebugHooks?.onCreate?.(this,e)}get value(){return r.activeEffect&&(this._subs.add(r.activeEffect),r.activeDeps?.add(this)),this._value}set value(e){Object.is(this._value,e)||(this._value=e,r.signalDebugHooks?.onWrite?.(this,e),this._notify())}update(e){this.value=e(this._value)}peek(){return this._value}_removeSub(e){this._subs.delete(e)}_notify(){if(r.batchLevel>0){for(let e of this._subs)r.pendingEffectsSet.has(e)||(r.pendingEffectsSet.add(e),r.pendingEffectsArr.push(e));return}let e=r.notifyBase,t=0;for(let n of this._subs)r.notifyBuf[e+ t++]=n;r.notifyBase=e+t;try{for(let n=0;n<t;n++){let t=r.notifyBuf[e+n];r.notifyBuf[e+n]=null,t?.()}}finally{r.notifyBase=e,e===0&&r.notifyBuf.length>s&&t<c&&(r.notifyBuf.length=l)}}dispose(){this._subs.clear()}};function h(e){return new m(e)}function g(e){let t=!1,n,i=new Set,a=new Set,s=r.activeErrorHandler,c=()=>{if(t)return;typeof n==`function`&&n();let l=i;i=a,a=l,a.clear();let u=r.ctxPool.length>0?r.ctxPool.pop():{effect:null,deps:null};if(u.effect=r.activeEffect,u.deps=r.activeDeps,r.ctxStack.push(u),r.activeEffect=c,r.activeDeps=a,r.effectDepth++,r.effectDepth>o){r.effectDepth=0;let e=r.ctxStack.pop();throw r.activeEffect=e.effect,r.activeDeps=e.deps,e.effect=null,e.deps=null,r.ctxPool.push(e),Error(`[elur] Maximum effect re-execution depth exceeded (possible infinite loop).`)}try{n=e()}catch(e){if(s)s(e);else throw e}finally{r.effectDepth--;let e=r.ctxStack.pop();r.activeEffect=e.effect,r.activeDeps=e.deps,e.effect=null,e.deps=null,r.ctxPool.push(e);for(let e of i)a.has(e)||e._removeSub(c)}};return c(),()=>{t=!0,typeof n==`function`&&n();for(let e of a)e._removeSub(c);a.clear(),i.clear()}}var _=Symbol(`elur-computed-uninitialized`);function v(e,t=Object.is){let n=new m(_),r=null,i=!1,a=!1,o=()=>{i||a||(i=!0,b(()=>{r=g(()=>{let r=e(),i=n.peek();(i===_||!t(r,i))&&(n.value=r)})}))},s=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(n),`value`);if(!s?.get||!s?.set)throw Error(`[elur] Internal error: Signal.value descriptor not found.`);Object.defineProperty(n,`value`,{get(){return o(),s.get.call(this)},set(e){s.set.call(this,e)},configurable:!0});let c=n.dispose;return n.dispose=()=>{a=!0,r?.(),r=null,c.call(n)},n}function y(e){r.batchLevel++;try{e()}finally{if(r.batchLevel--,r.batchLevel===0&&r.pendingEffectsArr.length>0){let e=r.pendingEffectsArr.length;for(let t=0;t<e;t++)r.pendingEffectsArr[t]();r.pendingEffectsArr.length=0,r.pendingEffectsSet.clear()}}}function b(e){let t=r.activeEffect,n=r.activeDeps;r.activeEffect=null,r.activeDeps=null;try{return e()}finally{r.activeEffect=t,r.activeDeps=n}}function x(e,t,n={}){let{immediate:r=!1,once:i=!1}=n,a=e instanceof m?()=>e.value:e,o,s=!0,c=!1,l=g(()=>{let e=a();if(s){if(s=!1,r&&!c){let n=e;b(()=>t(n,void 0)),i&&(c=!0,Promise.resolve().then(l))}o=e;return}if(!c){let n=e,r=o;o=e,b(()=>t(n,r)),i&&(c=!0,Promise.resolve().then(l))}});return()=>{c=!0,l()}}function S(e){return e?Promise.resolve().then(e):Promise.resolve()}exports.Signal=m,exports._addSignalDebugHooks=f,exports._getNotifyBufSize=p,exports._popErrorHandler=a,exports._pushErrorHandler=i,exports._setSignalDebugHooks=d,exports.batch=y,exports.computed=v,exports.effect=g,exports.nextTick=S,exports.signal=h,exports.untrack=b,exports.watch=x;
2
- //# sourceMappingURL=signals.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./elur/next-2/reactivity.cjs`);exports.Computed=e.Computed,exports.Owner=e.Owner,exports.ReactiveCycleError=e.ReactiveCycleError,exports.Signal=e.Signal,exports._addSignalDebugHooks=e._addSignalDebugHooks,exports._bindDerived=e._bindDerived,exports._bindSignal=e._bindSignal,exports._bindText=e._bindText,exports._getNotifyBufSize=e._getNotifyBufSize,exports._popErrorHandler=e._popErrorHandler,exports._pushErrorHandler=e._pushErrorHandler,exports._renderEffect=e._renderEffect,exports._setSignalDebugHooks=e._setSignalDebugHooks,exports.batch=e.batch,exports.computed=e.computed,exports.constSignal=e.constSignal,exports.createRoot=e.createRoot,exports.effect=e.effect,exports.getOwner=e.getOwner,exports.nextTick=e.nextTick,exports.onCleanup=e.onCleanup,exports.runWithOwner=e.runWithOwner,exports.signal=e.signal,exports.untrack=e.untrack,exports.watch=e.watch;