parse static method
Implementation
static Slide parse(Map<String, dynamic> map) {
final layout = map['layout'] ??= LayoutType.simple;
try {
switch (layout) {
case LayoutType.simple:
case null:
SimpleSlide.schema.validateOrThrow(map);
return SimpleSlide.fromMap(map);
case LayoutType.image:
ImageSlide.schema.validateOrThrow(map);
return ImageSlide.fromMap(map);
case LayoutType.widget:
WidgetSlide.schema.validateOrThrow(map);
return WidgetSlide.fromMap(map);
case LayoutType.twoColumn:
TwoColumnSlide.schema.validateOrThrow(map);
return TwoColumnSlide.fromMap(map);
case LayoutType.twoColumnHeader:
TwoColumnHeaderSlide.schema.validateOrThrow(map);
return TwoColumnHeaderSlide.fromMap(map);
default:
return InvalidSlide.invalidTemplate(layout);
}
} on SchemaValidationException catch (e) {
return InvalidSlide.schemaError(e.result);
} on Exception catch (e) {
return InvalidSlide.exception(e);
} catch (e) {
return InvalidSlide.message('# Unknown Error \n $e');
}
}