Update to newer ES features

- Change var to const and let.
- Change arrays to spread syntax.
- Change to arrow functions.
This commit is contained in:
David McCanney
2018-09-28 21:35:26 +01:00
parent 637ec5c6da
commit 47c42ff4a5

View File

@@ -1,8 +1,8 @@
var alphabet = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"; const alphabet = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";
var base = alphabet.length; const base = alphabet.length;
// Create a lookup table to fetch character index // Create a lookup table to fetch character index
var alphabetLookup = alphabet.split("").reduce(function(lookup, char, index) { const alphabetLookup = [...alphabet].reduce((lookup, char, index) => {
lookup[char] = index; lookup[char] = index;
return lookup; return lookup;
}, {}); }, {});
@@ -32,8 +32,8 @@ function assertBase58Character(character) {
} }
exports.encode = function(num) { exports.encode = function(num) {
var str = ""; let str = "";
var modulus; let modulus;
num = Number(num); num = Number(num);
@@ -51,7 +51,7 @@ exports.encode = function(num) {
exports.decode = function(str) { exports.decode = function(str) {
assertString(str); assertString(str);
return str.split("").reverse().reduce(function(num, character, index) { return [...str].reverse().reduce((num, character, index) => {
assertBase58Character(character); assertBase58Character(character);
return num + alphabetLookup[character] * Math.pow(base, index); return num + alphabetLookup[character] * Math.pow(base, index);
}, 0); }, 0);