UNPKG

2.85 kBJavaScriptView Raw
1"use strict";
2var debug = require("debug")("cb:task.transform");
3var task_resolve_1 = require("./task.resolve");
4/**
5 * Task Transformations
6 * This gives an opportunity to change a task just before error collection
7 */
8exports.transforms = {
9 /**
10 * If an external file was matched, and it has the .sh extension,
11 * load it as an @sh adaptor task
12 */
13 "@sh from File": {
14 predicate: function (incoming) {
15 return incoming.type === task_resolve_1.TaskTypes.ExternalTask &&
16 incoming.externalTasks[0].parsed.ext === ".sh";
17 },
18 fn: function (incoming) {
19 incoming.type = task_resolve_1.TaskTypes.Adaptor;
20 incoming.origin = task_resolve_1.TaskOriginTypes.FileSystem;
21 incoming.adaptor = "sh";
22 incoming.command = ""; // Will read later
23 return incoming;
24 }
25 }
26};
27/**
28 * Allow transformations on tasks before error collections
29 */
30function applyTransforms(incoming) {
31 return Object.keys(exports.transforms).reduce(function (task, key) {
32 var transform = exports.transforms[key];
33 if (transform.predicate(task)) {
34 debug("Applying transform " + key);
35 return transform.fn(task);
36 }
37 return incoming;
38 }, incoming);
39}
40exports.applyTransforms = applyTransforms;
41//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay50cmFuc2Zvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rhc2sudHJhbnNmb3Jtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFcEQsNkJBQXlDLGdCQUFnQixDQUFDLENBQUE7QUFPMUQ7OztHQUdHO0FBQ1Usa0JBQVUsR0FBRztJQUN0Qjs7O09BR0c7SUFDSCxlQUFlLEVBQUU7UUFDYixTQUFTLFlBQUUsUUFBYztZQUNyQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyx3QkFBUyxDQUFDLFlBQVk7Z0JBQzNDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUM7UUFDdkQsQ0FBQztRQUNELEVBQUUsWUFBRSxRQUFjO1lBQ2QsUUFBUSxDQUFDLElBQUksR0FBTSx3QkFBUyxDQUFDLE9BQU8sQ0FBQztZQUNyQyxRQUFRLENBQUMsTUFBTSxHQUFJLDhCQUFlLENBQUMsVUFBVSxDQUFDO1lBQzlDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsa0JBQWtCO1lBQ3pDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDcEIsQ0FBQztLQUNKO0NBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gseUJBQWdDLFFBQWM7SUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxHQUFHO1FBQ3JELElBQU0sU0FBUyxHQUFrQixrQkFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyx3QkFBc0IsR0FBSyxDQUFDLENBQUM7WUFDbkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDcEIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFUZSx1QkFBZSxrQkFTOUIsQ0FBQSJ9
\No newline at end of file