@apistudio/apim-cli
Version:
CLI for API Management Products
37 lines (36 loc) • 971 B
JavaScript
/**
* 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) {
return (yaml.load(fileContent));
}
export function isYAML(data) {
try {
const yamlString = yaml.dump(data);
loadYaml(yamlString);
return true;
}
catch (error) {
return false;
}
}
export function loadMultiYaml(fileContent) {
return (yaml.loadAll(fileContent));
}
export function isYamlFile(fileName) {
return fileName.endsWith('.yaml') || fileName.endsWith('.yml');
}
export function convertToYamlString(data, fileName) {
try {
return yaml.dump(data);
}
catch (err) {
throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${err.message}`);
}
}
export function isMultiYAML(yamlString) {
const multiDocs = loadMultiYaml(yamlString);
return multiDocs.length > 1;
}