Merge pull request #154 from dcousens/convrem
Remove dead code from Convert module
This commit is contained in:
commit
45c1c8350e
2 changed files with 1 additions and 100 deletions
|
@ -1,6 +1,5 @@
|
|||
var Crypto = require('crypto-js')
|
||||
var WordArray = Crypto.lib.WordArray
|
||||
var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
||||
|
||||
function lpad(str, padString, length) {
|
||||
while (str.length < length) str = padString + str
|
||||
|
@ -24,78 +23,6 @@ function hexToBytes(hex) {
|
|||
})
|
||||
}
|
||||
|
||||
function bytesToBase64(bytes) {
|
||||
var base64 = []
|
||||
|
||||
for (var i = 0; i < bytes.length; i += 3) {
|
||||
var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]
|
||||
|
||||
for (var j = 0; j < 4; j++) {
|
||||
if (i * 8 + j * 6 <= bytes.length * 8) {
|
||||
base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F))
|
||||
} else {
|
||||
base64.push('=')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return base64.join('')
|
||||
}
|
||||
|
||||
function base64ToBytes(base64) {
|
||||
// Remove non-base-64 characters
|
||||
base64 = base64.replace(/[^A-Z0-9+\/]/ig, '')
|
||||
|
||||
var bytes = []
|
||||
var imod4 = 0
|
||||
|
||||
for (var i = 0; i < base64.length; imod4 = ++i % 4) {
|
||||
if (!imod4) continue
|
||||
|
||||
bytes.push(
|
||||
(
|
||||
(base64map.indexOf(base64.charAt(i - 1)) & (Math.pow(2, -2 * imod4 + 8) - 1)) <<
|
||||
(imod4 * 2)
|
||||
) |
|
||||
(base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2))
|
||||
)
|
||||
}
|
||||
|
||||
return bytes
|
||||
}
|
||||
|
||||
/**
|
||||
* Hex only (allowing bin would be potentially risky, as 01010101 = \x01 * 4 or 85)
|
||||
*/
|
||||
function coerceToBytes(input) {
|
||||
if (typeof input != 'string') return input
|
||||
return hexToBytes(input)
|
||||
}
|
||||
|
||||
function binToBytes(bin) {
|
||||
return bin.match(/......../g).map(function(x) {
|
||||
return parseInt(x,2)
|
||||
})
|
||||
}
|
||||
|
||||
function bytesToBin(bytes) {
|
||||
return bytes.map(function(x) {
|
||||
return lpad(x.toString(2), '0', 8)
|
||||
}).join('')
|
||||
}
|
||||
|
||||
function bytesToString(bytes) {
|
||||
return bytes.map(function(x){
|
||||
return String.fromCharCode(x)
|
||||
}).join('')
|
||||
}
|
||||
|
||||
function stringToBytes(string) {
|
||||
return string.split('').map(function(x) {
|
||||
return x.charCodeAt(0)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a byte array representing a number with the given length
|
||||
*/
|
||||
|
@ -181,13 +108,6 @@ module.exports = {
|
|||
lpad: lpad,
|
||||
bytesToHex: bytesToHex,
|
||||
hexToBytes: hexToBytes,
|
||||
bytesToBase64: bytesToBase64,
|
||||
base64ToBytes: base64ToBytes,
|
||||
coerceToBytes: coerceToBytes,
|
||||
binToBytes: binToBytes,
|
||||
bytesToBin: bytesToBin,
|
||||
bytesToString: bytesToString,
|
||||
stringToBytes: stringToBytes,
|
||||
numToBytes: numToBytes,
|
||||
bytesToNum: bytesToNum,
|
||||
numToVarInt: numToVarInt,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var assert = require('assert')
|
||||
var convert = require('../src/convert.js')
|
||||
var convert = require('../').convert
|
||||
|
||||
describe('convert', function() {
|
||||
describe('bytesToHex', function() {
|
||||
|
@ -25,25 +25,6 @@ describe('convert', function() {
|
|||
assert.deepEqual(convert.hexToBytes(hex), bytes)
|
||||
})
|
||||
|
||||
describe('bytesToBase64', function() {
|
||||
it('passes RFC4648 test vectors', function() {
|
||||
// Test vectors from:
|
||||
// http://tools.ietf.org/html/rfc4648#page-12
|
||||
|
||||
var b64 = function(s) {
|
||||
return convert.bytesToBase64(convert.stringToBytes(s))
|
||||
}
|
||||
|
||||
assert.equal(b64(''), '')
|
||||
assert.equal(b64('f'), 'Zg==')
|
||||
assert.equal(b64('fo'), 'Zm8=')
|
||||
assert.equal(b64('foo'), 'Zm9v')
|
||||
assert.equal(b64('foob'), 'Zm9vYg==')
|
||||
assert.equal(b64('fooba'), 'Zm9vYmE=')
|
||||
assert.equal(b64('foobar'), 'Zm9vYmFy')
|
||||
})
|
||||
})
|
||||
|
||||
describe('byte array and word array conversions', function(){
|
||||
var bytes, wordArray
|
||||
|
||||
|
|
Loading…
Reference in a new issue