decode static method
Implementation
static UIBlock? decode(dynamic json) {
if (json == null) {
return null;
}
if (json is! Map<String, dynamic>) {
return null;
}
final typename = json['__typename'];
if (typename == null || typename is! String) {
return null;
}
switch (typename) {
case 'UIRootBlock':
final decoded = UIRootBlock.decode(json);
return decoded != null ? UIBlock.asUIRootBlock(decoded) : null;
case 'UIPageBlock':
final decoded = UIPageBlock.decode(json);
return decoded != null ? UIBlock.asUIPageBlock(decoded) : null;
case 'UIFlexContainerBlock':
final decoded = UIFlexContainerBlock.decode(json);
return decoded != null ? UIBlock.asUIFlexContainerBlock(decoded) : null;
case 'UITextBlock':
final decoded = UITextBlock.decode(json);
return decoded != null ? UIBlock.asUITextBlock(decoded) : null;
case 'UIImageBlock':
final decoded = UIImageBlock.decode(json);
return decoded != null ? UIBlock.asUIImageBlock(decoded) : null;
case 'UICollectionBlock':
final decoded = UICollectionBlock.decode(json);
return decoded != null ? UIBlock.asUICollectionBlock(decoded) : null;
case 'UICarouselBlock':
final decoded = UICarouselBlock.decode(json);
return decoded != null ? UIBlock.asUICarouselBlock(decoded) : null;
case 'UITextInputBlock':
final decoded = UITextInputBlock.decode(json);
return decoded != null ? UIBlock.asUITextInputBlock(decoded) : null;
case 'UISelectInputBlock':
final decoded = UISelectInputBlock.decode(json);
return decoded != null ? UIBlock.asUISelectInputBlock(decoded) : null;
case 'UIMultiSelectInputBlock':
final decoded = UIMultiSelectInputBlock.decode(json);
return decoded != null
? UIBlock.asUIMultiSelectInputBlock(decoded)
: null;
case 'UISwitchInputBlock':
final decoded = UISwitchInputBlock.decode(json);
return decoded != null ? UIBlock.asUISwitchInputBlock(decoded) : null;
default:
return null;
}
}