# @demvsystems/yup-ast 中文文档

规范地址：https://npmcn.com/package/%40demvsystems/yup-ast/

版本：1\.2\.2
npm 元数据更新时间：2022-04-05T03:44:19.441Z
中文译文更新时间：2026-11-11T22:17:13.988Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：12.7 kB，7 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2020-04-08T09:21:51.908Z
- 最新版本发布：2022-01-10T11:57:26.250Z
- 近 30 天下载量：11453（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 0 个）

## 中文简介

由于许可证问题,重新写出最初的yup-ast. 将 JSON 转换为 Yup 对象 .

## 安装

```sh
npm install @demvsystems/yup-ast
```

也可以使用：`pnpm add @demvsystems/yup-ast`、`yarn add @demvsystems/yup-ast`、`bun add @demvsystems/yup-ast`

## README

# 哟,屁股

[![Latest Stable Version](https://img.shields.io/npm/v/@demvsystems/yup-ast.svg)](https://www.npmjs.com/package/@demvsystems/yup-ast) [![Node.js Package](https://github.com/demvsystems/yup-ast/workflows/Node.js%20Package/badge.svg)](https://github.com/demvsystems/yup-ast/actions) [![NPM Downloads](https://img.shields.io/npm/dm/@demvsystems/yup-ast.svg)](https://www.npmjs.com/package/@demvsystems/yup-ast) [![dependencies Status](https://david-dm.org/demvsystems/yup-ast/status.svg)](https://david-dm.org/demvsystems/yup-ast) [![Test Coverage](https://img.shields.io/codecov/c/github/demvsystems/yup-ast/master.svg)](https://codecov.io/github/demvsystems/yup-ast?branch=master)

> 生成 [对](https://github.com/jquense/yup) jSON的图案.

这个项目是原计划的后续 [哟,屁股](https://github.com/WASD-Team/yup-ast) 由于许可证发放问题,不再能够积极维持. 由于时间对接,到目前为止只有核心功能被移植. 请随意通过公关添加任何可能的改进或缺失原版API!

## 安装

```
npm install --save @demvsystems/yup-ast
```

## 使用量

### ES5号机车

```
var transformAll = require('@demvsystems/yup-ast').transformAll;
```

### ES2015+ (英语)

```
import { transformAll } from '@demvsystems/yup-ast';
```

### 将 JSON 转换为图案

Yup schema 的 JSON 表示是一个数组,每个调用再次成为数组. 方法称从"yup"开始. 每个参数都是之后额外的数组条目.

示例: 创建如下方案:

```ts
const schema = yup.array()
  .required()
  .min(2)
  .of(
    yup.object()
      .required()
      .shape({
        foo: yup.string().required(),
      })
  );
```

你打电话 `transformAll` 像这样:

```ts
const schema = transformAll([
  ['yup.array'],
  ['yup.required'],
  ['yup.min', 2],
  ['yup.of', [
    ['yup.object'],
    ['yup.required'],
    ['yup.shape', {
      foo: [['yup.string'], ['yup.required']],
    }],
  ]],
]);
```

两者可以同样的方式加以验证:

```ts
schema.isValidSync([
  { foo: 'bar' },
  { foo: 'baz' },
]); // => true
```

例如,请查看 [包括测试案例](https://npmcn.com/package/%40demvsystems/yup-ast/src/__tests__/test.test.ts)。 。 。 .

## 更改日志

请看 [释放](https://github.com/demvsystems/yup-ast/releases) 关于最近变化的更多信息.

## 贷项

-   [空间运动](https://github.com/spaceemotion)
-   [所有贡献者](https://github.com/demvsystems/yup-ast/contributors)

## 许可证

ISC许可证。 请看 [许可证文件](https://npmcn.com/package/%40demvsystems/yup-ast/LICENSE.md) 更多信息.

## 常见问题

### @demvsystems/yup-ast 是什么？

由于许可证问题,重新写出最初的yup-ast\. 将 JSON 转换为 Yup 对象 \.

### 如何安装 @demvsystems/yup-ast？

在项目目录运行 npm install @demvsystems/yup-ast，或使用 pnpm add / yarn add / bun add。

### @demvsystems/yup-ast 支持 TypeScript 吗？

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

### @demvsystems/yup-ast 支持 ESM 还是 CommonJS？

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

### @demvsystems/yup-ast 可以商用吗？

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

### @demvsystems/yup-ast 的下载量有多少？

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

### @demvsystems/yup-ast 还在维护吗？

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

