merge method

PosDeviceSettings merge(
  1. Map<String, dynamic> patch
)

Siehe PosBusinessSettings.merge; shortcuts wird je Aktion gemischt.

Implementation

PosDeviceSettings merge(Map<String, dynamic> patch) {
  _pruefeAenderung('device', patch, {..._geraetSchluessel, ...posDeviceOptionalFields}, legacyDeviceKeys);
  // Die optionale Lade hat keinen Standardwert, den `_mische` fortschreiben
  // koennte: sie wird getrennt gefuehrt, `null` entfernt die Zuordnung.
  final lade = patch.containsKey('drawerId') ? patch['drawerId'] : drawerId;
  if (lade != null && !isPosOptionalId(lade)) {
    throw ArgumentError('device.drawerId: keine Kennung (1-64 Zeichen aus A-Z a-z 0-9 _ -)');
  }
  final json = _mische(toJson()..remove('drawerId'), {...patch}..remove('drawerId'));
  return PosDeviceSettings.fromJson({...json, 'drawerId': lade});
}