refactor: simplify logic

This commit is contained in:
Enix 2020-12-16 22:24:27 +08:00 committed by GitHub
parent eeb2aeee00
commit 1d73b52d31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -287,22 +287,15 @@ class FlattenLayer extends CompressLayer {
const rootNode = this.compressedRoot
if (rootNode) {
await traverse(
[rootNode],
rootNode.contents,
async node => {
const overflowChar = node.path[path.length + 1]
const nextChar = path.slice(node.path.length, node.path.length + 1)
const match =
path.startsWith(node.path) &&
(overflowChar === '/' || !overflowChar) &&
(!node.path || nextChar === '/' || !nextChar)
if (node.path) {
// rootNode.path === ''
if (match) {
if (node.path === path) {
// do not wait for expansion for the exact node as that will block "jumping from search"
this.$setExpand(node, true)
} else await this.$setExpand(node, true)
}
const overflowChar = path[node.path.length]
const match = path.startsWith(node.path) && (overflowChar === '/' || !overflowChar)
if (match) {
if (node.path === path) {
// do not wait for expansion for the exact node as that will block "jumping from search"
this.$setExpand(node, true)
} else await this.$setExpand(node, true)
}
return match
},