Перейти к основному содержимому

Справочник API

upgradeOasTo32(input, options?)​

Преобразует документ Swagger 2.0 или OpenAPI 3.x в OpenAPI 3.2.

ПараметрТипОбязателенОписание
inputOpenApiDocument | stringДаДокумент Swagger 2.0 или OpenAPI 3.x в виде обычного объекта или строки JSON/YAML
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)​

Проверка типа. Возвращает true, если значение — экземпляр OpenApiUpgradeError.

Коды ошибок​

КодЗначениеУсловие возникновения
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";