decodePageTransitionsBuilder static method

PageTransitionsBuilder? decodePageTransitionsBuilder(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the value to a PageTransitionsBuilder. Supported values are:

  • cupertino
  • fadeUpwards
  • openUpwards
  • zoom

Implementation

static PageTransitionsBuilder? decodePageTransitionsBuilder(
  dynamic value, {
  bool validate = true,
}) {
  PageTransitionsBuilder? result;

  if (value is PageTransitionsBuilder) {
    result = value;
  } else if (value != null) {
    _checkSupported(
      'PageTransitionsBuilder',
      [
        'cupertino',
        'fadeUpwards',
        'openUpwards',
        'zoom',
      ],
      value,
    );
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/page_transitions_builder',
      value: value,
      validate: validate,
    ));

    switch (value) {
      case 'cupertino':
        result = CupertinoPageTransitionsBuilder();
        break;

      case 'fadeUpwards':
        result = FadeUpwardsPageTransitionsBuilder();
        break;

      case 'openUpwards':
        result = OpenUpwardsPageTransitionsBuilder();
        break;

      case 'zoom':
        result = ZoomPageTransitionsBuilder();
        break;
    }
  }

  return result;
}