createAndInit static method

Future<HiveBoxProvider> createAndInit({
  1. required String boxName,
  2. bool isFlutter = true,
})

Implementation

static Future<HiveBoxProvider> createAndInit({
  required String boxName,
  bool isFlutter = true,
}) async {
  if (isFlutter) {
    await Hive.initFlutter();
  } else {
    Hive.init(Directory.current.path);
  }

  if (_cache.containsKey(boxName)) {
    throw HiveBoxProviderHasBeenCreatedError(boxName);
  }

  final HiveBoxProvider instance = HiveBoxProvider._internal();
  instance._box = await Hive.openBox(boxName);
  _cache[boxName] = instance;
  return instance;
}