OpaqueToken<T extends Object> class

A token to be used instead of Type when configuring dependency injection.

const loginUrl = const OpaqueToken<String>('loginUrl');

@Component(
  selector: 'dashboard',
  providers: const [
    const ValueProvider.forToken(loginUrl, 'https://someurl.com'),
  ],
)
class DashboardComponent {}

The type T is not required, but is recommended, otherwise it is dynamic.

The only positional argument, uniqueName, is used to determine uniqueness of the token. That is, const OpaqueToken('SECRET') is identical to const OpaqueToken('SECRET') in another library or package.

You may also sub-class OpaqueToken to create a "more unique" token:

class LoginUrl extends OpaqueToken<String> {
  const LoginUrl();
}

const loginUrl = const LoginUrl();

@Component(
  selector: 'dashboard',
  providers: const [
    const ValueProvider.forToken(loginUrl, 'https://someurl.com'),
  ],
)
class DashboardComponent {}

WARNING: It is not supported to create a non-const instance of this class or sub-types of this class. Instances should only be created or referenced using the const operator.

Implementers
Annotations
  • @optionalTypeArgs

Constructors

OpaqueToken([String _uniqueName = ''])
const

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited