1 | ;
|
2 | var debug = require("debug")("cb:task.transform");
|
3 | var task_resolve_1 = require("./task.resolve");
|
4 | /**
|
5 | * Task Transformations
|
6 | * This gives an opportunity to change a task just before error collection
|
7 | */
|
8 | exports.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 | */
|
30 | function 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 | }
|
40 | exports.applyTransforms = applyTransforms;
|
41 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay50cmFuc2Zvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rhc2sudHJhbnNmb3Jtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFcEQsK0NBQTBEO0FBTzFEOzs7R0FHRztBQUNVLFFBQUEsVUFBVSxHQUFHO0lBQ3RCOzs7T0FHRztJQUNILGVBQWUsRUFBRTtRQUNiLFNBQVMsRUFBVCxVQUFXLFFBQWM7WUFDckIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssd0JBQVMsQ0FBQyxZQUFZO2dCQUMzQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxFQUFFLEVBQUYsVUFBSSxRQUFjO1lBQ2QsUUFBUSxDQUFDLElBQUksR0FBTSx3QkFBUyxDQUFDLE9BQU8sQ0FBQztZQUNyQyxRQUFRLENBQUMsTUFBTSxHQUFJLDhCQUFlLENBQUMsVUFBVSxDQUFDO1lBQzlDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsa0JBQWtCO1lBQ3pDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDcEIsQ0FBQztLQUNKO0NBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gseUJBQWdDLFFBQWM7SUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxHQUFHO1FBQ3JELElBQU0sU0FBUyxHQUFrQixrQkFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyx3QkFBc0IsR0FBSyxDQUFDLENBQUM7WUFDbkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDcEIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFURCwwQ0FTQyJ9 |
\ | No newline at end of file |