UNPKG

3.06 kBJavaScriptView Raw
1"use strict";
2var task_resolve_1 = require("./task.resolve");
3var seq = require("./task.sequence");
4var debug = require("debug")("cb:watch.runner");
5var _ = require("../lodash.custom");
6function 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}
28exports.createWatchRunners = createWatchRunners;
29function validateRunner(x) {
30 return x._tasks.invalid.length === 0;
31}
32//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2gucnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dhdGNoLnJ1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsNkJBQTJCLGdCQUFnQixDQUFDLENBQUE7QUFDNUMsSUFBWSxHQUFHLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUV2QyxJQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNsRCxJQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQWN0Qyw0QkFBbUMsVUFBc0IsRUFBRSxHQUFtQjtJQUUxRSxJQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxJQUFJO1FBRXZELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsT0FBTztZQUVqRCxJQUFNLEtBQUssR0FBRywyQkFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFL0MsSUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDcEIsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ25CLENBQUM7WUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRTNELE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE1BQU0sQ0FBQztRQUNILEdBQUcsRUFBRSxPQUFPO1FBQ1osS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQWpCLENBQWlCLENBQUM7UUFDN0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBbEIsQ0FBa0IsQ0FBQztLQUNuRCxDQUFDO0FBQ04sQ0FBQztBQTdCZSwwQkFBa0IscUJBNkJqQyxDQUFBO0FBRUQsd0JBQXdCLENBQUM7SUFDckIsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDekMsQ0FBQyJ9
\No newline at end of file