Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/flutterando/value_selectable

A Flutter package that provides computed values for `ValueNotifier`, inspired by the Selectors from Recoil.
https://github.com/flutterando/value_selectable

Last synced: 3 days ago
JSON representation

A Flutter package that provides computed values for `ValueNotifier`, inspired by the Selectors from Recoil.

Awesome Lists containing this project

README

        

# ValueSelectable

![image](https://github.com/Flutterando/value_selectable/blob/main/assets/image.png?raw=true)

A Flutter package that provides computed values for `ValueNotifier`, inspired by the Selectors from Recoil.

## Overview

This package includes two main classes:

- `ValueSelector`: Computes a synchronous value based on a given scope.

These classes allow you to create computed values that automatically update when their dependencies change, providing a reactive programming model similar to Recoil selectors.

## Features

- Reactive computation of values based on dependencies.
- Synchronous and asynchronous selectors.
- Automatic updates when dependencies change.
- Easy integration with Flutter's ValueNotifier.

## Installation

Add the following to your `pubspec.yaml`:

```
flutter pub add value_selectable
```

## Usage

### ValueSelector

Computes a synchronous value based on a given scope:

```dart
import 'package:flutter/widgets.dart';
import 'package:value_selectable/value_selectable.dart';

void main() {
final valueNotifier = ValueNotifier(1);
final selector = ValueSelector((get) => get(valueNotifier) + 1);

print(selector.value); // Outputs: 2

valueNotifier.value = 2;
print(selector.value); // Outputs: 3
}

```

## Contributing

Contributions are welcome! Please open an issue or submit a pull request.