1 | ;
|
2 | var task_resolve_1 = require("./task.resolve");
|
3 | var seq = require("./task.sequence");
|
4 | var debug = require("debug")("cb:watch.runner");
|
5 | var _ = require("../lodash.custom");
|
6 | function createWatchRunners(watchTasks, ctx) {
|
7 | var runners = watchTasks.valid.reduce(function (acc, item) {
|
8 | return acc.concat(item.watchers.map(function (watcher) {
|
9 | var tasks = task_resolve_1.resolveTasks(watcher.tasks, ctx);
|
10 | var subject = _.assign({}, watcher, {
|
11 | _tasks: tasks,
|
12 | parent: item.name
|
13 | });
|
14 | if (tasks.invalid.length) {
|
15 | return subject;
|
16 | }
|
17 | subject._sequence = seq.createFlattenedSequence(tasks.valid, ctx);
|
18 | subject._runner = seq.createRunner(subject._sequence, ctx);
|
19 | return subject;
|
20 | }));
|
21 | }, []);
|
22 | return {
|
23 | all: runners,
|
24 | valid: runners.filter(function (x) { return validateRunner(x); }),
|
25 | invalid: runners.filter(function (x) { return !validateRunner(x); }),
|
26 | };
|
27 | }
|
28 | exports.createWatchRunners = createWatchRunners;
|
29 | function validateRunner(x) {
|
30 | return x._tasks.invalid.length === 0;
|
31 | }
|
32 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2gucnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dhdGNoLnJ1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsK0NBQTRDO0FBQzVDLHFDQUF1QztBQUV2QyxJQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNsRCxJQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQWN0Qyw0QkFBbUMsVUFBc0IsRUFBRSxHQUFtQjtJQUUxRSxJQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxJQUFJO1FBRXZELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsT0FBTztZQUVqRCxJQUFNLEtBQUssR0FBRywyQkFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFL0MsSUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDcEIsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ25CLENBQUM7WUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRTNELE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE1BQU0sQ0FBQztRQUNILEdBQUcsRUFBRSxPQUFPO1FBQ1osS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQWpCLENBQWlCLENBQUM7UUFDN0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBbEIsQ0FBa0IsQ0FBQztLQUNuRCxDQUFDO0FBQ04sQ0FBQztBQTdCRCxnREE2QkM7QUFFRCx3QkFBd0IsQ0FBQztJQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDIn0= |
\ | No newline at end of file |