class SassC::ImportHandler::Importer

def canonicalize(url, **)

def canonicalize(url, **)
  path = Util.file_url_to_path(url)
  canonical_url = Util.path_to_file_url(File.absolute_path(path))
  if @importer_results.key?(canonical_url)
    return if @importer_results[canonical_url].nil?
    return canonical_url
  end
  canonical_url = "sass-importer-shim:#{canonical_url}"
  imports = @importer.imports path, @importer.options[:filename]
  unless imports.is_a? Array
    return if imports.path == path
    imports = [imports]
  end
  contents = imports.map do |import|
    import_path = File.absolute_path(import.path)
    import_url = Util.path_to_file_url(import_path)
    @importer_results[import_url] = if import.source
                                      {
                                        contents: import.source,
                                        syntax: case import.path
                                                when /\.scss$/i
                                                  :scss
                                                when /\.sass$/i
                                                  :indented
                                                when /\.css$/i
                                                  :css
                                                else
                                                  raise ArgumentError
                                                end,
                                        source_map_url: if import.source_map_path
                                                          Util.path_to_file_url(
                                                            File.absolute_path(import.source_map_path, path)
                                                          )
                                                        end
                                      }
                                    end
    "@import #{import_url.inspect};"
  end.join("\n")
  @importer_results[canonical_url] = {
    contents: contents,
    syntax: :scss
  }
  canonical_url
end

def initialize(importer)

def initialize(importer)
  @importer = importer
  @importer_results = {}
end

def load(canonical_url)

def load(canonical_url)
  @importer_results[canonical_url]
end