/** * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ import Task from './task' import RuntimeContext from './execution/runtime-context' import ExecuteSynchronous from './execution/synchronous' import ExecuteObservable from './execution/observable' import Progress from './execution/progress' function Run<T>(task: Task<T>): Promise<T>; function Run<T>(task: Task<T>, observer: Progress.Observer, updateRateMs?: number): Promise<T>; function Run<T>(task: Task<T>, observer?: Progress.Observer, updateRateMs?: number): Promise<T> { if (observer) return ExecuteObservable(task, observer, updateRateMs || 250); return ExecuteSynchronous(task); } export { Task, RuntimeContext, Progress, Run }