UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

42 lines (37 loc) 1.09 kB
/** * 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: unknown, fileName?: string): string { try { return yaml.dump(data); } catch (err) { throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${(err as Error).message}`); } } convertToJSON(data: string, fileName?: string): unknown { try { return yaml.load(data); } catch (err) { throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${(err as Error).message}`); } } convertMultilineYamlToJSON(data: string, fileName?: string): unknown[] { try { return yaml.loadAll(data); } catch (err) { throw new Error(`${AppConstants.PARSING_EXCEPTION(fileName)} ${(err as Error).message}`); } } convertNumberToString(data: string | number): string { 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(); } } }