# @cerios/openapi-core 中文文档

规范地址：https://npmcn.com/package/%40cerios/openapi-core/

版本：1\.1\.1
npm 元数据更新时间：2026-03-06T15:16:55.653Z
中文译文更新时间：2026-11-09T08:09:06.256Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：705 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2026-02-20T09:18:57.921Z
- 最新版本发布：2026-03-06T15:16:55.364Z
- 近 30 天下载量：12734（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

用于解析和处理OpenAPI规格的核心公用事业. OpenAPI 代码生成器共享基础 .

## 安装

```sh
npm install @cerios/openapi-core
```

也可以使用：`pnpm add @cerios/openapi-core`、`yarn add @cerios/openapi-core`、`bun add @cerios/openapi-core`

## README

# @ cerios/ openapi 核心

用于解析和处理OpenAPI规格的核心公用事业. 这个软件包为OpenAPI代码生成器提供了共享的基础.

## 安装

```bash
npm install @cerios/openapi-core
```

## 特征

-   🔍 **OpenAPI 解析** - 分析OpenAPI 3.0/3.1YAML和JSON规格
-   🔗 **参考决议** - 决断 `$ref` 全谱的参考文献
-   🏷️ **操作过滤** - 通过标签、路径和方法过滤操作
-   🛠️ **工具函数** - 用于计划处理的通用公用事业
-   📦 **批量执行** - 发电机的平行和相继执行
-   🧪 **测试固定器** - 用于测试的共享OpenAPI装置

## 使用量

```typescript
import {
    shouldIncludeOperation,
    toPascalCase,
    toCamelCase,
    resolveRefName,
    LRUCache,
    loadOpenAPISpec,
} from "@cerios/openapi-core";

// Load and parse an OpenAPI spec
const spec = await loadOpenAPISpec("openapi.yaml");

// Extract schema name from $ref
const schemaName = resolveRefName("#/components/schemas/User"); // "User"

// Filter operations
const include = shouldIncludeOperation(operation, path, method, {
    includeTags: ["users"],
    excludePaths: ["/internal/*"],
});

// Name utilities
const className = toPascalCase("user-profile"); // "UserProfile"
const methodName = toCamelCase("get-user-by-id"); // "getUserById"
```

## API 参考

### 类型

-   `OpenAPISpec` - OpenAPI 规格结构
-   `OpenAPISchema` - Schema定义结构
-   `OpenAPIParameter` - 参数定义
-   `OpenAPIRequestBody` - 请求体定义
-   `OpenAPIResponse` - 反应定义
-   `OperationFilters` - 操作过滤选项
-   `ExecutionMode` - 平行/相继执行模式
-   `BaseGeneratorOptions` - 所有发电机的基本选项

### 光谱解析

-   `loadOpenAPISpec()` - 装入并分析 OpenAPI 光谱文件
-   `loadOpenAPISpecCached()` - 装入LRU缓冲

### 参考决议

-   `resolveRefName()` - 从 `$ref` 路径
-   `resolveRequestBodyRef()` - 解决请求机构参考
-   `resolveResponseRef()` - 确定答复参考
-   `mergeParameters()` - 合并路径和操作参数

### 操作过滤

-   `shouldIncludeOperation()` - 检查操作是否匹配过滤器
-   `validateFilters()` - 验证过滤器配置
-   `createFilterStatistics()` - 创建过滤器统计跟踪器
-   `formatFilterStatistics()` - 用于显示的格式统计

### 名称 公用事业

-   `toPascalCase()` - 将字符串转换为 PascalCase
-   `toCamelCase()` - 将字符串转换为骆驼Case
-   `resolveRefName()` - 从 $ref 路径提取名称
-   `getOperationName()` - 从操作ID或路径获取操作名称
-   `generateMethodNameFromPath()` - 从路径生成方法名
-   `capitalize()` - 首字母大写

### 命名方法

-   `pathToPascalCase()` - 将路径转换为PascalCase(例如, `/users/{userId}` → `UsersByUserId`(中文(简体) )
-   `generateHttpMethodName()` - 从 HTTP 方法 + 路径生成方法名称
-   `extractPathParams()` - 从路径模板中提取参数名称
-   `sanitizeOperationId()` - 为类型脚本进行安全操作Id
-   `sanitizeParamName()` - 将类型脚本的参数名称标准化

### 斯克马·特拉弗萨尔

-   `extractSchemaRefs()` - 全部提取出来 `$ref` 来自 schema 树的名称
-   `expandTransitiveReferences()` - 扩大范围,以包括过渡性参考计划
-   `detectCircularReferences()` - 检测循环参考链
-   `topologicalSortSchemas()` - 按依赖关系排序计划
-   `analyzeSchemaUsage()` - 分析请求/答复上下文的使用
-   `classifyEnumType()` - 将enum值分类为字符串/数字/布尔/混合

### 页眉过滤器

-   `shouldIgnoreHeader()` - 检查信头是否匹配忽略模式
-   `filterHeaders()` - 不包括被忽略的过滤头
-   `validateIgnorePatterns()` - 验证和警告无与伦比的模式

### 模式公用事业

-   `stripPrefix()` - 从计划名称中取出前缀
-   `stripSuffix()` - 从字符串中取出后缀
-   `stripAffixes()` - 剥去前缀和后缀
-   `stripPathPrefix()` - 从路径取出前缀( 支持 glob)
-   `isGlobPattern()` - 检查字符串是否为 glob 模式

### 字符串公用事业

-   `escapeJSDoc()` - 逃避JSDoc内容
-   `escapeDescription()` - 逃逸描述文本
-   `escapePattern()` - 逃逸正反模式
-   `getPrimaryType()` - 从计划中获得初级类型
-   `hasMultipleTypes()` - 检查Schema是否有多种类型
-   `isNullable()` - 检查计划是否无效

### 内容类型

-   `getResponseParseMethod()` - 确定反应解析方法(json、文本、blob等)

### 配置装入器

-   `createConfigLoader()` - 装有宇宙外形+Zod验证的型号安全配置装载器工厂
-   `mergeCliWithConfig()` - 将 CLI 选项与配置值合并(CLI优先)

### 水电

-   `findSpecFiles()` - 在目录中查找 OpenAPI 光谱文件
-   `getRandomCeriosMessage()` - 随机获取 CLI 问候消息

### 类

-   `LRUCache` - 最近使用的缓存执行最少
-   `GeneratorError` - 发电机基准错误类别
-   `SpecValidationError` - OpenAPI spec验证错误
-   `FileOperationError` - 文件 I/O 错误
-   `ConfigValidationError` - 配置错误
-   `CircularReferenceError` - 通知参考检测错误
-   `CliOptionsError` - CLI 选项验证错误
-   `SchemaGenerationError` - Schema生成错误

### 批量执行

-   `executeBatch()` - 执行多个发电机
-   `getBatchExitCode()` - 计算结果的退出代码
-   `Generator` - 发电机执行接口

## 许可证

麻省理工学院

## 常见问题

### @cerios/openapi-core 是什么？

用于解析和处理OpenAPI规格的核心公用事业\. OpenAPI 代码生成器共享基础 \.

### 如何安装 @cerios/openapi-core？

在项目目录运行 npm install @cerios/openapi-core，或使用 pnpm add / yarn add / bun add。

### @cerios/openapi-core 支持 TypeScript 吗？

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

### @cerios/openapi-core 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @cerios/openapi-core 可以商用吗？

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

### @cerios/openapi-core 的下载量有多少？

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

### @cerios/openapi-core 还在维护吗？

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

