maybeFromDynamic static method
JsonIconButtonBuilderModel?
maybeFromDynamic(
- dynamic map, {
- Map<
String, dynamic> args = const {}, - JsonWidgetRegistry? registry,
Implementation
static JsonIconButtonBuilderModel? maybeFromDynamic(
dynamic map, {
Map<String, dynamic> args = const {},
JsonWidgetRegistry? registry,
}) {
JsonIconButtonBuilderModel? result;
if (map != null) {
if (map is String) {
map = yaon.parse(
map,
normalize: true,
);
}
if (map is JsonIconButtonBuilderModel) {
result = map;
} else {
registry ??= JsonWidgetRegistry.instance;
map = registry.processArgs(map, <String>{}).value;
result = JsonIconButtonBuilderModel(
args,
alignment: () {
dynamic parsed = ThemeDecoder.decodeAlignmentGeometry(
map['alignment'],
validate: false,
);
return parsed;
}(),
autofocus: JsonClass.parseBool(
map['autofocus'],
whenNull: false,
),
color: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['color'],
validate: false,
);
return parsed;
}(),
constraints: () {
dynamic parsed = ThemeDecoder.decodeBoxConstraints(
map['constraints'],
validate: false,
);
return parsed;
}(),
disabledColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['disabledColor'],
validate: false,
);
return parsed;
}(),
enableFeedback: JsonClass.maybeParseBool(
map['enableFeedback'],
),
focusColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['focusColor'],
validate: false,
);
return parsed;
}(),
focusNode: map['focusNode'],
highlightColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['highlightColor'],
validate: false,
);
return parsed;
}(),
hoverColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['hoverColor'],
validate: false,
);
return parsed;
}(),
icon: () {
dynamic parsed = JsonWidgetData.fromDynamic(
map['icon'],
registry: registry,
);
if (parsed == null) {
throw Exception(
'Null value encountered for required parameter: [icon].');
}
return parsed;
}(),
iconSize: () {
dynamic parsed = JsonClass.maybeParseDouble(map['iconSize']);
return parsed;
}(),
isSelected: JsonClass.maybeParseBool(
map['isSelected'],
),
mouseCursor: () {
dynamic parsed = ThemeDecoder.decodeMouseCursor(
map['mouseCursor'],
validate: false,
);
return parsed;
}(),
onPressed: map['onPressed'],
padding: () {
dynamic parsed = ThemeDecoder.decodeEdgeInsetsGeometry(
map['padding'],
validate: false,
);
return parsed;
}(),
selectedIcon: () {
dynamic parsed = JsonWidgetData.maybeFromDynamic(
map['selectedIcon'],
registry: registry,
);
return parsed;
}(),
splashColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['splashColor'],
validate: false,
);
return parsed;
}(),
splashRadius: () {
dynamic parsed = JsonClass.maybeParseDouble(map['splashRadius']);
return parsed;
}(),
style: () {
dynamic parsed = ThemeDecoder.decodeButtonStyle(
map['style'],
validate: false,
);
return parsed;
}(),
tooltip: map['tooltip'],
visualDensity: () {
dynamic parsed = ThemeDecoder.decodeVisualDensity(
map['visualDensity'],
validate: false,
);
return parsed;
}(),
);
}
}
return result;
}