no more ValueToUI
parent
e12809efba
commit
dd6dad76c8
@ -1,95 +0,0 @@
|
||||
export function valueToUI(value: any): any {
|
||||
if (!value || !value._kind)
|
||||
throw new Error(`Expected UI constructor, got: ${JSON.stringify(value)}`);
|
||||
|
||||
switch(value._kind) {
|
||||
case 'rect':
|
||||
return {
|
||||
kind: 'rect',
|
||||
w: value.w,
|
||||
h: value.h,
|
||||
color: value.color,
|
||||
radius: value.radius,
|
||||
strokeWidth: value.strokeWidth,
|
||||
strokeColor: value.strokeColor,
|
||||
};
|
||||
|
||||
case 'text':
|
||||
return {
|
||||
kind: 'text',
|
||||
content: value.content,
|
||||
color: value.color,
|
||||
};
|
||||
|
||||
case 'row':
|
||||
return {
|
||||
kind: 'row',
|
||||
gap: value.gap || 0,
|
||||
children: value.children.map(valueToUI),
|
||||
};
|
||||
|
||||
case 'column':
|
||||
return {
|
||||
kind: 'column',
|
||||
gap: value.gap || 0,
|
||||
children: value.children.map(valueToUI),
|
||||
};
|
||||
|
||||
case 'stack':
|
||||
return {
|
||||
kind: 'stack',
|
||||
children: value.children.map(valueToUI),
|
||||
};
|
||||
|
||||
case 'positioned':
|
||||
return {
|
||||
kind: 'positioned',
|
||||
x: value.x || 0,
|
||||
y: value.y || 0,
|
||||
child: valueToUI(value.child),
|
||||
};
|
||||
|
||||
case 'padding':
|
||||
return {
|
||||
kind: 'padding',
|
||||
amount: value.amount || 0,
|
||||
child: valueToUI(value.child),
|
||||
};
|
||||
|
||||
case 'clickable':
|
||||
return {
|
||||
kind: 'clickable',
|
||||
event: value.event,
|
||||
child: valueToUI(value.child),
|
||||
};
|
||||
|
||||
case 'clip':
|
||||
return {
|
||||
kind: 'clip',
|
||||
w: value.w,
|
||||
h: value.h,
|
||||
child: valueToUI(value.child),
|
||||
};
|
||||
|
||||
case 'opacity':
|
||||
return {
|
||||
kind: 'opacity',
|
||||
opacity: value.opacity,
|
||||
child: valueToUI(value.child),
|
||||
};
|
||||
|
||||
case 'stateful':
|
||||
return {
|
||||
kind: 'stateful',
|
||||
key: value.key,
|
||||
focusable: value.focusable,
|
||||
autoFocus: value.autoFocus,
|
||||
init: value.init,
|
||||
update: value.update,
|
||||
view: value.view,
|
||||
};
|
||||
|
||||
default:
|
||||
throw new Error(`Unknown UI constructor: ${value._kind}`);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue