batchWrite method

Future<void> batchWrite(
  1. Map<String, dynamic> data
)

Batch write operations for better performance (parallel execution)

Implementation

Future<void> batchWrite(Map<String, dynamic> data) async {
  _checkInit();
  try {
    final futures = <Future>[];

    for (var entry in data.entries) {
      final value = entry.value;
      if (value is String) {
        futures.add(setString(entry.key, value));
      } else if (value is int) {
        futures.add(setInt(entry.key, value));
      } else if (value is double) {
        futures.add(setDouble(entry.key, value));
      } else if (value is bool) {
        futures.add(setBool(entry.key, value));
      } else if (value is Map) {
        futures.add(setMap(entry.key, value as Map<String, dynamic>));
      } else if (value is List) {
        futures.add(setList(entry.key, value));
      }
    }

    await Future.wait(futures);
  } catch (e) {
    throw SecureStorageException('Batch write operation failed', e);
  }
}