clever_settings 0.1.1+1 copy "clever_settings: ^0.1.1+1" to clipboard
clever_settings: ^0.1.1+1 copied to clipboard

Clever Settings is a Dart package that provides an easy way to manage and store settings for your application.

Clever Settings #

style: very good analysis Powered by Mason License: MIT

Clever Settings is a Dart package that provides an easy way to manage and store settings for your application. It uses Hive, a lightweight and fast key-value store, to persist the settings data.

Installation 💻 #

❗ In order to start using Clever Settings you must have the Dart SDK installed on your machine.

Add clever_settings to your pubspec.yaml:

dependencies:
  clever_settings:

Install it:

dart pub get

Initialization #

Before you can start using Clever Settings, you need to initialize Hive first by calling Hive.init (or Hive.initFlutter). Call the open function once at the start of your application:

// Initialize Hive before this
await CleverSettings.open();

Usage #

Clever Settings provides two classes for managing settings: SettingsValue and SerializableSettingsValue. SettingsValue is used for storing primitive types like bool, int, String, etc. SerializableSettingsValue is used for storing complex objects that can be serialized to and from JSON.

SettingsValue #

To create a new SettingsValue, simply provide a unique name for the setting and an optional default value:

final mySetting = SettingsValue<bool>(name: 'mySetting', defaultValue: true);

You can then get or set the value of the setting. This automatically stores the setting to storage:

final currentValue = mySetting.value;
mySetting.value = false;

You can also listen to changes to the setting by calling the watch function:

final stream = mySetting.watch();
stream.listen((newValue) {
  // do something with the new value
});

SerializableSettingsValue #

SerializableSettingsValue works the same way as SettingsValue, but you also need to provide fromJson and toJson functions to serialize and deserialize the value:

final myObjectSetting = SerializableSettingsValue<MyObject>(
  name: 'myObjectSetting',
  fromJson: (json) => MyObject.fromJson(json),
  toJson: (object) => object.toJson(),
);

License #

This package is released under the MIT License. See LICENSE for more information.

1
likes
160
pub points
0%
popularity

Publisher

verified publisherclevertasks.de

Clever Settings is a Dart package that provides an easy way to manage and store settings for your application.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

clever_logger, hive

More

Packages that depend on clever_settings