import { capitalize } from '@ember/string'; import Component from '@ember/component'; import { computed } from '@ember/object'; import columnify from 'columnify'; export function stringifyObjectValues(data) { Object.keys(data).forEach((item) => { let val = data[item]; if (typeof val !== 'string') { val = JSON.stringify(val); } data[item] = val; }); } export default Component.extend({ content: null, columns: computed('content', function () { let data = this.content; stringifyObjectValues(data); return columnify(data, { preserveNewLines: true, headingTransform: function (heading) { return capitalize(heading); }, }); }), });