@orbstation/cling
v0.0.2
Published
Textual status helper, for CLI progress or API result log
Downloads
70
Readme
OrbStation: cling
Textual status helper, for CLI progress or API result log.
npm i --save @orbstation/cling
ESM only package
Usage
Using the default stdout
configured instance:
import { cling } from '@orbstation/cling'
cling.line('some simple line to output')
cling.message('succes', 'line with severity level')
cling.message('error', 'line with severity level')
const end = cling.progress('waiting for upload')
// will print / animate:
// waiting for upload .
// waiting for upload ..
// waiting for upload ...
// waiting for upload .
// when done, end the logging with one final line:
end()
// waiting for upload ...
Using the default array-log
configured instance:
import { clingLog } from '@orbstation/cling'
import { ClingLogEntry } from '@orbstation/cling/outputLog'
const store: ClingLogEntry[] = []
const cling = clingLog(store)
cling.line('some line')
cling.line('and another line')
// flushing the current content of the store:
console.log(store.splice(0, store.length))
// when not "flushed" again, this line won't be shown anywhere
cling.line('and another line')
Building a custom instance:
import { ClingFns, ClingLevels, makeCling } from '@orbstation/cling/make'
import { symbolsUTF8 } from '@orbstation/cling/symbols'
import { clingOutputStd } from '@orbstation/cling/outputStd'
export const cling: ClingFns<ClingLevels> =
makeCling({
onOutput: clingOutputStd(symbolsUTF8),
})
import { ClingFns, ClingLevels, makeCling } from '@orbstation/cling/make'
import { ClingLogEntry, clingOutputLog } from '@orbstation/cling/outputLog'
export const clingLog: <L extends ClingLevels = ClingLevels>(store: ClingLogEntry[]) => ClingFns<L> =
(store) =>
makeCling({
onOutput: clingOutputLog(store),
})
License
© 2023 bemit