(state: T)
| 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()}, () => { |
no test coverage detected