@lark-project/cli
Version:
飞书项目插件开发工具
34 lines (33 loc) • 1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.withLoadingSpinner = void 0;
const ora_1 = __importDefault(require("ora"));
/**
* 为一个操作添加加载动画
* @param fn
* @param message
* @param args
* @returns
*/
const withLoadingSpinner = async (fn, message, ...args) => {
/** 使用 ora 初始化,传入提示信息 message */
const spinner = (0, ora_1.default)(`${message}\n`);
/** 开始加载动画 */
spinner.start();
try {
/** 执行传入方法 fn */
const result = await fn(...args);
/** 状态为修改为成功 */
spinner.succeed();
return result;
}
catch (e) {
/** 状态为修改为失败, 抛出错误 */
spinner.fail(`${message} failed`);
throw e;
}
};
exports.withLoadingSpinner = withLoadingSpinner;