ArcaneFieldDirectProvider<T> constructor

ArcaneFieldDirectProvider<T>({
  1. required T defaultValue,
  2. required Future<T> getter(
    1. String
    ),
  3. required Future<void> setter(
    1. String,
    2. T
    ),
})

Initializes an ArcaneFieldDirectProvider with a default value and custom getter/setter functions.

The defaultValue provides fallback for retrieval errors, while getter and setter define the storage interface. Sets up the base BehaviorSubject for reactivity. Usage example:

Future<String> myGetter(String key) async => await database.get(key) ?? '';
Future<void> mySetter(String key, String value) async => await database.set(key, value);
final provider = ArcaneFieldDirectProvider<String>(
  defaultValue: 'Default',
  getter: myGetter,
  setter: mySetter,
);
await provider.setValue('key', 'New Value');
String val = await provider.getValue('key'); // Fetches via myGetter

Implementation

ArcaneFieldDirectProvider({
  required super.defaultValue,
  required this.getter,
  required this.setter,
});