class SourceMap
Attributes
The name of the file containing the code that this SourceMap
describes. (default “”)
A list of mapping objects.
A list of names (used during parsing/generating) (default [])
The URL/directory that contains the original source files.
This is prefixed to the entries in ['sources'] (default “”)
The list of sources (used during parsing/generating) These are relative to the source_root. (default [])
The version of the SourceMap
spec we're using. (default 3)
Public Class Methods
Load a SourceMap
from a Hash such as might be returned by {SourceMap#as_json}.
# File lib/source_map/parser.rb, line 8 def self.from_json(json) raise ParserError, "Cannot parse version: #{json['version']} of SourceMap" unless json['version'] == 3 map = new(:file => json['file'], :source_root => json['sourceRoot'], :sources => json['sources'], :names => json['names']) map.parse_mappings(json['mappings'] || '') map end
Load a SourceMap
from a String.
# File lib/source_map/parser.rb, line 21 def self.from_s(str) from_json JSON.parse(str) end
Load a SourceMap
from a file.
# File lib/source_map/parser.rb, line 26 def self.load(filename) from_s File.read(filename) end
Create a new blank SourceMap
Options may include:
:file => String # See {#file} :source_root => String # See {#source_root} :generated_output => IO # See {#generated_output}
:sources => Array # See {#sources} :names => Array # See {#names}
:version => 3 # Which version of SourceMap
to use (only 3 is allowed)
# File lib/source_map.rb, line 25 def initialize(opts={}) unless (remain = opts.keys - [:generated_output, :file, :source_root, :sources, :names, :version]).empty? raise ArgumentError, "Unsupported options to SourceMap.new: #{remain.inspect}" end self.generated_output = opts[:generated_output] self.file = opts[:file] || '' self.source_root = opts[:source_root] || '' self.version = opts[:version] || 3 self.sources = opts[:sources] || [] self.names = opts[:names] || [] self.mappings = [] raise "version #{opts[:version]} not supported" if version != 3 end