mirror of
https://github.com/grafana/grafana.git
synced 2025-09-19 15:56:22 +08:00
Minor refactor of cli tasks (core start, gui publishing)
This commit is contained in:
23
scripts/cli/tasks/task.ts
Normal file
23
scripts/cli/tasks/task.ts
Normal file
@ -0,0 +1,23 @@
|
||||
export type TaskRunner<T> = (options: T) => Promise<void>;
|
||||
|
||||
export class Task<TOptions> {
|
||||
name: string;
|
||||
runner: (options: TOptions) => Promise<void>;
|
||||
options: TOptions;
|
||||
|
||||
setName = name => {
|
||||
this.name = name;
|
||||
};
|
||||
|
||||
setRunner = (runner: TaskRunner<TOptions>) => {
|
||||
this.runner = runner;
|
||||
};
|
||||
|
||||
setOptions = options => {
|
||||
this.options = options;
|
||||
};
|
||||
|
||||
exec = () => {
|
||||
return this.runner(this.options);
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user