extractEventExtra function

Map<String, dynamic>? extractEventExtra(
  1. Map<String, dynamic> map
)

提取事件额外数据。

Implementation

Map<String, dynamic>? extractEventExtra(Map<String, dynamic> map) {
  final dynamic rawExtra = map['extra'];
  if (rawExtra is Map) {
    return rawExtra.map((key, value) => MapEntry('$key', value));
  }

  final fallback = <String, dynamic>{};
  map.forEach((key, value) {
    if (key == 'action' ||
        key == 'posId' ||
        key == 'timestamp' ||
        key == 'extra') {
      return;
    }
    fallback[key] = value;
  });
  return fallback.isEmpty ? null : fallback;
}