Provider constructor
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)!);