21 lines
460 B
TypeScript
21 lines
460 B
TypeScript
import type { GlobalState, TabArgs, TabState } from '../types';
|
|
|
|
import { getCurrentTabId } from '../../util/establishMultitabRole';
|
|
|
|
export function updateTabState<T extends GlobalState>(
|
|
global: T,
|
|
tabStatePartial: Partial<TabState>,
|
|
...[tabId = getCurrentTabId()]: TabArgs<T>
|
|
): T {
|
|
return {
|
|
...global,
|
|
byTabId: {
|
|
...global.byTabId,
|
|
[tabId]: {
|
|
...global.byTabId[tabId],
|
|
...tabStatePartial,
|
|
},
|
|
},
|
|
};
|
|
}
|