avocado-old/packages/behavior/item/traversal-and-set.js

35 lines
632 B
JavaScript
Raw Normal View History

2019-03-17 23:45:48 -05:00
import {fromJSON as behaviorItemFromJSON} from './registry';
import {Traversal} from './traversal';
export class TraversalAndSet extends Traversal {
static type() {
return 'traversal-and-set';
}
constructor() {
super();
this.value = undefined;
}
fromJSON(json) {
super.fromJSON(json);
this.value = behaviorItemFromJSON(json.value);
return this;
}
traverse(context) {
if (context) {
return context.traverseAndSet(this.steps, this.value);
}
}
toJSON() {
return {
...super.toJSON(),
type: 'traversal-and-set',
value: this.value.toJSON(),
};
}
}