put<T> static method

T put<T>(
  1. T instance, {
  2. String? tag,
  3. bool? isPermanent,
})

Register a dependency in root scope

ZenService instances are permanent by default, others are not.

Implementation

static T put<T>(T instance, {String? tag, bool? isPermanent}) {
  final permanent = isPermanent ?? (instance is ZenService);

  final result = rootScope.put<T>(
    instance,
    tag: tag,
    isPermanent: permanent,
  );

  // Initialize via lifecycle manager
  if (instance is ZenController) {
    _lifecycleManager.initializeController(instance);
  } else if (instance is ZenService) {
    _lifecycleManager.initializeService(instance);
  }

  return result;
}