# @altostra/type-validations 中文文档

规范地址：https://npmcn.com/package/%40altostra/type-validations/

版本：2\.7\.2
npm 元数据更新时间：2023-02-05T12:20:13.599Z
中文译文更新时间：2026-11-06T00:44:42.892Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：83.8 kB，47 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2020-05-18T15:47:19.329Z
- 最新版本发布：2023-02-05T12:20:13.501Z
- 近 30 天下载量：7926（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：42（近 12 个月 0 个）

## 中文简介

用于创建类型守护符和断言的功能.

## 安装

```sh
npm install @altostra/type-validations
```

也可以使用：`pnpm add @altostra/type-validations`、`yarn add @altostra/type-validations`、`bun add @altostra/type-validations`

## README

# 类型验证

[![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/altostra/type-validations) ![CI](https://github.com/altostra/type-validations/workflows/CI/badge.svg) [![npm version](https://badge.fury.io/js/%40altostra%2Ftype-validations.svg)](https://badge.fury.io/js/%40altostra%2Ftype-validations)

类型验证是一个创建库 _类型验证器_s: 扩充 [_类型守护符_](https://www.typescriptlang.org/docs/handbook/2/narrowing.html)编号 并让 TypeScript 类型检查员知道什么 类型可能是在特定上下文中.

## 安装

```sh
$ npm install @altostra/type-validations
```

## 参考文献

详细参考文献可见 [这里](https://npmcn.com/package/%40altostra/type-validations/docs/reference/index.md)。 。 。 .

### [`allOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/docs/reference/allOf.md)

创建 _类型验证器_s 对于一个 [_相交类型_](https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types) 从列表中 _类型验证器_编号.

### [`anyOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/anyOf.md)

创建 _类型验证器_s 用于 [_工会类型_](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) 从列表中 _类型验证器_编号.

### [`arrayOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/arrayOf.md)

鉴于 _类型守护符_ 类型 `T`创建 _类型验证器_ 页:1 `T[]`。 。 。 .

### [`assertBy`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/assertions.md)

创建 _a. 主张职能_ 从 _类型验证_ 和误差.

### [`enumOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/enumOf.md)

创建一个 _类型验证_ 检查某个值是否是指定值之一 (使用严格的平等).

### [`is`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/is.md)

创建一个 _类型验证_ 只允许严格等于 提供的价值.

### [`isEmptyArray`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/isEmptyArray.md)

A 类 _类型验证_ 检查一个值是否为空数组.

### [`isEmptyObject`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/isEmptyObject.md)

A 类 _类型验证_ 以检查一个值是否为空对象.

### [`isFunction`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/isFunction.md)

创建一个 _类型验证_ ,检查一个值是否是一个有指定长度的函数.

### [`maybe`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/maybe.md)

创建一个 _类型验证_ 检查某一数值是否为已验证类型, `undefined`, (中文(简体) ), 选择 `null`。 。 。 .

### [`objectOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/objectOf.md)

创建 _类型验证_ 检查一个值是否是其所有属性的对象 使用所提供的验证进行验证.

### [`recordOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/recordOf.md)

创建 _类型验证器_ 检查给定值是否为对象 其所有可自行承担的属性都属于特定类型.

### [`singleOrArray`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/singleOrArray.md)

创建一个 _类型验证_ 检查某一数值是否为特定类型或 该类型.

### [`taggedUnionOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/taggedUnionOf.md)

创建 _类型验证器_s 用于 [_工会类型_](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) 从指定标记属性值与验证符之间的映射中,当 _工会类型_ 其实是 [_受歧视的工会_](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions)。 。 。 .

### [`tupleOf`](https://npmcn.com/package/%40altostra/type-validations/docs/reference/tupleOf.md)

创建一个 _类型验证_ 检查对象是一个有特定长度的数组, 并对所有提供的指数进行了验证.

### [初级](https://npmcn.com/package/%40altostra/type-validations/docs/reference/primitives.md)

#### _类型验证_

-   `string`
-   `maybeString`
-   `number`
-   `maybeNumber`
-   `boolean`
-   `maybeBoolean`
-   `nullValidation`
-   `nullOrUndefined`
-   `undefinedValidation`
-   `symbol`
-   `maybeSymbol`
-   `bigint`
-   `maybeBigint`
-   `any`
-   `unknown`
-   `never`

#### _类型_

-   `stringAssertion`
-   `maybeStringAssertion`
-   `numberAssertion`
-   `maybeNumberAssertion`
-   `booleanAssertion`
-   `maybeBooleanAssertion`
-   `nullAssertion`
-   `nullOrUndefinedAssertion`
-   `undefinedAssertion`
-   `symbolAssertion`
-   `maybeSymbolAssertion`
-   `bigintAssertion`
-   `maybeBigintAssertion`
-   `anyAssertion`
-   `unknownAssertion`
-   `assert`

## 常见问题

### @altostra/type-validations 是什么？

用于创建类型守护符和断言的功能\.

### 如何安装 @altostra/type-validations？

在项目目录运行 npm install @altostra/type-validations，或使用 pnpm add / yarn add / bun add。

### @altostra/type-validations 支持 TypeScript 吗？

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

### @altostra/type-validations 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @altostra/type-validations 可以商用吗？

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

### @altostra/type-validations 的下载量有多少？

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

### @altostra/type-validations 还在维护吗？

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

