decodePageTransitionsTheme static method
Decodes the given value
to a PopupMenuThemeData. This expects the
given value
to be of the following structure:
{
"builders": <Map<TargetPlatform, PageTransitionBuilder>>
}
See also:
Implementation
static PageTransitionsTheme? decodePageTransitionsTheme(
dynamic value, {
bool validate = true,
}) {
PageTransitionsTheme? result;
if (value is PageTransitionsTheme) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/page_transitions_theme',
value: value,
validate: validate,
));
var builders = <TargetPlatform, PageTransitionsBuilder>{};
value['builders']?.forEach(
(key, value) =>
builders[decodeTargetPlatform(key)!] = decodePageTransitionsBuilder(
value,
validate: false,
)!,
);
result = PageTransitionsTheme(
builders: builders,
);
}
return result;
}