open-index/open-npm huggingface dataset:
npm package: @jaocer/nusage
Description: show disk usage
Latest version: 1.2.0

# nusgae

一个简单的基于 Nodejs 开发的磁盘占用产看工具。支持 Windows/Mac/Linux。支持 node10+

## 安装

使用 npm

```bash
npm install @jaocer/nusage -g
```

使用 yarn

```bash
yarn global add @jaocer/nusage
```

## 使用

可以在任意目录执行

```bash
nu
# 或者
nusage
# 或者
diskusage
```

或者到[release](https://github.com/changero/nusage/releases)页面下载对应平台的包

## 开发

```bash
yarn

yarn dev

node bin/nusage
```

### 关于 nexe 的说明

如果本地要执行 release，请注意在[nexe release](https://github.com/nexe/nexe/releases/tag/v3.3.3)页面下载对应版本的包，放到`用户目录/.nexe`目录中
npm package: @jaood/hash-storage
Description: Hash KV storage clustered within workers
Author: Maksym Shenderuk
Latest version: 1.0.3

# Hash KV storage clustered within workers

`hash-storage` is `Promise`-based Key-Value storage with composite "two-level" key.

# Example of usage

```js
import hashStorage from '@jaood/hash-storage'
import { setTimeout } from 'node:timers/promises'

const storage = hashStorage({
  type: 'object',
  TTL: 1000,
  concurrency: 1
})

const info = { item: 'Water', amount: 2 }

await storage.hset('store#1', '1001', info)
const res1 = await storage.hget('store#1', '1001')
console.log(res1) // { item: 'Water', amount: 2 }

await setTimeout(1000) // wait till TTL expires

const res2 = await storage.hget('store#1', '1001')
console.log(res2) // null, as value has expired due to TTL setup
```

# Configuration

In general configuration object has following structure:

```ts
type Options = {
  type?: 'object' | 'map'
  TTL?: number
  norm?: number
  max?: number
  concurrency?: number
}
```

And a little bit of parameters explanation.

## type

`type` defines inner storage engine for each hash shard.  
It can be either `object` (for plain JS object) or `map` (for `Map`).  
Default value: `object`.

## TTL

`TTL` defines "time to live" in `milliseconds` for each value.  
When set to `0`, lifetime of value becomes `Infinity`.  
Default value: `0`.

## norm

`norm` defines amount of default pre-allocated storage units pool per shard (per thread).  
Default value: `0`.

## max

`max` defines of max pool-size for storage units pool.  
Default value: `Infinity`.

## concurrency

`concurrency` defines how many shards (workers) will be created to distribute hash sub-storages.  
For `concurrency: n` there will be spawned `n` worker to distribute storage computational load.  
For `concurrency: 0` no workers will be spawned, so all the storage computations will be executed on the `main thread`.  
Default value: `0`.

# Interface

`hash-storage` implements 4 basic operations:

- `hset` to assign data to composite `(hash, key)` key;
- `hget` to retrieve data;
- `hgetall` to retrieve all corresponding data associated with the same hash;
- `hdel` to perform remove operation.

Also it has `shutdown` method to termiate all the underlying workers.

In terms of TypeScript types it implements following interface:

```ts
interface HashStorage {
  hset: (hash: string, key: string, value: unknown) => Promise<void>
  hget: (hash: string, key: string) => Promise<unknown>
  hgetall: (hash: string) => Promise<HashMap>
  hdel: (hash: string, key: string) => Promise<void>
  shutdown: () => void
}

interface HashMap {
  [key: string]: unknown
}
```
npm package: @jaood/timestamp-colorizer
Description: Package to determine which color to apply to time interval according to configs.
Author: JaoodxD
Latest version: 0.0.7

# Interval Colorizer
Package to determine which color to apply to time interval according to configs.

# For example:
00:05:00 (5 min) would be marked as 🟩green.

01:00:00 (1 hour) would get 🟨yellow.

18:00:00 (18 hours) could be mentioned as long time interval so it'd get 🟥red color.