single 1.0.2 copy "single: ^1.0.2" to clipboard
single: ^1.0.2 copied to clipboard

Singleton mode container to store global singleton resources.

example/main.dart

import 'package:single/single.dart';

class MyClass1 {
  say() {
    print('😊 Happy matryoshk!!!');
  }
}

class MyClass2 {
  final MyClass1 myClass1;

  MyClass2(this.myClass1);
}

void main_1() {
  // register MyClass1
  single + () => MyClass1();

  // register MyClass2
  single + () => MyClass2(single<MyClass1>());

  // get MyClass2
  final MyClass2 myClass2 = single();

  // call say
  myClass2.myClass1.say();
}

/// --------------------------------------------------
/// Custom finder
/// --------------------------------------------------

class MyFinder implements SingleFinder {
  @override
  SingleFactory<T>? call<T extends Object>() {
    if (T == MyClass1) {
      return () => MyClass1() as T;
    }
  }
}

void main_2() {
  // Register MyFinder
  single | MyFinder();

  // Get MyClass1
  final MyClass1 myClass1 = single();

  myClass1.say();
}
1
likes
140
pub points
21%
popularity

Publisher

verified publisherodroe.com

Singleton mode container to store global singleton resources.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

More

Packages that depend on single