open-index/open-npm huggingface dataset:
npm package: @jingoz/await-timer
Description: @jingoz/await-timer 是一个 npm 包，提供了实现轮询功能的能力，用于替代 setInterval，并且可以确保传入的回调函数执行完毕后再开始下一次的循环。
Latest version: 0.0.5

# @jingoz/await-timer

@jingoz/await-timer 是一个 npm 包，提供了实现轮询功能的能力，用于替代 setInterval，并且可以确保传入的回调函数执行完毕后再开始下一次的循环。

## 安装

使用 npm 进行安装：

```sh
npm install @jingoz/await-timer
```

或者使用 yarn 进行安装：

```sh
yarn add @jingoz/await-timer
```

或者使用 pnpm 进行安装：

```sh
pnpm add @jingoz/await-timer
```

## 使用方法

```ts
import { AwaitTimer } from '@jingoz/await-timer'
import type { IAwaitTimer, AwaitTimerOptions, LoopCallback } from '@jingoz/await-timer'

// 定义你的回调函数
const callback: LoopCallback = async () => {
  // 在这里编写你的轮询逻辑
}

// 实例化 AwaitTimer
const options: AwaitTimerOptions = {
  immediate: true, // 是否立即执行第一次循环，默认为 false
  autoStart: true, // 是否自动开始循环，默认为 true
}

const timer: IAwaitTimer = new AwaitTimer(callback, options)

// 启动轮询
timer.start()

// 停止轮询
timer.stop()

// 销毁实例
timer.destroy()
```
npm package: @jingoz/components
Description: A lightweight, pragmatic set of functional React Components designed to solve common development challenges. We are committed to continuously adding more high-quality utilities.
Latest version: 0.0.3

# @jingoz/components

A lightweight, pragmatic set of functional React Components designed to solve common development challenges. We are committed to continuously adding more high-quality utilities.

---

## 安装

```bash
npm install @jingoz/components
yarn add @jingoz/components
pnpm add @jingoz/components
```

## Components

[FixedHeightVirtualList](https://packages.zhj13.top/components/fixedHeightVirtualList)
[DynamicHeightVirtualList](https://packages.zhj13.top/components/dynamicHeightVirtualList)
npm package: @jingoz/enhanced-abort-controller
Description: EnhancedAbortController 是一种具有超时功能的增强版本的 AbortController，使用 TypeScript 编写。
Latest version: 0.0.2

# @jingoz/enhanced-abort-controller

EnhancedAbortController 是一种具有超时功能的增强版本的 AbortController，使用 TypeScript 编写。

## 安装

您可以通过 npm 安装该包：

```sh
npm install @jingoz/enhanced-abort-controller
```

## 使用

```typescript
import { EnhancedAbortController } from '@jingoz/enhanced-abort-controller'

// 使用延迟创建 EnhancedAbortController 实例
const enhancedAbortController = new EnhancedAbortController(5000) // 5 秒延迟
// 设置中止超时
enhancedAbortController.abortAfter(3000) // 3 秒

// 如果您想销毁控制器
enhancedAbortController.destroy()
```

## API

### 构造函数

#### new EnhancedAbortController(delay?: number)

- delay: 可选；指定触发超时中止的延迟时间（毫秒）。

### 方法

#### abortAfter(delay: number)

在指定的延迟时间（毫秒）后触发中止操作。

#### destroy()

销毁 EnhancedAbortController 实例。
npm package: @jingoz/file-slicer
Description: @jingoz/file-slicer 是一个 npm 包，提供了文件根据自定义大小分片并计算 hash 的功能。
Latest version: 0.0.2

# @jingoz/file-slicer

@jingoz/file-slicer 是一个 npm 包，提供了文件根据自定义大小分片并计算 hash 的功能。

## 安装

使用 npm 进行安装：

```sh
npm install @jingoz/file-slicer
```

或者使用 yarn 进行安装：

```sh
yarn add @jingoz/file-slicer
```

或者使用 pnpm 进行安装：

```sh
pnpm add @jingoz/file-slicer
```

## 使用方法

```ts
import { FileSlicer } from '@jingoz/file-slicer'

// 通过 input 获取到 file
// 创建实例
const slicer = new FileSlicer(file, 1 * 1024 * 1024)
console.log(slicer.fileName)
console.log(slicer.fileSize)
await calcFullHash()
await splitFile()

// 计算文件完整 hash
const calcFullHash = async () => {
  if (!slicer) return
  await slicer.calcFileHash()
}

// 分片
const splitFile = async () => {
  if (!slicer) return
  await slicer.splitFile()
  slicer.chunks.forEach(chunk => {
    console.log(chunk.partialHash)
  })
}
```
npm package: @jingoz/hooks
Description: A lightweight, pragmatic set of React Hooks designed to solve common development challenges. We are committed to continuously adding more high-quality utilities.
Latest version: 0.0.5

# @jingoz/hooks

A lightweight, pragmatic set of React Hooks designed to solve common development challenges. We are committed to continuously adding more high-quality utilities.

---

## Install

```bash
npm install @jingoz/hooks
```

## Hooks

[useDebounce](https://packages.zhj13.top/hooks/useDebounce)
[useDeferedComponent](https://packages.zhj13.top/hooks/useDeferedComponent)
[useInterval](https://packages.zhj13.top/hooks/useInterval)
[useIntersectionObserver](https://packages.zhj13.top/hooks/useIntersectionObserver)
[useIsOnline](https://packages.zhj13.top/hooks/useIsOnline)
[useIsWindowVisible](https://packages.zhj13.top/hooks/useIsWindowVisible)
[useStorage](https://packages.zhj13.top/hooks/useStorage)
[useThrottle](https://packages.zhj13.top/hooks/useThrottle)