Sha256: 41b9e08b0e902e844f78f0191f2456f9eb5f5f51476131ae9349e541fdaac42e

Contents?: true

Size: 1017 Bytes

Versions: 59

Compression:

Stored size: 1017 Bytes

Contents

var codify = module.exports = {};

// This function accepts numbers from 0-35
function character(num) {
    if (num < 10) return String(num);
    return String.fromCharCode(num-10+65);
}

/*
 * Generate an alphanumeric (base-36) code from an integer
 */
codify.toCode = function(val, minSize) {
    minSize = minSize || 1;
    var code = '';
    while (val >= 1) {
        var remainder = val % 36;
        val = Math.floor(val / 36);
        code = character(remainder)+code;
    }
    while (code.length < minSize) {
        code = '0'+code;
    }
    return code;
};

var digits = {};
for (var i = 0; i < 10; i++) {
    digits[String(i)] = i;
}
for (i = 0; i < 26; i++) {
    digits[String.fromCharCode(i+65)] = i+10;
}

/*
 * Convert an alphanumeric (base-36) code to an integer
 */
codify.toInt = function(code) {
    var calculated = 0;
    for (var i =0; i < code.length; i++) {
        var num = digits[code.charAt(i)];
        calculated += Math.pow(36, code.length-i-1)*num;
    }
    return calculated;
};

Version data entries

59 entries across 59 versions & 2 rubygems

Version Path
passenger-6.0.25 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.24 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.23 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.20 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.19 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.18 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.17 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.16 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.15 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.14 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.13 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.12 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.11 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.10 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.9 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.8 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.7 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.6 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.5 src/nodejs_supportlib/vendor-copy/codify/codify.js
passenger-6.0.4 src/nodejs_supportlib/vendor-copy/codify/codify.js