Provider constructor

Provider(
  1. Object token, {
  2. List<Object>? aliasTokens,
  3. Object? fromExisting,
  4. Object? fromDerived,
  5. Object? fromValue,
})

Internal constructor for creating a Provider.

Prefer using the factory constructors like Provider.value, Provider.existing, or Provider.factory for better readability.

Implementation

Provider(Object token, {List<Object>? aliasTokens, Object? fromExisting, Object? fromDerived, Object? fromValue})
    : assert([fromExisting, fromValue, fromDerived].where((e) => e != null).length < 2,
          "Provide: ${_objectToTokenString(token)}: fromExisting, fromDerived, and fromValue are mutually exclusive"),
      _provide = _objectToTokenString(token)!,
      _value = fromValue,
      _fromExisting = _objectToTokenString(fromExisting),
      _factory = _getFactoryString(token, fromExisting, fromDerived, fromValue),
      _aliases = aliasTokens == null ? [] : aliasTokens.map((e) => _objectToTokenString(e)!);