fromMap static method

PrintJobAttributes? fromMap(
  1. Map<String, dynamic>? map, {
  2. EnumMethod? enumMethod,
})

Gets a possible PrintJobAttributes instance from a Map value.

Implementation

static PrintJobAttributes? fromMap(
  Map<String, dynamic>? map, {
  EnumMethod? enumMethod,
}) {
  if (map == null) {
    return null;
  }
  final instance = PrintJobAttributes(
    colorMode: switch (enumMethod ?? EnumMethod.nativeValue) {
      EnumMethod.nativeValue => PrintJobColorMode.fromNativeValue(
        map['colorMode'],
      ),
      EnumMethod.value => PrintJobColorMode.fromValue(map['colorMode']),
      EnumMethod.name => PrintJobColorMode.byName(map['colorMode']),
    },
    detailedErrorReporting: map['detailedErrorReporting'],
    duplex: switch (enumMethod ?? EnumMethod.nativeValue) {
      EnumMethod.nativeValue => PrintJobDuplexMode.fromNativeValue(
        map['duplex'],
      ),
      EnumMethod.value => PrintJobDuplexMode.fromValue(map['duplex']),
      EnumMethod.name => PrintJobDuplexMode.byName(map['duplex']),
    },
    faxNumber: map['faxNumber'],
    footerHeight: map['footerHeight'],
    headerAndFooter: map['headerAndFooter'],
    headerHeight: map['headerHeight'],
    horizontalPagination: switch (enumMethod ?? EnumMethod.nativeValue) {
      EnumMethod.nativeValue => PrintJobPaginationMode.fromNativeValue(
        map['horizontalPagination'],
      ),
      EnumMethod.value => PrintJobPaginationMode.fromValue(
        map['horizontalPagination'],
      ),
      EnumMethod.name => PrintJobPaginationMode.byName(
        map['horizontalPagination'],
      ),
    },
    isHorizontallyCentered: map['isHorizontallyCentered'],
    isSelectionOnly: map['isSelectionOnly'],
    isVerticallyCentered: map['isVerticallyCentered'],
    jobDisposition: switch (enumMethod ?? EnumMethod.nativeValue) {
      EnumMethod.nativeValue => PrintJobDisposition.fromNativeValue(
        map['jobDisposition'],
      ),
      EnumMethod.value => PrintJobDisposition.fromValue(
        map['jobDisposition'],
      ),
      EnumMethod.name => PrintJobDisposition.byName(map['jobDisposition']),
    },
    jobSavingURL: map['jobSavingURL'] != null
        ? WebUri(map['jobSavingURL'])
        : null,
    localizedPaperName: map['localizedPaperName'],
    margins: MapEdgeInsets.fromMap(map['margins']?.cast<String, dynamic>()),
    maximumContentHeight: map['maximumContentHeight'],
    maximumContentWidth: map['maximumContentWidth'],
    mediaSize: PrintJobMediaSize.fromMap(
      map['mediaSize']?.cast<String, dynamic>(),
      enumMethod: enumMethod,
    ),
    mustCollate: map['mustCollate'],
    orientation: switch (enumMethod ?? EnumMethod.nativeValue) {
      EnumMethod.nativeValue => PrintJobOrientation.fromNativeValue(
        map['orientation'],
      ),
      EnumMethod.value => PrintJobOrientation.fromValue(map['orientation']),
      EnumMethod.name => PrintJobOrientation.byName(map['orientation']),
    },
    pagesAcross: map['pagesAcross'],
    pagesDown: map['pagesDown'],
    paperName: map['paperName'],
    paperRect: InAppWebViewRect.fromMap(
      map['paperRect']?.cast<String, dynamic>(),
      enumMethod: enumMethod,
    ),
    printableRect: InAppWebViewRect.fromMap(
      map['printableRect']?.cast<String, dynamic>(),
      enumMethod: enumMethod,
    ),
    resolution: PrintJobResolution.fromMap(
      map['resolution']?.cast<String, dynamic>(),
      enumMethod: enumMethod,
    ),
    scalingFactor: map['scalingFactor'],
    time: map['time'],
    verticalPagination: switch (enumMethod ?? EnumMethod.nativeValue) {
      EnumMethod.nativeValue => PrintJobPaginationMode.fromNativeValue(
        map['verticalPagination'],
      ),
      EnumMethod.value => PrintJobPaginationMode.fromValue(
        map['verticalPagination'],
      ),
      EnumMethod.name => PrintJobPaginationMode.byName(
        map['verticalPagination'],
      ),
    },
  );
  return instance;
}