bc518174
王天杨
提交两个项目文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import { union, without } from './utils/js_utils.js';
export class EnterLeaveCounter {
enter(enteringNode) {
const previousLength = this.entered.length;
const isNodeEntered = (node)=>this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode))
;
this.entered = union(this.entered.filter(isNodeEntered), [
enteringNode
]);
return previousLength === 0 && this.entered.length > 0;
}
leave(leavingNode) {
const previousLength = this.entered.length;
this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode);
return previousLength > 0 && this.entered.length === 0;
}
reset() {
this.entered = [];
}
constructor(isNodeInDocument){
this.entered = [];
this.isNodeInDocument = isNodeInDocument;
}
}
//# sourceMappingURL=EnterLeaveCounter.js.map
|