@vobs/runtime 1.2.0 → 1.2.2
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.
- package/dist/async-boundary.cjs +73 -374
- package/dist/async-boundary.cjs.map +1 -1
- package/dist/async-boundary.js +44 -367
- package/dist/async-boundary.js.map +1 -1
- package/dist/bind.cjs +83 -234
- package/dist/bind.cjs.map +1 -1
- package/dist/bind.js +54 -227
- package/dist/bind.js.map +1 -1
- package/dist/boundary.cjs +67 -369
- package/dist/boundary.cjs.map +1 -1
- package/dist/boundary.js +42 -366
- package/dist/boundary.js.map +1 -1
- package/dist/debug.cjs +41 -12
- package/dist/debug.cjs.map +1 -1
- package/dist/debug.js +10 -3
- package/dist/debug.js.map +1 -1
- package/dist/dynamic.cjs +76 -378
- package/dist/dynamic.cjs.map +1 -1
- package/dist/dynamic.js +43 -367
- package/dist/dynamic.js.map +1 -1
- package/dist/error-boundary.cjs +72 -371
- package/dist/error-boundary.cjs.map +1 -1
- package/dist/error-boundary.js +43 -366
- package/dist/error-boundary.js.map +1 -1
- package/dist/error.cjs +35 -9
- package/dist/error.cjs.map +1 -1
- package/dist/error.js +7 -3
- package/dist/error.js.map +1 -1
- package/dist/fragment.cjs +44 -133
- package/dist/fragment.cjs.map +1 -1
- package/dist/fragment.js +19 -130
- package/dist/fragment.js.map +1 -1
- package/dist/hmr.cjs +50 -22
- package/dist/hmr.cjs.map +1 -1
- package/dist/hmr.js +9 -3
- package/dist/hmr.js.map +1 -1
- package/dist/index.cjs +193 -462
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +92 -385
- package/dist/index.js.map +1 -1
- package/dist/ops.cjs +126 -242
- package/dist/ops.cjs.map +1 -1
- package/dist/ops.js +76 -214
- package/dist/ops.js.map +1 -1
- package/dist/profiler.cjs +69 -320
- package/dist/profiler.cjs.map +1 -1
- package/dist/profiler.js +40 -315
- package/dist/profiler.js.map +1 -1
- package/dist/ref.cjs +33 -131
- package/dist/ref.cjs.map +1 -1
- package/dist/ref.js +10 -130
- package/dist/ref.js.map +1 -1
- package/dist/renderer.cjs +18 -2
- package/dist/renderer.cjs.map +1 -1
- package/dist/renderer.js +0 -2
- package/dist/renderer.js.map +1 -1
- package/dist/template.cjs +29 -6
- package/dist/template.cjs.map +1 -1
- package/dist/template.js +4 -3
- package/dist/template.js.map +1 -1
- package/package.json +6 -2
package/dist/index.js
CHANGED
|
@@ -80,365 +80,11 @@ function describeDebugNode(node) {
|
|
|
80
80
|
}
|
|
81
81
|
__name(describeDebugNode, "describeDebugNode");
|
|
82
82
|
|
|
83
|
-
// packages/
|
|
84
|
-
|
|
85
|
-
var signalNames = /* @__PURE__ */ new WeakMap();
|
|
86
|
-
function hasDebugHooks() {
|
|
87
|
-
return activeDebugHooks !== null;
|
|
88
|
-
}
|
|
89
|
-
__name(hasDebugHooks, "hasDebugHooks");
|
|
90
|
-
function setSignalDebugName(signal, name) {
|
|
91
|
-
signalNames.set(signal, name);
|
|
92
|
-
invokeDebug("signalNamed", signal, name);
|
|
93
|
-
}
|
|
94
|
-
__name(setSignalDebugName, "setSignalDebugName");
|
|
95
|
-
function invokeDebug(name, ...args) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
__name(invokeDebug, "invokeDebug");
|
|
99
|
-
|
|
100
|
-
// packages/reactivity/src/owner.ts
|
|
101
|
-
var currentOwner = null;
|
|
102
|
-
var nextOwnerId = 1;
|
|
103
|
-
var ownerNames = /* @__PURE__ */ new WeakMap();
|
|
104
|
-
function createOwner() {
|
|
105
|
-
const parent = currentOwner;
|
|
106
|
-
let disposed = parent?.disposed ?? false;
|
|
107
|
-
const children = [];
|
|
108
|
-
const cleanups = [];
|
|
109
|
-
const errorHandlers = /* @__PURE__ */ new Set();
|
|
110
|
-
const owner = {
|
|
111
|
-
id: `owner-${nextOwnerId++}`,
|
|
112
|
-
parent,
|
|
113
|
-
children,
|
|
114
|
-
depth: (parent?.depth ?? -1) + 1,
|
|
115
|
-
get disposed() {
|
|
116
|
-
return disposed;
|
|
117
|
-
},
|
|
118
|
-
run(fn) {
|
|
119
|
-
if (disposed) throw new Error("Vobs: \u5DF2\u9500\u6BC1\u7684 Owner \u4E0D\u80FD\u7EE7\u7EED\u8FD0\u884C");
|
|
120
|
-
const previous = currentOwner;
|
|
121
|
-
currentOwner = owner;
|
|
122
|
-
try {
|
|
123
|
-
return fn();
|
|
124
|
-
} finally {
|
|
125
|
-
currentOwner = previous;
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
addCleanup(cleanup) {
|
|
129
|
-
if (disposed) {
|
|
130
|
-
cleanup();
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
cleanups.push(cleanup);
|
|
134
|
-
},
|
|
135
|
-
onDispose(cleanup) {
|
|
136
|
-
owner.addCleanup(cleanup);
|
|
137
|
-
},
|
|
138
|
-
onError(handler) {
|
|
139
|
-
errorHandlers.add(handler);
|
|
140
|
-
const remove = /* @__PURE__ */ __name(() => errorHandlers.delete(handler), "remove");
|
|
141
|
-
owner.addCleanup(remove);
|
|
142
|
-
return remove;
|
|
143
|
-
},
|
|
144
|
-
handleError(error) {
|
|
145
|
-
for (const handler of [...errorHandlers].reverse()) {
|
|
146
|
-
try {
|
|
147
|
-
handler(error);
|
|
148
|
-
return true;
|
|
149
|
-
} catch (handlerError) {
|
|
150
|
-
return parent?.handleError(handlerError) ?? false;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return parent?.handleError(error) ?? false;
|
|
154
|
-
},
|
|
155
|
-
dispose() {
|
|
156
|
-
if (disposed) return;
|
|
157
|
-
disposed = true;
|
|
158
|
-
for (const child of [...children]) child.dispose();
|
|
159
|
-
children.length = 0;
|
|
160
|
-
let firstError;
|
|
161
|
-
for (let index = cleanups.length - 1; index >= 0; index--) {
|
|
162
|
-
try {
|
|
163
|
-
cleanups[index]();
|
|
164
|
-
} catch (error) {
|
|
165
|
-
firstError ?? (firstError = error);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
cleanups.length = 0;
|
|
169
|
-
if (parent) {
|
|
170
|
-
const index = parent.children.indexOf(owner);
|
|
171
|
-
if (index >= 0) parent.children.splice(index, 1);
|
|
172
|
-
}
|
|
173
|
-
if (firstError) throw firstError;
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
if (parent && !parent.disposed) parent.children.push(owner);
|
|
177
|
-
return owner;
|
|
178
|
-
}
|
|
179
|
-
__name(createOwner, "createOwner");
|
|
180
|
-
function setOwnerDebugName(owner, name) {
|
|
181
|
-
ownerNames.set(owner, name);
|
|
182
|
-
}
|
|
183
|
-
__name(setOwnerDebugName, "setOwnerDebugName");
|
|
184
|
-
function getCurrentOwner() {
|
|
185
|
-
return currentOwner;
|
|
186
|
-
}
|
|
187
|
-
__name(getCurrentOwner, "getCurrentOwner");
|
|
188
|
-
|
|
189
|
-
// packages/reactivity/src/signal.ts
|
|
190
|
-
var currentSubscriber = null;
|
|
191
|
-
function getCurrentSubscriber() {
|
|
192
|
-
return currentSubscriber;
|
|
193
|
-
}
|
|
194
|
-
__name(getCurrentSubscriber, "getCurrentSubscriber");
|
|
195
|
-
function setCurrentSubscriber(subscriber) {
|
|
196
|
-
currentSubscriber = subscriber;
|
|
197
|
-
}
|
|
198
|
-
__name(setCurrentSubscriber, "setCurrentSubscriber");
|
|
199
|
-
function trackDependency(dependency) {
|
|
200
|
-
if (!currentSubscriber || currentSubscriber.disposed) return;
|
|
201
|
-
!currentSubscriber.dependencies.has(dependency);
|
|
202
|
-
currentSubscriber.dependencies.add(dependency);
|
|
203
|
-
}
|
|
204
|
-
__name(trackDependency, "trackDependency");
|
|
205
|
-
function state(initialValue, debugName) {
|
|
206
|
-
let value = initialValue;
|
|
207
|
-
let disposed = false;
|
|
208
|
-
const subscribers = /* @__PURE__ */ new Set();
|
|
209
|
-
const signalInstance = {
|
|
210
|
-
get value() {
|
|
211
|
-
const subscriber = getCurrentSubscriber();
|
|
212
|
-
if (subscriber && !subscriber.disposed) {
|
|
213
|
-
subscribers.add(subscriber);
|
|
214
|
-
trackDependency(signalInstance);
|
|
215
|
-
}
|
|
216
|
-
return value;
|
|
217
|
-
},
|
|
218
|
-
set value(nextValue) {
|
|
219
|
-
if (disposed || Object.is(value, nextValue)) return;
|
|
220
|
-
value = nextValue;
|
|
221
|
-
for (const subscriber of [...subscribers]) subscriber.notify();
|
|
222
|
-
},
|
|
223
|
-
unsubscribe(subscriber) {
|
|
224
|
-
subscribers.delete(subscriber);
|
|
225
|
-
},
|
|
226
|
-
// 与 `.value =` 赋值同一条路径:判等短路、debug hook、notify 全部一致。
|
|
227
|
-
// 以闭包实现,可安全地作为回调直接传递(无 this 绑定问题)。
|
|
228
|
-
set(next) {
|
|
229
|
-
signalInstance.value = next;
|
|
230
|
-
},
|
|
231
|
-
dispose() {
|
|
232
|
-
if (disposed) return;
|
|
233
|
-
disposed = true;
|
|
234
|
-
subscribers.clear();
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
const owner = getCurrentOwner();
|
|
238
|
-
owner?.addCleanup(signalInstance.dispose);
|
|
239
|
-
if (debugName?.trim()) setSignalDebugName(signalInstance, debugName.trim());
|
|
240
|
-
return signalInstance;
|
|
241
|
-
}
|
|
242
|
-
__name(state, "state");
|
|
243
|
-
|
|
244
|
-
// packages/reactivity/src/scheduler.ts
|
|
245
|
-
var _Scheduler = class _Scheduler {
|
|
246
|
-
constructor() {
|
|
247
|
-
this.dirtyEffects = /* @__PURE__ */ new Set();
|
|
248
|
-
this.lowPriorityEffects = /* @__PURE__ */ new Set();
|
|
249
|
-
// flush 不可重入(flushing 标志保证),缓冲数组可在轮次间安全复用,避免每轮分配。
|
|
250
|
-
this.normalBuffer = [];
|
|
251
|
-
this.lowBuffer = [];
|
|
252
|
-
this.flushing = false;
|
|
253
|
-
this.scheduled = false;
|
|
254
|
-
this.batchDepth = 0;
|
|
255
|
-
}
|
|
256
|
-
schedule(effect2) {
|
|
257
|
-
if (effect2.disposed) return;
|
|
258
|
-
this.dirtyEffects.add(effect2);
|
|
259
|
-
this.lowPriorityEffects.delete(effect2);
|
|
260
|
-
this.ensureScheduled();
|
|
261
|
-
}
|
|
262
|
-
/** Queue an effect behind normal updates while preserving deterministic order. */
|
|
263
|
-
scheduleLow(effect2) {
|
|
264
|
-
if (effect2.disposed) return;
|
|
265
|
-
if (!this.dirtyEffects.has(effect2)) this.lowPriorityEffects.add(effect2);
|
|
266
|
-
this.ensureScheduled();
|
|
267
|
-
}
|
|
268
|
-
ensureScheduled() {
|
|
269
|
-
if (this.batchDepth === 0 && !this.flushing && !this.scheduled) {
|
|
270
|
-
this.scheduled = true;
|
|
271
|
-
queueMicrotask(() => {
|
|
272
|
-
this.scheduled = false;
|
|
273
|
-
this.flush();
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
remove(effect2) {
|
|
278
|
-
this.dirtyEffects.delete(effect2);
|
|
279
|
-
this.lowPriorityEffects.delete(effect2);
|
|
280
|
-
}
|
|
281
|
-
batch(fn) {
|
|
282
|
-
this.batchDepth++;
|
|
283
|
-
try {
|
|
284
|
-
return fn();
|
|
285
|
-
} finally {
|
|
286
|
-
this.batchDepth--;
|
|
287
|
-
if (this.batchDepth === 0) this.flush();
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
flush() {
|
|
291
|
-
if (this.flushing || this.batchDepth > 0) return;
|
|
292
|
-
this.flushing = true;
|
|
293
|
-
let rounds = 0;
|
|
294
|
-
let firstError;
|
|
295
|
-
let hasError = false;
|
|
296
|
-
try {
|
|
297
|
-
while (this.dirtyEffects.size > 0 || this.lowPriorityEffects.size > 0) {
|
|
298
|
-
if (++rounds > 100) {
|
|
299
|
-
this.dirtyEffects.clear();
|
|
300
|
-
this.lowPriorityEffects.clear();
|
|
301
|
-
throw new Error("Vobs: \u54CD\u5E94\u5F0F\u66F4\u65B0\u8D85\u8FC7 100 \u8F6E\uFF0C\u53EF\u80FD\u5B58\u5728\u5FAA\u73AF\u4F9D\u8D56");
|
|
302
|
-
}
|
|
303
|
-
this.collectRunnable(this.dirtyEffects, this.normalBuffer);
|
|
304
|
-
this.collectRunnable(this.lowPriorityEffects, this.lowBuffer);
|
|
305
|
-
sortEffects(this.normalBuffer);
|
|
306
|
-
sortEffects(this.lowBuffer);
|
|
307
|
-
for (const effect2 of this.normalBuffer) {
|
|
308
|
-
try {
|
|
309
|
-
effect2.run();
|
|
310
|
-
} catch (error) {
|
|
311
|
-
if (!hasError) {
|
|
312
|
-
firstError = error;
|
|
313
|
-
hasError = true;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
for (const effect2 of this.lowBuffer) {
|
|
318
|
-
try {
|
|
319
|
-
effect2.run();
|
|
320
|
-
} catch (error) {
|
|
321
|
-
if (!hasError) {
|
|
322
|
-
firstError = error;
|
|
323
|
-
hasError = true;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
this.normalBuffer.length = 0;
|
|
328
|
-
this.lowBuffer.length = 0;
|
|
329
|
-
}
|
|
330
|
-
} finally {
|
|
331
|
-
this.normalBuffer.length = 0;
|
|
332
|
-
this.lowBuffer.length = 0;
|
|
333
|
-
this.flushing = false;
|
|
334
|
-
}
|
|
335
|
-
if (hasError) throw firstError;
|
|
336
|
-
}
|
|
337
|
-
/** 收集未 disposed 的 effect 并清空源集合;run() 期间新调度的 effect 留给下一轮。 */
|
|
338
|
-
collectRunnable(source, target) {
|
|
339
|
-
for (const effect2 of source) {
|
|
340
|
-
if (!effect2.disposed) target.push(effect2);
|
|
341
|
-
}
|
|
342
|
-
source.clear();
|
|
343
|
-
}
|
|
344
|
-
};
|
|
345
|
-
__name(_Scheduler, "Scheduler");
|
|
346
|
-
var Scheduler = _Scheduler;
|
|
347
|
-
function sortEffects(effects) {
|
|
348
|
-
if (effects.length > 1) {
|
|
349
|
-
effects.sort((a, b) => b.depth - a.depth || a.order - b.order);
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
__name(sortEffects, "sortEffects");
|
|
353
|
-
var scheduler = new Scheduler();
|
|
83
|
+
// packages/runtime/src/fragment.ts
|
|
84
|
+
import { getCurrentOwner as getCurrentOwner3 } from "@vobs/reactivity";
|
|
354
85
|
|
|
355
|
-
// packages/
|
|
356
|
-
|
|
357
|
-
function cleanupDependencies(subscriber) {
|
|
358
|
-
for (const dependency of subscriber.dependencies) {
|
|
359
|
-
dependency.unsubscribe(subscriber);
|
|
360
|
-
}
|
|
361
|
-
subscriber.dependencies.clear();
|
|
362
|
-
}
|
|
363
|
-
__name(cleanupDependencies, "cleanupDependencies");
|
|
364
|
-
function effect(callback) {
|
|
365
|
-
const owner = getCurrentOwner();
|
|
366
|
-
let cleanup;
|
|
367
|
-
let dirty = true;
|
|
368
|
-
let disposed = false;
|
|
369
|
-
const eff = {
|
|
370
|
-
order: nextEffectOrder++,
|
|
371
|
-
depth: owner?.depth ?? 0,
|
|
372
|
-
dependencies: /* @__PURE__ */ new Set(),
|
|
373
|
-
get disposed() {
|
|
374
|
-
return disposed;
|
|
375
|
-
},
|
|
376
|
-
notify() {
|
|
377
|
-
if (disposed || dirty) return;
|
|
378
|
-
dirty = true;
|
|
379
|
-
scheduler.schedule(eff);
|
|
380
|
-
},
|
|
381
|
-
run() {
|
|
382
|
-
if (disposed || !dirty) return;
|
|
383
|
-
dirty = false;
|
|
384
|
-
const previousCleanup = cleanup;
|
|
385
|
-
cleanup = void 0;
|
|
386
|
-
let cleanupError;
|
|
387
|
-
if (previousCleanup) {
|
|
388
|
-
try {
|
|
389
|
-
previousCleanup();
|
|
390
|
-
} catch (error) {
|
|
391
|
-
const handled2 = owner?.handleError(error) ?? false;
|
|
392
|
-
if (!handled2) cleanupError = error;
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
cleanupDependencies(eff);
|
|
396
|
-
const previous = getCurrentSubscriber();
|
|
397
|
-
setCurrentSubscriber(eff);
|
|
398
|
-
let thrown;
|
|
399
|
-
let handled = false;
|
|
400
|
-
try {
|
|
401
|
-
const result = owner ? owner.run(callback) : callback();
|
|
402
|
-
cleanup = typeof result === "function" ? result : void 0;
|
|
403
|
-
} catch (error) {
|
|
404
|
-
thrown = error;
|
|
405
|
-
handled = owner?.handleError(error) ?? false;
|
|
406
|
-
if (!handled) throw error;
|
|
407
|
-
} finally {
|
|
408
|
-
setCurrentSubscriber(previous);
|
|
409
|
-
}
|
|
410
|
-
if (cleanupError && !thrown) throw cleanupError;
|
|
411
|
-
},
|
|
412
|
-
scheduleLow() {
|
|
413
|
-
if (disposed || dirty) return;
|
|
414
|
-
dirty = true;
|
|
415
|
-
scheduler.scheduleLow(eff);
|
|
416
|
-
},
|
|
417
|
-
dispose() {
|
|
418
|
-
if (disposed) return;
|
|
419
|
-
disposed = true;
|
|
420
|
-
dirty = false;
|
|
421
|
-
scheduler.remove(eff);
|
|
422
|
-
const previousCleanup = cleanup;
|
|
423
|
-
cleanup = void 0;
|
|
424
|
-
let cleanupError;
|
|
425
|
-
if (previousCleanup) {
|
|
426
|
-
try {
|
|
427
|
-
previousCleanup();
|
|
428
|
-
} catch (error) {
|
|
429
|
-
const handled = owner?.handleError(error) ?? false;
|
|
430
|
-
if (!handled) cleanupError = error;
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
cleanupDependencies(eff);
|
|
434
|
-
if (cleanupError) throw cleanupError;
|
|
435
|
-
}
|
|
436
|
-
};
|
|
437
|
-
owner?.addCleanup(eff.dispose);
|
|
438
|
-
eff.run();
|
|
439
|
-
return eff;
|
|
440
|
-
}
|
|
441
|
-
__name(effect, "effect");
|
|
86
|
+
// packages/runtime/src/ops.ts
|
|
87
|
+
import { createOwner, getCurrentOwner as getCurrentOwner2, setOwnerDebugName } from "@vobs/reactivity";
|
|
442
88
|
|
|
443
89
|
// packages/runtime/src/hmr.ts
|
|
444
90
|
var globalTarget = globalThis;
|
|
@@ -487,21 +133,21 @@ function disposeHmrModule(_moduleId) {
|
|
|
487
133
|
}
|
|
488
134
|
__name(disposeHmrModule, "disposeHmrModule");
|
|
489
135
|
function createHmrStateStore(moduleId) {
|
|
490
|
-
const
|
|
136
|
+
const state4 = getModule(moduleId).state;
|
|
491
137
|
return {
|
|
492
138
|
get(key, initial) {
|
|
493
|
-
if (!
|
|
494
|
-
return
|
|
139
|
+
if (!state4.has(key)) state4.set(key, typeof initial === "function" ? initial() : initial);
|
|
140
|
+
return state4.get(key);
|
|
495
141
|
},
|
|
496
142
|
set(key, value) {
|
|
497
|
-
|
|
143
|
+
state4.set(key, value);
|
|
498
144
|
},
|
|
499
|
-
has: /* @__PURE__ */ __name((key) =>
|
|
145
|
+
has: /* @__PURE__ */ __name((key) => state4.has(key), "has"),
|
|
500
146
|
delete: /* @__PURE__ */ __name((key) => {
|
|
501
|
-
|
|
147
|
+
state4.delete(key);
|
|
502
148
|
}, "delete"),
|
|
503
149
|
clear: /* @__PURE__ */ __name(() => {
|
|
504
|
-
|
|
150
|
+
state4.clear();
|
|
505
151
|
}, "clear")
|
|
506
152
|
};
|
|
507
153
|
}
|
|
@@ -533,6 +179,7 @@ function associateHmrInstance(node, instance) {
|
|
|
533
179
|
__name(associateHmrInstance, "associateHmrInstance");
|
|
534
180
|
|
|
535
181
|
// packages/runtime/src/ref.ts
|
|
182
|
+
import { getCurrentOwner } from "@vobs/reactivity";
|
|
536
183
|
function ref(initialValue = null) {
|
|
537
184
|
return { current: initialValue };
|
|
538
185
|
}
|
|
@@ -708,7 +355,7 @@ function formatStyle(value) {
|
|
|
708
355
|
__name(formatStyle, "formatStyle");
|
|
709
356
|
function addEventListener(node, event, handler) {
|
|
710
357
|
const renderer = getRenderer();
|
|
711
|
-
const owner =
|
|
358
|
+
const owner = getCurrentOwner2();
|
|
712
359
|
let bindings = eventBindings.get(node);
|
|
713
360
|
if (!bindings) {
|
|
714
361
|
bindings = /* @__PURE__ */ new Map();
|
|
@@ -860,7 +507,7 @@ function createFragment(factory) {
|
|
|
860
507
|
const end = createComment("vobs:fragment:end");
|
|
861
508
|
let parent = null;
|
|
862
509
|
let initialized = false;
|
|
863
|
-
const owner =
|
|
510
|
+
const owner = getCurrentOwner3();
|
|
864
511
|
const fragment = {
|
|
865
512
|
kind: "vobs-fragment",
|
|
866
513
|
start,
|
|
@@ -922,6 +569,7 @@ function moveRange(parent, start, end, anchor) {
|
|
|
922
569
|
__name(moveRange, "moveRange");
|
|
923
570
|
|
|
924
571
|
// packages/runtime/src/bind.ts
|
|
572
|
+
import { effect } from "@vobs/reactivity";
|
|
925
573
|
function readSource(source) {
|
|
926
574
|
return typeof source === "function" ? source() : source.value;
|
|
927
575
|
}
|
|
@@ -948,11 +596,12 @@ function bindProperty(node, key, source) {
|
|
|
948
596
|
__name(bindProperty, "bindProperty");
|
|
949
597
|
|
|
950
598
|
// packages/runtime/src/dynamic.ts
|
|
599
|
+
import { createOwner as createOwner2, effect as effect2, state } from "@vobs/reactivity";
|
|
951
600
|
function insertDynamic(parent, anchor, factory) {
|
|
952
601
|
const marker = createComment("vobs:dynamic");
|
|
953
602
|
insertBefore(parent, marker, anchor);
|
|
954
603
|
let current = null;
|
|
955
|
-
|
|
604
|
+
effect2(() => {
|
|
956
605
|
const next = createBlock(factory);
|
|
957
606
|
if (next === current) return;
|
|
958
607
|
if (current) removeChild(parent, current);
|
|
@@ -966,8 +615,8 @@ function insertDynamicValue(parent, anchor, factory) {
|
|
|
966
615
|
insertBefore(parent, marker, anchor);
|
|
967
616
|
let current = null;
|
|
968
617
|
let scope = null;
|
|
969
|
-
|
|
970
|
-
const nextScope =
|
|
618
|
+
effect2(() => {
|
|
619
|
+
const nextScope = createOwner2();
|
|
971
620
|
const next = nextScope.run(() => normalizeDynamicChild(factory()));
|
|
972
621
|
if (next === current) {
|
|
973
622
|
nextScope.dispose();
|
|
@@ -1007,7 +656,7 @@ function insertList(parent, anchor, source, renderItem, keyOf) {
|
|
|
1007
656
|
insertBefore(parent, marker, anchor);
|
|
1008
657
|
let entries = [];
|
|
1009
658
|
const tracksIndex = renderItem.length >= 2;
|
|
1010
|
-
|
|
659
|
+
effect2(() => {
|
|
1011
660
|
const items = source();
|
|
1012
661
|
let keys = null;
|
|
1013
662
|
if (keyOf) {
|
|
@@ -1163,13 +812,13 @@ function isPrimitiveItem(item) {
|
|
|
1163
812
|
}
|
|
1164
813
|
__name(isPrimitiveItem, "isPrimitiveItem");
|
|
1165
814
|
function createListEntry(item, index, key, renderItem) {
|
|
1166
|
-
const owner =
|
|
815
|
+
const owner = createOwner2();
|
|
1167
816
|
let itemSignal;
|
|
1168
817
|
let viewOwner;
|
|
1169
818
|
let node;
|
|
1170
819
|
owner.run(() => {
|
|
1171
820
|
itemSignal = state(item);
|
|
1172
|
-
viewOwner =
|
|
821
|
+
viewOwner = createOwner2();
|
|
1173
822
|
node = viewOwner.run(() => renderItem(toReactiveItem(itemSignal, item), index));
|
|
1174
823
|
});
|
|
1175
824
|
associateNodeOwner(node, viewOwner);
|
|
@@ -1181,7 +830,7 @@ function refreshListEntry(parent, entry, index, renderItem) {
|
|
|
1181
830
|
entry.index = index;
|
|
1182
831
|
const previousView = entry.viewOwner;
|
|
1183
832
|
entry.owner.run(() => {
|
|
1184
|
-
entry.viewOwner =
|
|
833
|
+
entry.viewOwner = createOwner2();
|
|
1185
834
|
entry.node = entry.viewOwner.run(() => renderItem(
|
|
1186
835
|
toReactiveItem(entry.item, entry.value),
|
|
1187
836
|
index
|
|
@@ -1342,10 +991,11 @@ function capitalize(value) {
|
|
|
1342
991
|
__name(capitalize, "capitalize");
|
|
1343
992
|
|
|
1344
993
|
// packages/runtime/src/boundary.ts
|
|
994
|
+
import { createOwner as createOwner3, state as state2 } from "@vobs/reactivity";
|
|
1345
995
|
function insertBoundary(parent, anchor, options) {
|
|
1346
|
-
const boundary =
|
|
996
|
+
const boundary = createOwner3();
|
|
1347
997
|
boundary.run(() => {
|
|
1348
|
-
const error =
|
|
998
|
+
const error = state2(null);
|
|
1349
999
|
let fallbackActive = false;
|
|
1350
1000
|
let lastError = null;
|
|
1351
1001
|
let initialized = false;
|
|
@@ -1420,13 +1070,14 @@ function ErrorBoundary(props) {
|
|
|
1420
1070
|
__name(ErrorBoundary, "ErrorBoundary");
|
|
1421
1071
|
|
|
1422
1072
|
// packages/runtime/src/async-boundary.ts
|
|
1073
|
+
import { createOwner as createOwner4, state as state3 } from "@vobs/reactivity";
|
|
1423
1074
|
function insertAsyncBoundary(parent, anchor, options) {
|
|
1424
|
-
const boundary =
|
|
1075
|
+
const boundary = createOwner4();
|
|
1425
1076
|
boundary.run(() => {
|
|
1426
|
-
const loading =
|
|
1427
|
-
const data =
|
|
1428
|
-
const resolved =
|
|
1429
|
-
const error =
|
|
1077
|
+
const loading = state3(true);
|
|
1078
|
+
const data = state3(void 0);
|
|
1079
|
+
const resolved = state3(false);
|
|
1080
|
+
const error = state3(null);
|
|
1430
1081
|
let token = 0;
|
|
1431
1082
|
let previousKey;
|
|
1432
1083
|
let initialized = false;
|
|
@@ -1503,8 +1154,9 @@ function normalizeError(reason) {
|
|
|
1503
1154
|
__name(normalizeError, "normalizeError");
|
|
1504
1155
|
|
|
1505
1156
|
// packages/runtime/src/profiler.ts
|
|
1157
|
+
import { createOwner as createOwner5 } from "@vobs/reactivity";
|
|
1506
1158
|
function insertProfiler(parent, anchor, options) {
|
|
1507
|
-
const profiler =
|
|
1159
|
+
const profiler = createOwner5();
|
|
1508
1160
|
let mounted = false;
|
|
1509
1161
|
profiler.run(() => {
|
|
1510
1162
|
insertDynamic(parent, anchor, () => {
|
|
@@ -1534,7 +1186,62 @@ function now() {
|
|
|
1534
1186
|
return typeof performance !== "undefined" && typeof performance.now === "function" ? performance.now() : Date.now();
|
|
1535
1187
|
}
|
|
1536
1188
|
__name(now, "now");
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1189
|
+
export {
|
|
1190
|
+
AsyncBoundary,
|
|
1191
|
+
ErrorBoundary,
|
|
1192
|
+
Profiler,
|
|
1193
|
+
VobsError,
|
|
1194
|
+
addEventListener,
|
|
1195
|
+
bindAttribute,
|
|
1196
|
+
bindProperty,
|
|
1197
|
+
bindText,
|
|
1198
|
+
clear,
|
|
1199
|
+
cloneTemplate,
|
|
1200
|
+
createBlock,
|
|
1201
|
+
createComment,
|
|
1202
|
+
createComponent,
|
|
1203
|
+
createElement,
|
|
1204
|
+
createFragment,
|
|
1205
|
+
createHmrStateStore,
|
|
1206
|
+
createTemplate,
|
|
1207
|
+
createText,
|
|
1208
|
+
createVobsError,
|
|
1209
|
+
describeDebugNode,
|
|
1210
|
+
disposeHmrModule,
|
|
1211
|
+
disposeNodeOwner,
|
|
1212
|
+
formatVobsError,
|
|
1213
|
+
getRenderer,
|
|
1214
|
+
getRuntimeDebugContext,
|
|
1215
|
+
getRuntimeDebugHooks,
|
|
1216
|
+
insertAsyncBoundary,
|
|
1217
|
+
insertBefore,
|
|
1218
|
+
insertBoundary,
|
|
1219
|
+
insertDynamic,
|
|
1220
|
+
insertDynamicValue,
|
|
1221
|
+
insertErrorBoundary,
|
|
1222
|
+
insertList,
|
|
1223
|
+
insertProfiler,
|
|
1224
|
+
invokeRuntimeDebug,
|
|
1225
|
+
isVobsError,
|
|
1226
|
+
isVobsFragment,
|
|
1227
|
+
markHmrInstanceMounted,
|
|
1228
|
+
normalizeDynamicChild,
|
|
1229
|
+
normalizeVobsError,
|
|
1230
|
+
pushRuntimeDebugContext,
|
|
1231
|
+
ref,
|
|
1232
|
+
registerHmrInstance,
|
|
1233
|
+
removeChild,
|
|
1234
|
+
removeEventListener,
|
|
1235
|
+
resolveComponent,
|
|
1236
|
+
runWithRuntimeDebugContext,
|
|
1237
|
+
setAttribute,
|
|
1238
|
+
setProperty,
|
|
1239
|
+
setRef,
|
|
1240
|
+
setRenderer,
|
|
1241
|
+
setRuntimeDebugHooks,
|
|
1242
|
+
setStaticProps,
|
|
1243
|
+
setTextContent,
|
|
1244
|
+
spreadProps,
|
|
1245
|
+
updateHmrModule
|
|
1246
|
+
};
|
|
1540
1247
|
//# sourceMappingURL=index.js.map
|