@qwik.dev/core 2.0.0-beta.3 → 2.0.0-beta.5
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/bindings/qwik.darwin-arm64.node +0 -0
- package/bindings/qwik.darwin-x64.node +0 -0
- package/bindings/qwik.linux-x64-gnu.node +0 -0
- package/bindings/qwik.win32-x64-msvc.node +0 -0
- package/bindings/qwik_wasm_bg.wasm +0 -0
- package/dist/build/package.json +1 -1
- package/dist/cli.cjs +2 -2
- package/dist/core-internal.d.ts +111 -28
- package/dist/core.cjs +224 -154
- package/dist/core.cjs.map +1 -1
- package/dist/core.min.mjs +1 -1
- package/dist/core.mjs +219 -153
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.cjs +154 -92
- package/dist/core.prod.mjs +162 -97
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.cjs +2 -2
- package/dist/optimizer.mjs +2 -2
- package/dist/server.cjs +15 -12
- package/dist/server.mjs +15 -12
- package/dist/testing/index.cjs +159 -102
- package/dist/testing/index.mjs +158 -102
- package/dist/testing/package.json +1 -1
- package/package.json +2 -2
- package/public.d.ts +1 -0
package/dist/testing/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/testing 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core/testing 2.0.0-beta.5-dev+8887f7e
|
|
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
|
|
@@ -22242,6 +22242,24 @@ function assertNumber(value1, text, ...parts) {
|
|
|
22242
22242
|
}
|
|
22243
22243
|
}
|
|
22244
22244
|
|
|
22245
|
+
// packages/qwik/src/core/shared/utils/types.ts
|
|
22246
|
+
var isSerializableObject = (v) => {
|
|
22247
|
+
const proto = Object.getPrototypeOf(v);
|
|
22248
|
+
return proto === Object.prototype || proto === Array.prototype || proto === null;
|
|
22249
|
+
};
|
|
22250
|
+
var isObject = (v) => {
|
|
22251
|
+
return typeof v === "object" && v !== null;
|
|
22252
|
+
};
|
|
22253
|
+
var isArray = (v) => {
|
|
22254
|
+
return Array.isArray(v);
|
|
22255
|
+
};
|
|
22256
|
+
var isString = (v) => {
|
|
22257
|
+
return typeof v === "string";
|
|
22258
|
+
};
|
|
22259
|
+
var isFunction = (v) => {
|
|
22260
|
+
return typeof v === "function";
|
|
22261
|
+
};
|
|
22262
|
+
|
|
22245
22263
|
// packages/qwik/src/core/shared/error/error.ts
|
|
22246
22264
|
var codeToText = (code2, ...parts) => {
|
|
22247
22265
|
if (qDev) {
|
|
@@ -22322,7 +22340,7 @@ See https://qwik.dev/docs/components/tasks/#use-method-rules`,
|
|
|
22322
22340
|
if (parts.length) {
|
|
22323
22341
|
text = text.replaceAll(/{{(\d+)}}/g, (_, index) => {
|
|
22324
22342
|
let v = parts[index];
|
|
22325
|
-
if (v &&
|
|
22343
|
+
if (v && isObject(v) && v.constructor === Object) {
|
|
22326
22344
|
v = JSON.stringify(v).slice(0, 50);
|
|
22327
22345
|
}
|
|
22328
22346
|
return v;
|
|
@@ -22394,24 +22412,6 @@ function retryOnPromise(fn, retryCount = 0) {
|
|
|
22394
22412
|
}
|
|
22395
22413
|
}
|
|
22396
22414
|
|
|
22397
|
-
// packages/qwik/src/core/shared/utils/types.ts
|
|
22398
|
-
var isSerializableObject = (v) => {
|
|
22399
|
-
const proto = Object.getPrototypeOf(v);
|
|
22400
|
-
return proto === Object.prototype || proto === Array.prototype || proto === null;
|
|
22401
|
-
};
|
|
22402
|
-
var isObject = (v) => {
|
|
22403
|
-
return !!v && typeof v === "object";
|
|
22404
|
-
};
|
|
22405
|
-
var isArray = (v) => {
|
|
22406
|
-
return Array.isArray(v);
|
|
22407
|
-
};
|
|
22408
|
-
var isString = (v) => {
|
|
22409
|
-
return typeof v === "string";
|
|
22410
|
-
};
|
|
22411
|
-
var isFunction = (v) => {
|
|
22412
|
-
return typeof v === "function";
|
|
22413
|
-
};
|
|
22414
|
-
|
|
22415
22415
|
// packages/qwik/src/build/index.dev.ts
|
|
22416
22416
|
var isDev2 = true;
|
|
22417
22417
|
|
|
@@ -22619,7 +22619,7 @@ var WrappedSignalImpl = class extends SignalImpl {
|
|
|
22619
22619
|
this.$funcStr$ = fnStr;
|
|
22620
22620
|
this.$flags$ = flags;
|
|
22621
22621
|
}
|
|
22622
|
-
|
|
22622
|
+
invalidate() {
|
|
22623
22623
|
var _a;
|
|
22624
22624
|
this.$flags$ |= 1 /* INVALID */;
|
|
22625
22625
|
this.$forceRunEffects$ = false;
|
|
@@ -22635,9 +22635,14 @@ var WrappedSignalImpl = class extends SignalImpl {
|
|
|
22635
22635
|
* remained the same object.
|
|
22636
22636
|
*/
|
|
22637
22637
|
force() {
|
|
22638
|
-
|
|
22639
|
-
this.$forceRunEffects$ =
|
|
22640
|
-
|
|
22638
|
+
var _a;
|
|
22639
|
+
this.$forceRunEffects$ = true;
|
|
22640
|
+
(_a = this.$container$) == null ? void 0 : _a.$scheduler$(
|
|
22641
|
+
7 /* RECOMPUTE_AND_SCHEDULE_EFFECTS */,
|
|
22642
|
+
this.$hostElement$,
|
|
22643
|
+
this,
|
|
22644
|
+
this.$effects$
|
|
22645
|
+
);
|
|
22641
22646
|
}
|
|
22642
22647
|
get untrackedValue() {
|
|
22643
22648
|
const didChange = this.$computeIfNeeded$();
|
|
@@ -22744,7 +22749,7 @@ var newInvokeContextFromTuple = ([element, event, url]) => {
|
|
|
22744
22749
|
return newInvokeContext(locale, hostElement, element, event, url);
|
|
22745
22750
|
};
|
|
22746
22751
|
var newInvokeContext = (locale, hostElement, element, event, url) => {
|
|
22747
|
-
const $locale$ = locale || (
|
|
22752
|
+
const $locale$ = locale || (event && isObject(event) && "locale" in event ? event.locale : void 0);
|
|
22748
22753
|
const ctx = {
|
|
22749
22754
|
$url$: url,
|
|
22750
22755
|
$i$: 0,
|
|
@@ -22863,7 +22868,7 @@ var StoreHandler = class {
|
|
|
22863
22868
|
return this.toString;
|
|
22864
22869
|
}
|
|
22865
22870
|
const flags = this.$flags$;
|
|
22866
|
-
if (flags & 1 /* RECURSIVE */ &&
|
|
22871
|
+
if (flags & 1 /* RECURSIVE */ && isObject(value) && !Object.isFrozen(value) && !isStore(value) && !Object.isFrozen(target)) {
|
|
22867
22872
|
return getOrCreateStore(value, this.$flags$, this.$container$);
|
|
22868
22873
|
}
|
|
22869
22874
|
return value;
|
|
@@ -23284,6 +23289,7 @@ var inlinedQrl = (symbol, symbolName, lexicalScopeCapture = EMPTY_ARRAY) => {
|
|
|
23284
23289
|
var _CONST_PROPS = Symbol("CONST");
|
|
23285
23290
|
var _VAR_PROPS = Symbol("VAR");
|
|
23286
23291
|
var _IMMUTABLE = Symbol("IMMUTABLE");
|
|
23292
|
+
var _UNINITIALIZED = Symbol("UNINITIALIZED");
|
|
23287
23293
|
|
|
23288
23294
|
// packages/qwik/src/core/shared/qrl/qrl.public.ts
|
|
23289
23295
|
var runtimeSymbolId = 0;
|
|
@@ -23318,12 +23324,12 @@ var ComputedSignalImpl = class extends SignalImpl {
|
|
|
23318
23324
|
$flags$;
|
|
23319
23325
|
$forceRunEffects$ = false;
|
|
23320
23326
|
[_EFFECT_BACK_REF] = null;
|
|
23321
|
-
constructor(container, fn, flags = 1 /* INVALID */) {
|
|
23327
|
+
constructor(container, fn, flags = 1 /* INVALID */ | 16 /* SERIALIZATION_STRATEGY_ALWAYS */) {
|
|
23322
23328
|
super(container, NEEDS_COMPUTATION);
|
|
23323
23329
|
this.$computeQrl$ = fn;
|
|
23324
23330
|
this.$flags$ = flags;
|
|
23325
23331
|
}
|
|
23326
|
-
|
|
23332
|
+
invalidate() {
|
|
23327
23333
|
var _a;
|
|
23328
23334
|
this.$flags$ |= 1 /* INVALID */;
|
|
23329
23335
|
this.$forceRunEffects$ = false;
|
|
@@ -23401,7 +23407,11 @@ var DEBUG4 = false;
|
|
|
23401
23407
|
var log4 = (...args) => console.log("SERIALIZER SIGNAL", ...args.map(qwikDebugToString));
|
|
23402
23408
|
var SerializerSignalImpl = class extends ComputedSignalImpl {
|
|
23403
23409
|
constructor(container, argQrl) {
|
|
23404
|
-
super(
|
|
23410
|
+
super(
|
|
23411
|
+
container,
|
|
23412
|
+
argQrl,
|
|
23413
|
+
1 /* INVALID */ | 16 /* SERIALIZATION_STRATEGY_ALWAYS */
|
|
23414
|
+
);
|
|
23405
23415
|
}
|
|
23406
23416
|
$didInitialize$ = false;
|
|
23407
23417
|
$computeIfNeeded$() {
|
|
@@ -23417,7 +23427,7 @@ var SerializerSignalImpl = class extends ComputedSignalImpl {
|
|
|
23417
23427
|
const update = arg.update;
|
|
23418
23428
|
const currentValue = this.$untrackedValue$ === NEEDS_COMPUTATION ? initial : this.$untrackedValue$;
|
|
23419
23429
|
const untrackedValue = trackSignal(
|
|
23420
|
-
() => this.$didInitialize$ ? update == null ? void 0 : update(currentValue) : deserialize(currentValue),
|
|
23430
|
+
() => this.$didInitialize$ ? (update == null ? void 0 : update(currentValue)) || currentValue : deserialize(currentValue),
|
|
23421
23431
|
this,
|
|
23422
23432
|
"." /* VNODE */,
|
|
23423
23433
|
this.$container$
|
|
@@ -23494,7 +23504,7 @@ var AsyncComputedSignalImpl = class extends ComputedSignalImpl {
|
|
|
23494
23504
|
$loadingEffects$ = null;
|
|
23495
23505
|
$errorEffects$ = null;
|
|
23496
23506
|
$destroy$;
|
|
23497
|
-
$promiseValue$ =
|
|
23507
|
+
$promiseValue$ = NEEDS_COMPUTATION;
|
|
23498
23508
|
[_EFFECT_BACK_REF] = null;
|
|
23499
23509
|
constructor(container, fn, flags = 1 /* INVALID */) {
|
|
23500
23510
|
super(container, fn, flags);
|
|
@@ -23548,6 +23558,10 @@ var AsyncComputedSignalImpl = class extends ComputedSignalImpl {
|
|
|
23548
23558
|
get untrackedError() {
|
|
23549
23559
|
return this.$untrackedError$;
|
|
23550
23560
|
}
|
|
23561
|
+
invalidate() {
|
|
23562
|
+
super.invalidate();
|
|
23563
|
+
this.$promiseValue$ = NEEDS_COMPUTATION;
|
|
23564
|
+
}
|
|
23551
23565
|
$computeIfNeeded$() {
|
|
23552
23566
|
if (!(this.$flags$ & 1 /* INVALID */)) {
|
|
23553
23567
|
return false;
|
|
@@ -23558,10 +23572,10 @@ var AsyncComputedSignalImpl = class extends ComputedSignalImpl {
|
|
|
23558
23572
|
var _a;
|
|
23559
23573
|
return (_a = this.$container$) == null ? void 0 : _a.handleError(err, null);
|
|
23560
23574
|
});
|
|
23561
|
-
const untrackedValue = this.$promiseValue$
|
|
23575
|
+
const untrackedValue = this.$promiseValue$ === NEEDS_COMPUTATION ? computeQrl.getFn()({
|
|
23562
23576
|
track: trackFn(this, this.$container$),
|
|
23563
23577
|
cleanup: cleanup2
|
|
23564
|
-
})
|
|
23578
|
+
}) : this.$promiseValue$;
|
|
23565
23579
|
if (isPromise(untrackedValue)) {
|
|
23566
23580
|
this.untrackedLoading = true;
|
|
23567
23581
|
this.untrackedError = null;
|
|
@@ -23570,11 +23584,12 @@ var AsyncComputedSignalImpl = class extends ComputedSignalImpl {
|
|
|
23570
23584
|
this.untrackedLoading = false;
|
|
23571
23585
|
this.untrackedError = null;
|
|
23572
23586
|
}).catch((err) => {
|
|
23587
|
+
this.$promiseValue$ = err;
|
|
23573
23588
|
this.untrackedLoading = false;
|
|
23574
23589
|
this.untrackedError = err;
|
|
23575
23590
|
});
|
|
23576
23591
|
}
|
|
23577
|
-
this.$promiseValue$ =
|
|
23592
|
+
this.$promiseValue$ = NEEDS_COMPUTATION;
|
|
23578
23593
|
DEBUG5 && log5("Signal.$asyncCompute$", untrackedValue);
|
|
23579
23594
|
this.$flags$ &= ~1 /* INVALID */;
|
|
23580
23595
|
const didChange = untrackedValue !== this.$untrackedValue$;
|
|
@@ -23587,7 +23602,6 @@ var AsyncComputedSignalImpl = class extends ComputedSignalImpl {
|
|
|
23587
23602
|
|
|
23588
23603
|
// packages/qwik/src/core/reactive-primitives/signal-api.ts
|
|
23589
23604
|
var createSerializerSignal = (arg) => {
|
|
23590
|
-
throwIfQRLNotResolved(arg);
|
|
23591
23605
|
return new SerializerSignalImpl(null, arg);
|
|
23592
23606
|
};
|
|
23593
23607
|
|
|
@@ -24167,9 +24181,12 @@ var executeComponent = (container, renderHost, subscriptionHost, componentQRL, p
|
|
|
24167
24181
|
(err) => {
|
|
24168
24182
|
if (isPromise(err) && retryCount < MAX_RETRY_ON_PROMISE_COUNT) {
|
|
24169
24183
|
return err.then(
|
|
24170
|
-
() => executeComponentWithPromiseExceptionRetry(retryCount
|
|
24184
|
+
() => executeComponentWithPromiseExceptionRetry(++retryCount)
|
|
24171
24185
|
);
|
|
24172
24186
|
} else {
|
|
24187
|
+
if (retryCount >= MAX_RETRY_ON_PROMISE_COUNT) {
|
|
24188
|
+
throw new Error(`Max retry count of component execution reached`);
|
|
24189
|
+
}
|
|
24173
24190
|
throw err;
|
|
24174
24191
|
}
|
|
24175
24192
|
}
|
|
@@ -25726,7 +25743,7 @@ var createScheduler = (container, scheduleDrain, journalFlush) => {
|
|
|
25726
25743
|
if (target instanceof ComputedSignalImpl || target instanceof WrappedSignalImpl) {
|
|
25727
25744
|
const forceRunEffects = target.$forceRunEffects$;
|
|
25728
25745
|
target.$forceRunEffects$ = false;
|
|
25729
|
-
if (!(effects == null ? void 0 : effects.size)) {
|
|
25746
|
+
if (!(effects == null ? void 0 : effects.size) && !forceRunEffects) {
|
|
25730
25747
|
break;
|
|
25731
25748
|
}
|
|
25732
25749
|
returnValue = maybeThen(
|
|
@@ -26225,7 +26242,7 @@ var ignoreErrorToPreventNodeFromCrashing = (err) => {
|
|
|
26225
26242
|
// packages/qwik/src/core/shared/shared-serialization.ts
|
|
26226
26243
|
var deserializedProxyMap = /* @__PURE__ */ new WeakMap();
|
|
26227
26244
|
var isDeserializerProxy = (value) => {
|
|
26228
|
-
return
|
|
26245
|
+
return isObject(value) && SERIALIZER_PROXY_UNWRAP in value;
|
|
26229
26246
|
};
|
|
26230
26247
|
var SERIALIZER_PROXY_UNWRAP = Symbol("UNWRAP");
|
|
26231
26248
|
var wrapDeserializerProxy = (container, data) => {
|
|
@@ -26415,9 +26432,8 @@ var inflate = (container, target, typeId, data) => {
|
|
|
26415
26432
|
const hasValue = d.length > 6;
|
|
26416
26433
|
if (hasValue) {
|
|
26417
26434
|
asyncComputed.$untrackedValue$ = d[6];
|
|
26418
|
-
} else {
|
|
26419
|
-
asyncComputed.$flags$ |= 1 /* INVALID */;
|
|
26420
26435
|
}
|
|
26436
|
+
asyncComputed.$flags$ |= 1 /* INVALID */;
|
|
26421
26437
|
break;
|
|
26422
26438
|
}
|
|
26423
26439
|
// Inflating a SerializerSignal is the same as inflating a ComputedSignal
|
|
@@ -26512,7 +26528,7 @@ var inflate = (container, target, typeId, data) => {
|
|
|
26512
26528
|
propsProxy[_VAR_PROPS] = data === 0 ? {} : data[0];
|
|
26513
26529
|
propsProxy[_CONST_PROPS] = data[1];
|
|
26514
26530
|
break;
|
|
26515
|
-
case 35 /*
|
|
26531
|
+
case 35 /* SubscriptionData */: {
|
|
26516
26532
|
const effectData = target;
|
|
26517
26533
|
effectData.data.$scopedStyleIdPrefix$ = data[0];
|
|
26518
26534
|
effectData.data.$isConst$ = data[1];
|
|
@@ -26533,6 +26549,7 @@ var _constants = [
|
|
|
26533
26549
|
EMPTY_OBJ,
|
|
26534
26550
|
NEEDS_COMPUTATION,
|
|
26535
26551
|
STORE_ALL_PROPS,
|
|
26552
|
+
_UNINITIALIZED,
|
|
26536
26553
|
Slot,
|
|
26537
26554
|
Fragment,
|
|
26538
26555
|
NaN,
|
|
@@ -26552,6 +26569,7 @@ var _constantNames = [
|
|
|
26552
26569
|
"EMPTY_OBJ",
|
|
26553
26570
|
"NEEDS_COMPUTATION",
|
|
26554
26571
|
"STORE_ALL_PROPS",
|
|
26572
|
+
"_UNINITIALIZED",
|
|
26555
26573
|
"Slot",
|
|
26556
26574
|
"Fragment",
|
|
26557
26575
|
"NaN",
|
|
@@ -26572,7 +26590,12 @@ var allocate = (container, typeId, value) => {
|
|
|
26572
26590
|
if (!container.$forwardRefs$) {
|
|
26573
26591
|
throw qError(18 /* serializeErrorCannotAllocate */, ["forward ref"]);
|
|
26574
26592
|
}
|
|
26575
|
-
|
|
26593
|
+
const rootRef = container.$forwardRefs$[value];
|
|
26594
|
+
if (rootRef === -1) {
|
|
26595
|
+
return _UNINITIALIZED;
|
|
26596
|
+
} else {
|
|
26597
|
+
return container.$getObjectById$(rootRef);
|
|
26598
|
+
}
|
|
26576
26599
|
case 2 /* ForwardRefs */:
|
|
26577
26600
|
return value;
|
|
26578
26601
|
case 3 /* Constant */:
|
|
@@ -26668,7 +26691,7 @@ var allocate = (container, typeId, value) => {
|
|
|
26668
26691
|
} else {
|
|
26669
26692
|
throw qError(17 /* serializeErrorExpectedVNode */, [typeof vNode]);
|
|
26670
26693
|
}
|
|
26671
|
-
case 35 /*
|
|
26694
|
+
case 35 /* SubscriptionData */:
|
|
26672
26695
|
return new SubscriptionData({});
|
|
26673
26696
|
default:
|
|
26674
26697
|
throw qError(18 /* serializeErrorCannotAllocate */, [typeId]);
|
|
@@ -26711,7 +26734,7 @@ var createSerializationContext = (NodeConstructor, DomRefConstructor, symbolToCh
|
|
|
26711
26734
|
};
|
|
26712
26735
|
}
|
|
26713
26736
|
const seenObjsMap = /* @__PURE__ */ new Map();
|
|
26714
|
-
const
|
|
26737
|
+
const objectPathStringCache = /* @__PURE__ */ new Map();
|
|
26715
26738
|
const syncFnMap = /* @__PURE__ */ new Map();
|
|
26716
26739
|
const syncFns = [];
|
|
26717
26740
|
const roots = [];
|
|
@@ -26720,7 +26743,7 @@ var createSerializationContext = (NodeConstructor, DomRefConstructor, symbolToCh
|
|
|
26720
26743
|
return seenObjsMap.set(obj, { $parent$: parent, $index$: index, $rootIndex$: -1 });
|
|
26721
26744
|
};
|
|
26722
26745
|
const $addRootPath$ = (obj) => {
|
|
26723
|
-
const rootPath =
|
|
26746
|
+
const rootPath = objectPathStringCache.get(obj);
|
|
26724
26747
|
if (rootPath) {
|
|
26725
26748
|
return rootPath;
|
|
26726
26749
|
}
|
|
@@ -26738,7 +26761,7 @@ var createSerializationContext = (NodeConstructor, DomRefConstructor, symbolToCh
|
|
|
26738
26761
|
current = seenObjsMap.get(current.$parent$);
|
|
26739
26762
|
}
|
|
26740
26763
|
const pathStr = path.length > 1 ? path.join(" ") : path.length ? path[0] : seen.$index$;
|
|
26741
|
-
|
|
26764
|
+
objectPathStringCache.set(obj, pathStr);
|
|
26742
26765
|
return pathStr;
|
|
26743
26766
|
};
|
|
26744
26767
|
const $addRoot$ = (obj, parent = null) => {
|
|
@@ -26803,7 +26826,7 @@ var createSerializationContext = (NodeConstructor, DomRefConstructor, symbolToCh
|
|
|
26803
26826
|
$storeProxyMap$: storeProxyMap,
|
|
26804
26827
|
$getProp$: getProp,
|
|
26805
26828
|
$setProp$: setProp,
|
|
26806
|
-
$
|
|
26829
|
+
$objectPathStringCache$: objectPathStringCache
|
|
26807
26830
|
};
|
|
26808
26831
|
};
|
|
26809
26832
|
function $discoverRoots$(serializationContext, obj, parent, index) {
|
|
@@ -26825,7 +26848,7 @@ var discoverValuesForVNodeData = (vnodeData, callback) => {
|
|
|
26825
26848
|
for (let i = 1; i < value.length; i += 2) {
|
|
26826
26849
|
const keyValue = value[i - 1];
|
|
26827
26850
|
const attrValue = value[i];
|
|
26828
|
-
if (typeof attrValue === "string" || // skip empty props
|
|
26851
|
+
if (attrValue == null || typeof attrValue === "string" || // skip empty props
|
|
26829
26852
|
keyValue === ELEMENT_PROPS && Object.keys(attrValue).length === 0) {
|
|
26830
26853
|
continue;
|
|
26831
26854
|
}
|
|
@@ -26843,13 +26866,28 @@ var PromiseResult = class {
|
|
|
26843
26866
|
this.$qrl$ = $qrl$;
|
|
26844
26867
|
}
|
|
26845
26868
|
};
|
|
26869
|
+
var SerializationWeakRef = class {
|
|
26870
|
+
constructor($obj$) {
|
|
26871
|
+
this.$obj$ = $obj$;
|
|
26872
|
+
}
|
|
26873
|
+
};
|
|
26846
26874
|
async function serialize(serializationContext) {
|
|
26847
|
-
const {
|
|
26875
|
+
const {
|
|
26876
|
+
$writer$,
|
|
26877
|
+
$isSsrNode$,
|
|
26878
|
+
$isDomRef$,
|
|
26879
|
+
$storeProxyMap$,
|
|
26880
|
+
$addRoot$,
|
|
26881
|
+
$objectPathStringCache$,
|
|
26882
|
+
$wasSeen$
|
|
26883
|
+
} = serializationContext;
|
|
26848
26884
|
let depth = 0;
|
|
26885
|
+
let rootIdx = 0;
|
|
26849
26886
|
const forwardRefs = [];
|
|
26850
26887
|
let forwardRefsId = 0;
|
|
26851
26888
|
const promises = /* @__PURE__ */ new Set();
|
|
26852
26889
|
const preloadQrls = /* @__PURE__ */ new Set();
|
|
26890
|
+
const s11nWeakRefs = /* @__PURE__ */ new Map();
|
|
26853
26891
|
let parent = null;
|
|
26854
26892
|
const isRootObject = () => depth === 0;
|
|
26855
26893
|
const outputArray = (value, writeFn) => {
|
|
@@ -26890,17 +26928,27 @@ async function serialize(serializationContext) {
|
|
|
26890
26928
|
};
|
|
26891
26929
|
const addPreloadQrl = (qrl) => {
|
|
26892
26930
|
preloadQrls.add(qrl);
|
|
26893
|
-
serializationContext.$addRoot$(qrl
|
|
26931
|
+
serializationContext.$addRoot$(qrl);
|
|
26894
26932
|
};
|
|
26895
|
-
const
|
|
26933
|
+
const outputAsRootRef = (value, rootDepth = 0) => {
|
|
26896
26934
|
const seen = $wasSeen$(value);
|
|
26897
|
-
const rootRefPath = $
|
|
26935
|
+
const rootRefPath = $objectPathStringCache$.get(value);
|
|
26898
26936
|
if (rootDepth === depth && seen && seen.$parent$ !== null && rootRefPath) {
|
|
26899
26937
|
output(0 /* RootRef */, rootRefPath);
|
|
26900
26938
|
return true;
|
|
26901
26939
|
} else if (depth > rootDepth && seen && seen.$rootIndex$ !== -1) {
|
|
26902
26940
|
output(0 /* RootRef */, seen.$rootIndex$);
|
|
26903
26941
|
return true;
|
|
26942
|
+
} else if (s11nWeakRefs.has(value)) {
|
|
26943
|
+
const forwardRefId = s11nWeakRefs.get(value);
|
|
26944
|
+
if (rootDepth === depth) {
|
|
26945
|
+
forwardRefs[forwardRefId] = rootIdx;
|
|
26946
|
+
} else {
|
|
26947
|
+
const rootRef = $addRoot$(value);
|
|
26948
|
+
output(0 /* RootRef */, rootRef);
|
|
26949
|
+
forwardRefs[forwardRefId] = rootRef;
|
|
26950
|
+
return true;
|
|
26951
|
+
}
|
|
26904
26952
|
}
|
|
26905
26953
|
return false;
|
|
26906
26954
|
};
|
|
@@ -26913,11 +26961,11 @@ async function serialize(serializationContext) {
|
|
|
26913
26961
|
output(3 /* Constant */, value ? 2 /* True */ : 3 /* False */);
|
|
26914
26962
|
} else if (typeof value === "function") {
|
|
26915
26963
|
if (value === Slot) {
|
|
26916
|
-
output(3 /* Constant */,
|
|
26964
|
+
output(3 /* Constant */, 10 /* Slot */);
|
|
26917
26965
|
} else if (value === Fragment) {
|
|
26918
|
-
output(3 /* Constant */,
|
|
26966
|
+
output(3 /* Constant */, 11 /* Fragment */);
|
|
26919
26967
|
} else if (isQrl(value)) {
|
|
26920
|
-
if (!
|
|
26968
|
+
if (!outputAsRootRef(value)) {
|
|
26921
26969
|
const qrl = qrlToString(serializationContext, value);
|
|
26922
26970
|
const type = preloadQrls.has(value) ? 21 /* PreloadQRL */ : 20 /* QRL */;
|
|
26923
26971
|
if (isRootObject()) {
|
|
@@ -26936,18 +26984,18 @@ async function serialize(serializationContext) {
|
|
|
26936
26984
|
}
|
|
26937
26985
|
} else if (typeof value === "number") {
|
|
26938
26986
|
if (Number.isNaN(value)) {
|
|
26939
|
-
output(3 /* Constant */,
|
|
26987
|
+
output(3 /* Constant */, 12 /* NaN */);
|
|
26940
26988
|
} else if (!Number.isFinite(value)) {
|
|
26941
26989
|
output(
|
|
26942
26990
|
3 /* Constant */,
|
|
26943
|
-
value < 0 ?
|
|
26991
|
+
value < 0 ? 14 /* NegativeInfinity */ : 13 /* PositiveInfinity */
|
|
26944
26992
|
);
|
|
26945
26993
|
} else if (value === Number.MAX_SAFE_INTEGER) {
|
|
26946
|
-
output(3 /* Constant */,
|
|
26994
|
+
output(3 /* Constant */, 15 /* MaxSafeInt */);
|
|
26947
26995
|
} else if (value === Number.MAX_SAFE_INTEGER - 1) {
|
|
26948
|
-
output(3 /* Constant */,
|
|
26996
|
+
output(3 /* Constant */, 16 /* AlmostMaxSafeInt */);
|
|
26949
26997
|
} else if (value === Number.MIN_SAFE_INTEGER) {
|
|
26950
|
-
output(3 /* Constant */,
|
|
26998
|
+
output(3 /* Constant */, 17 /* MinSafeInt */);
|
|
26951
26999
|
} else {
|
|
26952
27000
|
output(4 /* Number */, value);
|
|
26953
27001
|
}
|
|
@@ -26970,7 +27018,7 @@ async function serialize(serializationContext) {
|
|
|
26970
27018
|
if (value.length === 0) {
|
|
26971
27019
|
output(3 /* Constant */, 4 /* EmptyString */);
|
|
26972
27020
|
} else {
|
|
26973
|
-
if (!
|
|
27021
|
+
if (!outputAsRootRef(value)) {
|
|
26974
27022
|
output(5 /* String */, value);
|
|
26975
27023
|
}
|
|
26976
27024
|
}
|
|
@@ -26980,12 +27028,14 @@ async function serialize(serializationContext) {
|
|
|
26980
27028
|
output(3 /* Constant */, 7 /* NEEDS_COMPUTATION */);
|
|
26981
27029
|
} else if (value === STORE_ALL_PROPS) {
|
|
26982
27030
|
output(3 /* Constant */, 8 /* STORE_ALL_PROPS */);
|
|
27031
|
+
} else if (value === _UNINITIALIZED) {
|
|
27032
|
+
output(3 /* Constant */, 9 /* UNINITIALIZED */);
|
|
26983
27033
|
} else {
|
|
26984
27034
|
throw qError(20 /* serializeErrorUnknownType */, [typeof value]);
|
|
26985
27035
|
}
|
|
26986
27036
|
};
|
|
26987
27037
|
const writeObjectValue = (value) => {
|
|
26988
|
-
if (
|
|
27038
|
+
if (outputAsRootRef(value, 1)) {
|
|
26989
27039
|
return;
|
|
26990
27040
|
}
|
|
26991
27041
|
if (isPropsProxy(value)) {
|
|
@@ -26994,7 +27044,7 @@ async function serialize(serializationContext) {
|
|
|
26994
27044
|
const out = constProps ? [varProps, constProps] : Object.keys(varProps).length ? [varProps] : 0;
|
|
26995
27045
|
output(34 /* PropsProxy */, out);
|
|
26996
27046
|
} else if (value instanceof SubscriptionData) {
|
|
26997
|
-
output(35 /*
|
|
27047
|
+
output(35 /* SubscriptionData */, [value.data.$scopedStyleIdPrefix$, value.data.$isConst$]);
|
|
26998
27048
|
} else if (isStore(value)) {
|
|
26999
27049
|
if (isResource(value)) {
|
|
27000
27050
|
serializationContext.$resources$.add(value);
|
|
@@ -27073,7 +27123,6 @@ async function serialize(serializationContext) {
|
|
|
27073
27123
|
output(1 /* ForwardRef */, forwardRefId);
|
|
27074
27124
|
return;
|
|
27075
27125
|
}
|
|
27076
|
-
const v = value instanceof ComputedSignalImpl && (value.$flags$ & 1 /* INVALID */ || fastSkipSerialize(value.$untrackedValue$)) ? NEEDS_COMPUTATION : value.$untrackedValue$;
|
|
27077
27126
|
if (value instanceof WrappedSignalImpl) {
|
|
27078
27127
|
output(26 /* WrappedSignal */, [
|
|
27079
27128
|
...serializeWrappingFn(serializationContext, value),
|
|
@@ -27082,33 +27131,36 @@ async function serialize(serializationContext) {
|
|
|
27082
27131
|
value.$hostElement$,
|
|
27083
27132
|
...value.$effects$ || []
|
|
27084
27133
|
]);
|
|
27085
|
-
} else if (value instanceof AsyncComputedSignalImpl) {
|
|
27086
|
-
addPreloadQrl(value.$computeQrl$);
|
|
27087
|
-
const out = [
|
|
27088
|
-
value.$computeQrl$,
|
|
27089
|
-
value.$effects$,
|
|
27090
|
-
value.$loadingEffects$,
|
|
27091
|
-
value.$errorEffects$,
|
|
27092
|
-
value.$untrackedLoading$,
|
|
27093
|
-
value.$untrackedError$
|
|
27094
|
-
];
|
|
27095
|
-
if (v !== NEEDS_COMPUTATION) {
|
|
27096
|
-
out.push(v);
|
|
27097
|
-
}
|
|
27098
|
-
output(28 /* AsyncComputedSignal */, out);
|
|
27099
27134
|
} else if (value instanceof ComputedSignalImpl) {
|
|
27135
|
+
let v = value.$untrackedValue$;
|
|
27136
|
+
const shouldAlwaysSerialize = value.$flags$ & 16 /* SERIALIZATION_STRATEGY_ALWAYS */;
|
|
27137
|
+
const shouldNeverSerialize = value.$flags$ & 8 /* SERIALIZATION_STRATEGY_NEVER */;
|
|
27138
|
+
const isInvalid = value.$flags$ & 1 /* INVALID */;
|
|
27139
|
+
const isSkippable = fastSkipSerialize(value.$untrackedValue$);
|
|
27140
|
+
if (shouldAlwaysSerialize) {
|
|
27141
|
+
v = value.$untrackedValue$;
|
|
27142
|
+
} else if (shouldNeverSerialize) {
|
|
27143
|
+
v = NEEDS_COMPUTATION;
|
|
27144
|
+
} else if (isInvalid || isSkippable) {
|
|
27145
|
+
v = NEEDS_COMPUTATION;
|
|
27146
|
+
}
|
|
27100
27147
|
addPreloadQrl(value.$computeQrl$);
|
|
27101
|
-
const out = [
|
|
27102
|
-
|
|
27103
|
-
|
|
27104
|
-
|
|
27105
|
-
|
|
27148
|
+
const out = [value.$computeQrl$, value.$effects$];
|
|
27149
|
+
const isAsync = value instanceof AsyncComputedSignalImpl;
|
|
27150
|
+
if (isAsync) {
|
|
27151
|
+
out.push(
|
|
27152
|
+
value.$loadingEffects$,
|
|
27153
|
+
value.$errorEffects$,
|
|
27154
|
+
value.$untrackedLoading$,
|
|
27155
|
+
value.$untrackedError$
|
|
27156
|
+
);
|
|
27157
|
+
}
|
|
27106
27158
|
if (v !== NEEDS_COMPUTATION) {
|
|
27107
27159
|
out.push(v);
|
|
27108
27160
|
}
|
|
27109
|
-
output(27 /* ComputedSignal */, out);
|
|
27161
|
+
output(isAsync ? 28 /* AsyncComputedSignal */ : 27 /* ComputedSignal */, out);
|
|
27110
27162
|
} else {
|
|
27111
|
-
output(25 /* Signal */, [
|
|
27163
|
+
output(25 /* Signal */, [value.$untrackedValue$, ...value.$effects$ || []]);
|
|
27112
27164
|
}
|
|
27113
27165
|
} else if (value instanceof URL) {
|
|
27114
27166
|
output(7 /* URL */, value.href);
|
|
@@ -27217,6 +27269,11 @@ async function serialize(serializationContext) {
|
|
|
27217
27269
|
}
|
|
27218
27270
|
const out = btoa(buf).replace(/=+$/, "");
|
|
27219
27271
|
output(19 /* Uint8Array */, out);
|
|
27272
|
+
} else if (value instanceof SerializationWeakRef) {
|
|
27273
|
+
const forwardRefId = forwardRefsId++;
|
|
27274
|
+
s11nWeakRefs.set(value.$obj$, forwardRefId);
|
|
27275
|
+
forwardRefs[forwardRefId] = -1;
|
|
27276
|
+
output(1 /* ForwardRef */, forwardRefId);
|
|
27220
27277
|
} else if (vnode_isVNode(value)) {
|
|
27221
27278
|
output(3 /* Constant */, 0 /* Undefined */);
|
|
27222
27279
|
} else {
|
|
@@ -27237,20 +27294,19 @@ async function serialize(serializationContext) {
|
|
|
27237
27294
|
}
|
|
27238
27295
|
const outputRoots = async () => {
|
|
27239
27296
|
$writer$.write("[");
|
|
27240
|
-
let lastRootsLength = 0;
|
|
27241
27297
|
let rootsLength = serializationContext.$roots$.length;
|
|
27242
|
-
while (
|
|
27243
|
-
if (
|
|
27298
|
+
while (rootIdx < rootsLength || promises.size) {
|
|
27299
|
+
if (rootIdx !== 0) {
|
|
27244
27300
|
$writer$.write(",");
|
|
27245
27301
|
}
|
|
27246
27302
|
let separator = false;
|
|
27247
|
-
for (
|
|
27303
|
+
for (; rootIdx < rootsLength; rootIdx++) {
|
|
27248
27304
|
if (separator) {
|
|
27249
27305
|
$writer$.write(",");
|
|
27250
27306
|
} else {
|
|
27251
27307
|
separator = true;
|
|
27252
27308
|
}
|
|
27253
|
-
writeValue(serializationContext.$roots$[
|
|
27309
|
+
writeValue(serializationContext.$roots$[rootIdx]);
|
|
27254
27310
|
}
|
|
27255
27311
|
if (promises.size) {
|
|
27256
27312
|
try {
|
|
@@ -27258,7 +27314,6 @@ async function serialize(serializationContext) {
|
|
|
27258
27314
|
} catch {
|
|
27259
27315
|
}
|
|
27260
27316
|
}
|
|
27261
|
-
lastRootsLength = rootsLength;
|
|
27262
27317
|
rootsLength = serializationContext.$roots$.length;
|
|
27263
27318
|
}
|
|
27264
27319
|
if (forwardRefs.length) {
|
|
@@ -27433,7 +27488,7 @@ function shouldTrackObj(obj) {
|
|
|
27433
27488
|
return (
|
|
27434
27489
|
// THINK: Not sure if we need to keep track of functions (QRLs) Let's skip them for now.
|
|
27435
27490
|
// and see if we have a test case which requires them.
|
|
27436
|
-
|
|
27491
|
+
isObject(obj) || /**
|
|
27437
27492
|
* We track all strings greater than 1 character, because those take at least 6 bytes to encode
|
|
27438
27493
|
* and even with 999 root objects it saves one byte per reference. Tracking more objects makes
|
|
27439
27494
|
* the map bigger so we want to strike a balance
|
|
@@ -27449,7 +27504,7 @@ function isResource(value) {
|
|
|
27449
27504
|
return "__brand" in value && value.__brand === "resource";
|
|
27450
27505
|
}
|
|
27451
27506
|
var frameworkType = (obj) => {
|
|
27452
|
-
return
|
|
27507
|
+
return isObject(obj) && (obj instanceof SignalImpl || obj instanceof Task || isJSXNode(obj)) || isQrl(obj);
|
|
27453
27508
|
};
|
|
27454
27509
|
var canSerialize = (value, seen = /* @__PURE__ */ new WeakSet()) => {
|
|
27455
27510
|
if (value == null || typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") {
|
|
@@ -27513,6 +27568,8 @@ var canSerialize = (value, seen = /* @__PURE__ */ new WeakSet()) => {
|
|
|
27513
27568
|
if (isQrl(value) || isQwikComponent(value)) {
|
|
27514
27569
|
return true;
|
|
27515
27570
|
}
|
|
27571
|
+
} else if (value === _UNINITIALIZED) {
|
|
27572
|
+
return true;
|
|
27516
27573
|
}
|
|
27517
27574
|
return false;
|
|
27518
27575
|
};
|
|
@@ -27553,14 +27610,14 @@ var _typeIdNames = [
|
|
|
27553
27610
|
"FormData",
|
|
27554
27611
|
"JSXNode",
|
|
27555
27612
|
"PropsProxy",
|
|
27556
|
-
"
|
|
27613
|
+
"SubscriptionData"
|
|
27557
27614
|
];
|
|
27558
27615
|
var circularProofJson = (obj, indent) => {
|
|
27559
27616
|
const seen = /* @__PURE__ */ new WeakSet();
|
|
27560
27617
|
return JSON.stringify(
|
|
27561
27618
|
obj,
|
|
27562
|
-
(
|
|
27563
|
-
if (
|
|
27619
|
+
(_, value) => {
|
|
27620
|
+
if (isObject(value)) {
|
|
27564
27621
|
if (seen.has(value)) {
|
|
27565
27622
|
return `[Circular ${value.constructor.name}]`;
|
|
27566
27623
|
}
|
|
@@ -27596,7 +27653,7 @@ var dumpState = (state, color = false, prefix = "", limit = 20) => {
|
|
|
27596
27653
|
if (key === void 0) {
|
|
27597
27654
|
hasRaw = true;
|
|
27598
27655
|
out.push(
|
|
27599
|
-
`${RED}[raw${
|
|
27656
|
+
`${RED}[raw${isObject(value) ? ` ${value.constructor.name}` : ""}]${RESET} ${printRaw(value, `${prefix} `)}`
|
|
27600
27657
|
);
|
|
27601
27658
|
} else {
|
|
27602
27659
|
if (key === 3 /* Constant */) {
|
|
@@ -27724,10 +27781,10 @@ var shouldSerialize = (obj) => {
|
|
|
27724
27781
|
return true;
|
|
27725
27782
|
};
|
|
27726
27783
|
var fastSkipSerialize = (obj) => {
|
|
27727
|
-
return obj && (
|
|
27784
|
+
return obj && (isObject(obj) || typeof obj === "function") && (NoSerializeSymbol in obj || noSerializeSet.has(obj));
|
|
27728
27785
|
};
|
|
27729
27786
|
var noSerialize = (input) => {
|
|
27730
|
-
if (
|
|
27787
|
+
if (isObject(input) && input !== null || typeof input === "function") {
|
|
27731
27788
|
noSerializeSet.add(input);
|
|
27732
27789
|
}
|
|
27733
27790
|
return input;
|
|
@@ -28665,7 +28722,7 @@ var triggerEffects = (container, signal, effects) => {
|
|
|
28665
28722
|
container.$scheduler$(1 /* QRL_RESOLVE */, null, consumer.$computeQrl$);
|
|
28666
28723
|
}
|
|
28667
28724
|
}
|
|
28668
|
-
consumer
|
|
28725
|
+
consumer.invalidate();
|
|
28669
28726
|
} else if (property === ":" /* COMPONENT */) {
|
|
28670
28727
|
const host = consumer;
|
|
28671
28728
|
const qrl = container.getHostProp(host, OnRenderProp);
|
|
@@ -28697,7 +28754,7 @@ var triggerEffects = (container, signal, effects) => {
|
|
|
28697
28754
|
DEBUG7 && log6("done scheduling");
|
|
28698
28755
|
};
|
|
28699
28756
|
var isSerializerObj = (obj) => {
|
|
28700
|
-
return
|
|
28757
|
+
return isObject(obj) && typeof obj[SerializerSymbol] === "function";
|
|
28701
28758
|
};
|
|
28702
28759
|
|
|
28703
28760
|
// packages/qwik/src/core/debug.ts
|
|
@@ -32654,7 +32711,7 @@ var SSRContainer = class extends import_core6._SharedContainer {
|
|
|
32654
32711
|
const qwikLoaderScript = getQwikLoaderScript({
|
|
32655
32712
|
debug: this.renderOptions.debug
|
|
32656
32713
|
});
|
|
32657
|
-
const scriptAttrs = ["id", "qwikloader", "async", true];
|
|
32714
|
+
const scriptAttrs = ["id", "qwikloader", "async", true, "type", "module"];
|
|
32658
32715
|
const nonce = (_a = this.renderOptions.serverData) == null ? void 0 : _a.nonce;
|
|
32659
32716
|
if (nonce) {
|
|
32660
32717
|
scriptAttrs.push("nonce", nonce);
|