23 lines
520 B
TypeScript
23 lines
520 B
TypeScript
|
|
type UpdateRenderedRESTTabIDsOptions = {
|
||
|
|
renderedTabIDs: string[]
|
||
|
|
activeTabID: string
|
||
|
|
activeTabIDs: string[]
|
||
|
|
maxRenderedTabs: number
|
||
|
|
}
|
||
|
|
|
||
|
|
export function updateRenderedRESTTabIDs({
|
||
|
|
renderedTabIDs,
|
||
|
|
activeTabID,
|
||
|
|
activeTabIDs,
|
||
|
|
maxRenderedTabs,
|
||
|
|
}: UpdateRenderedRESTTabIDsOptions) {
|
||
|
|
const activeTabIDSet = new Set(activeTabIDs)
|
||
|
|
|
||
|
|
return [
|
||
|
|
activeTabID,
|
||
|
|
...renderedTabIDs.filter((tabID) => tabID !== activeTabID),
|
||
|
|
]
|
||
|
|
.filter((tabID) => activeTabIDSet.has(tabID))
|
||
|
|
.slice(0, maxRenderedTabs)
|
||
|
|
}
|