hasHitDeep is not needed as the only time it's changed we break the loop. It will always be false.
Typecheck if item is null is not needed as typescript figures that out from the loop. Checked both through linting in terminal and in editor. If you are experiencing issues, maybe update Typescript/eslint in your editor or something?
SelectorList type is no longer used since your refactor, let's get rid of the import :)
hasHitDeep
is not needed as the only time it's changed we break the loop. It will always be false.