addCommand method
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);
}