getFlashed method

  1. @override
Future getFlashed(
  1. String sessionId,
  2. String key
)
override

Get flashed data (and clear it)

Implementation

@override
Future<dynamic> getFlashed(String sessionId, String key) async {
  final data = await getSession(sessionId);
  if (data == null) return null;

  final flash = data['_flash'] as Map<String, dynamic>?;
  if (flash == null) return null;

  final value = flash[key];
  flash.remove(key);

  // Clean up empty flash data
  if (flash.isEmpty) {
    data.remove('_flash');
  }

  await _currentDriver.write(sessionId, data);
  return value;
}