19 lines
636 B
TypeScript
19 lines
636 B
TypeScript
import { IGNORED_WINDOW_KEYWORDS } from './config'
|
|
|
|
export { IGNORED_WINDOW_KEYWORDS }
|
|
|
|
const normalizedIgnoredWindowKeywords = IGNORED_WINDOW_KEYWORDS.map(keyword => keyword.toLowerCase())
|
|
|
|
interface WindowLike {
|
|
title?: string | null
|
|
path?: string | null
|
|
}
|
|
|
|
export const isIgnoredWindow = ({ title, path }: WindowLike) => {
|
|
const normalizedValue = `${title ?? ''}\n${path ?? ''}`.toLowerCase()
|
|
return normalizedIgnoredWindowKeywords.some(keyword => normalizedValue.includes(keyword))
|
|
}
|
|
|
|
export const filterIgnoredWindows = <T extends WindowLike>(windows: T[]) => {
|
|
return windows.filter(window => !isIgnoredWindow(window))
|
|
} |