scratch-sb1-converter
Version:
Scratch 1 (.sb) to Scratch 2 (.sb2) conversion library for Scratch 3.0
29 lines (25 loc) • 948 B
JavaScript
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};