transaction method

  1. @override
Parser transaction()

Implementation

@override
Parser transaction() => super.transaction().map((each) {
      final e = each as List;
      var payee = e.elementAt(2) != null
          ? (e.elementAt(2) as List).first?.toString()
          : null;
      var comment = e.elementAt(2) != null
          ? (e.elementAt(2) as List).last?.toString()
          : null;
      if (payee != null && comment == null) {
        comment = payee;
        payee = null;
      }
      return Transaction(
        date: e.first as DateTime,
        flag: e.elementAt(1).toString(),
        payee: payee,
        narration: comment,
        tags: e.elementAt(3) as List<String>,
        links: e.elementAt(4) as List<String>,
        metadata: e.elementAt(6) as Map<String, MetaValue>,
        postings: e.last as List<Posting>,
        comment: e.elementAt(5) as String,
      );
    });