notifiable_iterables 1.2.0 notifiable_iterables: ^1.2.0 copied to clipboard
Provides iterables that implements the ChangeNotifier class.
notifiable_iterables #
Provides iterables that implements the ChangeNotifier
class.
pub.dev: https://pub.dev/packages/notifiable_iterables
GitHub: https://github.com/Cynnexis/notifiable_iterables
API Documentation: https://cynnexis.github.io/notifiable_iterables/
🔌 Getting Started #
⚒ Installation #
It is recommended to install this package via pub
.
To install this package in your project, open the pubspec.yaml
, see this section.
Running the Example #
The example/
directory contains an Android Studio project that uses notifiable_iterables
.
To make it run, open the project using Android Studio to launch the configuration example.
If you don't have Android Studio, please open a terminal in the example
project directory, and execute the following lines:
# Get the dependencies
pub get
# Check that a device is connected to this computer
flutter devices
# Run the example
flutter run
🎯 Usage #
The full documentation is available here.
To use this library, you need to import it in your dart file:
import 'package:notifiable_iterables/notifiable_iterables.dart';
Then, you can use the following classes:
NotifiableList<E>
: A notifiable list. It has the same functions asList<E>
.NotifiableSet<E>
: A notifiable set. It has the same functions asSet<E>
.NotifiableMap<K, V>
: A notifiable map. It has the same functions asMap<K, V>
.
Those classes can be uses exactly like their iterable equivalent.
Example:
// Create a notifiable list
NotifiableList<int> list = NotifiableList<int>.of(<int>[0, 1, 2, 3]);
print(list[2].toString()); // prints "2"
// Add a listener
list.addListener(() => print("New list: $list"));
// Change the list
list[3] = 4; // Notify the listeners, the console will show the updated list
🏗 Build With #
🤝 Contributing #
To contribute to this project, please read our CONTRIBUTING.md
file.
We also have a code of conduct to help create a welcoming and friendly environment.
✍ Authors #
Please see the CONTRIBUTORS.md
file.
📄 License #
This project is under the BSD License. Please see the LICENSE.txt file for more detail (it's a really fascinating story written in there!)