メインコンテンツまでスキップ

API リファレンス

upgradeOasTo32(input, options?)​

Swagger 2.0 または OpenAPI 3.x ドキュメントを OpenAPI 3.2 に変換します。

パラメーター型必須説明
inputOpenApiDocument | stringはいプレーンオブジェクトまたは JSON/YAML 文字列形式の Swagger 2.0/OpenAPI 3.x ドキュメント
optionsUpgradeOptionsいいえ省略可能な設定

戻り値: Promise<Oas32Document> — 検証済みの OpenAPI 3.2 ドキュメント。

例外: OpenApiUpgradeError — 参照: エラーコード.

UpgradeOptions​

プロパティ型既定値説明
validateResultbooleantrue変換後のドキュメントにスキーマ検証を実行
checkVersionbooleantrue出力が OpenAPI 3.2.x を宣言していることを確認
maxDepthnumber64循環参照の探索深度。0 で無効化

OpenApiUpgradeError​

class OpenApiUpgradeError extends Error {
readonly code: UpgradeErrorCode;
readonly issues: readonly OpenApiValidationIssue[];
readonly cause?: unknown;
}

isOpenApiUpgradeError(value)​

型ガード。値が OpenApiUpgradeError のインスタンスなら true を返します。

エラーコード​

コード値発生条件
InvalidInput"INVALID_INPUT"入力が文字列でもプレーンオブジェクトでもない
ParseOrValidateFailed"PARSE_OR_VALIDATE_FAILED"入力の解析または初期検証に失敗
FirstUpgradeFailed"FIRST_UPGRADE_FAILED"2.0/3.0 → 3.1 への変換に失敗
SecondUpgradeFailed"SECOND_UPGRADE_FAILED"3.1 → 3.2 への変換で例外が発生
VersionAssertionFailed"VERSION_ASSERTION_FAILED"出力が OpenAPI 3.2.x を宣言していない
ValidationFailed"VALIDATION_FAILED"変換後のドキュメントがスキーマ検証に失敗
CircularReference"CIRCULAR_REFERENCE"入力ドキュメントに循環参照が含まれる

型のエクスポート​

import type {
Oas20Document, Oas30Document, Oas31Document, Oas32Document,
OpenApiDocument, OpenApiInput, UpgradedDocument,
OpenApiValidationIssue, UpgradeOptions,
} from "@powerduck/openapi-parser";

OpenAPI 3.2 のスキーマオブジェクト型:

import type {
SchemaObject, OperationObject, ParameterObject, PathItemObject,
RequestBodyObject, ResponseObject, ServerObject, TagObject, MediaTypeObject,
} from "@powerduck/openapi-parser";

再エクスポートされる @scalar ヘルパー​

高度な用途向けに、次の関数を直接再エクスポートしています:

import { dereference, upgrade, validate } from "@powerduck/openapi-parser";