1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const utils_1 = require("./utils");
|
4 | const dep_builder_1 = require("./dep-builder");
|
5 | const task_manager_1 = require("./task-manager");
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | function setGlobalOptions(options) {
|
11 | Object.assign(task_manager_1.getGlobalTaskManager().globalOptions, options);
|
12 | }
|
13 | exports.setGlobalOptions = setGlobalOptions;
|
14 | var TaskOptions;
|
15 | (function (TaskOptions) {
|
16 | TaskOptions.last = empty();
|
17 | function empty() {
|
18 | return {
|
19 | desc: undefined,
|
20 | optionDefs: [],
|
21 | strict: task_manager_1.getGlobalTaskManager().globalOptions.strict,
|
22 | loading: undefined,
|
23 | };
|
24 | }
|
25 | TaskOptions.empty = empty;
|
26 | })(TaskOptions || (TaskOptions = {}));
|
27 | function desc(desc) {
|
28 | TaskOptions.last.desc = desc;
|
29 | }
|
30 | exports.desc = desc;
|
31 | function option(rawName, description, config) {
|
32 | TaskOptions.last.optionDefs.push([rawName, description, config]);
|
33 | }
|
34 | exports.option = option;
|
35 | function strict() {
|
36 | TaskOptions.last.strict = true;
|
37 | }
|
38 | exports.strict = strict;
|
39 |
|
40 |
|
41 |
|
42 |
|
43 | function setOption(options) {
|
44 | Object.assign(TaskOptions.last, options);
|
45 | }
|
46 | exports.setOption = setOption;
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 | function task(name, dependencies = [], fn) {
|
54 | if (utils_1.Is.fn(dependencies)) {
|
55 | fn = dependencies;
|
56 | dependencies = [];
|
57 | }
|
58 | const t = {
|
59 | name,
|
60 | options: {},
|
61 | optionDefs: TaskOptions.last.optionDefs,
|
62 | desc: TaskOptions.last.desc,
|
63 | strict: TaskOptions.last.strict,
|
64 | loading: TaskOptions.last.loading,
|
65 | rawArgs: [],
|
66 | dependencies: dependencies.map(d => {
|
67 | if (utils_1.Is.str(d)) {
|
68 | return { name: d, options: {} };
|
69 | }
|
70 | else if (d instanceof dep_builder_1.DepBuilder) {
|
71 | return d.toTaskDep();
|
72 | }
|
73 | return d;
|
74 | }),
|
75 | fn,
|
76 | };
|
77 | TaskOptions.last = TaskOptions.empty();
|
78 | task_manager_1.getGlobalTaskManager().addTask(t);
|
79 | return t;
|
80 | }
|
81 | exports.task = task;
|
82 |
|
\ | No newline at end of file |