New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

instant-rs

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

instant-rs

> A better `console.time`. > > 💰 Time is money, a very tiny library to convert time costs of your program to a **human readable** format use [pretty-ms](https://www.npmjs.com/package/pretty-ms) and designed in a **good-DX API style like Rust's** 🦀 `in

latest
Source
npmnpm
Version
1.0.1
Version published
Weekly downloads
4
100%
Maintainers
1
Weekly downloads
 
Created
Source

instant-rs

npm version npm downloads lint by git commit msg linter

A better console.time.

💰 Time is money, a very tiny library to convert time costs of your program to a human readable format use pretty-ms and designed in a good-DX API style like Rust's 🦀 instant.elapsed.

Usage

import Instant from 'instant-rs'

// Mark beginning time
const now = Instant.now();

await doSthExpensive()

// Show time costs
console.log("time costs", now.elapsed());

elapsed() will return the time costs of doSthExpensive() in a readable string format.

1337000000 => 'time costs 15d 11h 23m 20s'
1337 => 'time costs 1.3s'
133 => 'time costs 133ms'

The console.time Problem

In JavaScript:

console.time('time costs')
await sleep(10) // 10ms 100ms 1000ms
console.timeEnd('time costs')

// Output:
// time costs: 11.322021484375 ms 😀
// time costs: 1001.489990234375 ms 🤔
// time costs: 100102.08911132812 ms 😡

While in Rust, time costs is more readable and the API is easier to use and the code is more DRY because we don't need to write label twice:

use std::time::{Duration, Instant};
use std::thread::sleep;

fn main() {
    let now = Instant::now();
    sleep(Duration::from_millis(10)); // 10ms 100ms 1000ms
    println!("time costs {:?}", now.elapsed());
}

// Output:
// time costs 10.07827ms // 10 ms 😀
// time costs 100.077897ms // 100 ms 😊
// time costs 1.000184719s // 1000 ms 😋
// time costs 10.000086342s // 10_000 ms 😇

That's why I wrote this package.

API

elapsed

function elapsed(options?: IOptions)

Support all options of pretty-ms https://www.npmjs.com/package/pretty-ms#api.

for example time cost is 1234ms:

// `compact` option
now.elapsed({ compact: true });
//=> '1s'

// `verbose` option
now.elapsed({ compact: true });
//=> '1.2 seconds'

now

function now(): Instant

Keywords

readable

FAQs

Package last updated on 10 Apr 2024

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