bind<T> method

  1. @override
void bind<T>({
  1. String? name,
  2. required T factory(
    1. ServiceContainer container,
    2. Map<String, dynamic>? options
    ),
})
override

Registers a transient factory.

See ServiceContainer.bind for details.

Implementation

@override
void bind<T>({
  String? name,
  required T Function(
    ServiceContainer container,
    Map<String, dynamic>? options,
  )
  factory,
}) {
  final key = _key<T>(name);

  if (_factories.containsKey(key) || _singletons.containsKey(key)) {
    throw ServiceContainerException.duplicateRegistration(
      type: T,
      name: name,
    );
  }

  _factories[key] = (container, [options]) => factory(container, options);
}