Sha256: 003b80f38c4a6156f9767487ccca98b39a57e2510af0305db55b3ec91db88ecd

Contents?: true

Size: 1.9 KB

Versions: 4

Compression:

Stored size: 1.9 KB

Contents

(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
	typeof define === 'function' && define.amd ? define(['exports'], factory) :
	(factory((global.vlq = {})));
}(this, (function (exports) { 'use strict';

var charToInteger = {};
var integerToChar = {};
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split('').forEach(function (char, i) {
    charToInteger[char] = i;
    integerToChar[i] = char;
});
function decode(string) {
    var result = [];
    var shift = 0;
    var value = 0;
    for (var i = 0; i < string.length; i += 1) {
        var integer = charToInteger[string[i]];
        if (integer === undefined) {
            throw new Error('Invalid character (' + string[i] + ')');
        }
        var hasContinuationBit = integer & 32;
        integer &= 31;
        value += integer << shift;
        if (hasContinuationBit) {
            shift += 5;
        }
        else {
            var shouldNegate = value & 1;
            value >>= 1;
            result.push(shouldNegate ? -value : value);
            // reset
            value = shift = 0;
        }
    }
    return result;
}
function encode(value) {
    var result;
    if (typeof value === 'number') {
        result = encodeInteger(value);
    }
    else {
        result = '';
        for (var i = 0; i < value.length; i += 1) {
            result += encodeInteger(value[i]);
        }
    }
    return result;
}
function encodeInteger(num) {
    var result = '';
    if (num < 0) {
        num = (-num << 1) | 1;
    }
    else {
        num <<= 1;
    }
    do {
        var clamped = num & 31;
        num >>= 5;
        if (num > 0) {
            clamped |= 32;
        }
        result += integerToChar[clamped];
    } while (num > 0);
    return result;
}

exports.decode = decode;
exports.encode = encode;

Object.defineProperty(exports, '__esModule', { value: true });

})));

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jass-0.9.5 vendor/node_modules/vlq/dist/vlq.js
jass-0.9.4 vendor/node_modules/vlq/dist/vlq.js
jass-0.9.3 vendor/node_modules/vlq/dist/vlq.js
jass-0.9.1 vendor/node_modules/vlq/dist/vlq.js