UNPKG

obniz

Version:

obniz sdk for javascript

43 lines (39 loc) 950 B
let yaml = require('js-yaml'); module.exports = function(source) { this.cacheable && this.cacheable(); try { let src = yaml.safeLoad(source); let excludeKeys = ['example', 'description']; let res = filter(src, excludeKeys); // console.log("src",src); // console.log("res",res); return JSON.stringify(res, undefined, '\t'); } catch (err) { this.emitError(err); return null; } }; function filter(target, excludeKeys) { if (typeof target !== 'object') { return target; } if (target === null) { return target; } if (Array.isArray(target)) { let newArr = []; for (let key in target) { if (!excludeKeys.includes(key)) { newArr[key] = filter(target[key], excludeKeys); } } return target; } let newObj = {}; for (let key in target) { if (!excludeKeys.includes(key)) { newObj[key] = filter(target[key], excludeKeys); } } return newObj; }