fix args transformation for ops with editableOptions

This commit is contained in:
d98762625 2018-06-25 11:38:05 +01:00
parent e04f66f599
commit 2ff7b5902c
2 changed files with 6 additions and 4 deletions

View File

@ -13,11 +13,15 @@ import SyncDish from "./SyncDish";
* @param {Object} arg - an arg from an operation
*/
function extractArg(arg) {
if (arg.type === "option" || arg.type === "editableOption") {
if (arg.type === "option") {
// pick default option if not already chosen
return typeof arg.value === "string" ? arg.value : arg.value[0];
}
if (arg.type === "editableOption") {
return typeof arg.value === "string" ? arg.value : arg.value[0].value;
}
if (arg.type === "toggleString") {
// ensure string and option exist when user hasn't defined
arg.string = arg.string || "";
@ -96,7 +100,6 @@ export function wrap(OpClass) {
const type = SyncDish.typeEnum(input.constructor.name);
dish.set(input, type);
}
args = transformArgs(operation.args, args);
const transformedInput = dish.get(operation.inputType);
const result = operation.run(transformedInput, args);

View File

@ -132,8 +132,7 @@ color: white;
alphabet: "0-9A-W",
});
assert.strictEqual(result.toString(), "SPI1R1T0");
})
}),
]);