module Sprockets::SourceMapUtils

def vlq_decode(str)

Returns an Array of Integers.

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