@vobs/resource 1.2.1 → 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/boundary.cjs +29 -679
- package/dist/boundary.cjs.map +1 -1
- package/dist/boundary.js +5 -677
- package/dist/boundary.js.map +1 -1
- package/dist/index.cjs +66 -708
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +20 -686
- package/dist/index.js.map +1 -1
- package/dist/plugin.cjs +52 -387
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.js +15 -372
- package/dist/plugin.js.map +1 -1
- package/dist/resource.cjs +48 -372
- package/dist/resource.cjs.map +1 -1
- package/dist/resource.js +12 -358
- package/dist/resource.js.map +1 -1
- package/package.json +5 -5
package/dist/plugin.cjs
CHANGED
|
@@ -1,381 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
|
|
2
|
+
"use strict";
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var signalNames = /* @__PURE__ */ new WeakMap();
|
|
9
|
-
function hasDebugHooks() {
|
|
10
|
-
return activeDebugHooks !== null;
|
|
11
|
-
}
|
|
12
|
-
__name(hasDebugHooks, "hasDebugHooks");
|
|
13
|
-
function setSignalDebugName(signal, name) {
|
|
14
|
-
signalNames.set(signal, name);
|
|
15
|
-
invokeDebug("signalNamed", signal, name);
|
|
16
|
-
}
|
|
17
|
-
__name(setSignalDebugName, "setSignalDebugName");
|
|
18
|
-
function invokeDebug(name, ...args) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
__name(invokeDebug, "invokeDebug");
|
|
22
|
-
|
|
23
|
-
// packages/reactivity/src/owner.ts
|
|
24
|
-
var currentOwner = null;
|
|
25
|
-
var nextOwnerId = 1;
|
|
26
|
-
function createOwner() {
|
|
27
|
-
const parent = currentOwner;
|
|
28
|
-
let disposed = parent?.disposed ?? false;
|
|
29
|
-
const children = [];
|
|
30
|
-
const cleanups = [];
|
|
31
|
-
const errorHandlers = /* @__PURE__ */ new Set();
|
|
32
|
-
const owner = {
|
|
33
|
-
id: `owner-${nextOwnerId++}`,
|
|
34
|
-
parent,
|
|
35
|
-
children,
|
|
36
|
-
depth: (parent?.depth ?? -1) + 1,
|
|
37
|
-
get disposed() {
|
|
38
|
-
return disposed;
|
|
39
|
-
},
|
|
40
|
-
run(fn) {
|
|
41
|
-
if (disposed) throw new Error("Vobs: \u5DF2\u9500\u6BC1\u7684 Owner \u4E0D\u80FD\u7EE7\u7EED\u8FD0\u884C");
|
|
42
|
-
const previous = currentOwner;
|
|
43
|
-
currentOwner = owner;
|
|
44
|
-
try {
|
|
45
|
-
return fn();
|
|
46
|
-
} finally {
|
|
47
|
-
currentOwner = previous;
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
addCleanup(cleanup) {
|
|
51
|
-
if (disposed) {
|
|
52
|
-
cleanup();
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
cleanups.push(cleanup);
|
|
56
|
-
},
|
|
57
|
-
onDispose(cleanup) {
|
|
58
|
-
owner.addCleanup(cleanup);
|
|
59
|
-
},
|
|
60
|
-
onError(handler) {
|
|
61
|
-
errorHandlers.add(handler);
|
|
62
|
-
const remove = /* @__PURE__ */ __name(() => errorHandlers.delete(handler), "remove");
|
|
63
|
-
owner.addCleanup(remove);
|
|
64
|
-
return remove;
|
|
65
|
-
},
|
|
66
|
-
handleError(error) {
|
|
67
|
-
for (const handler of [...errorHandlers].reverse()) {
|
|
68
|
-
try {
|
|
69
|
-
handler(error);
|
|
70
|
-
return true;
|
|
71
|
-
} catch (handlerError) {
|
|
72
|
-
return parent?.handleError(handlerError) ?? false;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return parent?.handleError(error) ?? false;
|
|
76
|
-
},
|
|
77
|
-
dispose() {
|
|
78
|
-
if (disposed) return;
|
|
79
|
-
disposed = true;
|
|
80
|
-
for (const child of [...children]) child.dispose();
|
|
81
|
-
children.length = 0;
|
|
82
|
-
let firstError;
|
|
83
|
-
for (let index = cleanups.length - 1; index >= 0; index--) {
|
|
84
|
-
try {
|
|
85
|
-
cleanups[index]();
|
|
86
|
-
} catch (error) {
|
|
87
|
-
firstError ?? (firstError = error);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
cleanups.length = 0;
|
|
91
|
-
if (parent) {
|
|
92
|
-
const index = parent.children.indexOf(owner);
|
|
93
|
-
if (index >= 0) parent.children.splice(index, 1);
|
|
94
|
-
}
|
|
95
|
-
if (firstError) throw firstError;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
if (parent && !parent.disposed) parent.children.push(owner);
|
|
99
|
-
return owner;
|
|
100
|
-
}
|
|
101
|
-
__name(createOwner, "createOwner");
|
|
102
|
-
function getCurrentOwner() {
|
|
103
|
-
return currentOwner;
|
|
104
|
-
}
|
|
105
|
-
__name(getCurrentOwner, "getCurrentOwner");
|
|
106
|
-
|
|
107
|
-
// packages/reactivity/src/signal.ts
|
|
108
|
-
var currentSubscriber = null;
|
|
109
|
-
function getCurrentSubscriber() {
|
|
110
|
-
return currentSubscriber;
|
|
111
|
-
}
|
|
112
|
-
__name(getCurrentSubscriber, "getCurrentSubscriber");
|
|
113
|
-
function setCurrentSubscriber(subscriber) {
|
|
114
|
-
currentSubscriber = subscriber;
|
|
115
|
-
}
|
|
116
|
-
__name(setCurrentSubscriber, "setCurrentSubscriber");
|
|
117
|
-
function trackDependency(dependency) {
|
|
118
|
-
if (!currentSubscriber || currentSubscriber.disposed) return;
|
|
119
|
-
!currentSubscriber.dependencies.has(dependency);
|
|
120
|
-
currentSubscriber.dependencies.add(dependency);
|
|
121
|
-
}
|
|
122
|
-
__name(trackDependency, "trackDependency");
|
|
123
|
-
function state(initialValue, debugName) {
|
|
124
|
-
let value = initialValue;
|
|
125
|
-
let disposed = false;
|
|
126
|
-
const subscribers = /* @__PURE__ */ new Set();
|
|
127
|
-
const signalInstance = {
|
|
128
|
-
get value() {
|
|
129
|
-
const subscriber = getCurrentSubscriber();
|
|
130
|
-
if (subscriber && !subscriber.disposed) {
|
|
131
|
-
subscribers.add(subscriber);
|
|
132
|
-
trackDependency(signalInstance);
|
|
133
|
-
}
|
|
134
|
-
return value;
|
|
135
|
-
},
|
|
136
|
-
set value(nextValue) {
|
|
137
|
-
if (disposed || Object.is(value, nextValue)) return;
|
|
138
|
-
value = nextValue;
|
|
139
|
-
for (const subscriber of [...subscribers]) subscriber.notify();
|
|
140
|
-
},
|
|
141
|
-
unsubscribe(subscriber) {
|
|
142
|
-
subscribers.delete(subscriber);
|
|
143
|
-
},
|
|
144
|
-
// 与 `.value =` 赋值同一条路径:判等短路、debug hook、notify 全部一致。
|
|
145
|
-
// 以闭包实现,可安全地作为回调直接传递(无 this 绑定问题)。
|
|
146
|
-
set(next) {
|
|
147
|
-
signalInstance.value = next;
|
|
148
|
-
},
|
|
149
|
-
dispose() {
|
|
150
|
-
if (disposed) return;
|
|
151
|
-
disposed = true;
|
|
152
|
-
subscribers.clear();
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
const owner = getCurrentOwner();
|
|
156
|
-
owner?.addCleanup(signalInstance.dispose);
|
|
157
|
-
if (debugName?.trim()) setSignalDebugName(signalInstance, debugName.trim());
|
|
158
|
-
return signalInstance;
|
|
159
|
-
}
|
|
160
|
-
__name(state, "state");
|
|
161
|
-
|
|
162
|
-
// packages/reactivity/src/scheduler.ts
|
|
163
|
-
var _Scheduler = class _Scheduler {
|
|
164
|
-
constructor() {
|
|
165
|
-
this.dirtyEffects = /* @__PURE__ */ new Set();
|
|
166
|
-
this.lowPriorityEffects = /* @__PURE__ */ new Set();
|
|
167
|
-
// flush 不可重入(flushing 标志保证),缓冲数组可在轮次间安全复用,避免每轮分配。
|
|
168
|
-
this.normalBuffer = [];
|
|
169
|
-
this.lowBuffer = [];
|
|
170
|
-
this.flushing = false;
|
|
171
|
-
this.scheduled = false;
|
|
172
|
-
this.batchDepth = 0;
|
|
173
|
-
}
|
|
174
|
-
schedule(effect2) {
|
|
175
|
-
if (effect2.disposed) return;
|
|
176
|
-
this.dirtyEffects.add(effect2);
|
|
177
|
-
this.lowPriorityEffects.delete(effect2);
|
|
178
|
-
this.ensureScheduled();
|
|
179
|
-
}
|
|
180
|
-
/** Queue an effect behind normal updates while preserving deterministic order. */
|
|
181
|
-
scheduleLow(effect2) {
|
|
182
|
-
if (effect2.disposed) return;
|
|
183
|
-
if (!this.dirtyEffects.has(effect2)) this.lowPriorityEffects.add(effect2);
|
|
184
|
-
this.ensureScheduled();
|
|
185
|
-
}
|
|
186
|
-
ensureScheduled() {
|
|
187
|
-
if (this.batchDepth === 0 && !this.flushing && !this.scheduled) {
|
|
188
|
-
this.scheduled = true;
|
|
189
|
-
queueMicrotask(() => {
|
|
190
|
-
this.scheduled = false;
|
|
191
|
-
this.flush();
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
remove(effect2) {
|
|
196
|
-
this.dirtyEffects.delete(effect2);
|
|
197
|
-
this.lowPriorityEffects.delete(effect2);
|
|
198
|
-
}
|
|
199
|
-
batch(fn) {
|
|
200
|
-
this.batchDepth++;
|
|
201
|
-
try {
|
|
202
|
-
return fn();
|
|
203
|
-
} finally {
|
|
204
|
-
this.batchDepth--;
|
|
205
|
-
if (this.batchDepth === 0) this.flush();
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
flush() {
|
|
209
|
-
if (this.flushing || this.batchDepth > 0) return;
|
|
210
|
-
this.flushing = true;
|
|
211
|
-
let rounds = 0;
|
|
212
|
-
let firstError;
|
|
213
|
-
let hasError = false;
|
|
214
|
-
try {
|
|
215
|
-
while (this.dirtyEffects.size > 0 || this.lowPriorityEffects.size > 0) {
|
|
216
|
-
if (++rounds > 100) {
|
|
217
|
-
this.dirtyEffects.clear();
|
|
218
|
-
this.lowPriorityEffects.clear();
|
|
219
|
-
throw new Error("Vobs: \u54CD\u5E94\u5F0F\u66F4\u65B0\u8D85\u8FC7 100 \u8F6E\uFF0C\u53EF\u80FD\u5B58\u5728\u5FAA\u73AF\u4F9D\u8D56");
|
|
220
|
-
}
|
|
221
|
-
this.collectRunnable(this.dirtyEffects, this.normalBuffer);
|
|
222
|
-
this.collectRunnable(this.lowPriorityEffects, this.lowBuffer);
|
|
223
|
-
sortEffects(this.normalBuffer);
|
|
224
|
-
sortEffects(this.lowBuffer);
|
|
225
|
-
for (const effect2 of this.normalBuffer) {
|
|
226
|
-
try {
|
|
227
|
-
effect2.run();
|
|
228
|
-
} catch (error) {
|
|
229
|
-
if (!hasError) {
|
|
230
|
-
firstError = error;
|
|
231
|
-
hasError = true;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
for (const effect2 of this.lowBuffer) {
|
|
236
|
-
try {
|
|
237
|
-
effect2.run();
|
|
238
|
-
} catch (error) {
|
|
239
|
-
if (!hasError) {
|
|
240
|
-
firstError = error;
|
|
241
|
-
hasError = true;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
this.normalBuffer.length = 0;
|
|
246
|
-
this.lowBuffer.length = 0;
|
|
247
|
-
}
|
|
248
|
-
} finally {
|
|
249
|
-
this.normalBuffer.length = 0;
|
|
250
|
-
this.lowBuffer.length = 0;
|
|
251
|
-
this.flushing = false;
|
|
252
|
-
}
|
|
253
|
-
if (hasError) throw firstError;
|
|
254
|
-
}
|
|
255
|
-
/** 收集未 disposed 的 effect 并清空源集合;run() 期间新调度的 effect 留给下一轮。 */
|
|
256
|
-
collectRunnable(source, target) {
|
|
257
|
-
for (const effect2 of source) {
|
|
258
|
-
if (!effect2.disposed) target.push(effect2);
|
|
259
|
-
}
|
|
260
|
-
source.clear();
|
|
261
|
-
}
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
262
11
|
};
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
268
17
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
var
|
|
272
|
-
|
|
273
|
-
// packages/reactivity/src/effect.ts
|
|
274
|
-
var nextEffectOrder = 1;
|
|
275
|
-
function cleanupDependencies(subscriber) {
|
|
276
|
-
for (const dependency of subscriber.dependencies) {
|
|
277
|
-
dependency.unsubscribe(subscriber);
|
|
278
|
-
}
|
|
279
|
-
subscriber.dependencies.clear();
|
|
280
|
-
}
|
|
281
|
-
__name(cleanupDependencies, "cleanupDependencies");
|
|
282
|
-
function effect(callback) {
|
|
283
|
-
const owner = getCurrentOwner();
|
|
284
|
-
let cleanup;
|
|
285
|
-
let dirty = true;
|
|
286
|
-
let disposed = false;
|
|
287
|
-
const eff = {
|
|
288
|
-
order: nextEffectOrder++,
|
|
289
|
-
depth: owner?.depth ?? 0,
|
|
290
|
-
dependencies: /* @__PURE__ */ new Set(),
|
|
291
|
-
get disposed() {
|
|
292
|
-
return disposed;
|
|
293
|
-
},
|
|
294
|
-
notify() {
|
|
295
|
-
if (disposed || dirty) return;
|
|
296
|
-
dirty = true;
|
|
297
|
-
scheduler.schedule(eff);
|
|
298
|
-
},
|
|
299
|
-
run() {
|
|
300
|
-
if (disposed || !dirty) return;
|
|
301
|
-
dirty = false;
|
|
302
|
-
const previousCleanup = cleanup;
|
|
303
|
-
cleanup = void 0;
|
|
304
|
-
let cleanupError;
|
|
305
|
-
if (previousCleanup) {
|
|
306
|
-
try {
|
|
307
|
-
previousCleanup();
|
|
308
|
-
} catch (error) {
|
|
309
|
-
const handled2 = owner?.handleError(error) ?? false;
|
|
310
|
-
if (!handled2) cleanupError = error;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
cleanupDependencies(eff);
|
|
314
|
-
const previous = getCurrentSubscriber();
|
|
315
|
-
setCurrentSubscriber(eff);
|
|
316
|
-
let thrown;
|
|
317
|
-
let handled = false;
|
|
318
|
-
try {
|
|
319
|
-
const result = owner ? owner.run(callback) : callback();
|
|
320
|
-
cleanup = typeof result === "function" ? result : void 0;
|
|
321
|
-
} catch (error) {
|
|
322
|
-
thrown = error;
|
|
323
|
-
handled = owner?.handleError(error) ?? false;
|
|
324
|
-
if (!handled) throw error;
|
|
325
|
-
} finally {
|
|
326
|
-
setCurrentSubscriber(previous);
|
|
327
|
-
}
|
|
328
|
-
if (cleanupError && !thrown) throw cleanupError;
|
|
329
|
-
},
|
|
330
|
-
scheduleLow() {
|
|
331
|
-
if (disposed || dirty) return;
|
|
332
|
-
dirty = true;
|
|
333
|
-
scheduler.scheduleLow(eff);
|
|
334
|
-
},
|
|
335
|
-
dispose() {
|
|
336
|
-
if (disposed) return;
|
|
337
|
-
disposed = true;
|
|
338
|
-
dirty = false;
|
|
339
|
-
scheduler.remove(eff);
|
|
340
|
-
const previousCleanup = cleanup;
|
|
341
|
-
cleanup = void 0;
|
|
342
|
-
let cleanupError;
|
|
343
|
-
if (previousCleanup) {
|
|
344
|
-
try {
|
|
345
|
-
previousCleanup();
|
|
346
|
-
} catch (error) {
|
|
347
|
-
const handled = owner?.handleError(error) ?? false;
|
|
348
|
-
if (!handled) cleanupError = error;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
cleanupDependencies(eff);
|
|
352
|
-
if (cleanupError) throw cleanupError;
|
|
353
|
-
}
|
|
354
|
-
};
|
|
355
|
-
owner?.addCleanup(eff.dispose);
|
|
356
|
-
eff.run();
|
|
357
|
-
return eff;
|
|
358
|
-
}
|
|
359
|
-
__name(effect, "effect");
|
|
360
|
-
|
|
361
|
-
// packages/runtime/src/hmr.ts
|
|
362
|
-
var globalTarget = globalThis;
|
|
363
|
-
var hmrGlobal = globalTarget.__VOBS_HMR__ ?? { modules: /* @__PURE__ */ new Map() };
|
|
364
|
-
globalTarget.__VOBS_HMR__ = hmrGlobal;
|
|
365
|
-
|
|
366
|
-
// packages/vobs/src/app.ts
|
|
367
|
-
function createInjectionKey(description) {
|
|
368
|
-
return Symbol(description);
|
|
369
|
-
}
|
|
370
|
-
__name(createInjectionKey, "createInjectionKey");
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
371
21
|
|
|
372
|
-
// packages/
|
|
373
|
-
var
|
|
22
|
+
// packages/resource/src/plugin.ts
|
|
23
|
+
var plugin_exports = {};
|
|
24
|
+
__export(plugin_exports, {
|
|
25
|
+
RESOURCE_KEY: () => RESOURCE_KEY,
|
|
26
|
+
resourcePlugin: () => resourcePlugin,
|
|
27
|
+
resourceRouterPlugin: () => resourceRouterPlugin
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(plugin_exports);
|
|
30
|
+
var import_vobs = require("@vobs/vobs");
|
|
31
|
+
var import_router = require("@vobs/router");
|
|
374
32
|
|
|
375
33
|
// packages/resource/src/resource.ts
|
|
376
|
-
|
|
34
|
+
var import_reactivity = require("@vobs/reactivity");
|
|
35
|
+
var defaultClient = createResourceClient();
|
|
377
36
|
function createResourceClient(options = {}) {
|
|
378
|
-
let owner = createOwner();
|
|
37
|
+
let owner = (0, import_reactivity.createOwner)();
|
|
379
38
|
const cache = /* @__PURE__ */ new Map();
|
|
380
39
|
const entries = /* @__PURE__ */ new Set();
|
|
381
40
|
const defaultStaleTime = validateStaleTime(options.staleTime ?? 0);
|
|
@@ -384,9 +43,9 @@ function createResourceClient(options = {}) {
|
|
|
384
43
|
function createEntry(key, staleTime) {
|
|
385
44
|
const entry = owner.run(() => ({
|
|
386
45
|
key,
|
|
387
|
-
data: state(null),
|
|
388
|
-
error: state(null),
|
|
389
|
-
loading: state(false),
|
|
46
|
+
data: (0, import_reactivity.state)(null),
|
|
47
|
+
error: (0, import_reactivity.state)(null),
|
|
48
|
+
loading: (0, import_reactivity.state)(false),
|
|
390
49
|
staleTime,
|
|
391
50
|
subscribers: /* @__PURE__ */ new Set(),
|
|
392
51
|
updatedAt: 0,
|
|
@@ -463,7 +122,7 @@ function createResourceClient(options = {}) {
|
|
|
463
122
|
if (!entry?.subscribers.delete(resourceHandle)) return;
|
|
464
123
|
if (entry.subscribers.size === 0) entry.controller?.abort();
|
|
465
124
|
}, "dispose");
|
|
466
|
-
getCurrentOwner()?.onDispose(dispose);
|
|
125
|
+
(0, import_reactivity.getCurrentOwner)()?.onDispose(dispose);
|
|
467
126
|
return {
|
|
468
127
|
key: staticKey,
|
|
469
128
|
data: entry.data,
|
|
@@ -513,9 +172,9 @@ function createResourceClient(options = {}) {
|
|
|
513
172
|
}
|
|
514
173
|
};
|
|
515
174
|
function createReactiveResource(reactiveConfig) {
|
|
516
|
-
const data = state(null);
|
|
517
|
-
const error = state(null);
|
|
518
|
-
const loading = state(false);
|
|
175
|
+
const data = (0, import_reactivity.state)(null);
|
|
176
|
+
const error = (0, import_reactivity.state)(null);
|
|
177
|
+
const loading = (0, import_reactivity.state)(false);
|
|
519
178
|
const handle = {};
|
|
520
179
|
let activeEntry;
|
|
521
180
|
let activeKey;
|
|
@@ -547,7 +206,7 @@ function createResourceClient(options = {}) {
|
|
|
547
206
|
sync();
|
|
548
207
|
void request2(false).catch(() => void 0);
|
|
549
208
|
}, "switchKey");
|
|
550
|
-
const stop = effect(() => {
|
|
209
|
+
const stop = (0, import_reactivity.effect)(() => {
|
|
551
210
|
if (disposed) return;
|
|
552
211
|
const nextKey = resolveKey(reactiveConfig.key);
|
|
553
212
|
if (!nextKey) throw new Error("resource: \u54CD\u5E94\u5F0F key \u4E0D\u80FD\u662F undefined");
|
|
@@ -564,7 +223,7 @@ function createResourceClient(options = {}) {
|
|
|
564
223
|
}
|
|
565
224
|
activeEntry = void 0;
|
|
566
225
|
}, "dispose");
|
|
567
|
-
getCurrentOwner()?.onDispose(dispose2);
|
|
226
|
+
(0, import_reactivity.getCurrentOwner)()?.onDispose(dispose2);
|
|
568
227
|
return {
|
|
569
228
|
get key() {
|
|
570
229
|
return activeKey;
|
|
@@ -602,7 +261,9 @@ function createResourceClient(options = {}) {
|
|
|
602
261
|
}
|
|
603
262
|
return execute(activeEntry, reactiveConfig.fetcher, reactiveConfig.retry, reactiveConfig.retryDelay);
|
|
604
263
|
}
|
|
264
|
+
__name(request2, "request");
|
|
605
265
|
}
|
|
266
|
+
__name(createReactiveResource, "createReactiveResource");
|
|
606
267
|
function createOptimistic(target, next, action) {
|
|
607
268
|
const previous = { data: target.data.value, error: target.error.value, updatedAt: target.updatedAt };
|
|
608
269
|
const value = typeof next === "function" ? next(target.data.value) : next;
|
|
@@ -622,6 +283,7 @@ function createResourceClient(options = {}) {
|
|
|
622
283
|
throw failure;
|
|
623
284
|
});
|
|
624
285
|
}
|
|
286
|
+
__name(createOptimistic, "createOptimistic");
|
|
625
287
|
}
|
|
626
288
|
__name(createResource, "createResource");
|
|
627
289
|
return {
|
|
@@ -673,7 +335,7 @@ function createResourceClient(options = {}) {
|
|
|
673
335
|
cache.clear();
|
|
674
336
|
entries.clear();
|
|
675
337
|
owner.dispose();
|
|
676
|
-
owner = createOwner();
|
|
338
|
+
owner = (0, import_reactivity.createOwner)();
|
|
677
339
|
}
|
|
678
340
|
};
|
|
679
341
|
}
|
|
@@ -811,6 +473,8 @@ function serialize(value, stack) {
|
|
|
811
473
|
case "function":
|
|
812
474
|
case "symbol":
|
|
813
475
|
throw new Error(`resource: key \u4E0D\u80FD\u5305\u542B ${typeof value}`);
|
|
476
|
+
case "object":
|
|
477
|
+
break;
|
|
814
478
|
}
|
|
815
479
|
const object = value;
|
|
816
480
|
if (stack.has(object)) throw new Error("resource: key \u4E0D\u80FD\u5305\u542B\u5FAA\u73AF\u5F15\u7528");
|
|
@@ -830,7 +494,7 @@ function serialize(value, stack) {
|
|
|
830
494
|
__name(serialize, "serialize");
|
|
831
495
|
|
|
832
496
|
// packages/resource/src/plugin.ts
|
|
833
|
-
var RESOURCE_KEY = createInjectionKey("vobs.resource");
|
|
497
|
+
var RESOURCE_KEY = (0, import_vobs.createInjectionKey)("vobs.resource");
|
|
834
498
|
function resourcePlugin(options = {}) {
|
|
835
499
|
return {
|
|
836
500
|
name: "@vobs/resource",
|
|
@@ -850,7 +514,7 @@ function resourceRouterPlugin(options = {}) {
|
|
|
850
514
|
name: "@vobs/resource-router",
|
|
851
515
|
version: "0.1.0",
|
|
852
516
|
install(context) {
|
|
853
|
-
const router = options.router ?? context.inject(ROUTER_KEY);
|
|
517
|
+
const router = options.router ?? context.inject(import_router.ROUTER_KEY);
|
|
854
518
|
const client = options.client ?? context.inject(RESOURCE_KEY);
|
|
855
519
|
if (!router) throw new Error("Vobs Resource Router: \u627E\u4E0D\u5230 Router\uFF0C\u8BF7\u5B89\u88C5 routerPlugin \u6216\u4F20\u5165 router");
|
|
856
520
|
if (!client) throw new Error("Vobs Resource Router: \u627E\u4E0D\u5230 ResourceClient\uFF0C\u8BF7\u5B89\u88C5 resourcePlugin \u6216\u4F20\u5165 client");
|
|
@@ -877,9 +541,10 @@ function readPrefetch(route) {
|
|
|
877
541
|
return value;
|
|
878
542
|
}
|
|
879
543
|
__name(readPrefetch, "readPrefetch");
|
|
880
|
-
|
|
881
|
-
exports
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
544
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
545
|
+
0 && (module.exports = {
|
|
546
|
+
RESOURCE_KEY,
|
|
547
|
+
resourcePlugin,
|
|
548
|
+
resourceRouterPlugin
|
|
549
|
+
});
|
|
885
550
|
//# sourceMappingURL=plugin.cjs.map
|