UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

40 lines (34 loc) 1.01 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import * as yaml from 'js-yaml'; import { AppConstants } from '../constants/app.constants.js'; export function loadYaml(fileContent: string) { return (yaml.load(fileContent)); } export function isYAML(data: string | object): boolean { try { const yamlString = yaml.dump(data); loadYaml(yamlString); return true; } catch (error) { return false; } } export function loadMultiYaml(fileContent: string) { return (yaml.loadAll(fileContent)); } export function isYamlFile(fileName: string): boolean { return fileName.endsWith('.yaml') || fileName.endsWith('.yml'); } export function convertToYamlString(data: unknown, fileName?: string): string { try { return yaml.dump(data); } catch (err) { throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${(err as Error).message}`); } } export function isMultiYAML(yamlString: string): boolean { const multiDocs =loadMultiYaml(yamlString); return multiDocs.length > 1; }