CPDFBates.fromJson constructor

CPDFBates.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory CPDFBates.fromJson(Map<String, dynamic> json) {
  final rawMargin = json['margin'];
  final margin = rawMargin is Map
      ? EdgeInsets.fromLTRB(
          _number(rawMargin['left']),
          _number(rawMargin['top']),
          _number(rawMargin['right']),
          _number(rawMargin['bottom']),
        )
      : EdgeInsets.zero;
  final rawSlots = json['slots'];
  return CPDFBates(
    pages: _pagesFromString(json['pages'] as String? ?? ''),
    margin: margin,
    pageOffset:
        json['page_offset'] is num ? (json['page_offset'] as num).toInt() : 0,
    rule: CPDFBatesRule.fromValue(json['rule']),
    slots: rawSlots is List
        ? rawSlots
            .whereType<Map>()
            .map((slot) => CPDFHeaderFooterSlot.fromJson(
                  Map<String, dynamic>.from(slot),
                ))
            .toList()
        : const <CPDFHeaderFooterSlot>[],
  );
}