Safe Cast

Build Status Pub Pub Score License

  • Simple syntax
  • Reduces boillerplate
  • Does not throw like as T?

Usage

import 'package:safe_cast/safe_cast.dart';
 ⋮
 Fruit? fruit = Cast.asNullable<Fruit>(maybeFruit);
 // or, if you need a fruit
 Fruit fruit = SafeCast.as<Fruit>(maybeFruit, ifNull: () => availableFruit());

How effective it is

It is better for chained operations..

CuttedFruit? cutted = maybeFruit is Fruit ? maybeFruit.cut(fruitCutter) : null;
// intead of
CuttedFruit? cutted = Cast.asNullable<Fruit>(maybeFruit)?.cut(fruitCutter);

License

The MIT License

Libraries

safe_cast
Type cast library with friendly syntax