InjectorError.from constructor

InjectorError.from(
  1. TypeError e,
  2. Injector owner
)

Implementation

factory InjectorError.from(TypeError e, Injector owner) {
  final parts = '$e'.split("'").where((s) => !s.contains(' ')).take(3);
  if (parts.length < 3 || parts.last.isEmpty) throw e;
  final [resultT, expectedT, name] = parts.toList();

  return InjectorError._(
    owner: owner,
    resultT: resultT,
    expectedT: expectedT,
    stackTrace: e.stackTrace,
    name: name.split('@').first,
  );
}