fromJson static method

LayoutLine? fromJson(
  1. Map<String, dynamic> j
)

Liest eine Zeile; null für unbekannte Arten.

Implementation

static LayoutLine? fromJson(Map<String, dynamic> j) {
  switch (j['kind']) {
    case 'text':
      return LayoutTextLine(text: (j['text'] ?? '').toString(), align: _align(j['align']), bold: j['bold'] == true);
    case 'columns':
      final spalten = ((j['columns'] as List?) ?? const [])
          .map((c) => LayoutColumn(
                text: (c['text'] ?? '').toString(),
                width: (c['width'] is num) ? (c['width'] as num).toInt() : 1,
                align: _align(c['align']),
              ))
          .toList();
      return LayoutColumnsLine(spalten);
    case 'rule':
      return LayoutRuleLine(char: (j['char'] ?? '-').toString());
    case 'space':
      return LayoutSpaceLine(lines: (j['lines'] is num) ? (j['lines'] as num).toInt() : 1);
    case 'qr':
      return LayoutQrLine(data: (j['data'] ?? '').toString());
    case 'banner':
      return LayoutBannerLine(text: (j['text'] ?? '').toString(), tone: LayoutBannerTone.fromWire(j['tone']));
    default:
      return null;
  }
}