Skip to main content

Examples

Error handling

import {
upgradeOasTo32,
isOpenApiUpgradeError,
UpgradeErrorCode,
} from "@powerduck/openapi-parser";

try {
await upgradeOasTo32(input);
} catch (error) {
if (isOpenApiUpgradeError(error)) {
switch (error.code) {
case UpgradeErrorCode.InvalidInput:
console.error("Bad input:", error.message);
break;
case UpgradeErrorCode.CircularReference:
console.error("Cyclic document detected");
break;
default:
console.error(`Upgrade failed (${error.code}):`, error.message);
}
} else {
throw error;
}
}

Electron / CommonJS

const { upgradeOasTo32 } = require("@powerduck/openapi-parser");

upgradeOasTo32(specContent).then((doc) => {
console.log(doc.openapi); // "3.2.0"
});

Disable validation (advanced)

// Skip output schema validation for faster processing.
// Only do this if you trust the input and don't need the guarantee.
const doc = await upgradeOasTo32(input, {
validateResult: false,
checkVersion: false,
});

Disable circular-reference guard

// Only safe for inputs you know are acyclic.
const doc = await upgradeOasTo32(input, { maxDepth: 0 });