export default function()

in src/yo/utils/run-async.ts [6:36]


export default function(func): Function {
	if (!isFn(func)) {
		return function() {
			return Promise.resolve(func);
		}
	}

	const fn = runAsync(func);

	return function(): Promise<any> {
		const args = Array.prototype.slice.call(arguments);

		return new Promise((resolve, reject) => {
			Promise.resolve(window.showQuickPick(new Promise((res, rej) => {
				fn.apply(fn, args)
					.then(result => {
						rej();

						resolve(result);
					})
					.catch(err => {
						rej();

						reject(err);
					});
			}))).catch(err => {
				// do nothing because the input is always rejected
			});
		});
	};
}