maybeFromDynamic static method
JsonAppBarBuilderModel?
maybeFromDynamic(
- dynamic map, {
- Map<
String, dynamic> args = const {}, - JsonWidgetRegistry? registry,
Implementation
static JsonAppBarBuilderModel? maybeFromDynamic(
dynamic map, {
Map<String, dynamic> args = const {},
JsonWidgetRegistry? registry,
}) {
JsonAppBarBuilderModel? result;
if (map != null) {
if (map is String) {
map = yaon.parse(
map,
normalize: true,
);
}
if (map is JsonAppBarBuilderModel) {
result = map;
} else {
registry ??= JsonWidgetRegistry.instance;
map = registry.processArgs(map, <String>{}).value;
result = JsonAppBarBuilderModel(
args,
actions: () {
dynamic parsed = JsonWidgetData.maybeFromDynamicList(
map['actions'],
registry: registry,
);
return parsed;
}(),
actionsIconTheme: () {
dynamic parsed = ThemeDecoder.decodeIconThemeData(
map['actionsIconTheme'],
validate: false,
);
return parsed;
}(),
automaticallyImplyLeading: JsonClass.parseBool(
map['automaticallyImplyLeading'],
whenNull: true,
),
backgroundColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['backgroundColor'],
validate: false,
);
return parsed;
}(),
bottom: () {
dynamic parsed = JsonWidgetData.maybeFromDynamic(
map['bottom'],
registry: registry,
);
return parsed;
}(),
bottomOpacity: () {
dynamic parsed = JsonClass.maybeParseDouble(map['bottomOpacity']);
parsed ??= 1.0;
return parsed;
}(),
centerTitle: JsonClass.maybeParseBool(
map['centerTitle'],
),
clipBehavior: () {
dynamic parsed = ThemeDecoder.decodeClip(
map['clipBehavior'],
validate: false,
);
return parsed;
}(),
elevation: () {
dynamic parsed = JsonClass.maybeParseDouble(map['elevation']);
return parsed;
}(),
excludeHeaderSemantics: JsonClass.parseBool(
map['excludeHeaderSemantics'],
whenNull: false,
),
flexibleSpace: () {
dynamic parsed = JsonWidgetData.maybeFromDynamic(
map['flexibleSpace'],
registry: registry,
);
return parsed;
}(),
forceMaterialTransparency: JsonClass.parseBool(
map['forceMaterialTransparency'],
whenNull: false,
),
foregroundColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['foregroundColor'],
validate: false,
);
return parsed;
}(),
iconTheme: () {
dynamic parsed = ThemeDecoder.decodeIconThemeData(
map['iconTheme'],
validate: false,
);
return parsed;
}(),
leading: () {
dynamic parsed = JsonWidgetData.maybeFromDynamic(
map['leading'],
registry: registry,
);
return parsed;
}(),
leadingWidth: () {
dynamic parsed = JsonClass.maybeParseDouble(map['leadingWidth']);
return parsed;
}(),
notificationPredicate: map['notificationPredicate'] ??
defaultScrollNotificationPredicate,
primary: JsonClass.parseBool(
map['primary'],
whenNull: true,
),
scrolledUnderElevation: () {
dynamic parsed =
JsonClass.maybeParseDouble(map['scrolledUnderElevation']);
return parsed;
}(),
shadowColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['shadowColor'],
validate: false,
);
return parsed;
}(),
shape: () {
dynamic parsed = ThemeDecoder.decodeShapeBorder(
map['shape'],
validate: false,
);
return parsed;
}(),
surfaceTintColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['surfaceTintColor'],
validate: false,
);
return parsed;
}(),
systemOverlayStyle: () {
dynamic parsed = ThemeDecoder.decodeSystemUiOverlayStyle(
map['systemOverlayStyle'],
validate: false,
);
return parsed;
}(),
title: () {
dynamic parsed = JsonWidgetData.maybeFromDynamic(
map['title'],
registry: registry,
);
return parsed;
}(),
titleSpacing: () {
dynamic parsed = JsonClass.maybeParseDouble(map['titleSpacing']);
return parsed;
}(),
titleTextStyle: () {
dynamic parsed = ThemeDecoder.decodeTextStyle(
map['titleTextStyle'],
validate: false,
);
return parsed;
}(),
toolbarHeight: () {
dynamic parsed = JsonClass.maybeParseDouble(map['toolbarHeight']);
return parsed;
}(),
toolbarOpacity: () {
dynamic parsed = JsonClass.maybeParseDouble(map['toolbarOpacity']);
parsed ??= 1.0;
return parsed;
}(),
toolbarTextStyle: () {
dynamic parsed = ThemeDecoder.decodeTextStyle(
map['toolbarTextStyle'],
validate: false,
);
return parsed;
}(),
);
}
}
return result;
}