@topcli/spinner
Version:
Asynchronous CLI Spinner. Allow to create and manage simultaneous/multiple spinners at a time.
20 lines • 724 B
JavaScript
// Import Internal Dependencies
import { Spinner } from "./Spinner.class.js";
// CONSTANTS
// eslint-disable-next-line func-style
const kDefaultSafeLogger = () => undefined;
export async function computeWithSpinner(asynchronousOp, options, logs = {}) {
const { success = kDefaultSafeLogger, fail = kDefaultSafeLogger } = logs;
const spinner = new Spinner(options.spinner)
.start(options.text, { withPrefix: options.withPrefix });
try {
const response = await asynchronousOp(spinner);
spinner.succeed(success(spinner.elapsedTime));
return response;
}
catch (err) {
spinner.failed(fail(err));
throw err;
}
}
//# sourceMappingURL=computeWithSpinner.js.map