UNPKG

scratch-sb1-converter

Version:

Scratch 1 (.sb) to Scratch 2 (.sb2) conversion library for Scratch 3.0

29 lines (25 loc) 948 B
const log = require('../util/log'); class ObjectRenderer { static check (data) { return data && data.constructor === Object; } render (dataOrFn, view) { view.renderArrow(); view.renderTitle(String(dataOrFn) === '[object Object]' ? 'Object' : String(dataOrFn)); view.renderExpand(() => { const data = typeof dataOrFn === 'function' ? dataOrFn() : dataOrFn; return Object.keys(data) .map(key => { try { if (typeof data[key] === 'function') return null; return view.child(data[key], key, `.${key}`); } catch (err) { log.error(err); return view.child('An error occured rendering view data.', key, `.${key}`); } }) .filter(Boolean); }); } } export {ObjectRenderer};