register static method

BreadcrumbService register({
  1. required BreadcrumbEntityNameResolver entityNameResolver,
  2. required EntityTypeResolver entityTypeResolver,
  3. List<String> excludedSegments = const [],
  4. int minimumDepthToShow = 3,
})

Registers all breadcrumb services in GetIt and returns the configured BreadcrumbService. Throws a StateError if called more than once.

Implementation

static BreadcrumbService register({
  required BreadcrumbEntityNameResolver entityNameResolver,
  required EntityTypeResolver entityTypeResolver,
  List<String> excludedSegments = const [],
  int minimumDepthToShow = 3,
}) {
  assert(
    !GetIt.I.isRegistered<BreadcrumbService>(),
    'BreadcrumbSetup.register() was called more than once. '
    'Call it exactly once during app startup.',
  );

  final service = BreadcrumbService(
    entityNameResolver: entityNameResolver,
    entityTypeResolver: entityTypeResolver,
    excludedSegments: excludedSegments,
    minimumDepthToShow: minimumDepthToShow,
  );

  GetIt.I
    ..registerSingleton<EntityTypeResolver>(entityTypeResolver)
    ..registerSingleton<BreadcrumbEntityNameResolver>(entityNameResolver)
    ..registerSingleton<BreadcrumbService>(service);

  return service;
}