@apistudio/apim-cli
Version:
CLI for API Management Products
25 lines (20 loc) • 725 B
text/typescript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
import { BaseAsset } from "../../model/assets-model.js";
import { OPEN_API, SWAGGER } from "../../constants/app-constants.js";
const isOpenAPI = (
api: any
): api is { openapi: string; paths: Record<string, any> } => {
return typeof api === "object" && OPEN_API in api && "paths" in api;
};
const isSwaggerAPI = (
api: any
): api is { swagger: string; paths: Record<string, any> } => {
return typeof api === "object" && SWAGGER in api && "paths" in api;
};
const isValidRestAPI = (api: BaseAsset): boolean => {
return isOpenAPI(api) || isSwaggerAPI(api);
};
export { isValidRestAPI };