UNPKG

auron

Version:

Interact with your ATProto labeler from your terminal

30 lines (29 loc) 942 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.withLoader = exports.getGlobalSpinner = void 0; const ora_1 = __importDefault(require("ora")); let globalSpinner = null; const getGlobalSpinner = () => globalSpinner; exports.getGlobalSpinner = getGlobalSpinner; const withLoader = async (message, fn) => { const spinner = (0, ora_1.default)(message).start(); globalSpinner = spinner; const updateMessage = (newMessage) => { spinner.text = newMessage; }; try { const result = await fn(updateMessage, spinner); spinner.succeed(); globalSpinner = null; return result; } catch (error) { spinner.fail(); globalSpinner = null; throw error; } }; exports.withLoader = withLoader;