lib/opal/source_map/map.rb
# frozen_string_literal: true require 'base64' require 'json' module Opal::SourceMap::Map def to_h @to_h || map end 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 as_json(*) to_h end def to_s to_h.to_s end def to_data_uri_comment "//# sourceMappingURL=data:application/json;base64,#{Base64.encode64(to_json).delete("\n")}" end # Marshaling for cache shortpath def cache @to_h ||= map self end def marshal_dump [to_h, generated_code] end def marshal_load(value) @to_h, @generated_code = value end end