readWriteParameter method

Future<String?> readWriteParameter({
  1. required String name,
  2. int? index,
  3. String? value,
})

Implementation

Future<String?> readWriteParameter({
  required String name,
  int? index,
  String? value,
}) async {
  assert(name.isNotEmpty, 'Name must not be empty');
  assert(
    index == null || (index >= 0 && index <= 9999),
    'Index must be in range 0..9999',
  );
  assert(value == null || value.isNotEmpty, 'Value must not be empty');

  final message = await execute(
    Commands.readWriteParameter.code,
    data: [name, index, value].toCommand(),
  );
  final [$e, ...rest] = message.data.response;
  final error = int.tryParse($e) ?? 0;

  if (error != 0) {
    throw FiscalCodeException('Error getting parameter', error);
  }

  return rest.isNotEmpty ? rest.first : null;
}