Skip to content

Commit ba1bf52

Browse files
committed
chore(core signals): cleanup
1 parent e04df43 commit ba1bf52

File tree

2 files changed

+18
-16
lines changed

2 files changed

+18
-16
lines changed

packages/qwik/src/core/signal/signal-api.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ import type { QRLInternal } from '../shared/qrl/qrl-class';
22
import type { QRL } from '../shared/qrl/qrl.public';
33
import { ComputedSignal, Signal, throwIfQRLNotResolved } from './signal';
44

5+
/** @internal */
56
export const createSignal = <T>(value?: T) => {
67
return new Signal(null, value);
78
};
89

10+
/** @internal */
911
export const createComputedSignal = <T>(qrl: QRL<() => T>) => {
1012
throwIfQRLNotResolved(qrl);
11-
return new ComputedSignal(null, qrl as QRLInternal<() => T>);
13+
return new ComputedSignal<T>(null, qrl as QRLInternal<() => T>);
1214
};

packages/qwik/src/core/signal/signal.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export const enum WrappedSignalFlags {
6060

6161
export type AllSignalFlags = SignalFlags | WrappedSignalFlags;
6262

63-
export const throwIfQRLNotResolved = <T>(qrl: QRL<() => T>) => {
63+
export const throwIfQRLNotResolved = (qrl: QRL) => {
6464
const resolved = qrl.resolved;
6565
if (!resolved) {
6666
// When we are creating a signal using a use method, we need to ensure
@@ -207,7 +207,6 @@ export class Signal<T = any> implements ISignal<T> {
207207
}
208208
return this.untrackedValue;
209209
}
210-
211210
set value(value) {
212211
if (value !== this.$untrackedValue$) {
213212
DEBUG &&
@@ -334,6 +333,8 @@ export const triggerEffects = (
334333
DEBUG && log('done scheduling');
335334
};
336335

336+
type ComputeQRL<T> = QRLInternal<(prev: T | undefined) => T>;
337+
337338
/**
338339
* A signal which is computed from other signals.
339340
*
@@ -346,14 +347,14 @@ export class ComputedSignal<T> extends Signal<T> implements BackRef {
346347
* The computed functions must be executed synchronously (because of this we need to eagerly
347348
* resolve the QRL during the mark dirty phase so that any call to it will be synchronous). )
348349
*/
349-
$computeQrl$: QRLInternal<() => T>;
350+
$computeQrl$: ComputeQRL<T>;
350351
$flags$: SignalFlags;
351352
$forceRunEffects$: boolean = false;
352353
[_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null = null;
353354

354355
constructor(
355356
container: Container | null,
356-
fn: QRLInternal<() => T>,
357+
fn: ComputeQRL<T>,
357358
// We need a separate flag to know when the computation needs running because
358359
// we need the old value to know if effects need running after computation
359360
flags = SignalFlags.INVALID
@@ -426,14 +427,14 @@ export class ComputedSignal<T> extends Signal<T> implements BackRef {
426427
}
427428
}
428429

429-
// Getters don't get inherited
430-
get value() {
431-
return super.value;
432-
}
433-
430+
// Make this signal read-only
434431
set value(_: any) {
435432
throw qError(QError.computedReadOnly);
436433
}
434+
// Getters don't get inherited when overriding a setter
435+
get value() {
436+
return super.value;
437+
}
437438
}
438439

439440
export class WrappedSignal<T> extends Signal<T> implements BackRef {
@@ -511,13 +512,12 @@ export class WrappedSignal<T> extends Signal<T> implements BackRef {
511512
}
512513
return didChange;
513514
}
514-
515-
// Getters don't get inherited
516-
get value() {
517-
return super.value;
518-
}
519-
515+
// Make this signal read-only
520516
set value(_: any) {
521517
throw qError(QError.wrappedReadOnly);
522518
}
519+
// Getters don't get inherited when overriding a setter
520+
get value() {
521+
return super.value;
522+
}
523523
}

0 commit comments

Comments
 (0)