Throw OperationError instead of returning a String

This commit is contained in:
Flavio Diez 2020-01-29 14:16:04 +01:00
parent 1509b2b96c
commit 0ab96dd4ca
2 changed files with 8 additions and 6 deletions

View File

@ -5,6 +5,7 @@
*/
import Operation from "../Operation.mjs";
import OperationError from "../errors/OperationError.mjs";
/**
* Rail Fence Cipher Decode operation
@ -48,13 +49,13 @@ class RailFenceCipherDecode extends Operation {
let cipher = input;
if (key < 2) {
return "Key has to be bigger than 2";
throw new OperationError("Key has to be bigger than 2");
} else if (key > cipher.length) {
return "Key should be smaller than the cipher's length";
throw new OperationError("Key should be smaller than the cipher's length");
}
if (offset < 0) {
return "Offset has to be a positive integer";
throw new OperationError("Offset has to be a positive integer");
}
const cycle = (key - 1) * 2;

View File

@ -5,6 +5,7 @@
*/
import Operation from "../Operation.mjs";
import OperationError from "../errors/OperationError.mjs";
/**
* Rail Fence Cipher Encode operation
@ -47,13 +48,13 @@ class RailFenceCipherEncode extends Operation {
const plaintext = input;
if (key < 2) {
return "Key has to be bigger than 2";
throw new OperationError("Key has to be bigger than 2");
} else if (key > plaintext.length) {
return "Key should be smaller than the plain text's length";
throw new OperationError("Key should be smaller than the plain text's length");
}
if (offset < 0) {
return "Offset has to be a positive integer";
throw new OperationError("Offset has to be a positive integer");
}
const cycle = (key - 1) * 2;