UNPKG

scratch-sb1-converter

Version:

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

30 lines (26 loc) 1.08 kB
import {Field, Header, Reference, Value} from '../squeak/fields'; import {TYPES, TYPE_NAMES} from '../squeak/ids'; class FieldRenderer { static check (data) { return data instanceof Field; } render (data, view) { if (data instanceof Reference) { view.renderTitle(`Reference { index: ${data.index} }`); } else if (data instanceof Header) { view.renderTitle(`Header { classId: ${data.classId} (${TYPE_NAMES[data.classId]}), size: ${data.size} }`); } else if ((data instanceof Value) && ( data.classId === TYPES.COLOR || data.classId === TYPES.TRANSLUCENT_COLOR )) { view.renderTitle((+data).toString(16).padStart(8, '0')).style.fontFamily = 'monospace'; } else if (data instanceof Value) { if (data.value && data.value.buffer) { view.renderTitle(`${data.value.constructor.name} (${data.value.length})`); } else { view.renderTitle(String(data)); } } } } export {FieldRenderer};