@vobs/resource 1.2.1 → 1.3.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.
- 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/index.cjs
CHANGED
|
@@ -1,376 +1,48 @@
|
|
|
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
|
-
var ownerNames = /* @__PURE__ */ new WeakMap();
|
|
27
|
-
function createOwner() {
|
|
28
|
-
const parent = currentOwner;
|
|
29
|
-
let disposed = parent?.disposed ?? false;
|
|
30
|
-
const children = [];
|
|
31
|
-
const cleanups = [];
|
|
32
|
-
const errorHandlers = /* @__PURE__ */ new Set();
|
|
33
|
-
const owner = {
|
|
34
|
-
id: `owner-${nextOwnerId++}`,
|
|
35
|
-
parent,
|
|
36
|
-
children,
|
|
37
|
-
depth: (parent?.depth ?? -1) + 1,
|
|
38
|
-
get disposed() {
|
|
39
|
-
return disposed;
|
|
40
|
-
},
|
|
41
|
-
run(fn) {
|
|
42
|
-
if (disposed) throw new Error("Vobs: \u5DF2\u9500\u6BC1\u7684 Owner \u4E0D\u80FD\u7EE7\u7EED\u8FD0\u884C");
|
|
43
|
-
const previous = currentOwner;
|
|
44
|
-
currentOwner = owner;
|
|
45
|
-
try {
|
|
46
|
-
return fn();
|
|
47
|
-
} finally {
|
|
48
|
-
currentOwner = previous;
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
addCleanup(cleanup) {
|
|
52
|
-
if (disposed) {
|
|
53
|
-
cleanup();
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
cleanups.push(cleanup);
|
|
57
|
-
},
|
|
58
|
-
onDispose(cleanup) {
|
|
59
|
-
owner.addCleanup(cleanup);
|
|
60
|
-
},
|
|
61
|
-
onError(handler) {
|
|
62
|
-
errorHandlers.add(handler);
|
|
63
|
-
const remove = /* @__PURE__ */ __name(() => errorHandlers.delete(handler), "remove");
|
|
64
|
-
owner.addCleanup(remove);
|
|
65
|
-
return remove;
|
|
66
|
-
},
|
|
67
|
-
handleError(error) {
|
|
68
|
-
for (const handler of [...errorHandlers].reverse()) {
|
|
69
|
-
try {
|
|
70
|
-
handler(error);
|
|
71
|
-
return true;
|
|
72
|
-
} catch (handlerError) {
|
|
73
|
-
return parent?.handleError(handlerError) ?? false;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return parent?.handleError(error) ?? false;
|
|
77
|
-
},
|
|
78
|
-
dispose() {
|
|
79
|
-
if (disposed) return;
|
|
80
|
-
disposed = true;
|
|
81
|
-
for (const child of [...children]) child.dispose();
|
|
82
|
-
children.length = 0;
|
|
83
|
-
let firstError;
|
|
84
|
-
for (let index = cleanups.length - 1; index >= 0; index--) {
|
|
85
|
-
try {
|
|
86
|
-
cleanups[index]();
|
|
87
|
-
} catch (error) {
|
|
88
|
-
firstError ?? (firstError = error);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
cleanups.length = 0;
|
|
92
|
-
if (parent) {
|
|
93
|
-
const index = parent.children.indexOf(owner);
|
|
94
|
-
if (index >= 0) parent.children.splice(index, 1);
|
|
95
|
-
}
|
|
96
|
-
if (firstError) throw firstError;
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
if (parent && !parent.disposed) parent.children.push(owner);
|
|
100
|
-
return owner;
|
|
101
|
-
}
|
|
102
|
-
__name(createOwner, "createOwner");
|
|
103
|
-
function setOwnerDebugName(owner, name) {
|
|
104
|
-
ownerNames.set(owner, name);
|
|
105
|
-
}
|
|
106
|
-
__name(setOwnerDebugName, "setOwnerDebugName");
|
|
107
|
-
function getCurrentOwner() {
|
|
108
|
-
return currentOwner;
|
|
109
|
-
}
|
|
110
|
-
__name(getCurrentOwner, "getCurrentOwner");
|
|
111
|
-
|
|
112
|
-
// packages/reactivity/src/signal.ts
|
|
113
|
-
var currentSubscriber = null;
|
|
114
|
-
function getCurrentSubscriber() {
|
|
115
|
-
return currentSubscriber;
|
|
116
|
-
}
|
|
117
|
-
__name(getCurrentSubscriber, "getCurrentSubscriber");
|
|
118
|
-
function setCurrentSubscriber(subscriber) {
|
|
119
|
-
currentSubscriber = subscriber;
|
|
120
|
-
}
|
|
121
|
-
__name(setCurrentSubscriber, "setCurrentSubscriber");
|
|
122
|
-
function trackDependency(dependency) {
|
|
123
|
-
if (!currentSubscriber || currentSubscriber.disposed) return;
|
|
124
|
-
!currentSubscriber.dependencies.has(dependency);
|
|
125
|
-
currentSubscriber.dependencies.add(dependency);
|
|
126
|
-
}
|
|
127
|
-
__name(trackDependency, "trackDependency");
|
|
128
|
-
function state(initialValue, debugName) {
|
|
129
|
-
let value = initialValue;
|
|
130
|
-
let disposed = false;
|
|
131
|
-
const subscribers = /* @__PURE__ */ new Set();
|
|
132
|
-
const signalInstance = {
|
|
133
|
-
get value() {
|
|
134
|
-
const subscriber = getCurrentSubscriber();
|
|
135
|
-
if (subscriber && !subscriber.disposed) {
|
|
136
|
-
subscribers.add(subscriber);
|
|
137
|
-
trackDependency(signalInstance);
|
|
138
|
-
}
|
|
139
|
-
return value;
|
|
140
|
-
},
|
|
141
|
-
set value(nextValue) {
|
|
142
|
-
if (disposed || Object.is(value, nextValue)) return;
|
|
143
|
-
value = nextValue;
|
|
144
|
-
for (const subscriber of [...subscribers]) subscriber.notify();
|
|
145
|
-
},
|
|
146
|
-
unsubscribe(subscriber) {
|
|
147
|
-
subscribers.delete(subscriber);
|
|
148
|
-
},
|
|
149
|
-
// 与 `.value =` 赋值同一条路径:判等短路、debug hook、notify 全部一致。
|
|
150
|
-
// 以闭包实现,可安全地作为回调直接传递(无 this 绑定问题)。
|
|
151
|
-
set(next) {
|
|
152
|
-
signalInstance.value = next;
|
|
153
|
-
},
|
|
154
|
-
dispose() {
|
|
155
|
-
if (disposed) return;
|
|
156
|
-
disposed = true;
|
|
157
|
-
subscribers.clear();
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
const owner = getCurrentOwner();
|
|
161
|
-
owner?.addCleanup(signalInstance.dispose);
|
|
162
|
-
if (debugName?.trim()) setSignalDebugName(signalInstance, debugName.trim());
|
|
163
|
-
return signalInstance;
|
|
164
|
-
}
|
|
165
|
-
__name(state, "state");
|
|
166
|
-
|
|
167
|
-
// packages/reactivity/src/scheduler.ts
|
|
168
|
-
var _Scheduler = class _Scheduler {
|
|
169
|
-
constructor() {
|
|
170
|
-
this.dirtyEffects = /* @__PURE__ */ new Set();
|
|
171
|
-
this.lowPriorityEffects = /* @__PURE__ */ new Set();
|
|
172
|
-
// flush 不可重入(flushing 标志保证),缓冲数组可在轮次间安全复用,避免每轮分配。
|
|
173
|
-
this.normalBuffer = [];
|
|
174
|
-
this.lowBuffer = [];
|
|
175
|
-
this.flushing = false;
|
|
176
|
-
this.scheduled = false;
|
|
177
|
-
this.batchDepth = 0;
|
|
178
|
-
}
|
|
179
|
-
schedule(effect2) {
|
|
180
|
-
if (effect2.disposed) return;
|
|
181
|
-
this.dirtyEffects.add(effect2);
|
|
182
|
-
this.lowPriorityEffects.delete(effect2);
|
|
183
|
-
this.ensureScheduled();
|
|
184
|
-
}
|
|
185
|
-
/** Queue an effect behind normal updates while preserving deterministic order. */
|
|
186
|
-
scheduleLow(effect2) {
|
|
187
|
-
if (effect2.disposed) return;
|
|
188
|
-
if (!this.dirtyEffects.has(effect2)) this.lowPriorityEffects.add(effect2);
|
|
189
|
-
this.ensureScheduled();
|
|
190
|
-
}
|
|
191
|
-
ensureScheduled() {
|
|
192
|
-
if (this.batchDepth === 0 && !this.flushing && !this.scheduled) {
|
|
193
|
-
this.scheduled = true;
|
|
194
|
-
queueMicrotask(() => {
|
|
195
|
-
this.scheduled = false;
|
|
196
|
-
this.flush();
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
remove(effect2) {
|
|
201
|
-
this.dirtyEffects.delete(effect2);
|
|
202
|
-
this.lowPriorityEffects.delete(effect2);
|
|
203
|
-
}
|
|
204
|
-
batch(fn) {
|
|
205
|
-
this.batchDepth++;
|
|
206
|
-
try {
|
|
207
|
-
return fn();
|
|
208
|
-
} finally {
|
|
209
|
-
this.batchDepth--;
|
|
210
|
-
if (this.batchDepth === 0) this.flush();
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
flush() {
|
|
214
|
-
if (this.flushing || this.batchDepth > 0) return;
|
|
215
|
-
this.flushing = true;
|
|
216
|
-
let rounds = 0;
|
|
217
|
-
let firstError;
|
|
218
|
-
let hasError = false;
|
|
219
|
-
try {
|
|
220
|
-
while (this.dirtyEffects.size > 0 || this.lowPriorityEffects.size > 0) {
|
|
221
|
-
if (++rounds > 100) {
|
|
222
|
-
this.dirtyEffects.clear();
|
|
223
|
-
this.lowPriorityEffects.clear();
|
|
224
|
-
throw new Error("Vobs: \u54CD\u5E94\u5F0F\u66F4\u65B0\u8D85\u8FC7 100 \u8F6E\uFF0C\u53EF\u80FD\u5B58\u5728\u5FAA\u73AF\u4F9D\u8D56");
|
|
225
|
-
}
|
|
226
|
-
this.collectRunnable(this.dirtyEffects, this.normalBuffer);
|
|
227
|
-
this.collectRunnable(this.lowPriorityEffects, this.lowBuffer);
|
|
228
|
-
sortEffects(this.normalBuffer);
|
|
229
|
-
sortEffects(this.lowBuffer);
|
|
230
|
-
for (const effect2 of this.normalBuffer) {
|
|
231
|
-
try {
|
|
232
|
-
effect2.run();
|
|
233
|
-
} catch (error) {
|
|
234
|
-
if (!hasError) {
|
|
235
|
-
firstError = error;
|
|
236
|
-
hasError = true;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
for (const effect2 of this.lowBuffer) {
|
|
241
|
-
try {
|
|
242
|
-
effect2.run();
|
|
243
|
-
} catch (error) {
|
|
244
|
-
if (!hasError) {
|
|
245
|
-
firstError = error;
|
|
246
|
-
hasError = true;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
this.normalBuffer.length = 0;
|
|
251
|
-
this.lowBuffer.length = 0;
|
|
252
|
-
}
|
|
253
|
-
} finally {
|
|
254
|
-
this.normalBuffer.length = 0;
|
|
255
|
-
this.lowBuffer.length = 0;
|
|
256
|
-
this.flushing = false;
|
|
257
|
-
}
|
|
258
|
-
if (hasError) throw firstError;
|
|
259
|
-
}
|
|
260
|
-
/** 收集未 disposed 的 effect 并清空源集合;run() 期间新调度的 effect 留给下一轮。 */
|
|
261
|
-
collectRunnable(source, target) {
|
|
262
|
-
for (const effect2 of source) {
|
|
263
|
-
if (!effect2.disposed) target.push(effect2);
|
|
264
|
-
}
|
|
265
|
-
source.clear();
|
|
266
|
-
}
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
267
11
|
};
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
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 });
|
|
273
17
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
var
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
277
21
|
|
|
278
|
-
// packages/
|
|
279
|
-
var
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
const eff = {
|
|
293
|
-
order: nextEffectOrder++,
|
|
294
|
-
depth: owner?.depth ?? 0,
|
|
295
|
-
dependencies: /* @__PURE__ */ new Set(),
|
|
296
|
-
get disposed() {
|
|
297
|
-
return disposed;
|
|
298
|
-
},
|
|
299
|
-
notify() {
|
|
300
|
-
if (disposed || dirty) return;
|
|
301
|
-
dirty = true;
|
|
302
|
-
scheduler.schedule(eff);
|
|
303
|
-
},
|
|
304
|
-
run() {
|
|
305
|
-
if (disposed || !dirty) return;
|
|
306
|
-
dirty = false;
|
|
307
|
-
const previousCleanup = cleanup;
|
|
308
|
-
cleanup = void 0;
|
|
309
|
-
let cleanupError;
|
|
310
|
-
if (previousCleanup) {
|
|
311
|
-
try {
|
|
312
|
-
previousCleanup();
|
|
313
|
-
} catch (error) {
|
|
314
|
-
const handled2 = owner?.handleError(error) ?? false;
|
|
315
|
-
if (!handled2) cleanupError = error;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
cleanupDependencies(eff);
|
|
319
|
-
const previous = getCurrentSubscriber();
|
|
320
|
-
setCurrentSubscriber(eff);
|
|
321
|
-
let thrown;
|
|
322
|
-
let handled = false;
|
|
323
|
-
try {
|
|
324
|
-
const result = owner ? owner.run(callback) : callback();
|
|
325
|
-
cleanup = typeof result === "function" ? result : void 0;
|
|
326
|
-
} catch (error) {
|
|
327
|
-
thrown = error;
|
|
328
|
-
handled = owner?.handleError(error) ?? false;
|
|
329
|
-
if (!handled) throw error;
|
|
330
|
-
} finally {
|
|
331
|
-
setCurrentSubscriber(previous);
|
|
332
|
-
}
|
|
333
|
-
if (cleanupError && !thrown) throw cleanupError;
|
|
334
|
-
},
|
|
335
|
-
scheduleLow() {
|
|
336
|
-
if (disposed || dirty) return;
|
|
337
|
-
dirty = true;
|
|
338
|
-
scheduler.scheduleLow(eff);
|
|
339
|
-
},
|
|
340
|
-
dispose() {
|
|
341
|
-
if (disposed) return;
|
|
342
|
-
disposed = true;
|
|
343
|
-
dirty = false;
|
|
344
|
-
scheduler.remove(eff);
|
|
345
|
-
const previousCleanup = cleanup;
|
|
346
|
-
cleanup = void 0;
|
|
347
|
-
let cleanupError;
|
|
348
|
-
if (previousCleanup) {
|
|
349
|
-
try {
|
|
350
|
-
previousCleanup();
|
|
351
|
-
} catch (error) {
|
|
352
|
-
const handled = owner?.handleError(error) ?? false;
|
|
353
|
-
if (!handled) cleanupError = error;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
cleanupDependencies(eff);
|
|
357
|
-
if (cleanupError) throw cleanupError;
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
owner?.addCleanup(eff.dispose);
|
|
361
|
-
eff.run();
|
|
362
|
-
return eff;
|
|
363
|
-
}
|
|
364
|
-
__name(effect, "effect");
|
|
22
|
+
// packages/resource/src/index.ts
|
|
23
|
+
var src_exports = {};
|
|
24
|
+
__export(src_exports, {
|
|
25
|
+
RESOURCE_KEY: () => RESOURCE_KEY,
|
|
26
|
+
ResourceBoundary: () => ResourceBoundary,
|
|
27
|
+
createResourceClient: () => createResourceClient,
|
|
28
|
+
insertResourceBoundary: () => insertResourceBoundary,
|
|
29
|
+
resource: () => resource,
|
|
30
|
+
resourcePlugin: () => resourcePlugin,
|
|
31
|
+
resourceRouterPlugin: () => resourceRouterPlugin,
|
|
32
|
+
serializeResourceState: () => serializeResourceState,
|
|
33
|
+
stableSerialize: () => stableSerialize
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(src_exports);
|
|
365
36
|
|
|
366
37
|
// packages/resource/src/resource.ts
|
|
38
|
+
var import_reactivity = require("@vobs/reactivity");
|
|
367
39
|
var defaultClient = createResourceClient();
|
|
368
40
|
function resource(optionsOrFetcher) {
|
|
369
41
|
return typeof optionsOrFetcher === "function" ? defaultClient.resource(optionsOrFetcher) : defaultClient.resource(optionsOrFetcher);
|
|
370
42
|
}
|
|
371
43
|
__name(resource, "resource");
|
|
372
44
|
function createResourceClient(options = {}) {
|
|
373
|
-
let owner = createOwner();
|
|
45
|
+
let owner = (0, import_reactivity.createOwner)();
|
|
374
46
|
const cache = /* @__PURE__ */ new Map();
|
|
375
47
|
const entries = /* @__PURE__ */ new Set();
|
|
376
48
|
const defaultStaleTime = validateStaleTime(options.staleTime ?? 0);
|
|
@@ -379,9 +51,9 @@ function createResourceClient(options = {}) {
|
|
|
379
51
|
function createEntry(key, staleTime) {
|
|
380
52
|
const entry = owner.run(() => ({
|
|
381
53
|
key,
|
|
382
|
-
data: state(null),
|
|
383
|
-
error: state(null),
|
|
384
|
-
loading: state(false),
|
|
54
|
+
data: (0, import_reactivity.state)(null),
|
|
55
|
+
error: (0, import_reactivity.state)(null),
|
|
56
|
+
loading: (0, import_reactivity.state)(false),
|
|
385
57
|
staleTime,
|
|
386
58
|
subscribers: /* @__PURE__ */ new Set(),
|
|
387
59
|
updatedAt: 0,
|
|
@@ -458,7 +130,7 @@ function createResourceClient(options = {}) {
|
|
|
458
130
|
if (!entry?.subscribers.delete(resourceHandle)) return;
|
|
459
131
|
if (entry.subscribers.size === 0) entry.controller?.abort();
|
|
460
132
|
}, "dispose");
|
|
461
|
-
getCurrentOwner()?.onDispose(dispose);
|
|
133
|
+
(0, import_reactivity.getCurrentOwner)()?.onDispose(dispose);
|
|
462
134
|
return {
|
|
463
135
|
key: staticKey,
|
|
464
136
|
data: entry.data,
|
|
@@ -508,9 +180,9 @@ function createResourceClient(options = {}) {
|
|
|
508
180
|
}
|
|
509
181
|
};
|
|
510
182
|
function createReactiveResource(reactiveConfig) {
|
|
511
|
-
const data = state(null);
|
|
512
|
-
const error = state(null);
|
|
513
|
-
const loading = state(false);
|
|
183
|
+
const data = (0, import_reactivity.state)(null);
|
|
184
|
+
const error = (0, import_reactivity.state)(null);
|
|
185
|
+
const loading = (0, import_reactivity.state)(false);
|
|
514
186
|
const handle = {};
|
|
515
187
|
let activeEntry;
|
|
516
188
|
let activeKey;
|
|
@@ -542,7 +214,7 @@ function createResourceClient(options = {}) {
|
|
|
542
214
|
sync();
|
|
543
215
|
void request2(false).catch(() => void 0);
|
|
544
216
|
}, "switchKey");
|
|
545
|
-
const stop = effect(() => {
|
|
217
|
+
const stop = (0, import_reactivity.effect)(() => {
|
|
546
218
|
if (disposed) return;
|
|
547
219
|
const nextKey = resolveKey(reactiveConfig.key);
|
|
548
220
|
if (!nextKey) throw new Error("resource: \u54CD\u5E94\u5F0F key \u4E0D\u80FD\u662F undefined");
|
|
@@ -559,7 +231,7 @@ function createResourceClient(options = {}) {
|
|
|
559
231
|
}
|
|
560
232
|
activeEntry = void 0;
|
|
561
233
|
}, "dispose");
|
|
562
|
-
getCurrentOwner()?.onDispose(dispose2);
|
|
234
|
+
(0, import_reactivity.getCurrentOwner)()?.onDispose(dispose2);
|
|
563
235
|
return {
|
|
564
236
|
get key() {
|
|
565
237
|
return activeKey;
|
|
@@ -597,7 +269,9 @@ function createResourceClient(options = {}) {
|
|
|
597
269
|
}
|
|
598
270
|
return execute(activeEntry, reactiveConfig.fetcher, reactiveConfig.retry, reactiveConfig.retryDelay);
|
|
599
271
|
}
|
|
272
|
+
__name(request2, "request");
|
|
600
273
|
}
|
|
274
|
+
__name(createReactiveResource, "createReactiveResource");
|
|
601
275
|
function createOptimistic(target, next, action) {
|
|
602
276
|
const previous = { data: target.data.value, error: target.error.value, updatedAt: target.updatedAt };
|
|
603
277
|
const value = typeof next === "function" ? next(target.data.value) : next;
|
|
@@ -617,6 +291,7 @@ function createResourceClient(options = {}) {
|
|
|
617
291
|
throw failure;
|
|
618
292
|
});
|
|
619
293
|
}
|
|
294
|
+
__name(createOptimistic, "createOptimistic");
|
|
620
295
|
}
|
|
621
296
|
__name(createResource, "createResource");
|
|
622
297
|
return {
|
|
@@ -668,7 +343,7 @@ function createResourceClient(options = {}) {
|
|
|
668
343
|
cache.clear();
|
|
669
344
|
entries.clear();
|
|
670
345
|
owner.dispose();
|
|
671
|
-
owner = createOwner();
|
|
346
|
+
owner = (0, import_reactivity.createOwner)();
|
|
672
347
|
}
|
|
673
348
|
};
|
|
674
349
|
}
|
|
@@ -811,6 +486,8 @@ function serialize(value, stack) {
|
|
|
811
486
|
case "function":
|
|
812
487
|
case "symbol":
|
|
813
488
|
throw new Error(`resource: key \u4E0D\u80FD\u5305\u542B ${typeof value}`);
|
|
489
|
+
case "object":
|
|
490
|
+
break;
|
|
814
491
|
}
|
|
815
492
|
const object = value;
|
|
816
493
|
if (stack.has(object)) throw new Error("resource: key \u4E0D\u80FD\u5305\u542B\u5FAA\u73AF\u5F15\u7528");
|
|
@@ -829,329 +506,10 @@ function serialize(value, stack) {
|
|
|
829
506
|
}
|
|
830
507
|
__name(serialize, "serialize");
|
|
831
508
|
|
|
832
|
-
// packages/runtime/src/debug.ts
|
|
833
|
-
var activeRuntimeDebugHooks = null;
|
|
834
|
-
function getRuntimeDebugHooks() {
|
|
835
|
-
return activeRuntimeDebugHooks;
|
|
836
|
-
}
|
|
837
|
-
__name(getRuntimeDebugHooks, "getRuntimeDebugHooks");
|
|
838
|
-
function invokeRuntimeDebug(name, ...args) {
|
|
839
|
-
return;
|
|
840
|
-
}
|
|
841
|
-
__name(invokeRuntimeDebug, "invokeRuntimeDebug");
|
|
842
|
-
function describeDebugNode(node) {
|
|
843
|
-
if (!node || typeof node !== "object") return "node";
|
|
844
|
-
const value = node;
|
|
845
|
-
const name = typeof value.tagName === "string" ? value.tagName.toLowerCase() : typeof value.nodeName === "string" ? value.nodeName.toLowerCase() : "node";
|
|
846
|
-
const id = typeof value.id === "string" && value.id ? `#${value.id}` : "";
|
|
847
|
-
const className = typeof value.className === "string" && value.className ? `.${value.className.trim().split(/\s+/).filter(Boolean).join(".")}` : "";
|
|
848
|
-
return `${name}${id}${className}`;
|
|
849
|
-
}
|
|
850
|
-
__name(describeDebugNode, "describeDebugNode");
|
|
851
|
-
|
|
852
|
-
// packages/runtime/src/hmr.ts
|
|
853
|
-
var globalTarget = globalThis;
|
|
854
|
-
var hmrGlobal = globalTarget.__VOBS_HMR__ ?? { modules: /* @__PURE__ */ new Map() };
|
|
855
|
-
globalTarget.__VOBS_HMR__ = hmrGlobal;
|
|
856
|
-
function markHmrInstanceMounted(node, parent) {
|
|
857
|
-
const instance = hmrInstances.get(node);
|
|
858
|
-
if (instance) instance.parent = parent;
|
|
859
|
-
}
|
|
860
|
-
__name(markHmrInstanceMounted, "markHmrInstanceMounted");
|
|
861
|
-
var hmrInstances = /* @__PURE__ */ new WeakMap();
|
|
862
|
-
var nodeOwners = /* @__PURE__ */ new WeakMap();
|
|
863
|
-
function getRenderer() {
|
|
864
|
-
{
|
|
865
|
-
throw new Error("\u6E32\u67D3\u5668\u672A\u521D\u59CB\u5316");
|
|
866
|
-
}
|
|
867
|
-
}
|
|
868
|
-
__name(getRenderer, "getRenderer");
|
|
869
|
-
function createComment(content) {
|
|
870
|
-
return getRenderer().createComment(content);
|
|
871
|
-
}
|
|
872
|
-
__name(createComment, "createComment");
|
|
873
|
-
function insertBefore(parent, child, anchor) {
|
|
874
|
-
if (isVobsFragment(child)) {
|
|
875
|
-
child.mount(parent, isVobsFragment(anchor) ? anchor.start : anchor);
|
|
876
|
-
return;
|
|
877
|
-
}
|
|
878
|
-
getRenderer().insertBefore(parent, child, isVobsFragment(anchor) ? anchor.start : anchor);
|
|
879
|
-
markHmrInstanceMounted(child, parent);
|
|
880
|
-
}
|
|
881
|
-
__name(insertBefore, "insertBefore");
|
|
882
|
-
function removeChild(parent, child) {
|
|
883
|
-
disposeNodeOwner(child);
|
|
884
|
-
if (isVobsFragment(child)) {
|
|
885
|
-
child.unmount(parent);
|
|
886
|
-
return;
|
|
887
|
-
}
|
|
888
|
-
getRenderer().removeChild(parent, child);
|
|
889
|
-
}
|
|
890
|
-
__name(removeChild, "removeChild");
|
|
891
|
-
function createBlock(factory) {
|
|
892
|
-
const owner = createOwner();
|
|
893
|
-
setOwnerDebugName(owner, "dynamic");
|
|
894
|
-
let node;
|
|
895
|
-
try {
|
|
896
|
-
node = owner.run(factory);
|
|
897
|
-
} catch (error) {
|
|
898
|
-
owner.dispose();
|
|
899
|
-
throw error;
|
|
900
|
-
}
|
|
901
|
-
if (!node) {
|
|
902
|
-
owner.dispose();
|
|
903
|
-
return null;
|
|
904
|
-
}
|
|
905
|
-
associateNodeOwner(node, owner);
|
|
906
|
-
return node;
|
|
907
|
-
}
|
|
908
|
-
__name(createBlock, "createBlock");
|
|
909
|
-
function associateNodeOwner(node, owner) {
|
|
910
|
-
nodeOwners.set(node, owner);
|
|
911
|
-
}
|
|
912
|
-
__name(associateNodeOwner, "associateNodeOwner");
|
|
913
|
-
function disposeNodeOwner(node) {
|
|
914
|
-
const owner = nodeOwners.get(node);
|
|
915
|
-
if (!owner) return;
|
|
916
|
-
nodeOwners.delete(node);
|
|
917
|
-
owner.dispose();
|
|
918
|
-
}
|
|
919
|
-
__name(disposeNodeOwner, "disposeNodeOwner");
|
|
920
|
-
|
|
921
|
-
// packages/runtime/src/fragment.ts
|
|
922
|
-
function createFragment(factory) {
|
|
923
|
-
const start = createComment("vobs:fragment:start");
|
|
924
|
-
const end = createComment("vobs:fragment:end");
|
|
925
|
-
let parent = null;
|
|
926
|
-
let initialized = false;
|
|
927
|
-
const owner = getCurrentOwner();
|
|
928
|
-
const fragment = {
|
|
929
|
-
kind: "vobs-fragment",
|
|
930
|
-
start,
|
|
931
|
-
end,
|
|
932
|
-
mount(nextParent, anchor) {
|
|
933
|
-
if (parent && parent !== nextParent) {
|
|
934
|
-
throw new Error("Vobs Fragment: \u4E0D\u80FD\u8DE8\u7236\u8282\u70B9\u79FB\u52A8 Fragment");
|
|
935
|
-
}
|
|
936
|
-
if (initialized) {
|
|
937
|
-
moveRange(nextParent, start, end, anchor);
|
|
938
|
-
return;
|
|
939
|
-
}
|
|
940
|
-
const renderer = getRenderer();
|
|
941
|
-
renderer.insertBefore(nextParent, start, anchor);
|
|
942
|
-
renderer.insertBefore(nextParent, end, anchor);
|
|
943
|
-
parent = nextParent;
|
|
944
|
-
initialized = true;
|
|
945
|
-
if (owner) owner.run(() => factory(nextParent, end));
|
|
946
|
-
else factory(nextParent, end);
|
|
947
|
-
},
|
|
948
|
-
unmount(nextParent) {
|
|
949
|
-
if (!initialized || parent !== nextParent) {
|
|
950
|
-
throw new Error("Vobs Fragment: Fragment \u4E0D\u5C5E\u4E8E\u6307\u5B9A\u7236\u8282\u70B9");
|
|
951
|
-
}
|
|
952
|
-
const renderer = getRenderer();
|
|
953
|
-
let current = renderer.nextSibling(start);
|
|
954
|
-
while (current && current !== end) {
|
|
955
|
-
const next = renderer.nextSibling(current);
|
|
956
|
-
renderer.removeChild(nextParent, current);
|
|
957
|
-
current = next;
|
|
958
|
-
}
|
|
959
|
-
renderer.removeChild(nextParent, start);
|
|
960
|
-
renderer.removeChild(nextParent, end);
|
|
961
|
-
parent = null;
|
|
962
|
-
initialized = false;
|
|
963
|
-
}
|
|
964
|
-
};
|
|
965
|
-
return fragment;
|
|
966
|
-
}
|
|
967
|
-
__name(createFragment, "createFragment");
|
|
968
|
-
function isVobsFragment(value) {
|
|
969
|
-
return Boolean(value) && typeof value === "object" && value.kind === "vobs-fragment";
|
|
970
|
-
}
|
|
971
|
-
__name(isVobsFragment, "isVobsFragment");
|
|
972
|
-
function moveRange(parent, start, end, anchor) {
|
|
973
|
-
const renderer = getRenderer();
|
|
974
|
-
const nodes = [start];
|
|
975
|
-
let current = renderer.nextSibling(start);
|
|
976
|
-
while (current) {
|
|
977
|
-
nodes.push(current);
|
|
978
|
-
if (current === end) break;
|
|
979
|
-
current = renderer.nextSibling(current);
|
|
980
|
-
}
|
|
981
|
-
if (nodes[nodes.length - 1] !== end) {
|
|
982
|
-
throw new Error("Vobs Fragment: \u627E\u4E0D\u5230\u7ED3\u675F\u951A\u70B9");
|
|
983
|
-
}
|
|
984
|
-
for (const node of nodes) renderer.insertBefore(parent, node, anchor);
|
|
985
|
-
}
|
|
986
|
-
__name(moveRange, "moveRange");
|
|
987
|
-
|
|
988
|
-
// packages/runtime/src/dynamic.ts
|
|
989
|
-
function insertDynamic(parent, anchor, factory) {
|
|
990
|
-
const marker = createComment("vobs:dynamic");
|
|
991
|
-
insertBefore(parent, marker, anchor);
|
|
992
|
-
let current = null;
|
|
993
|
-
effect(() => {
|
|
994
|
-
const next = createBlock(factory);
|
|
995
|
-
if (next === current) return;
|
|
996
|
-
if (current) removeChild(parent, current);
|
|
997
|
-
current = next;
|
|
998
|
-
if (current) insertBefore(parent, current, marker);
|
|
999
|
-
});
|
|
1000
|
-
}
|
|
1001
|
-
__name(insertDynamic, "insertDynamic");
|
|
1002
|
-
|
|
1003
|
-
// packages/runtime/src/error.ts
|
|
1004
|
-
var _VobsError = class _VobsError extends Error {
|
|
1005
|
-
constructor(options) {
|
|
1006
|
-
super(options.message);
|
|
1007
|
-
this.name = "VobsError";
|
|
1008
|
-
this.code = options.code;
|
|
1009
|
-
this.severity = options.severity ?? "error";
|
|
1010
|
-
this.layer = options.layer ?? "runtime";
|
|
1011
|
-
this.cause = options.cause;
|
|
1012
|
-
this.fix = options.fix;
|
|
1013
|
-
this.location = options.location;
|
|
1014
|
-
this.trace = options.trace;
|
|
1015
|
-
this.example = options.example;
|
|
1016
|
-
this.docs = options.docs;
|
|
1017
|
-
this.codeFrame = options.codeFrame;
|
|
1018
|
-
}
|
|
1019
|
-
};
|
|
1020
|
-
__name(_VobsError, "VobsError");
|
|
1021
|
-
var VobsError = _VobsError;
|
|
1022
|
-
function isVobsError(value) {
|
|
1023
|
-
return value instanceof VobsError || Boolean(value && typeof value === "object" && typeof value.code === "string" && typeof value.message === "string" && typeof value.layer === "string");
|
|
1024
|
-
}
|
|
1025
|
-
__name(isVobsError, "isVobsError");
|
|
1026
|
-
function normalizeVobsError(value, defaults = {}) {
|
|
1027
|
-
if (value instanceof VobsError) return value;
|
|
1028
|
-
if (value instanceof Error) {
|
|
1029
|
-
const metadata = value;
|
|
1030
|
-
const code = defaults.code ?? (typeof metadata.vobsCode === "string" ? metadata.vobsCode : void 0);
|
|
1031
|
-
if (code) defineErrorMetadata(value, "code", code);
|
|
1032
|
-
defineErrorMetadata(value, "severity", defaults.severity ?? "error");
|
|
1033
|
-
defineErrorMetadata(value, "layer", defaults.layer ?? "runtime");
|
|
1034
|
-
const fix = defaults.fix ?? (typeof metadata.vobsHint === "string" ? metadata.vobsHint : void 0);
|
|
1035
|
-
if (fix) defineErrorMetadata(value, "fix", fix);
|
|
1036
|
-
const source = metadata.vobsSource;
|
|
1037
|
-
if (source && typeof source === "object" && typeof source.file === "string" && typeof source.line === "number" && typeof source.column === "number") {
|
|
1038
|
-
defineErrorMetadata(value, "location", source);
|
|
1039
|
-
}
|
|
1040
|
-
return value;
|
|
1041
|
-
}
|
|
1042
|
-
if (isVobsError(value)) {
|
|
1043
|
-
const candidate = value;
|
|
1044
|
-
return new VobsError({
|
|
1045
|
-
code: candidate.code,
|
|
1046
|
-
message: candidate.message,
|
|
1047
|
-
severity: candidate.severity ?? defaults.severity,
|
|
1048
|
-
layer: candidate.layer ?? defaults.layer,
|
|
1049
|
-
cause: candidate.cause,
|
|
1050
|
-
fix: candidate.fix ?? defaults.fix,
|
|
1051
|
-
location: candidate.location,
|
|
1052
|
-
trace: candidate.trace,
|
|
1053
|
-
example: candidate.example,
|
|
1054
|
-
docs: candidate.docs,
|
|
1055
|
-
codeFrame: candidate.codeFrame
|
|
1056
|
-
});
|
|
1057
|
-
}
|
|
1058
|
-
const message = String(value);
|
|
1059
|
-
return new VobsError({
|
|
1060
|
-
code: defaults.code ?? "VOBS_UNKNOWN",
|
|
1061
|
-
message,
|
|
1062
|
-
severity: defaults.severity ?? "error",
|
|
1063
|
-
layer: defaults.layer ?? "runtime",
|
|
1064
|
-
cause: void 0,
|
|
1065
|
-
fix: defaults.fix
|
|
1066
|
-
});
|
|
1067
|
-
}
|
|
1068
|
-
__name(normalizeVobsError, "normalizeVobsError");
|
|
1069
|
-
function defineErrorMetadata(target, key, value) {
|
|
1070
|
-
if (key in target) return;
|
|
1071
|
-
try {
|
|
1072
|
-
Object.defineProperty(target, key, { configurable: true, enumerable: false, value, writable: true });
|
|
1073
|
-
} catch {
|
|
1074
|
-
}
|
|
1075
|
-
}
|
|
1076
|
-
__name(defineErrorMetadata, "defineErrorMetadata");
|
|
1077
|
-
|
|
1078
|
-
// packages/runtime/src/boundary.ts
|
|
1079
|
-
function insertBoundary(parent, anchor, options) {
|
|
1080
|
-
const boundary = createOwner();
|
|
1081
|
-
boundary.run(() => {
|
|
1082
|
-
const error = state(null);
|
|
1083
|
-
let fallbackActive = false;
|
|
1084
|
-
let lastError = null;
|
|
1085
|
-
let initialized = false;
|
|
1086
|
-
let previousKey;
|
|
1087
|
-
boundary.onError((reason) => {
|
|
1088
|
-
if (fallbackActive) throw reason;
|
|
1089
|
-
const normalized = normalizeVobsError(reason, {
|
|
1090
|
-
code: "VOBS_R001",
|
|
1091
|
-
layer: "runtime",
|
|
1092
|
-
fix: "\u68C0\u67E5\u7EC4\u4EF6\u6E32\u67D3\u903B\u8F91\uFF0C\u6216\u5728\u8FB9\u754C fallback \u4E2D\u63D0\u4F9B\u6062\u590D\u64CD\u4F5C\u3002"
|
|
1093
|
-
});
|
|
1094
|
-
lastError = normalized;
|
|
1095
|
-
invokeRuntimeDebug("error", {
|
|
1096
|
-
error: normalized,
|
|
1097
|
-
owner: boundary,
|
|
1098
|
-
phase: "boundary",
|
|
1099
|
-
handled: true,
|
|
1100
|
-
recovery: "fallback"
|
|
1101
|
-
});
|
|
1102
|
-
error.value = normalized;
|
|
1103
|
-
});
|
|
1104
|
-
const retry = /* @__PURE__ */ __name(() => {
|
|
1105
|
-
if (error.value) {
|
|
1106
|
-
invokeRuntimeDebug("error", {
|
|
1107
|
-
error: error.value,
|
|
1108
|
-
owner: boundary,
|
|
1109
|
-
phase: "boundary",
|
|
1110
|
-
handled: true,
|
|
1111
|
-
recovery: "retrying"
|
|
1112
|
-
});
|
|
1113
|
-
}
|
|
1114
|
-
error.value = null;
|
|
1115
|
-
return options.onRetry?.();
|
|
1116
|
-
}, "retry");
|
|
1117
|
-
insertDynamic(parent, anchor, () => {
|
|
1118
|
-
const nextKey = options.resetKey?.();
|
|
1119
|
-
if (!initialized || !Object.is(previousKey, nextKey)) {
|
|
1120
|
-
initialized = true;
|
|
1121
|
-
previousKey = nextKey;
|
|
1122
|
-
if (error.value) error.value = null;
|
|
1123
|
-
}
|
|
1124
|
-
const currentError = error.value;
|
|
1125
|
-
if (!currentError) {
|
|
1126
|
-
if (fallbackActive && lastError) {
|
|
1127
|
-
invokeRuntimeDebug("error", {
|
|
1128
|
-
error: lastError,
|
|
1129
|
-
owner: boundary,
|
|
1130
|
-
phase: "boundary",
|
|
1131
|
-
handled: true,
|
|
1132
|
-
recovery: "recovered"
|
|
1133
|
-
});
|
|
1134
|
-
lastError = null;
|
|
1135
|
-
}
|
|
1136
|
-
fallbackActive = false;
|
|
1137
|
-
return options.children();
|
|
1138
|
-
}
|
|
1139
|
-
fallbackActive = true;
|
|
1140
|
-
return options.fallback(currentError, retry);
|
|
1141
|
-
});
|
|
1142
|
-
});
|
|
1143
|
-
}
|
|
1144
|
-
__name(insertBoundary, "insertBoundary");
|
|
1145
|
-
|
|
1146
|
-
// packages/vobs/src/app.ts
|
|
1147
|
-
function createInjectionKey(description) {
|
|
1148
|
-
return Symbol(description);
|
|
1149
|
-
}
|
|
1150
|
-
__name(createInjectionKey, "createInjectionKey");
|
|
1151
|
-
|
|
1152
509
|
// packages/resource/src/boundary.ts
|
|
510
|
+
var import_vobs = require("@vobs/vobs");
|
|
1153
511
|
function insertResourceBoundary(parent, anchor, options) {
|
|
1154
|
-
insertBoundary(parent, anchor, {
|
|
512
|
+
(0, import_vobs.insertBoundary)(parent, anchor, {
|
|
1155
513
|
onRetry: /* @__PURE__ */ __name(() => options.resource.refetch(), "onRetry"),
|
|
1156
514
|
fallback: /* @__PURE__ */ __name((error, retry) => options.fallback?.(error, () => Promise.resolve(retry())) ?? null, "fallback"),
|
|
1157
515
|
children: /* @__PURE__ */ __name(() => {
|
|
@@ -1165,7 +523,7 @@ function insertResourceBoundary(parent, anchor, options) {
|
|
|
1165
523
|
}
|
|
1166
524
|
__name(insertResourceBoundary, "insertResourceBoundary");
|
|
1167
525
|
function ResourceBoundary(props) {
|
|
1168
|
-
return createFragment((parent, anchor) => insertResourceBoundary(parent, anchor, props));
|
|
526
|
+
return (0, import_vobs.createFragment)((parent, anchor) => insertResourceBoundary(parent, anchor, props));
|
|
1169
527
|
}
|
|
1170
528
|
__name(ResourceBoundary, "ResourceBoundary");
|
|
1171
529
|
function resolveView(view) {
|
|
@@ -1174,11 +532,10 @@ function resolveView(view) {
|
|
|
1174
532
|
}
|
|
1175
533
|
__name(resolveView, "resolveView");
|
|
1176
534
|
|
|
1177
|
-
// packages/router/src/index.ts
|
|
1178
|
-
var ROUTER_KEY = createInjectionKey("vobs.router");
|
|
1179
|
-
|
|
1180
535
|
// packages/resource/src/plugin.ts
|
|
1181
|
-
var
|
|
536
|
+
var import_vobs2 = require("@vobs/vobs");
|
|
537
|
+
var import_router = require("@vobs/router");
|
|
538
|
+
var RESOURCE_KEY = (0, import_vobs2.createInjectionKey)("vobs.resource");
|
|
1182
539
|
function resourcePlugin(options = {}) {
|
|
1183
540
|
return {
|
|
1184
541
|
name: "@vobs/resource",
|
|
@@ -1198,7 +555,7 @@ function resourceRouterPlugin(options = {}) {
|
|
|
1198
555
|
name: "@vobs/resource-router",
|
|
1199
556
|
version: "0.1.0",
|
|
1200
557
|
install(context) {
|
|
1201
|
-
const router = options.router ?? context.inject(ROUTER_KEY);
|
|
558
|
+
const router = options.router ?? context.inject(import_router.ROUTER_KEY);
|
|
1202
559
|
const client = options.client ?? context.inject(RESOURCE_KEY);
|
|
1203
560
|
if (!router) throw new Error("Vobs Resource Router: \u627E\u4E0D\u5230 Router\uFF0C\u8BF7\u5B89\u88C5 routerPlugin \u6216\u4F20\u5165 router");
|
|
1204
561
|
if (!client) throw new Error("Vobs Resource Router: \u627E\u4E0D\u5230 ResourceClient\uFF0C\u8BF7\u5B89\u88C5 resourcePlugin \u6216\u4F20\u5165 client");
|
|
@@ -1225,15 +582,16 @@ function readPrefetch(route) {
|
|
|
1225
582
|
return value;
|
|
1226
583
|
}
|
|
1227
584
|
__name(readPrefetch, "readPrefetch");
|
|
1228
|
-
|
|
1229
|
-
exports
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
585
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
586
|
+
0 && (module.exports = {
|
|
587
|
+
RESOURCE_KEY,
|
|
588
|
+
ResourceBoundary,
|
|
589
|
+
createResourceClient,
|
|
590
|
+
insertResourceBoundary,
|
|
591
|
+
resource,
|
|
592
|
+
resourcePlugin,
|
|
593
|
+
resourceRouterPlugin,
|
|
594
|
+
serializeResourceState,
|
|
595
|
+
stableSerialize
|
|
596
|
+
});
|
|
1239
597
|
//# sourceMappingURL=index.cjs.map
|