CPDFAnnotAttribute.fromJson constructor

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

Implementation

factory CPDFAnnotAttribute.fromJson(Map<String, dynamic> json) {
  T parse<T>(String key, T Function(Map<String, dynamic>) fromJson) {
    final value = json[key];
    if (value is Map) {
      return fromJson(Map<String, dynamic>.from(value));
    } else {
      throw FormatException('Invalid or missing attribute: $key');
    }
  }

  return CPDFAnnotAttribute(
    noteAttr: parse('noteAttr', CPDFTextAttr.fromJson),
    highlightAttr: parse('highlightAttr', CPDFHighlightAttr.fromJson),
    underlineAttr: parse('underlineAttr', CPDFUnderlineAttr.fromJson),
    squigglyAttr: parse('squigglyAttr', CPDFSquigglyAttr.fromJson),
    strikeoutAttr: parse('strikeoutAttr', CPDFStrikeoutAttr.fromJson),
    inkAttr: parse('inkAttr', CPDFInkAttr.fromJson),
    squareAttr: parse('squareAttr', CPDFSquareAttr.fromJson),
    circleAttr: parse('circleAttr', CPDFCircleAttr.fromJson),
    lineAttr: parse('lineAttr', CPDFLineAttr.fromJson),
    arrowAttr: parse('arrowAttr', CPDFArrowAttr.fromJson),
    freeTextAttr: parse('freetextAttr', CPDFFreetextAttr.fromJson),
  );
}