UNPKG

@acurast/cli

Version:

A cli to interact with the Acurast Cloud.

1,618 lines 52 kB
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _Ora_instances, _Ora_linesToClear, _Ora_isDiscardingStdin, _Ora_lineCount, _Ora_frameIndex, _Ora_options, _Ora_spinner, _Ora_stream, _Ora_id, _Ora_initialInterval, _Ora_isEnabled, _Ora_isSilent, _Ora_indent, _Ora_text, _Ora_prefixText, _Ora_suffixText, _Ora_getFullPrefixText, _Ora_getFullSuffixText, _Ora_updateLineCount; import process from 'node:process'; import cliCursor from 'cli-cursor'; import logSymbols from 'log-symbols'; import stripAnsi from 'strip-ansi'; import stringWidth from 'string-width'; import isInteractive from 'is-interactive'; import isUnicodeSupported from 'is-unicode-supported'; import stdinDiscarder from 'stdin-discarder'; import { acurastColor } from '../util.js'; const cliSpinners = { dots: { interval: 80, frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'], }, dots2: { interval: 80, frames: ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'], }, dots3: { interval: 80, frames: ['⠋', '⠙', '⠚', '⠞', '⠖', '⠦', '⠴', '⠲', '⠳', '⠓'], }, dots4: { interval: 80, frames: [ '⠄', '⠆', '⠇', '⠋', '⠙', '⠸', '⠰', '⠠', '⠰', '⠸', '⠙', '⠋', '⠇', '⠆', ], }, dots5: { interval: 80, frames: [ '⠋', '⠙', '⠚', '⠒', '⠂', '⠂', '⠒', '⠲', '⠴', '⠦', '⠖', '⠒', '⠐', '⠐', '⠒', '⠓', '⠋', ], }, dots6: { interval: 80, frames: [ '⠁', '⠉', '⠙', '⠚', '⠒', '⠂', '⠂', '⠒', '⠲', '⠴', '⠤', '⠄', '⠄', '⠤', '⠴', '⠲', '⠒', '⠂', '⠂', '⠒', '⠚', '⠙', '⠉', '⠁', ], }, dots7: { interval: 80, frames: [ '⠈', '⠉', '⠋', '⠓', '⠒', '⠐', '⠐', '⠒', '⠖', '⠦', '⠤', '⠠', '⠠', '⠤', '⠦', '⠖', '⠒', '⠐', '⠐', '⠒', '⠓', '⠋', '⠉', '⠈', ], }, dots8: { interval: 80, frames: [ '⠁', '⠁', '⠉', '⠙', '⠚', '⠒', '⠂', '⠂', '⠒', '⠲', '⠴', '⠤', '⠄', '⠄', '⠤', '⠠', '⠠', '⠤', '⠦', '⠖', '⠒', '⠐', '⠐', '⠒', '⠓', '⠋', '⠉', '⠈', '⠈', ], }, dots9: { interval: 80, frames: ['⢹', '⢺', '⢼', '⣸', '⣇', '⡧', '⡗', '⡏'], }, dots10: { interval: 80, frames: ['⢄', '⢂', '⢁', '⡁', '⡈', '⡐', '⡠'], }, dots11: { interval: 100, frames: ['⠁', '⠂', '⠄', '⡀', '⢀', '⠠', '⠐', '⠈'], }, dots12: { interval: 80, frames: [ '⢀⠀', '⡀⠀', '⠄⠀', '⢂⠀', '⡂⠀', '⠅⠀', '⢃⠀', '⡃⠀', '⠍⠀', '⢋⠀', '⡋⠀', '⠍⠁', '⢋⠁', '⡋⠁', '⠍⠉', '⠋⠉', '⠋⠉', '⠉⠙', '⠉⠙', '⠉⠩', '⠈⢙', '⠈⡙', '⢈⠩', '⡀⢙', '⠄⡙', '⢂⠩', '⡂⢘', '⠅⡘', '⢃⠨', '⡃⢐', '⠍⡐', '⢋⠠', '⡋⢀', '⠍⡁', '⢋⠁', '⡋⠁', '⠍⠉', '⠋⠉', '⠋⠉', '⠉⠙', '⠉⠙', '⠉⠩', '⠈⢙', '⠈⡙', '⠈⠩', '⠀⢙', '⠀⡙', '⠀⠩', '⠀⢘', '⠀⡘', '⠀⠨', '⠀⢐', '⠀⡐', '⠀⠠', '⠀⢀', '⠀⡀', ], }, dots13: { interval: 80, frames: ['⣼', '⣹', '⢻', '⠿', '⡟', '⣏', '⣧', '⣶'], }, dots8Bit: { interval: 80, frames: [ '⠀', '⠁', '⠂', '⠃', '⠄', '⠅', '⠆', '⠇', '⡀', '⡁', '⡂', '⡃', '⡄', '⡅', '⡆', '⡇', '⠈', '⠉', '⠊', '⠋', '⠌', '⠍', '⠎', '⠏', '⡈', '⡉', '⡊', '⡋', '⡌', '⡍', '⡎', '⡏', '⠐', '⠑', '⠒', '⠓', '⠔', '⠕', '⠖', '⠗', '⡐', '⡑', '⡒', '⡓', '⡔', '⡕', '⡖', '⡗', '⠘', '⠙', '⠚', '⠛', '⠜', '⠝', '⠞', '⠟', '⡘', '⡙', '⡚', '⡛', '⡜', '⡝', '⡞', '⡟', '⠠', '⠡', '⠢', '⠣', '⠤', '⠥', '⠦', '⠧', '⡠', '⡡', '⡢', '⡣', '⡤', '⡥', '⡦', '⡧', '⠨', '⠩', '⠪', '⠫', '⠬', '⠭', '⠮', '⠯', '⡨', '⡩', '⡪', '⡫', '⡬', '⡭', '⡮', '⡯', '⠰', '⠱', '⠲', '⠳', '⠴', '⠵', '⠶', '⠷', '⡰', '⡱', '⡲', '⡳', '⡴', '⡵', '⡶', '⡷', '⠸', '⠹', '⠺', '⠻', '⠼', '⠽', '⠾', '⠿', '⡸', '⡹', '⡺', '⡻', '⡼', '⡽', '⡾', '⡿', '⢀', '⢁', '⢂', '⢃', '⢄', '⢅', '⢆', '⢇', '⣀', '⣁', '⣂', '⣃', '⣄', '⣅', '⣆', '⣇', '⢈', '⢉', '⢊', '⢋', '⢌', '⢍', '⢎', '⢏', '⣈', '⣉', '⣊', '⣋', '⣌', '⣍', '⣎', '⣏', '⢐', '⢑', '⢒', '⢓', '⢔', '⢕', '⢖', '⢗', '⣐', '⣑', '⣒', '⣓', '⣔', '⣕', '⣖', '⣗', '⢘', '⢙', '⢚', '⢛', '⢜', '⢝', '⢞', '⢟', '⣘', '⣙', '⣚', '⣛', '⣜', '⣝', '⣞', '⣟', '⢠', '⢡', '⢢', '⢣', '⢤', '⢥', '⢦', '⢧', '⣠', '⣡', '⣢', '⣣', '⣤', '⣥', '⣦', '⣧', '⢨', '⢩', '⢪', '⢫', '⢬', '⢭', '⢮', '⢯', '⣨', '⣩', '⣪', '⣫', '⣬', '⣭', '⣮', '⣯', '⢰', '⢱', '⢲', '⢳', '⢴', '⢵', '⢶', '⢷', '⣰', '⣱', '⣲', '⣳', '⣴', '⣵', '⣶', '⣷', '⢸', '⢹', '⢺', '⢻', '⢼', '⢽', '⢾', '⢿', '⣸', '⣹', '⣺', '⣻', '⣼', '⣽', '⣾', '⣿', ], }, sand: { interval: 80, frames: [ '⠁', '⠂', '⠄', '⡀', '⡈', '⡐', '⡠', '⣀', '⣁', '⣂', '⣄', '⣌', '⣔', '⣤', '⣥', '⣦', '⣮', '⣶', '⣷', '⣿', '⡿', '⠿', '⢟', '⠟', '⡛', '⠛', '⠫', '⢋', '⠋', '⠍', '⡉', '⠉', '⠑', '⠡', '⢁', ], }, line: { interval: 130, frames: ['-', '\\', '|', '/'], }, line2: { interval: 100, frames: ['⠂', '-', '–', '—', '–', '-'], }, pipe: { interval: 100, frames: ['┤', '┘', '┴', '└', '├', '┌', '┬', '┐'], }, simpleDots: { interval: 400, frames: ['. ', '.. ', '...', ' '], }, simpleDotsScrolling: { interval: 200, frames: ['. ', '.. ', '...', ' ..', ' .', ' '], }, star: { interval: 70, frames: ['✶', '✸', '✹', '✺', '✹', '✷'], }, star2: { interval: 80, frames: ['+', 'x', '*'], }, flip: { interval: 70, frames: ['_', '_', '_', '-', '`', '`', "'", '´', '-', '_', '_', '_'], }, hamburger: { interval: 100, frames: ['☱', '☲', '☴'], }, growVertical: { interval: 120, frames: ['▁', '▃', '▄', '▅', '▆', '▇', '▆', '▅', '▄', '▃'], }, growHorizontal: { interval: 120, frames: ['▏', '▎', '▍', '▌', '▋', '▊', '▉', '▊', '▋', '▌', '▍', '▎'], }, balloon: { interval: 140, frames: [' ', '.', 'o', 'O', '@', '*', ' '], }, balloon2: { interval: 120, frames: ['.', 'o', 'O', '°', 'O', 'o', '.'], }, noise: { interval: 100, frames: ['▓', '▒', '░'], }, bounce: { interval: 120, frames: ['⠁', '⠂', '⠄', '⠂'], }, boxBounce: { interval: 120, frames: ['▖', '▘', '▝', '▗'], }, boxBounce2: { interval: 100, frames: ['▌', '▀', '▐', '▄'], }, triangle: { interval: 50, frames: ['◢', '◣', '◤', '◥'], }, binary: { interval: 80, frames: [ '010010', '001100', '100101', '111010', '111101', '010111', '101011', '111000', '110011', '110101', ], }, arc: { interval: 100, frames: ['◜', '◠', '◝', '◞', '◡', '◟'], }, circle: { interval: 120, frames: ['◡', '⊙', '◠'], }, squareCorners: { interval: 180, frames: ['◰', '◳', '◲', '◱'], }, circleQuarters: { interval: 120, frames: ['◴', '◷', '◶', '◵'], }, circleHalves: { interval: 50, frames: ['◐', '◓', '◑', '◒'], }, squish: { interval: 100, frames: ['╫', '╪'], }, toggle: { interval: 250, frames: ['⊶', '⊷'], }, toggle2: { interval: 80, frames: ['▫', '▪'], }, toggle3: { interval: 120, frames: ['□', '■'], }, toggle4: { interval: 100, frames: ['■', '□', '▪', '▫'], }, toggle5: { interval: 100, frames: ['▮', '▯'], }, toggle6: { interval: 300, frames: ['ဝ', '၀'], }, toggle7: { interval: 80, frames: ['⦾', '⦿'], }, toggle8: { interval: 100, frames: ['◍', '◌'], }, toggle9: { interval: 100, frames: ['◉', '◎'], }, toggle10: { interval: 100, frames: ['㊂', '㊀', '㊁'], }, toggle11: { interval: 50, frames: ['⧇', '⧆'], }, toggle12: { interval: 120, frames: ['☗', '☖'], }, toggle13: { interval: 80, frames: ['=', '*', '-'], }, arrow: { interval: 100, frames: ['←', '↖', '↑', '↗', '→', '↘', '↓', '↙'], }, arrow2: { interval: 80, frames: ['⬆️ ', '↗️ ', '➡️ ', '↘️ ', '⬇️ ', '↙️ ', '⬅️ ', '↖️ '], }, arrow3: { interval: 120, frames: ['▹▹▹▹▹', '▸▹▹▹▹', '▹▸▹▹▹', '▹▹▸▹▹', '▹▹▹▸▹', '▹▹▹▹▸'], }, bouncingBar: { interval: 80, frames: [ '[ ]', '[= ]', '[== ]', '[=== ]', '[====]', '[ ===]', '[ ==]', '[ =]', '[ ]', '[ =]', '[ ==]', '[ ===]', '[====]', '[=== ]', '[== ]', '[= ]', ], }, bouncingBall: { interval: 80, frames: [ '( ● )', '( ● )', '( ● )', '( ● )', '( ●)', '( ● )', '( ● )', '( ● )', '( ● )', '(● )', ], }, smiley: { interval: 200, frames: ['😄 ', '😝 '], }, monkey: { interval: 300, frames: ['🙈 ', '🙈 ', '🙉 ', '🙊 '], }, hearts: { interval: 100, frames: ['💛 ', '💙 ', '💜 ', '💚 ', '❤️ '], }, clock: { interval: 100, frames: [ '🕛 ', '🕐 ', '🕑 ', '🕒 ', '🕓 ', '🕔 ', '🕕 ', '🕖 ', '🕗 ', '🕘 ', '🕙 ', '🕚 ', ], }, earth: { interval: 180, frames: ['🌍 ', '🌎 ', '🌏 '], }, material: { interval: 17, frames: [ '█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '███████▁▁▁▁▁▁▁▁▁▁▁▁▁', '████████▁▁▁▁▁▁▁▁▁▁▁▁', '█████████▁▁▁▁▁▁▁▁▁▁▁', '█████████▁▁▁▁▁▁▁▁▁▁▁', '██████████▁▁▁▁▁▁▁▁▁▁', '███████████▁▁▁▁▁▁▁▁▁', '█████████████▁▁▁▁▁▁▁', '██████████████▁▁▁▁▁▁', '██████████████▁▁▁▁▁▁', '▁██████████████▁▁▁▁▁', '▁██████████████▁▁▁▁▁', '▁██████████████▁▁▁▁▁', '▁▁██████████████▁▁▁▁', '▁▁▁██████████████▁▁▁', '▁▁▁▁█████████████▁▁▁', '▁▁▁▁██████████████▁▁', '▁▁▁▁██████████████▁▁', '▁▁▁▁▁██████████████▁', '▁▁▁▁▁██████████████▁', '▁▁▁▁▁██████████████▁', '▁▁▁▁▁▁██████████████', '▁▁▁▁▁▁██████████████', '▁▁▁▁▁▁▁█████████████', '▁▁▁▁▁▁▁█████████████', '▁▁▁▁▁▁▁▁████████████', '▁▁▁▁▁▁▁▁████████████', '▁▁▁▁▁▁▁▁▁███████████', '▁▁▁▁▁▁▁▁▁███████████', '▁▁▁▁▁▁▁▁▁▁██████████', '▁▁▁▁▁▁▁▁▁▁██████████', '▁▁▁▁▁▁▁▁▁▁▁▁████████', '▁▁▁▁▁▁▁▁▁▁▁▁▁███████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████', '█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████', '██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███', '██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███', '███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███', '████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██', '█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█', '█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█', '██████▁▁▁▁▁▁▁▁▁▁▁▁▁█', '████████▁▁▁▁▁▁▁▁▁▁▁▁', '█████████▁▁▁▁▁▁▁▁▁▁▁', '█████████▁▁▁▁▁▁▁▁▁▁▁', '█████████▁▁▁▁▁▁▁▁▁▁▁', '█████████▁▁▁▁▁▁▁▁▁▁▁', '███████████▁▁▁▁▁▁▁▁▁', '████████████▁▁▁▁▁▁▁▁', '████████████▁▁▁▁▁▁▁▁', '██████████████▁▁▁▁▁▁', '██████████████▁▁▁▁▁▁', '▁██████████████▁▁▁▁▁', '▁██████████████▁▁▁▁▁', '▁▁▁█████████████▁▁▁▁', '▁▁▁▁▁████████████▁▁▁', '▁▁▁▁▁████████████▁▁▁', '▁▁▁▁▁▁███████████▁▁▁', '▁▁▁▁▁▁▁▁█████████▁▁▁', '▁▁▁▁▁▁▁▁█████████▁▁▁', '▁▁▁▁▁▁▁▁▁█████████▁▁', '▁▁▁▁▁▁▁▁▁█████████▁▁', '▁▁▁▁▁▁▁▁▁▁█████████▁', '▁▁▁▁▁▁▁▁▁▁▁████████▁', '▁▁▁▁▁▁▁▁▁▁▁████████▁', '▁▁▁▁▁▁▁▁▁▁▁▁███████▁', '▁▁▁▁▁▁▁▁▁▁▁▁███████▁', '▁▁▁▁▁▁▁▁▁▁▁▁▁███████', '▁▁▁▁▁▁▁▁▁▁▁▁▁███████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', '▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁', ], }, moon: { interval: 80, frames: ['🌑 ', '🌒 ', '🌓 ', '🌔 ', '🌕 ', '🌖 ', '🌗 ', '🌘 '], }, runner: { interval: 140, frames: ['🚶 ', '🏃 '], }, pong: { interval: 80, frames: [ '▐⠂ ▌', '▐⠈ ▌', '▐ ⠂ ▌', '▐ ⠠ ▌', '▐ ⡀ ▌', '▐ ⠠ ▌', '▐ ⠂ ▌', '▐ ⠈ ▌', '▐ ⠂ ▌', '▐ ⠠ ▌', '▐ ⡀ ▌', '▐ ⠠ ▌', '▐ ⠂ ▌', '▐ ⠈ ▌', '▐ ⠂▌', '▐ ⠠▌', '▐ ⡀▌', '▐ ⠠ ▌', '▐ ⠂ ▌', '▐ ⠈ ▌', '▐ ⠂ ▌', '▐ ⠠ ▌', '▐ ⡀ ▌', '▐ ⠠ ▌', '▐ ⠂ ▌', '▐ ⠈ ▌', '▐ ⠂ ▌', '▐ ⠠ ▌', '▐ ⡀ ▌', '▐⠠ ▌', ], }, shark: { interval: 120, frames: [ '▐|\\____________▌', '▐_|\\___________▌', '▐__|\\__________▌', '▐___|\\_________▌', '▐____|\\________▌', '▐_____|\\_______▌', '▐______|\\______▌', '▐_______|\\_____▌', '▐________|\\____▌', '▐_________|\\___▌', '▐__________|\\__▌', '▐___________|\\_▌', '▐____________|\\▌', '▐____________/|▌', '▐___________/|_▌', '▐__________/|__▌', '▐_________/|___▌', '▐________/|____▌', '▐_______/|_____▌', '▐______/|______▌', '▐_____/|_______▌', '▐____/|________▌', '▐___/|_________▌', '▐__/|__________▌', '▐_/|___________▌', '▐/|____________▌', ], }, dqpb: { interval: 100, frames: ['d', 'q', 'p', 'b'], }, weather: { interval: 100, frames: [ '☀️ ', '☀️ ', '☀️ ', '🌤 ', '⛅️ ', '🌥 ', '☁️ ', '🌧 ', '🌨 ', '🌧 ', '🌨 ', '🌧 ', '🌨 ', '⛈ ', '🌨 ', '🌧 ', '🌨 ', '☁️ ', '🌥 ', '⛅️ ', '🌤 ', '☀️ ', '☀️ ', ], }, christmas: { interval: 400, frames: ['🌲', '🎄'], }, grenade: { interval: 80, frames: [ '، ', '′ ', ' ´ ', ' ‾ ', ' ⸌', ' ⸊', ' |', ' ⁎', ' ⁕', ' ෴ ', ' ⁓', ' ', ' ', ' ', ], }, point: { interval: 125, frames: ['∙∙∙', '●∙∙', '∙●∙', '∙∙●', '∙∙∙'], }, layer: { interval: 150, frames: ['-', '=', '≡'], }, betaWave: { interval: 80, frames: [ 'ρββββββ', 'βρβββββ', 'ββρββββ', 'βββρβββ', 'ββββρββ', 'βββββρβ', 'ββββββρ', ], }, fingerDance: { interval: 160, frames: ['🤘 ', '🤟 ', '🖖 ', '✋ ', '🤚 ', '👆 '], }, fistBump: { interval: 80, frames: [ '🤜\u3000\u3000\u3000\u3000🤛 ', '🤜\u3000\u3000\u3000\u3000🤛 ', '🤜\u3000\u3000\u3000\u3000🤛 ', '\u3000🤜\u3000\u3000🤛\u3000 ', '\u3000\u3000🤜🤛\u3000\u3000 ', '\u3000🤜✨🤛\u3000\u3000 ', '🤜\u3000✨\u3000🤛\u3000 ', ], }, soccerHeader: { interval: 80, frames: [ ' 🧑⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', '🧑 ⚽️ 🧑 ', ], }, mindblown: { interval: 160, frames: [ '😐 ', '😐 ', '😮 ', '😮 ', '😦 ', '😦 ', '😧 ', '😧 ', '🤯 ', '💥 ', '✨ ', '\u3000 ', '\u3000 ', '\u3000 ', ], }, speaker: { interval: 160, frames: ['🔈 ', '🔉 ', '🔊 ', '🔉 '], }, orangePulse: { interval: 100, frames: ['🔸 ', '🔶 ', '🟠 ', '🟠 ', '🔶 '], }, bluePulse: { interval: 100, frames: ['🔹 ', '🔷 ', '🔵 ', '🔵 ', '🔷 '], }, orangeBluePulse: { interval: 100, frames: [ '🔸 ', '🔶 ', '🟠 ', '🟠 ', '🔶 ', '🔹 ', '🔷 ', '🔵 ', '🔵 ', '🔷 ', ], }, timeTravel: { interval: 100, frames: [ '🕛 ', '🕚 ', '🕙 ', '🕘 ', '🕗 ', '🕖 ', '🕕 ', '🕔 ', '🕓 ', '🕒 ', '🕑 ', '🕐 ', ], }, aesthetic: { interval: 80, frames: [ '▰▱▱▱▱▱▱', '▰▰▱▱▱▱▱', '▰▰▰▱▱▱▱', '▰▰▰▰▱▱▱', '▰▰▰▰▰▱▱', '▰▰▰▰▰▰▱', '▰▰▰▰▰▰▰', '▰▱▱▱▱▱▱', ], }, dwarfFortress: { interval: 80, frames: [ ' ██████£££ ', '☺██████£££ ', '☺██████£££ ', '☺▓█████£££ ', '☺▓█████£££ ', '☺▒█████£££ ', '☺▒█████£££ ', '☺░█████£££ ', '☺░█████£££ ', '☺ █████£££ ', ' ☺█████£££ ', ' ☺█████£££ ', ' ☺▓████£££ ', ' ☺▓████£££ ', ' ☺▒████£££ ', ' ☺▒████£££ ', ' ☺░████£££ ', ' ☺░████£££ ', ' ☺ ████£££ ', ' ☺████£££ ', ' ☺████£££ ', ' ☺▓███£££ ', ' ☺▓███£££ ', ' ☺▒███£££ ', ' ☺▒███£££ ', ' ☺░███£££ ', ' ☺░███£££ ', ' ☺ ███£££ ', ' ☺███£££ ', ' ☺███£££ ', ' ☺▓██£££ ', ' ☺▓██£££ ', ' ☺▒██£££ ', ' ☺▒██£££ ', ' ☺░██£££ ', ' ☺░██£££ ', ' ☺ ██£££ ', ' ☺██£££ ', ' ☺██£££ ', ' ☺▓█£££ ', ' ☺▓█£££ ', ' ☺▒█£££ ', ' ☺▒█£££ ', ' ☺░█£££ ', ' ☺░█£££ ', ' ☺ █£££ ', ' ☺█£££ ', ' ☺█£££ ', ' ☺▓£££ ', ' ☺▓£££ ', ' ☺▒£££ ', ' ☺▒£££ ', ' ☺░£££ ', ' ☺░£££ ', ' ☺ £££ ', ' ☺£££ ', ' ☺£££ ', ' ☺▓££ ', ' ☺▓££ ', ' ☺▒££ ', ' ☺▒££ ', ' ☺░££ ', ' ☺░££ ', ' ☺ ££ ', ' ☺££ ', ' ☺££ ', ' ☺▓£ ', ' ☺▓£ ', ' ☺▒£ ', ' ☺▒£ ', ' ☺░£ ', ' ☺░£ ', ' ☺ £ ', ' ☺£ ', ' ☺£ ', ' ☺▓ ', ' ☺▓ ', ' ☺▒ ', ' ☺▒ ', ' ☺░ ', ' ☺░ ', ' ☺ ', ' ☺ &', ' ☺ ☼&', ' ☺ ☼ &', ' ☺☼ &', ' ☺☼ & ', ' ‼ & ', ' ☺ & ', ' ‼ & ', ' ☺ & ', ' ‼ & ', ' ☺ & ', '‼ & ', ' & ', ' & ', ' & ░ ', ' & ▒ ', ' & ▓ ', ' & £ ', ' & ░£ ', ' & ▒£ ', ' & ▓£ ', ' & ££ ', ' & ░££ ', ' & ▒££ ', '& ▓££ ', '& £££ ', ' ░£££ ', ' ▒£££ ', ' ▓£££ ', ' █£££ ', ' ░█£££ ', ' ▒█£££ ', ' ▓█£££ ', ' ██£££ ', ' ░██£££ ', ' ▒██£££ ', ' ▓██£££ ', ' ███£££ ', ' ░███£££ ', ' ▒███£££ ', ' ▓███£££ ', ' ████£££ ', ' ░████£££ ', ' ▒████£££ ', ' ▓████£££ ', ' █████£££ ', ' ░█████£££ ', ' ▒█████£££ ', ' ▓█████£££ ', ' ██████£££ ', ' ██████£££ ', ], }, }; class Ora { constructor(options) { _Ora_instances.add(this); _Ora_linesToClear.set(this, 0); _Ora_isDiscardingStdin.set(this, false); _Ora_lineCount.set(this, 0); _Ora_frameIndex.set(this, 0); _Ora_options.set(this, void 0); _Ora_spinner.set(this, void 0); _Ora_stream.set(this, void 0); _Ora_id.set(this, void 0); _Ora_initialInterval.set(this, void 0); _Ora_isEnabled.set(this, void 0); _Ora_isSilent.set(this, void 0); _Ora_indent.set(this, void 0); _Ora_text.set(this, void 0); _Ora_prefixText.set(this, void 0); _Ora_suffixText.set(this, void 0); if (typeof options === 'string') { options = { text: options, }; } __classPrivateFieldSet(this, _Ora_options, { color: 'cyan', stream: process.stderr, discardStdin: true, hideCursor: true, ...options, }, "f"); // Public this.color = __classPrivateFieldGet(this, _Ora_options, "f").color; // It's important that these use the public setters. this.spinner = __classPrivateFieldGet(this, _Ora_options, "f").spinner; __classPrivateFieldSet(this, _Ora_initialInterval, __classPrivateFieldGet(this, _Ora_options, "f").interval, "f"); __classPrivateFieldSet(this, _Ora_stream, __classPrivateFieldGet(this, _Ora_options, "f").stream, "f"); __classPrivateFieldSet(this, _Ora_isEnabled, typeof __classPrivateFieldGet(this, _Ora_options, "f").isEnabled === 'boolean' ? __classPrivateFieldGet(this, _Ora_options, "f").isEnabled : isInteractive({ stream: __classPrivateFieldGet(this, _Ora_stream, "f") }), "f"); __classPrivateFieldSet(this, _Ora_isSilent, typeof __classPrivateFieldGet(this, _Ora_options, "f").isSilent === 'boolean' ? __classPrivateFieldGet(this, _Ora_options, "f").isSilent : false, "f"); // Set *after* `this.#stream`. // It's important that these use the public setters. this.text = __classPrivateFieldGet(this, _Ora_options, "f").text; this.prefixText = __classPrivateFieldGet(this, _Ora_options, "f").prefixText; this.suffixText = __classPrivateFieldGet(this, _Ora_options, "f").suffixText; this.indent = __classPrivateFieldGet(this, _Ora_options, "f").indent; if (process.env.NODE_ENV === 'test') { this._stream = __classPrivateFieldGet(this, _Ora_stream, "f"); this._isEnabled = __classPrivateFieldGet(this, _Ora_isEnabled, "f"); Object.defineProperty(this, '_linesToClear', { get() { return __classPrivateFieldGet(this, _Ora_linesToClear, "f"); }, set(newValue) { __classPrivateFieldSet(this, _Ora_linesToClear, newValue, "f"); }, }); Object.defineProperty(this, '_frameIndex', { get() { return __classPrivateFieldGet(this, _Ora_frameIndex, "f"); }, }); Object.defineProperty(this, '_lineCount', { get() { return __classPrivateFieldGet(this, _Ora_lineCount, "f"); }, }); } } get indent() { return __classPrivateFieldGet(this, _Ora_indent, "f"); } set indent(indent = 0) { if (!(indent >= 0 && Number.isInteger(indent))) { throw new Error('The `indent` option must be an integer from 0 and up'); } __classPrivateFieldSet(this, _Ora_indent, indent, "f"); __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_updateLineCount).call(this); } get interval() { return __classPrivateFieldGet(this, _Ora_initialInterval, "f") ?? __classPrivateFieldGet(this, _Ora_spinner, "f").interval ?? 100; } get spinner() { return __classPrivateFieldGet(this, _Ora_spinner, "f"); } set spinner(spinner) { __classPrivateFieldSet(this, _Ora_frameIndex, 0, "f"); __classPrivateFieldSet(this, _Ora_initialInterval, undefined, "f"); if (typeof spinner === 'object') { if (spinner.frames === undefined) { throw new Error('The given spinner must have a `frames` property'); } __classPrivateFieldSet(this, _Ora_spinner, spinner, "f"); } else if (!isUnicodeSupported()) { __classPrivateFieldSet(this, _Ora_spinner, cliSpinners.line, "f"); } else if (spinner === undefined) { // Set default spinner __classPrivateFieldSet(this, _Ora_spinner, cliSpinners.dots, "f"); } else if (spinner !== 'default' && cliSpinners[spinner]) { __classPrivateFieldSet(this, _Ora_spinner, cliSpinners[spinner], "f"); } else { throw new Error(`There is no built-in spinner named '${spinner}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`); } } get text() { return __classPrivateFieldGet(this, _Ora_text, "f"); } set text(value = '') { __classPrivateFieldSet(this, _Ora_text, value, "f"); __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_updateLineCount).call(this); } get prefixText() { return __classPrivateFieldGet(this, _Ora_prefixText, "f"); } set prefixText(value = '') { __classPrivateFieldSet(this, _Ora_prefixText, value, "f"); __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_updateLineCount).call(this); } get suffixText() { return __classPrivateFieldGet(this, _Ora_suffixText, "f"); } set suffixText(value = '') { __classPrivateFieldSet(this, _Ora_suffixText, value, "f"); __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_updateLineCount).call(this); } get isSpinning() { return __classPrivateFieldGet(this, _Ora_id, "f") !== undefined; } get isEnabled() { return __classPrivateFieldGet(this, _Ora_isEnabled, "f") && !__classPrivateFieldGet(this, _Ora_isSilent, "f"); } set isEnabled(value) { if (typeof value !== 'boolean') { throw new TypeError('The `isEnabled` option must be a boolean'); } __classPrivateFieldSet(this, _Ora_isEnabled, value, "f"); } get isSilent() { return __classPrivateFieldGet(this, _Ora_isSilent, "f"); } set isSilent(value) { if (typeof value !== 'boolean') { throw new TypeError('The `isSilent` option must be a boolean'); } __classPrivateFieldSet(this, _Ora_isSilent, value, "f"); } frame() { var _a; const { frames } = __classPrivateFieldGet(this, _Ora_spinner, "f"); let frame = frames[__classPrivateFieldGet(this, _Ora_frameIndex, "f")]; if (this.color) { frame = acurastColor(frame); } __classPrivateFieldSet(this, _Ora_frameIndex, __classPrivateFieldSet(this, _Ora_frameIndex, (_a = __classPrivateFieldGet(this, _Ora_frameIndex, "f"), ++_a), "f") % frames.length, "f"); const fullPrefixText = typeof __classPrivateFieldGet(this, _Ora_prefixText, "f") === 'string' && __classPrivateFieldGet(this, _Ora_prefixText, "f") !== '' ? __classPrivateFieldGet(this, _Ora_prefixText, "f") + ' ' : ''; const fullText = typeof this.text === 'string' ? ' ' + this.text : ''; const fullSuffixText = typeof __classPrivateFieldGet(this, _Ora_suffixText, "f") === 'string' && __classPrivateFieldGet(this, _Ora_suffixText, "f") !== '' ? ' ' + __classPrivateFieldGet(this, _Ora_suffixText, "f") : ''; return fullPrefixText + frame + fullText + fullSuffixText; } clear() { if (!__classPrivateFieldGet(this, _Ora_isEnabled, "f") || !__classPrivateFieldGet(this, _Ora_stream, "f").isTTY) { return this; } __classPrivateFieldGet(this, _Ora_stream, "f").cursorTo(0); for (let index = 0; index < __classPrivateFieldGet(this, _Ora_linesToClear, "f"); index++) { if (index > 0) { __classPrivateFieldGet(this, _Ora_stream, "f").moveCursor(0, -1); } __classPrivateFieldGet(this, _Ora_stream, "f").clearLine(1); } if (__classPrivateFieldGet(this, _Ora_indent, "f") || this.lastIndent !== __classPrivateFieldGet(this, _Ora_indent, "f")) { __classPrivateFieldGet(this, _Ora_stream, "f").cursorTo(__classPrivateFieldGet(this, _Ora_indent, "f")); } this.lastIndent = __classPrivateFieldGet(this, _Ora_indent, "f"); __classPrivateFieldSet(this, _Ora_linesToClear, 0, "f"); return this; } render() { if (__classPrivateFieldGet(this, _Ora_isSilent, "f")) { return this; } this.clear(); __classPrivateFieldGet(this, _Ora_stream, "f").write(this.frame()); __classPrivateFieldSet(this, _Ora_linesToClear, __classPrivateFieldGet(this, _Ora_lineCount, "f"), "f"); return this; } start(text) { if (text) { this.text = text; } if (__classPrivateFieldGet(this, _Ora_isSilent, "f")) { return this; } if (!__classPrivateFieldGet(this, _Ora_isEnabled, "f")) { if (this.text) { __classPrivateFieldGet(this, _Ora_stream, "f").write(`- ${this.text}\n`); } return this; } if (this.isSpinning) { return this; } if (__classPrivateFieldGet(this, _Ora_options, "f").hideCursor) { cliCursor.hide(__classPrivateFieldGet(this, _Ora_stream, "f")); } if (__classPrivateFieldGet(this, _Ora_options, "f").discardStdin && process.stdin.isTTY) { __classPrivateFieldSet(this, _Ora_isDiscardingStdin, true, "f"); stdinDiscarder.start(); } this.render(); __classPrivateFieldSet(this, _Ora_id, setInterval(this.render.bind(this), this.interval), "f"); return this; } stop() { if (!__classPrivateFieldGet(this, _Ora_isEnabled, "f")) { return this; } clearInterval(__classPrivateFieldGet(this, _Ora_id, "f")); __classPrivateFieldSet(this, _Ora_id, undefined, "f"); __classPrivateFieldSet(this, _Ora_frameIndex, 0, "f"); this.clear(); if (__classPrivateFieldGet(this, _Ora_options, "f").hideCursor) { cliCursor.show(__classPrivateFieldGet(this, _Ora_stream, "f")); } if (__classPrivateFieldGet(this, _Ora_options, "f").discardStdin && process.stdin.isTTY && __classPrivateFieldGet(this, _Ora_isDiscardingStdin, "f")) { stdinDiscarder.stop(); __classPrivateFieldSet(this, _Ora_isDiscardingStdin, false, "f"); } return this; } succeed(text) { return this.stopAndPersist({ symbol: logSymbols.success, text }); } fail(text) { return this.stopAndPersist({ symbol: logSymbols.error, text }); } warn(text) { return this.stopAndPersist({ symbol: logSymbols.warning, text }); } info(text) { return this.stopAndPersist({ symbol: logSymbols.info, text }); } stopAndPersist(options = {}) { if (__classPrivateFieldGet(this, _Ora_isSilent, "f")) { return this; } const prefixText = options.prefixText ?? __classPrivateFieldGet(this, _Ora_prefixText, "f"); const fullPrefixText = __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_getFullPrefixText).call(this, prefixText, ' '); const symbolText = options.symbol ?? ' '; const text = options.text ?? this.text; const fullText = typeof text === 'string' ? ' ' + text : ''; const suffixText = options.suffixText ?? __classPrivateFieldGet(this, _Ora_suffixText, "f"); const fullSuffixText = __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_getFullSuffixText).call(this, suffixText, ' '); const textToWrite = fullPrefixText + symbolText + fullText + fullSuffixText + '\n'; this.stop(); __classPrivateFieldGet(this, _Ora_stream, "f").write(textToWrite); return this; } } _Ora_linesToClear = new WeakMap(), _Ora_isDiscardingStdin = new WeakMap(), _Ora_lineCount = new WeakMap(), _Ora_frameIndex = new WeakMap(), _Ora_options = new WeakMap(), _Ora_spinner = new WeakMap(), _Ora_stream = new WeakMap(), _Ora_id = new WeakMap(), _Ora_initialInterval = new WeakMap(), _Ora_isEnabled = new WeakMap(), _Ora_isSilent = new WeakMap(), _Ora_indent = new WeakMap(), _Ora_text = new WeakMap(), _Ora_prefixText = new WeakMap(), _Ora_suffixText = new WeakMap(), _Ora_instances = new WeakSet(), _Ora_getFullPrefixText = function _Ora_getFullPrefixText(prefixText = __classPrivateFieldGet(this, _Ora_prefixText, "f"), postfix = ' ') { if (typeof prefixText === 'string' && prefixText !== '') { return prefixText + postfix; } if (typeof prefixText === 'function') { return prefixText() + postfix; } return ''; }, _Ora_getFullSuffixText = function _Ora_getFullSuffixText(suffixText = __classPrivateFieldGet(this, _Ora_suffixText, "f"), prefix = ' ') { if (typeof suffixText === 'string' && suffixText !== '') { return prefix + suffixText; } if (typeof suffixText === 'function') { return prefix + suffixText(); } return ''; }, _Ora_updateLineCount = function _Ora_updateLineCount() { const columns = __classPrivateFieldGet(this, _Ora_stream, "f").columns ?? 80; const fullPrefixText = __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_getFullPrefixText).call(this, __classPrivateFieldGet(this, _Ora_prefixText, "f"), '-'); const fullSuffixText = __classPrivateFieldGet(this, _Ora_instances, "m", _Ora_getFullSuffixText).call(this, __classPrivateFieldGet(this, _Ora_suffixText, "f"), '-'); const fullText = ' '.repeat(__classPrivateFieldGet(this, _Ora_indent, "f")) + fullPrefixText + '--' + __classPrivateFieldGet(this, _Ora_text, "f") + '--' + fullSuffixText; __classPrivateFieldSet(this, _Ora_lineCount, 0, "f"); for (const line of stripAnsi(fullText).split('\n')) { __classPrivateFieldSet(this, _Ora_lineCount, __classPrivateFieldGet(this, _Ora_lineCount, "f") + Math.max(1, Math.ceil(stringWidth(line, { countAnsiEscapeCodes: true }) / columns)), "f"); } }; export default function ora(options) { return new Ora(options); } export async function oraPromise(action, options) { const actionIsFunction = typeof action === 'function'; const actionIsPromise = typeof action.then === 'function'; if (!actionIsFunction && !actionIsPromise) { throw new TypeError('Parameter `action` must be a Function or a Promise'); } const { successText, failText } = typeof options === 'object' ? options : { successText: undefined, failText: undefined }; const spinner = ora(options).start(); try { const promise = actionIsFunction ? action(spinner) : action; const result = await promise; spinner.succeed(successText === undefined ? undefined : typeof successText === 'string' ? successText : successText(result)); return result; } catch (error) { spinner.fail(failText === undefined ? undefined : typeof failText === 'string' ? failText : failText(error)); throw error; } } //# sourceMappingURL=ora.js.map