module Opal::SourceMap::Map

def as_json(*)

def as_json(*)
  to_h
end

def cache

Marshaling for cache shortpath
def cache
  @to_h ||= map
  self
end

def marshal_dump

def marshal_dump
  [to_h, generated_code]
end

def marshal_load(value)

def marshal_load(value)
  @to_h, @generated_code = value
end

def to_data_uri_comment

def to_data_uri_comment
  "//# sourceMappingURL=data:application/json;base64,#{Base64.encode64(to_json).delete("\n")}"
end

def to_h

def to_h
  @to_h || map
end

def to_json

def to_json
  map = to_h
  map.to_json
rescue Encoding::UndefinedConversionError
  map[:sections].each do |i|
    i.to_json
  rescue Encoding::UndefinedConversionError
    map[:sections].delete(i)
  end
  map.to_json
end

def to_s

def to_s
  to_h.to_s
end