@apistudio/apim-cli
Version:
CLI for API Management Products
43 lines (42 loc) • 1.17 kB
JavaScript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { AppConstants } from '../constants/app.constants.js';
import yaml from 'js-yaml';
export class Converter {
convertToYamlString(data, fileName) {
try {
return yaml.dump(data);
}
catch (err) {
throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${err.message}`);
}
}
convertToJSON(data, fileName) {
try {
return yaml.load(data);
}
catch (err) {
throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${err.message}`);
}
}
convertMultilineYamlToJSON(data, fileName) {
try {
return yaml.loadAll(data);
}
catch (err) {
throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${err.message}`);
}
}
convertNumberToString(data) {
if (typeof data === 'string') {
return data.trim();
}
else if (Math.abs(data - Math.floor(data)) < 1e-7) {
return data.toFixed(1);
}
else {
return data.toString();
}
}
}