toJson method

Map<String, dynamic> toJson({
  1. bool verbose = false,
  2. List<BishopTypeAdapter> adapters = const [],
})

Implementation

Map<String, dynamic> toJson({
  bool verbose = false,
  List<BishopTypeAdapter> adapters = const [],
}) {
  // todo: support non-betza import/export
  return {
    'betza': betza,
    if (verbose || royal) 'royal': royal,
    if (verbose || promoOptions != PiecePromoOptions.promoPiece)
      'promoOptions': promoOptions.toJson(),
    if (verbose || enPassantable) 'enPassantable': enPassantable,
    if (verbose || noSanSymbol) 'noSanSymbol': true,
    if (verbose || value != Bishop.defaultPieceValue) 'value': value,
    if (verbose || regionEffects.isNotEmpty)
      'regionEffects':
          regionEffects.map((e) => e.toJson(verbose: verbose)).toList(),
    if (verbose || actions.isNotEmpty)
      'actions': BishopSerialisation.exportMany<Action>(
        actions,
        strict: false,
        adapters: adapters,
      ),
  };
}