1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ntbl-ntbl-log

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

log

Один из инструментов командной строки с встроенной анимацией для вывода текста.

GitHub npm MIT

Installation

$ npm i @ntbl/log --save

Usage

const Log = require('@ntbl/log')

const log = Log({
  name: 'dots',   // тип анимации
  interval: 80,   // время цикла
  color: 'green'  // цвет
})


// запуск
log.start(data => `${data.frame} downloading data from a remote server`)

// через две секунды остановка и очистка
setTimeout(() => log.stop(), 2000)

// или сохранение последней анимации
setTimeout(() => log.stop(true), 2000)

// вывод текста в одной строке
log.log('вывод текста в одну строку')
// очистка
log.clear()

Frames

В log включены все анимации cli-spinners.

// по умолчанию dots
Log('dots')
// или
Log({
  name: 'earth'
})

Настройка анимации

Вы можете добавлять свои собственные интересные анимированные эффекты для log.

Например, мы добавляем анимацию «ружьё».

const log = require('@ntbl/log')()

log.addSpinner('rifle', {
  "interval": 80,
  "frames": [
    "",
    "▅︻      ",
    "▅︻┳┷    ",
    "▅︻┳┷一一",
    "▅︻┳┷一  ",
    "▅︻┳┷    ",
    "▅︻      ",
    "",
  ]
})

log.start({
  name: 'rifle',
  color: 'red',
  text: data => `${data.frame} a custom rifle`
})

Состояние

Состояние помогает объединить сообщения, отправленные в разное время, и использовать их семантически.

const log = require('@ntbl/log')()

// регистрация сообщения
log.register('request', {
  // можно настроить любое состояние
  downloading: data => `${data.frame} downloading data from a remote server`,
  completed: '√ download completed',
})

// использование
log.request.downloading()
// обратите внимание, что последнее состояние будет сохранено
setTimeout(() => log.request.completed(), 2000)

Настраиваемое состояние также может быть объектом, удовлетворяющим некоторые индивидуальные настройки.

Log.register('request', {
  downloading: {
    name: 'earth',   // использовать анимацию earth
    interval: 50,   // быстрее
    color: 'red',  // красный цвет!
    text: data => `${data.frame} downloading data from a remote server`
  }
})

По умолчанию при изменении состояния внутреннее использование log.stop() останавливает и очищает предыдущее сообщение о состоянии. Если вам нужно сохранить его, вы можете это сделать.

const log = require('@ntbl/log')()

log.register('request', {
  hello: {
    text: '( ̄︶ ̄)↗ Hello World!',
    // включить сохранение
    save: true,
  },
  downloading:  data => `${data.frame} downloading data from a remote server`,
  completed: '√ download completed',
})


// после изменения состояния сохраните это сообщение
log.request.hello()
setTimeout(() => log.request.downloading(), 500)
// это тоже будет сохранено
// потому что состояние всегда будет продолжаться
setTimeout(() => log.request.completed(), 2000)

Если ваши сообщения генерируются динамически, вы также можете передать параметры.

const log = require('@ntbl/log')()

log.register('request', {
  // все переданные параметры будут сохранены в args
  downloading:  data => `${data.frame} downloading from ${data.args[0]} data from a remote server`,
  completed: '√ download completed',
})



log.request.downloading('www.baidu.com')
setTimeout(() => log.request.completed(), 2000)

Включение и отключение

Log поддерживает включение и выключение вывода текста одним щелчком мыши, это функция, оптимизированная для тестирования.

При выводе текста log обновляет интерфейс командной строки, поэтому при устранении неполадок или тестировании текст, выводимый функциями console и т. д., будет перекрываться. Чтобы обеспечить нормальное использование, мы можем:

log.config.disabled = true

Теперь весь вывод текста текущего экземпляра отключён.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Инструмент для вывода текста в командной строке с встроенной анимацией loading. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ntbl-ntbl-log.git
git@api.gitlife.ru:oschina-mirror/ntbl-ntbl-log.git
oschina-mirror
ntbl-ntbl-log
ntbl-ntbl-log
master