init method

Future<void> init({
  1. required String? dbPath,
  2. GetDataCallback? getData,
  3. SetDataCallback? setData,
})

Implementation

Future<void> init({
  required String? dbPath,
  GetDataCallback? getData,
  SetDataCallback? setData,
}) async {
  if (dbPath == null && getData == null) {
    throw Exception('You Should Set `getData` Callback ');
  }
  // set
  _setData = setData;
  _data.clear();

  if (dbPath != null) {
    dbFile = File(dbPath);
    if (!dbFile.existsSync()) return;
    final json = jsonDecode(await dbFile.readAsString());
    _data.addAll(Map<String, dynamic>.from(json));
    return;
  }
  // get data
  _data.addAll(Map<String, dynamic>.from(getData!()));

  print(_data);
}