@qwik.dev/core 2.0.0-beta.32 → 2.0.0-beta.34
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/backpatch/index.mjs +2 -2
- package/dist/backpatch/package.json +1 -1
- package/dist/backpatch-executor.debug.js +12 -6
- package/dist/backpatch-executor.js +1 -1
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/core-internal.d.ts +71 -5
- package/dist/core.min.mjs +2 -2
- package/dist/core.mjs +97 -94
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +2159 -2164
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.mjs +724 -719
- package/dist/preloader.mjs +64 -89
- package/dist/server.d.ts +0 -54
- package/dist/server.mjs +112 -487
- package/dist/server.prod.mjs +204 -616
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.mjs +766 -3522
- package/dist/testing/package.json +1 -1
- package/package.json +3 -3
package/dist/core.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core 2.0.0-beta.34-dev+8b055bb
|
|
4
4
|
* Copyright QwikDev. All Rights Reserved.
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://github.com/QwikDev/qwik/blob/main/LICENSE
|
|
@@ -189,7 +189,7 @@ const isPrimitiveOrNullUndefined = (v) => {
|
|
|
189
189
|
return (typeof v !== 'object' && typeof v !== 'function') || v === null || v === undefined;
|
|
190
190
|
};
|
|
191
191
|
|
|
192
|
-
const baseUrl = 'https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#
|
|
192
|
+
const baseUrl = 'https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#q';
|
|
193
193
|
const codeToText = (code, ...parts) => {
|
|
194
194
|
if (qDev) {
|
|
195
195
|
// Keep one error, one line to make it easier to search for the error message.
|
|
@@ -920,6 +920,9 @@ const createMacroTask = (fn) => {
|
|
|
920
920
|
const isBrowser = import.meta.env.TEST ? !isServerPlatform() : !isServer;
|
|
921
921
|
// Browser-specific setup
|
|
922
922
|
const doc = isBrowser ? document : undefined;
|
|
923
|
+
const config = {
|
|
924
|
+
$maxIdlePreloads$: 25,
|
|
925
|
+
};
|
|
923
926
|
// Determine which rel attribute to use based on browser support
|
|
924
927
|
const rel = isBrowser && doc.createElement('link').relList?.supports?.('modulepreload')
|
|
925
928
|
? 'modulePreload'
|
|
@@ -987,10 +990,8 @@ function trigger() {
|
|
|
987
990
|
const bundle = queue[0];
|
|
988
991
|
const inverseProbability = bundle.$inverseProbability$;
|
|
989
992
|
const probability = 1 - inverseProbability;
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
// When we're 99% sure, everything needs to be queued
|
|
993
|
-
if (probability >= 0.99 || preloadCount < allowedPreloads) {
|
|
993
|
+
// We want to preload all the transitive static (1) and dynamic (0.99) dependencies, throttled by the user defined maxIdlePreloads.
|
|
994
|
+
if (probability >= 0.99 || preloadCount < config.$maxIdlePreloads$) {
|
|
994
995
|
queue.shift();
|
|
995
996
|
preloadOne(bundle);
|
|
996
997
|
if (performance.now() >= deadline) {
|
|
@@ -1007,13 +1008,12 @@ function trigger() {
|
|
|
1007
1008
|
nextTriggerMacroTask();
|
|
1008
1009
|
}
|
|
1009
1010
|
}
|
|
1010
|
-
const enqueueAdjustment = (bundle, inverseProbability,
|
|
1011
|
+
const enqueueAdjustment = (bundle, inverseProbability, seen) => {
|
|
1011
1012
|
// Keep existing work on the stack hot and append new roots behind it.
|
|
1012
1013
|
adjustmentStack.unshift({
|
|
1013
1014
|
$bundle$: bundle,
|
|
1014
1015
|
$inverseProbability$: inverseProbability,
|
|
1015
1016
|
$seen$: seen,
|
|
1016
|
-
$context$: context,
|
|
1017
1017
|
});
|
|
1018
1018
|
};
|
|
1019
1019
|
const processAdjustmentFrame = () => {
|
|
@@ -1033,9 +1033,8 @@ const processAdjustmentFrame = () => {
|
|
|
1033
1033
|
}
|
|
1034
1034
|
const probability = 1 - bundle.$inverseProbability$;
|
|
1035
1035
|
let newInverseProbability;
|
|
1036
|
-
if (probability === 1 ||
|
|
1037
|
-
|
|
1038
|
-
// we're loaded at max probability, so elevate dynamic imports to 99% sure
|
|
1036
|
+
if (probability === 1 || probability >= 0.99) {
|
|
1037
|
+
// bundle is requested at max probability, so elevate all its transitive static and dynamic deps to 99% sure
|
|
1039
1038
|
newInverseProbability = Math.min(0.01, 1 - dep.$importProbability$);
|
|
1040
1039
|
}
|
|
1041
1040
|
else {
|
|
@@ -1051,7 +1050,6 @@ const processAdjustmentFrame = () => {
|
|
|
1051
1050
|
$bundle$: depBundle,
|
|
1052
1051
|
$inverseProbability$: newInverseProbability,
|
|
1053
1052
|
$seen$: frame.$seen$,
|
|
1054
|
-
$context$: frame.$context$,
|
|
1055
1053
|
});
|
|
1056
1054
|
return true;
|
|
1057
1055
|
}
|
|
@@ -1128,55 +1126,26 @@ const preloadOne = (bundle) => {
|
|
|
1128
1126
|
};
|
|
1129
1127
|
doc.head.appendChild(link);
|
|
1130
1128
|
};
|
|
1131
|
-
|
|
1132
|
-
* Adjust the probability of a bundle based on the probability of its dependent bundles, and queue
|
|
1133
|
-
* it if it's likely enough to be preloaded.
|
|
1134
|
-
*
|
|
1135
|
-
* Note that if the probability is 100%, we treat the dynamic imports as 99% sure, and both will be
|
|
1136
|
-
* preloaded without limit.
|
|
1137
|
-
*
|
|
1138
|
-
* We also limit "organic" probability to 98% so they don't get unlimited preloads.
|
|
1139
|
-
*/
|
|
1140
|
-
const adjustProbabilities = (bundle, newInverseProbability, seen) => {
|
|
1141
|
-
enqueueAdjustment(bundle, newInverseProbability, { $depsCount$: 0 }, seen);
|
|
1142
|
-
if (shouldYieldInBrowser) {
|
|
1143
|
-
nextAdjustmentMacroTask();
|
|
1144
|
-
}
|
|
1145
|
-
else {
|
|
1146
|
-
processPendingAdjustments();
|
|
1147
|
-
}
|
|
1148
|
-
};
|
|
1149
|
-
const handleBundle = (name, inverseProbability, context) => {
|
|
1129
|
+
const handleBundle = (name, inverseProbability) => {
|
|
1150
1130
|
const bundle = getBundle(name);
|
|
1151
|
-
if (bundle
|
|
1152
|
-
|
|
1153
|
-
enqueueAdjustment(bundle, inverseProbability, context);
|
|
1154
|
-
}
|
|
1155
|
-
else {
|
|
1156
|
-
adjustProbabilities(bundle, inverseProbability);
|
|
1157
|
-
}
|
|
1131
|
+
if (bundle) {
|
|
1132
|
+
enqueueAdjustment(bundle, inverseProbability);
|
|
1158
1133
|
}
|
|
1159
1134
|
};
|
|
1160
|
-
const preload = (
|
|
1161
|
-
if (!
|
|
1135
|
+
const preload = (item, probability) => {
|
|
1136
|
+
if (!item?.length) {
|
|
1162
1137
|
return;
|
|
1163
1138
|
}
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
if (Array.isArray(name)) {
|
|
1139
|
+
const inverseProbability = 1 - probability ;
|
|
1140
|
+
if (Array.isArray(item)) {
|
|
1167
1141
|
// We must process in reverse order to ensure first bundles are handled first
|
|
1168
|
-
for (let i =
|
|
1169
|
-
const
|
|
1170
|
-
|
|
1171
|
-
inverseProbability = 1 - item / 10;
|
|
1172
|
-
}
|
|
1173
|
-
else {
|
|
1174
|
-
handleBundle(item, inverseProbability, context);
|
|
1175
|
-
}
|
|
1142
|
+
for (let i = item.length - 1; i >= 0; i--) {
|
|
1143
|
+
const bundle = item[i];
|
|
1144
|
+
handleBundle(bundle, inverseProbability);
|
|
1176
1145
|
}
|
|
1177
1146
|
}
|
|
1178
1147
|
else {
|
|
1179
|
-
handleBundle(
|
|
1148
|
+
handleBundle(item, inverseProbability);
|
|
1180
1149
|
}
|
|
1181
1150
|
if (shouldYieldInBrowser) {
|
|
1182
1151
|
nextAdjustmentMacroTask();
|
|
@@ -1219,7 +1188,7 @@ const COMMA = ',';
|
|
|
1219
1188
|
*
|
|
1220
1189
|
* @public
|
|
1221
1190
|
*/
|
|
1222
|
-
const version = "2.0.0-beta.
|
|
1191
|
+
const version = "2.0.0-beta.34-dev+8b055bb";
|
|
1223
1192
|
|
|
1224
1193
|
const isNode = (value) => {
|
|
1225
1194
|
return value && typeof value.nodeType === 'number';
|
|
@@ -2373,9 +2342,11 @@ class AsyncSignalImpl extends ComputedSignalImpl {
|
|
|
2373
2342
|
}
|
|
2374
2343
|
async $runComputation$(running) {
|
|
2375
2344
|
const isCurrent = () => running === this.$current$;
|
|
2376
|
-
this.untrackedLoading = true;
|
|
2377
2345
|
let fn = this.$computeQrl$.resolved;
|
|
2378
2346
|
if (!fn) {
|
|
2347
|
+
// QRL resolution is async — we have to publish loading=true before awaiting so
|
|
2348
|
+
// subscribers know the value isn't ready yet.
|
|
2349
|
+
this.untrackedLoading = true;
|
|
2379
2350
|
fn = await this.$computeQrl$.resolve();
|
|
2380
2351
|
if (running.$abortController$?.signal.aborted) {
|
|
2381
2352
|
running.$promise$ = null;
|
|
@@ -2390,9 +2361,20 @@ class AsyncSignalImpl extends ComputedSignalImpl {
|
|
|
2390
2361
|
running.$abortController$?.abort(error);
|
|
2391
2362
|
}, this.$timeoutMs$);
|
|
2392
2363
|
}
|
|
2393
|
-
// Try to stay sync if possible
|
|
2364
|
+
// Try to stay sync if possible. Only publish loading=true to subscribers when
|
|
2365
|
+
// the compute is actually asynchronous — a synchronous resolve (e.g. pre-loaded
|
|
2366
|
+
// values injected via _injectAsyncSignalValue) should never transition through a
|
|
2367
|
+
// visible loading state, which on SSR would fire the loading-effect subscribers
|
|
2368
|
+
// (tasks) while the value is still "loading" from their perspective.
|
|
2394
2369
|
const valuePromise = retryOnPromise(fn.bind(null, running));
|
|
2395
|
-
|
|
2370
|
+
let value;
|
|
2371
|
+
if (isPromise(valuePromise)) {
|
|
2372
|
+
this.untrackedLoading = true;
|
|
2373
|
+
value = await valuePromise;
|
|
2374
|
+
}
|
|
2375
|
+
else {
|
|
2376
|
+
value = valuePromise;
|
|
2377
|
+
}
|
|
2396
2378
|
running.$promise$ = null;
|
|
2397
2379
|
if (running.$canWrite$) {
|
|
2398
2380
|
const jobs = this.$jobs$;
|
|
@@ -6294,13 +6276,18 @@ function scheduleYield() {
|
|
|
6294
6276
|
*
|
|
6295
6277
|
* @param options - Walk options (time budget, etc.)
|
|
6296
6278
|
*/
|
|
6297
|
-
function processCursorQueue(
|
|
6298
|
-
timeBudget: 1000 / 60, // 60fps
|
|
6299
|
-
}) {
|
|
6279
|
+
function processCursorQueue() {
|
|
6300
6280
|
isNextTickScheduled = false;
|
|
6281
|
+
const startTime = performance.now();
|
|
6282
|
+
const yieldTime = startTime + 15; // 16 ms = 60 FPS, use 15 to yield slightly before next frame
|
|
6301
6283
|
let cursor = null;
|
|
6302
6284
|
while ((cursor = getHighestPriorityCursor())) {
|
|
6303
|
-
walkCursor(cursor,
|
|
6285
|
+
if (walkCursor(cursor, yieldTime)) {
|
|
6286
|
+
// Cursor overran time budget, yield to browser
|
|
6287
|
+
// Note that each tick we process at least one thing
|
|
6288
|
+
scheduleYield();
|
|
6289
|
+
return;
|
|
6290
|
+
}
|
|
6304
6291
|
}
|
|
6305
6292
|
}
|
|
6306
6293
|
/**
|
|
@@ -6319,13 +6306,12 @@ function processCursorQueue(options = {
|
|
|
6319
6306
|
* Note that there is only one walker for all containers in the app with the same Qwik version.
|
|
6320
6307
|
*
|
|
6321
6308
|
* @param cursor - The cursor to walk
|
|
6322
|
-
* @param
|
|
6323
|
-
* @returns
|
|
6309
|
+
* @param until - Time budget (timestamp to yield by)
|
|
6310
|
+
* @returns `true` if the walk was paused due to time budget (do not process more cursors in this
|
|
6311
|
+
* tick)
|
|
6324
6312
|
*/
|
|
6325
|
-
function walkCursor(cursor,
|
|
6326
|
-
const { timeBudget } = options;
|
|
6313
|
+
function walkCursor(cursor, until) {
|
|
6327
6314
|
const isRunningOnServer = import.meta.env.TEST ? isServerPlatform() : isServer;
|
|
6328
|
-
const startTime = performance.now();
|
|
6329
6315
|
const cursorData = getCursorData(cursor);
|
|
6330
6316
|
// Check if cursor is blocked by a promise
|
|
6331
6317
|
const blockingPromise = cursorData.promise;
|
|
@@ -6426,13 +6412,8 @@ function walkCursor(cursor, options) {
|
|
|
6426
6412
|
return;
|
|
6427
6413
|
}
|
|
6428
6414
|
// Check time budget (only for DOM, not SSR)
|
|
6429
|
-
if (
|
|
6430
|
-
|
|
6431
|
-
if (elapsed >= timeBudget) {
|
|
6432
|
-
// Schedule continuation as macrotask to actually yield to browser
|
|
6433
|
-
scheduleYield();
|
|
6434
|
-
return;
|
|
6435
|
-
}
|
|
6415
|
+
if (performance.now() >= until) {
|
|
6416
|
+
return true;
|
|
6436
6417
|
}
|
|
6437
6418
|
}
|
|
6438
6419
|
isDev &&
|
|
@@ -7049,6 +7030,7 @@ const vnode_newText = (textNode, textContent) => {
|
|
|
7049
7030
|
isDev && assertFalse(vnode_isVirtualVNode(vnode), 'Incorrect format of TextVNode.');
|
|
7050
7031
|
return vnode;
|
|
7051
7032
|
};
|
|
7033
|
+
/** @internal */
|
|
7052
7034
|
const vnode_newVirtual = () => {
|
|
7053
7035
|
const vnode = new VirtualVNode(null, 2 /* VNodeFlags.Virtual */ | (-1 << 12 /* VNodeFlagsIndex.shift */), // Flags
|
|
7054
7036
|
null, null, null, null, null, null);
|
|
@@ -7061,6 +7043,7 @@ const vnode_newVirtual = () => {
|
|
|
7061
7043
|
const vnode_isVNode = (vNode) => {
|
|
7062
7044
|
return vNode instanceof VNode;
|
|
7063
7045
|
};
|
|
7046
|
+
/** @internal */
|
|
7064
7047
|
const vnode_isElementVNode = (vNode) => {
|
|
7065
7048
|
return (vNode.flags & 1 /* VNodeFlags.Element */) === 1 /* VNodeFlags.Element */;
|
|
7066
7049
|
};
|
|
@@ -7119,6 +7102,7 @@ const vnode_getNodeTypeName = (vNode) => {
|
|
|
7119
7102
|
}
|
|
7120
7103
|
return '<unknown>';
|
|
7121
7104
|
};
|
|
7105
|
+
/** @internal */
|
|
7122
7106
|
const vnode_getProp = (vNode, key, getObject) => {
|
|
7123
7107
|
if (vnode_isElementVNode(vNode) || vnode_isVirtualVNode(vNode)) {
|
|
7124
7108
|
const value = vNode.props?.[key] ?? null;
|
|
@@ -7131,6 +7115,7 @@ const vnode_getProp = (vNode, key, getObject) => {
|
|
|
7131
7115
|
}
|
|
7132
7116
|
return null;
|
|
7133
7117
|
};
|
|
7118
|
+
/** @internal */
|
|
7134
7119
|
const vnode_setProp = (vNode, key, value) => {
|
|
7135
7120
|
if (value == null && vNode.props) {
|
|
7136
7121
|
delete vNode.props[key];
|
|
@@ -7522,6 +7507,7 @@ const vnode_getChildWithIdx = (vNode, childIdx) => {
|
|
|
7522
7507
|
return child;
|
|
7523
7508
|
};
|
|
7524
7509
|
const vNodeStack = [];
|
|
7510
|
+
/** @internal */
|
|
7525
7511
|
const vnode_getVNodeForChildNode = (vNode, childElement) => {
|
|
7526
7512
|
ensureElementVNode(vNode);
|
|
7527
7513
|
let child = vnode_getFirstChild(vNode);
|
|
@@ -7835,6 +7821,7 @@ const vnode_inflateProjectionTrailingText = (journal, projection) => {
|
|
|
7835
7821
|
vnode_ensureTextInflated(journal, last);
|
|
7836
7822
|
}
|
|
7837
7823
|
};
|
|
7824
|
+
/** @internal */
|
|
7838
7825
|
const vnode_insertBefore = (journal, parent, newChild, insertBefore) => {
|
|
7839
7826
|
if (vnode_isElementOrTextVNode(newChild)) {
|
|
7840
7827
|
vnode_insertElementBefore(journal, parent, newChild, insertBefore);
|
|
@@ -7858,6 +7845,7 @@ const vnode_getDomParentVNode = (vnode, includeProjection) => {
|
|
|
7858
7845
|
}
|
|
7859
7846
|
return vnode;
|
|
7860
7847
|
};
|
|
7848
|
+
/** @internal */
|
|
7861
7849
|
const vnode_remove = (journal, vParent, vToRemove, removeDOM) => {
|
|
7862
7850
|
isDev && assertEqual(vParent, vToRemove.parent, 'Parent mismatch.');
|
|
7863
7851
|
if (vnode_isTextVNode(vToRemove)) {
|
|
@@ -7926,6 +7914,7 @@ const vnode_truncate = (journal, vParent, vDelete, removeDOM = true) => {
|
|
|
7926
7914
|
vParent.lastChild = vPrevious;
|
|
7927
7915
|
};
|
|
7928
7916
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
7917
|
+
/** @internal */
|
|
7929
7918
|
const vnode_getElementName = (vnode) => {
|
|
7930
7919
|
const elementVNode = ensureElementVNode(vnode);
|
|
7931
7920
|
let elementName = elementVNode.elementName;
|
|
@@ -10398,7 +10387,9 @@ DomRefConstructor, symbolToChunkResolver, setProp, storeProxyMap, writer) => {
|
|
|
10398
10387
|
if (!writer) {
|
|
10399
10388
|
const buffer = [];
|
|
10400
10389
|
writer = {
|
|
10401
|
-
write: (text) =>
|
|
10390
|
+
write: (text) => {
|
|
10391
|
+
buffer.push(text);
|
|
10392
|
+
},
|
|
10402
10393
|
toString: () => buffer.join(''),
|
|
10403
10394
|
};
|
|
10404
10395
|
}
|
|
@@ -11051,23 +11042,31 @@ async function _walkJSX(ssr, value, options) {
|
|
|
11051
11042
|
const enqueue = (value) => stack.push(value);
|
|
11052
11043
|
const drain = async () => {
|
|
11053
11044
|
while (stack.length) {
|
|
11054
|
-
|
|
11055
|
-
|
|
11056
|
-
|
|
11057
|
-
|
|
11058
|
-
|
|
11059
|
-
|
|
11060
|
-
|
|
11061
|
-
if (typeof value === 'function') {
|
|
11062
|
-
if (value === Promise) {
|
|
11063
|
-
stack.push(await stack.pop());
|
|
11045
|
+
try {
|
|
11046
|
+
const value = stack.pop();
|
|
11047
|
+
// Reference equality first (no prototype walk), then typeof
|
|
11048
|
+
if (value === MaybeAsyncSignal) {
|
|
11049
|
+
const trackFn = stack.pop();
|
|
11050
|
+
await retryOnPromise(() => stack.push(trackFn()));
|
|
11051
|
+
continue;
|
|
11064
11052
|
}
|
|
11065
|
-
|
|
11066
|
-
|
|
11053
|
+
if (typeof value === 'function') {
|
|
11054
|
+
if (value === Promise) {
|
|
11055
|
+
stack.push(await stack.pop());
|
|
11056
|
+
}
|
|
11057
|
+
else {
|
|
11058
|
+
await value.apply(ssr);
|
|
11059
|
+
}
|
|
11060
|
+
continue;
|
|
11061
|
+
}
|
|
11062
|
+
processJSXNode(ssr, enqueue, value, options);
|
|
11063
|
+
}
|
|
11064
|
+
finally {
|
|
11065
|
+
const pendingFlush = ssr.streamHandler.waitForPendingFlush();
|
|
11066
|
+
if (isPromise(pendingFlush)) {
|
|
11067
|
+
await pendingFlush;
|
|
11067
11068
|
}
|
|
11068
|
-
continue;
|
|
11069
11069
|
}
|
|
11070
|
-
processJSXNode(ssr, enqueue, value, options);
|
|
11071
11070
|
}
|
|
11072
11071
|
};
|
|
11073
11072
|
await drain();
|
|
@@ -11115,7 +11114,7 @@ function processJSXNode(ssr, enqueue, value, options) {
|
|
|
11115
11114
|
currentStyleScoped: options.currentStyleScoped,
|
|
11116
11115
|
parentComponentFrame: options.parentComponentFrame,
|
|
11117
11116
|
});
|
|
11118
|
-
ssr.streamHandler.flush();
|
|
11117
|
+
await ssr.streamHandler.flush();
|
|
11119
11118
|
}
|
|
11120
11119
|
});
|
|
11121
11120
|
}
|
|
@@ -11212,7 +11211,7 @@ function processJSXNode(ssr, enqueue, value, options) {
|
|
|
11212
11211
|
currentStyleScoped: options.currentStyleScoped,
|
|
11213
11212
|
parentComponentFrame: options.parentComponentFrame,
|
|
11214
11213
|
});
|
|
11215
|
-
ssr.streamHandler.flush();
|
|
11214
|
+
await ssr.streamHandler.flush();
|
|
11216
11215
|
},
|
|
11217
11216
|
});
|
|
11218
11217
|
}
|
|
@@ -12281,6 +12280,14 @@ const _verifySerializable = (value, seen, ctx, preMessage) => {
|
|
|
12281
12280
|
if (canSerialize(unwrapped)) {
|
|
12282
12281
|
return value;
|
|
12283
12282
|
}
|
|
12283
|
+
// Framework-internal branded values (e.g. route loaders/actions, validators)
|
|
12284
|
+
// are callables or objects that stamp __brand / __brand__ to opt out of the
|
|
12285
|
+
// serializer walking their internals. Honor that for both objects and
|
|
12286
|
+
// functions — loader/action refs are functions with __brand = 'server_loader'
|
|
12287
|
+
// / 'server_action' and should not be rejected as unserializable.
|
|
12288
|
+
if (unwrapped.__brand || unwrapped.__brand__) {
|
|
12289
|
+
return value;
|
|
12290
|
+
}
|
|
12284
12291
|
const typeObj = typeof unwrapped;
|
|
12285
12292
|
switch (typeObj) {
|
|
12286
12293
|
case 'object':
|
|
@@ -12310,10 +12317,6 @@ const _verifySerializable = (value, seen, ctx, preMessage) => {
|
|
|
12310
12317
|
if (unwrapped instanceof VNode) {
|
|
12311
12318
|
return value;
|
|
12312
12319
|
}
|
|
12313
|
-
// We have .__brand and .__brand__
|
|
12314
|
-
if (unwrapped.__brand || unwrapped.__brand__) {
|
|
12315
|
-
return value;
|
|
12316
|
-
}
|
|
12317
12320
|
if (isSerializableObject(unwrapped)) {
|
|
12318
12321
|
for (const [key, item] of Object.entries(unwrapped)) {
|
|
12319
12322
|
_verifySerializable(item, seen, ctx + '.' + key);
|
|
@@ -15279,5 +15282,5 @@ if (import.meta.hot) {
|
|
|
15279
15282
|
});
|
|
15280
15283
|
}
|
|
15281
15284
|
|
|
15282
|
-
export { $, Each, Fragment, NoSerializeSymbol, PrefetchGraph, PrefetchServiceWorker, RenderOnce, Resource, SSRComment, SSRRaw, SSRStream, SSRStreamBlock, SerializerSymbol, SkipRender, Slot, _CONST_PROPS, DomContainer as _DomContainer, _EFFECT_BACK_REF, EMPTY_ARRAY as _EMPTY_ARRAY, EMPTY_OBJ as _EMPTY_OBJ, _IMMUTABLE, _SharedContainer, SubscriptionData as _SubscriptionData, _UNINITIALIZED, _VAR_PROPS, _addProjection, _captures, _chk, createQRL as _createQRL, _deserialize, _dumpState, eachCmp as _eaC, eachCmpTask as _eaT, _executeSsrChores, _fnSignal, _getConstProps, _getContextContainer, _getContextEvent, _getContextHostElement, getDomContainer as _getDomContainer, _getQContainerElement, _getVarProps, _hasStoreEffects, _hmr, isJSXNode as _isJSXNode, isStore as _isStore, isStringifiable as _isStringifiable, isTask as _isTask, _jsxBranch, _jsxC, _jsxQ, _jsxS, _jsxSorted, _jsxSplit, mapApp_findIndx as _mapApp_findIndx, mapArray_get as _mapArray_get, mapArray_set as _mapArray_set, _noopQrl, _noopQrlDEV, preprocessState as _preprocessState, _qrlSync, qrlToString as _qrlToString, _regSymbol, _removeProjection, _res, _resolveContextWithoutSequentialScope, _restProps, _rsc, _run, _serialize, setEvent as _setEvent, _setProjectionTarget, scheduleTask as _task, _updateProjectionProps, _useHmr, _val, verifySerializable as _verifySerializable, vnode_ensureElementInflated as _vnode_ensureElementInflated, vnode_getAttrKeys as _vnode_getAttrKeys, vnode_getFirstChild as _vnode_getFirstChild, vnode_isMaterialized as _vnode_isMaterialized, vnode_isTextVNode as _vnode_isTextVNode, vnode_isVirtualVNode as _vnode_isVirtualVNode, vnode_toString as _vnode_toString, _waitUntilRendered, _walkJSX, _wrapProp, _wrapSignal, component$, componentQrl, createAsync$, createAsyncSignal as createAsyncQrl, createComputed$, createComputedSignal as createComputedQrl, createContextId, h as createElement, createSerializer$, createSerializerSignal as createSerializerQrl, createSignal, event$, eventQrl, forceStoreEffects, getDomContainer, getLocale, getPlatform, h, implicit$FirstArg, inlinedQrl, inlinedQrlDEV, isSignal, jsx, jsxDEV, jsxs, noSerialize, qrl, qrlDEV, render, setPlatform, sync$, untrack, unwrapStore, useAsync$, useAsyncQrl, useComputed$, useComputedQrl, useConstant, useContext, useContextProvider, useErrorBoundary, useId, useLexicalScope, useOn, useOnDocument, useOnWindow, useResource$, useResourceQrl, useSerializer$, useSerializerQrl, useServerData, useSignal, useStore, useStyles$, useStylesQrl, useStylesScoped$, useStylesScopedQrl, useTask$, useTaskQrl, useVisibleTask$, useVisibleTaskQrl, version, withLocale };
|
|
15285
|
+
export { $, Each, Fragment, NoSerializeSymbol, PrefetchGraph, PrefetchServiceWorker, RenderOnce, Resource, SSRComment, SSRRaw, SSRStream, SSRStreamBlock, SerializerSymbol, SkipRender, Slot, _CONST_PROPS, DomContainer as _DomContainer, _EFFECT_BACK_REF, EMPTY_ARRAY as _EMPTY_ARRAY, EMPTY_OBJ as _EMPTY_OBJ, _IMMUTABLE, _SharedContainer, SubscriptionData as _SubscriptionData, _UNINITIALIZED, _VAR_PROPS, _addProjection, _captures, _chk, createQRL as _createQRL, _deserialize, _dumpState, eachCmp as _eaC, eachCmpTask as _eaT, _executeSsrChores, _fnSignal, _getConstProps, _getContextContainer, _getContextEvent, _getContextHostElement, getDomContainer as _getDomContainer, _getQContainerElement, _getVarProps, _hasStoreEffects, _hmr, isJSXNode as _isJSXNode, isStore as _isStore, isStringifiable as _isStringifiable, isTask as _isTask, _jsxBranch, _jsxC, _jsxQ, _jsxS, _jsxSorted, _jsxSplit, mapApp_findIndx as _mapApp_findIndx, mapArray_get as _mapArray_get, mapArray_set as _mapArray_set, _noopQrl, _noopQrlDEV, preprocessState as _preprocessState, _qrlSync, qrlToString as _qrlToString, _regSymbol, _removeProjection, _res, _resolveContextWithoutSequentialScope, _restProps, _rsc, _run, _serialize, setEvent as _setEvent, _setProjectionTarget, scheduleTask as _task, _updateProjectionProps, _useHmr, _val, verifySerializable as _verifySerializable, vnode_ensureElementInflated as _vnode_ensureElementInflated, vnode_getAttrKeys as _vnode_getAttrKeys, vnode_getElementName as _vnode_getElementName, vnode_getFirstChild as _vnode_getFirstChild, vnode_getProp as _vnode_getProp, vnode_getVNodeForChildNode as _vnode_getVNodeForChildNode, vnode_insertBefore as _vnode_insertBefore, vnode_isElementVNode as _vnode_isElementVNode, vnode_isMaterialized as _vnode_isMaterialized, vnode_isTextVNode as _vnode_isTextVNode, vnode_isVirtualVNode as _vnode_isVirtualVNode, vnode_newVirtual as _vnode_newVirtual, vnode_remove as _vnode_remove, vnode_setProp as _vnode_setProp, vnode_toString as _vnode_toString, _waitUntilRendered, _walkJSX, _wrapProp, _wrapSignal, component$, componentQrl, createAsync$, createAsyncSignal as createAsyncQrl, createComputed$, createComputedSignal as createComputedQrl, createContextId, h as createElement, createSerializer$, createSerializerSignal as createSerializerQrl, createSignal, event$, eventQrl, forceStoreEffects, getDomContainer, getLocale, getPlatform, h, implicit$FirstArg, inlinedQrl, inlinedQrlDEV, isSignal, jsx, jsxDEV, jsxs, noSerialize, qrl, qrlDEV, render, setPlatform, sync$, untrack, unwrapStore, useAsync$, useAsyncQrl, useComputed$, useComputedQrl, useConstant, useContext, useContextProvider, useErrorBoundary, useId, useLexicalScope, useOn, useOnDocument, useOnWindow, useResource$, useResourceQrl, useSerializer$, useSerializerQrl, useServerData, useSignal, useStore, useStyles$, useStylesQrl, useStylesScoped$, useStylesScopedQrl, useTask$, useTaskQrl, useVisibleTask$, useVisibleTaskQrl, version, withLocale };
|
|
15283
15286
|
//# sourceMappingURL=core.mjs.map
|