Revert "[signia] Smart dirty checking of active computeds (#3516)"

This reverts commit 741ed00bda.
pull/3610/head
alex 2024-04-25 13:31:05 +01:00
rodzic 49ac68b9bd
commit f4fc5f17a7
2 zmienionych plików z 3 dodań i 14 usunięć

Wyświetl plik

@ -4,7 +4,7 @@ import { HistoryBuffer } from './HistoryBuffer'
import { maybeCaptureParent, startCapturingParents, stopCapturingParents } from './capture' import { maybeCaptureParent, startCapturingParents, stopCapturingParents } from './capture'
import { GLOBAL_START_EPOCH } from './constants' import { GLOBAL_START_EPOCH } from './constants'
import { EMPTY_ARRAY, equals, haveParentsChanged, singleton } from './helpers' import { EMPTY_ARRAY, equals, haveParentsChanged, singleton } from './helpers'
import { getGlobalEpoch, getIsReacting } from './transactions' import { getGlobalEpoch } from './transactions'
import { Child, ComputeDiff, RESET_VALUE, Signal } from './types' import { Child, ComputeDiff, RESET_VALUE, Signal } from './types'
import { logComputedGetterWarning } from './warnings' import { logComputedGetterWarning } from './warnings'
@ -189,15 +189,8 @@ class __UNSAFE__Computed<Value, Diff = unknown> implements Computed<Value, Diff>
__unsafe__getWithoutCapture(ignoreErrors?: boolean): Value { __unsafe__getWithoutCapture(ignoreErrors?: boolean): Value {
const isNew = this.lastChangedEpoch === GLOBAL_START_EPOCH const isNew = this.lastChangedEpoch === GLOBAL_START_EPOCH
const globalEpoch = getGlobalEpoch() if (!isNew && (this.lastCheckedEpoch === getGlobalEpoch() || !haveParentsChanged(this))) {
this.lastCheckedEpoch = getGlobalEpoch()
if (
!isNew &&
(this.lastCheckedEpoch === globalEpoch ||
(this.isActivelyListening && getIsReacting() && this.lastTraversedEpoch < globalEpoch) ||
!haveParentsChanged(this))
) {
this.lastCheckedEpoch = globalEpoch
if (this.error) { if (this.error) {
if (!ignoreErrors) { if (!ignoreErrors) {
throw this.error.thrownValue throw this.error.thrownValue

Wyświetl plik

@ -70,10 +70,6 @@ export function getGlobalEpoch() {
return inst.globalEpoch return inst.globalEpoch
} }
export function getIsReacting() {
return inst.globalIsReacting
}
/** /**
* Collect all of the reactors that need to run for an atom and run them. * Collect all of the reactors that need to run for an atom and run them.
* *