{"version":3,"sources":["/home/mkabumattar/work/withrawi/rawi/dist/chunk-G3NONHT6.cjs","../src/core/shared/spinner.ts"],"names":["SpinnerManager","_SpinnerManager","#instance","#activeSpinners","id","text","options","spinner","ora","operation","result","error","spinnerManager","start","updateText","succeed","fail","stop","stopAll","withSpinner"],"mappings":"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","file":"/home/mkabumattar/work/withrawi/rawi/dist/chunk-G3NONHT6.cjs","sourcesContent":[null,"import ora, {type Ora} from 'ora';\n\nexport class SpinnerManager {\n  static #instance: SpinnerManager;\n  #activeSpinners: Map<string, Ora> = new Map();\n\n  private constructor() {}\n\n  static getInstance(): SpinnerManager {\n    if (!SpinnerManager.#instance) {\n      SpinnerManager.#instance = new SpinnerManager();\n    }\n    return SpinnerManager.#instance;\n  }\n\n  start(id: string, text: string, options?: {color?: any}): Ora {\n    this.stop(id);\n\n    const spinner = ora({\n      text,\n      color: (options?.color as any) || 'cyan',\n    }).start();\n\n    this.#activeSpinners.set(id, spinner);\n    return spinner;\n  }\n\n  updateText(id: string, text: string): void {\n    const spinner = this.#activeSpinners.get(id);\n    if (spinner) {\n      spinner.text = text;\n    }\n  }\n\n  succeed(id: string, text?: string): void {\n    const spinner = this.#activeSpinners.get(id);\n    if (spinner) {\n      spinner.succeed(text);\n      this.#activeSpinners.delete(id);\n    }\n  }\n\n  fail(id: string, text?: string): void {\n    const spinner = this.#activeSpinners.get(id);\n    if (spinner) {\n      spinner.fail(text);\n      this.#activeSpinners.delete(id);\n    }\n  }\n\n  stop(id: string): void {\n    const spinner = this.#activeSpinners.get(id);\n    if (spinner) {\n      spinner.stop();\n      this.#activeSpinners.delete(id);\n    }\n  }\n\n  stopAll(): void {\n    for (const spinner of this.#activeSpinners.values()) {\n      spinner.stop();\n    }\n    this.#activeSpinners.clear();\n  }\n\n  get(id: string): Ora | undefined {\n    return this.#activeSpinners.get(id);\n  }\n\n  isActive(id: string): boolean {\n    return this.#activeSpinners.has(id);\n  }\n\n  async withSpinner<T>(\n    id: string,\n    text: string,\n    operation: () => Promise<T>,\n    options?: {\n      successText?: string;\n      failText?: string;\n      color?: string;\n    },\n  ): Promise<T> {\n    this.start(id, text, {color: options?.color});\n\n    try {\n      const result = await operation();\n      this.succeed(id, options?.successText);\n      return result;\n    } catch (error) {\n      this.fail(id, options?.failText);\n      throw error;\n    }\n  }\n}\n\nexport const spinnerManager = SpinnerManager.getInstance();\n\nexport const {start, updateText, succeed, fail, stop, stopAll, withSpinner} =\n  spinnerManager;\n"]}