module Sprockets::SourceMapUtils
def vlq_decode(str)
str - VLQ encoded String
Public: Decode a VLQ string.
def vlq_decode(str) result = [] shift = 0 value = 0 i = 0 while i < str.size do digit = BASE64_VALUES[str[i]] raise ArgumentError unless digit continuation = (digit & VLQ_CONTINUATION_BIT) != 0 digit &= VLQ_BASE_MASK value += digit << shift if continuation shift += VLQ_BASE_SHIFT else result << ((value & 1) == 1 ? -(value >> 1) : value >> 1) value = shift = 0 end i += 1 end result end