import 'dart:convert'; import 'package:fluffychat/pangea/models/pangea_token_model.dart'; /// this class lives within a [PangeaTokensEvent] /// it always has a [RepresentationEvent] parent /// These live as separate event so that anyone can add and edit tokens to /// representation class PangeaMessageTokens { List tokens; PangeaMessageTokens({ required this.tokens, }); factory PangeaMessageTokens.fromJson(Map json) { return PangeaMessageTokens( tokens: (jsonDecode(json[_tokensKey] ?? "[]") as Iterable) .map((e) => PangeaToken.fromJson(e)) .toList() .cast(), ); } static const _tokensKey = "tkns"; Map toJson() { final data = {}; data[_tokensKey] = jsonEncode(tokens.map((e) => e.toJson()).toList()); return data; } }