Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

aqdm

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aqdm

Simple terminal progress indicator made for any loop

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
19
increased by5.56%
Maintainers
1
Weekly downloads
 
Created
Source

aqdm

Simple terminal progress indicator that works

  • ✅ Simple API to show progress of a loop
  • 🫡 Both CommonJS and ESM imports are supported
  • 🔥 Examples of usage provided below
  • 🥳 Written in TypeScript

Installation

npm install aqdm

Usage

With iterable objects

import aqdm from 'aqdm'

// Array, Generator, etc..
const arr = [...Array(1000)]

for(const v of aqdm(arr)) {
	// do something
}

Results:

  4.70% [=====>                                                            ] 00:00:04 00:01:37 [1923.72 iter/sec]

Specify times of iteration instead of iterables

for(const i of aqdm(300)) {
	// do something
}

Results:

  4.70% [=====>                                                            ] 00:00:04 00:01:37 [1923.72 iter/sec]

Manualy process

const prgrs = aqdm()
while(true) {
	prgrs.process()
}

Results:

  327 [=============================================================================] 00:00:04 [2089.72 iter/sec]

Options

length

You can manually specify total length of items when you works with iterable objects without length property. (Typically for generators.)

function* gen(num) {
	for (let i = 0; i < num; i++) {
		yield i
	}
}

const g = gen(100)

for(const v of aqdm(g, {length: 100})){
	// do something
}

dest

Choose where to write progress indicator ('stdout' or 'stderr'), another value will be ignored.
Defaults to be 'stdout'.

for(const v of aqdm(arr, {dest: 'stderr'})) {
	// now aqdm will write the progress into process.stderr
}

callback

You can define your own callback function being called per iteration.

const cb = ({current, total, ratio, elapsed, remain, perSec}) => {
	console.log({current, total, ratio, elapsed, remain, perSec})
}

for(const v of aqdm(arr, {callback: cb})) {
	// do something
}

silent

aqdm will display nothing when set this option to true. (designed to use with callback function.)

for(const v of aqdm(arr, {silent: true})) {
	// now aqdm displays nothing.
}

Keywords

FAQs

Package last updated on 04 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc