delegate node path removal to after call

This commit is contained in:
Sebastian McKenzie
2015-03-10 01:44:58 +11:00
parent 5101664e7d
commit 5e0236d9a7

View File

@@ -57,8 +57,9 @@ export default class TraversalPath {
}
setContext(parentPath, context, key) {
this.shouldSkip = false;
this.shouldStop = false;
this.shouldRemove = false;
this.shouldSkip = false;
this.shouldStop = false;
this.parentPath = parentPath || this.parentPath;
this.context = context;
@@ -70,6 +71,11 @@ export default class TraversalPath {
}
remove() {
this.shouldRemove = true;
this.shouldSkip = true;
}
_remove() {
this._refresh(this.node, []);
this.container[this.key] = null;
this.flatten();
@@ -153,6 +159,10 @@ export default class TraversalPath {
if (replacement) {
this.node = replacement;
}
if (this.shouldRemove) {
this._remove();
}
}
isBlacklisted() {