MCPcopy
hub / github.com/darkreader/darkreader / onChange

Method onChange

src/utils/state-manager-impl.ts:154–179  ·  view source on GitHub ↗
(state: T)

Source from the content-addressed store, hash-verified

152 }
153
154 private onChange(state: T) {
155 switch (this.meta) {
156 case StateManagerImplState.INITIAL:
157 this.meta = StateManagerImplState.READY;
158 // fallthrough
159 case StateManagerImplState.READY:
160 this.applyState(state);
161 this.notifyListeners();
162 return;
163 case StateManagerImplState.LOADING:
164 this.meta = StateManagerImplState.ONCHANGE_RACE;
165 return;
166 case StateManagerImplState.SAVING:
167 this.meta = StateManagerImplState.ONCHANGE_RACE;
168 return;
169 case StateManagerImplState.SAVING_OVERRIDE:
170 this.meta = StateManagerImplState.ONCHANGE_RACE;
171 break;
172 case StateManagerImplState.ONCHANGE_RACE:
173 // We are already waiting for an active read/write operation to end
174 break;
175 case StateManagerImplState.RECOVERY:
176 this.meta = StateManagerImplState.ONCHANGE_RACE;
177 break;
178 }
179 }
180
181 private saveStateInternal() {
182 this.storage.set({[this.localStorageKey]: this.collectState()}, () => {

Callers 15

constructorMethod · 0.95
resetDetectorHintsMethod · 0.80
applyDetectorHintsMethod · 0.80
resetInversionFixesMethod · 0.80
applyInversionFixesMethod · 0.80
resetStaticThemesMethod · 0.80
applyStaticThemesMethod · 0.80
onTextChangeFunction · 0.80
removeValueFunction · 0.80
CheckButtonFunction · 0.80

Calls 2

applyStateMethod · 0.95
notifyListenersMethod · 0.95

Tested by

no test coverage detected