From 588bcb4b93010974652327b9873f721cb33a33d3 Mon Sep 17 00:00:00 2001 From: alanclarke Date: Tue, 8 Dec 2015 01:50:47 +0000 Subject: [PATCH] tidy up a bit --- .gitignore | 4 ++-- .npmignore | 1 - README.md | 20 ++++++++++--------- lib/int-encoder.js | 15 ++++++-------- package.json | 2 +- ...nt-encoder_test.js => test-int-encoder.js} | 4 ++-- 6 files changed, 22 insertions(+), 24 deletions(-) delete mode 100644 .npmignore rename test/{int-encoder_test.js => test-int-encoder.js} (91%) diff --git a/.gitignore b/.gitignore index 90157b1..fd4f2b0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/node_modules -.DS_Store \ No newline at end of file +node_modules +.DS_Store diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 2ccbe46..0000000 --- a/.npmignore +++ /dev/null @@ -1 +0,0 @@ -/node_modules/ diff --git a/README.md b/README.md index 0408060..4029168 100644 --- a/README.md +++ b/README.md @@ -13,27 +13,29 @@ some bad uses of this utility include: - number obfuscation -## Getting Started -Install the module with: `npm install int-encoder` +## usage +``` +npm install int-encoder +``` ```javascript -var encoder = require('int-encoder'); +var encoder = require('int-encoder') -encoder.encode(12345678); // "ZXP0" -encoder.decode('ZXP0'); // 12345678 +encoder.encode(12345678) // "ZXP0" +encoder.decode('ZXP0') // 12345678 //invoke custom alphabet option encoder.alphabet('0123456789abcdef') // hex alphabet -encoder.encode(255); // "ff" -encoder.decode('ff'); // 255 +encoder.encode(255) // "ff" +encoder.decode('ff') // 255 //check what alphabet is being used encoder.alphabet() // 0123456789abcdef //convert big hex number using optional base argument -encoder.encode('e6c6b53d3c8160b22dad35a0f705ec09', 16); // 'hbDcW9aE89tzLYjDgyzajJ' -encoder.decode('hbDcW9aE89tzLYjDgyzajJ', 16); // 'e6c6b53d3c8160b22dad35a0f705ec09' +encoder.encode('e6c6b53d3c8160b22dad35a0f705ec09', 16) // 'hbDcW9aE89tzLYjDgyzajJ' +encoder.decode('hbDcW9aE89tzLYjDgyzajJ', 16) // 'e6c6b53d3c8160b22dad35a0f705ec09' ``` [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard) diff --git a/lib/int-encoder.js b/lib/int-encoder.js index 25b8aaa..1fc4b7d 100644 --- a/lib/int-encoder.js +++ b/lib/int-encoder.js @@ -1,8 +1,8 @@ /* * int-encoder * https://github.com/alanclarke/int-encoder - * 'hex': '0123456789abcdef', - * 'reset': 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_' + * hex: 0123456789abcdef + * base64: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_ */ var bignum = require('bignum') @@ -22,11 +22,12 @@ function encode (value, base) { } function decode (str, base) { + var i, index var result = bignum(0) - each(str, function (val, i) { - var index = bignum(alphabet.indexOf(val)) + for (i = 0; i < str.length; i++) { + index = bignum(alphabet.indexOf(str[i])) result = result.add(index.mul(bignum(alphabet.length).pow(str.length - 1 - i))) - }) + } return result.toString(base) } @@ -35,10 +36,6 @@ function alphabetr (val) { return alphabet } -function each (arr, fn) { - for (var i = 0; i < arr.length; i++) fn(arr[i], i) -} - module.exports = { encode: encode, decode: decode, diff --git a/package.json b/package.json index e52ffd8..fd51881 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "node": ">= 0.6.0" }, "scripts": { - "test": "node_modules/.bin/standard && node_modules/.bin/nodeunit test/int-encoder_test.js" + "test": "node_modules/.bin/standard && node_modules/.bin/nodeunit test/test-int-encoder.js" }, "dependencies": { "bignum": "^0.11.0" diff --git a/test/int-encoder_test.js b/test/test-int-encoder.js similarity index 91% rename from test/int-encoder_test.js rename to test/test-int-encoder.js index ff10355..aa6d869 100644 --- a/test/int-encoder_test.js +++ b/test/test-int-encoder.js @@ -1,6 +1,6 @@ -var intEncoder = require('../lib/int-encoder.js') +var intEncoder = require('../lib/int-encoder') intEncoder.alphabet('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') -exports['encode'] = { +exports.encode = { encoder: function (test) { var hex = 'e6c6b53d3c8160b22dad35a0f705ec09' var values = [0, 1, 2, 3, 62, 100, 1000, 354324523453245]