(newState: DevAppState)
| 59 | |
| 60 | /** Saves the state of the dev app apperance in local storage. */ |
| 61 | export function setAppState(newState: DevAppState): void { |
| 62 | const currentState = getAppState(); |
| 63 | const keys = new Set([...Object.keys(currentState), ...Object.keys(newState)]) as Set< |
| 64 | keyof DevAppState |
| 65 | >; |
| 66 | |
| 67 | // Only write to storage if something actually changed. |
| 68 | for (const key of keys) { |
| 69 | if (currentState[key] !== newState[key]) { |
| 70 | saveToStorage(newState); |
| 71 | break; |
| 72 | } |
| 73 | } |
| 74 | } |
| 75 | |
| 76 | function saveToStorage(value: DevAppState): void { |
| 77 | // Needs a try/catch since some browsers throw an error when accessing in incognito. |
no test coverage detected
searching dependent graphs…