avocado-old/packages/behavior/item/traversals.js
2019-09-08 08:19:53 -05:00

22 lines
531 B
JavaScript

import {TickingPromise} from '@avocado/core';
import {Collection} from './collection';
import {Traversal} from './traversal';
export class Traversals extends Collection('traversal') {
parallel(context) {
const results = this.traversals.map((traversal) => {
return traversal.traverse(context);
});
// Early out if no promises.
if (!results.reduce((has, result) => {
return has || result instanceof Promise;
}, false)) {
return results;
}
return TickingPromise.all(results);
}
}