From a1724887467c0591e5fbb91bfc938adab0f238e2 Mon Sep 17 00:00:00 2001 From: Tim Stallard Date: Tue, 4 Apr 2017 22:08:25 +0100 Subject: [PATCH] Much nicer vigenere fix --- src/blocks/vigenereDecode.js | 7 +++---- src/blocks/vigenereEncode.js | 10 +++++----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/blocks/vigenereDecode.js b/src/blocks/vigenereDecode.js index a3ef4c2..479a270 100644 --- a/src/blocks/vigenereDecode.js +++ b/src/blocks/vigenereDecode.js @@ -18,19 +18,18 @@ module.exports = { execute: function({cipherText, key}, elem){ var keyNums = key.split("").map(require("./util/toNum.js")); - var i = 0; return cipherText .split("") .map(require("./util/toNum.js")) .map((int, pos, ints)=>{ if(Number.isInteger(int)){ - i++ - return (int + 26 - keyNums[i%key.length])%26; + this.i++; + return (int + 26 - keyNums[this.i%key.length])%26; } else{ return int; } - }) + }, {i: -1}) .map(require("./util/toChar.js")) .join(""); }, diff --git a/src/blocks/vigenereEncode.js b/src/blocks/vigenereEncode.js index 88d33a6..513caa8 100644 --- a/src/blocks/vigenereEncode.js +++ b/src/blocks/vigenereEncode.js @@ -17,19 +17,19 @@ module.exports = { output: true, execute: function({plaintext, key}, elem){ var keyNums = key.split("").map(require("./util/toNum.js")); - var i = 0; + return plaintext .split("") .map(require("./util/toNum.js")) - .map((int, pos, ints)=>{ + .map(function(int, pos, ints){ if(Number.isInteger(int)){ - i++; - return (int + keyNums[i % key.length]) % 26; + this.i++; + return val = (int + keyNums[this.i % key.length]) % 26; } else{ return int; } - }) + }, {i: -1}) .map(require("./util/toChar.js")) .join(""); },