readPickleable<T> method

T readPickleable<T>(
  1. String key,
  2. T depickler(
    1. Pickle pickle
    ), {
  3. T? defaultValue,
})

Reads a Pickleable from this Pickle.

This will throw ArgumentError if the key is empty and no default value has been provided or PickleTypeError if the associated value is of a different type than expected.

Implementation

T readPickleable<T>(
    final String key, final T Function(Pickle pickle) depickler,
    {final T? defaultValue}) {
  try {
    return depickler(readPickle(key));
  } catch (error) {
    if (defaultValue != null) {
      return defaultValue;
    }
    rethrow;
  }
}