|
|
@ -93,7 +93,7 @@ export function state(v, stack) {
|
|
|
|
* @returns {Source<V>}
|
|
|
|
* @returns {Source<V>}
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
/*#__NO_SIDE_EFFECTS__*/
|
|
|
|
/*#__NO_SIDE_EFFECTS__*/
|
|
|
|
export function mutable_source(initial_value, immutable = false) {
|
|
|
|
export function mutable_source(initial_value, immutable = false, trackable = true) {
|
|
|
|
const s = source(initial_value);
|
|
|
|
const s = source(initial_value);
|
|
|
|
if (!immutable) {
|
|
|
|
if (!immutable) {
|
|
|
|
s.equals = safe_equals;
|
|
|
|
s.equals = safe_equals;
|
|
|
@ -101,7 +101,7 @@ export function mutable_source(initial_value, immutable = false) {
|
|
|
|
|
|
|
|
|
|
|
|
// bind the signal to the component context, in case we need to
|
|
|
|
// bind the signal to the component context, in case we need to
|
|
|
|
// track updates to trigger beforeUpdate/afterUpdate callbacks
|
|
|
|
// track updates to trigger beforeUpdate/afterUpdate callbacks
|
|
|
|
if (legacy_mode_flag && component_context !== null && component_context.l !== null) {
|
|
|
|
if (trackable && legacy_mode_flag && component_context !== null && component_context.l !== null) {
|
|
|
|
(component_context.l.s ??= []).push(s);
|
|
|
|
(component_context.l.s ??= []).push(s);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|