addCommand method

  1. @override
void addCommand(
  1. Map<String, Object> command
)
override

Implementation

@override
void addCommand(Map<String, Object> command) {
  var commandKey = command.keys.first;
  var lastCommandValues = [];
  switch (commandKey) {
    case keyInsert:
      if (insertCommand.isEmpty) {
        insertCommand = command;
        insertCommandsOrigin[0] = operationInputIndex++;
        return;
      }
      lastCommandValues = insertCommand.values.toList()[1] as List;
      insertCommandsOrigin[lastCommandValues.length] = operationInputIndex++;
      break;
    case keyDelete:
      if (deleteCommand.isEmpty) {
        deleteCommand = command;
        deleteCommandsOrigin[0] = operationInputIndex++;
        return;
      }
      lastCommandValues = deleteCommand.values.toList()[1] as List;
      deleteCommandsOrigin[lastCommandValues.length] = operationInputIndex++;
      break;
    case keyUpdate:
      if (updateCommand.isEmpty) {
        updateCommand = command;
        updateCommandsOrigin[0] = operationInputIndex++;
        return;
      }
      lastCommandValues = updateCommand.values.toList()[1] as List;
      updateCommandsOrigin[lastCommandValues.length] = operationInputIndex++;
      break;
  }
  var commandValue = command.values.toList()[1] as List;
  lastCommandValues.addAll(commandValue);
}