# @freckle/exhaustive 中文文档

规范地址：https://npmcn.com/package/%40freckle/exhaustive/

版本：2\.0\.0
npm 元数据更新时间：2026-08-31T21:55:36.518Z
中文译文更新时间：2026-11-15T16:53:12.073Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40freckle/exhaustive
原文对照：https://npmcn.com/package/%40freckle/exhaustive/?lang=original
项目主页：https://github.com/freckle/exhaustive-js#readme
源码仓库：https://github.com/freckle/exhaustive-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：5 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-03-10T20:23:19.582Z
- 最新版本发布：2026-08-31T21:55:36.340Z
- 近 30 天下载量：2170（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 2 个）

## 中文简介

为检查穷尽性提供了帮助功能

## 安装

```sh
npm install @freckle/exhaustive
```

也可以使用：`pnpm add @freckle/exhaustive`、`yarn add @freckle/exhaustive`、`bun add @freckle/exhaustive`

## README

# @freck/ 详尽无遗的js

为检查穷尽性提供了帮助功能。 疲劳性检查是一种语言的特点,即类型检查器保证覆盖所有案件.

## 安装

```sh
pnpm add @freckle/exhaustive
```

这一一揽子措施仅限无害环境管理.

## 使用量

```js
import {exhaustive} from '@freckle/exhaustive'

type Status = 'success' | 'failure'

function getStatusMessage(status: Status): string {
  switch (status) {
    case 'success':
      return 'The operation completed successfully.'
    case 'failure':
      return 'The operation failed.'
    default:
      return exhaustive(status)
  }
}
```

在默认情况下返回状态本身是常见模式的还原器中使用:

```js
import {exhaustiveReducer} from '@freckle/exhaustive'

type TodoState = {...}
type TodoAction = {type: 'todoAdded', ...} | {type: 'todoToggled', ...}

const defaultTodoState = {...}

function todoReducer(
  state: TodoState = defaultTodoState,
  action: TodoAction
): TodoState {
  switch (action.type) {
    case 'todoAdded':
      return {...}
    case 'todoToggled':
      return {...}
    default:
      return exhaustiveReducer(action.type, state)
  }
}
```

## 发展

-   **软件包管理器**: pnpm(节点版本被钉入) `.nvmrc`(中文(简体) )
-   `pnpm build` —— 说 `tsc` 通过 `tsconfig.build.json`; 发送到 `dist/`
-   `pnpm test` - 维特
-   `pnpm coverage` - 覆盖率为70%的Vitest(线路/行/功能/说明)
-   `pnpm typecheck` —— 说 `tsc --noEmit`,包括测试文件
-   `pnpm lint` ——ESLint公司
-   `pnpm format` 编号 : `pnpm format-check` - 更高级
-   `pnpm knip` ——未用文件/依赖/导出
-   CI在每份公关上 都查了一下 `dist/` 最新数据

`dist/` 承诺。 运行 `pnpm build` 在推进之前.

## 释放

见 [发 言](https://npmcn.com/package/%40freckle/exhaustive/RELEASE.md) 更多细节.

## 常见问题

### @freckle/exhaustive 是什么？

为检查穷尽性提供了帮助功能

### 如何安装 @freckle/exhaustive？

在项目目录运行 npm install @freckle/exhaustive，或使用 pnpm add / yarn add / bun add。

### @freckle/exhaustive 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @freckle/exhaustive 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @freckle/exhaustive 可以商用吗？

@freckle/exhaustive 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @freckle/exhaustive 的下载量有多少？

根据 npm 官方下载统计，@freckle/exhaustive 在 2026/10/16 – 2026/11/14 这 30 天内被下载 2,170 次，日均约 72 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @freckle/exhaustive 还在维护吗？

最新版本 2\.0\.0 发布于 2026/09/01（2 个月前）；至今共发布 3 个版本，其中过去 12 个月发布了 2 个；首次发布于 2023/03/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

