UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

25 lines (20 loc) 725 B
/** * 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 };