Skip to content

Improving the SourceMapBuilder API #85

@loewenheim

Description

@loewenheim

This is part of #71.

In general I think the "nice" style of builder API is along the lines of

Builder::new()
    .add_something()
    .add_more()
    []
    .build()

By contrast, SourceMapBuilder has a bunch of of get and set methods. Unfortunately the "flow" style won't work for e.g. add_source because it needs to return the source ID.

I would advocate for getting rid at least of the following methods:

  • get_file
  • get_source_root
  • get_source, set_source
  • get_source_contents
  • strip_prefixes (just do that before adding the sources)

I'm not entirely sure about set_source_contents and load_local_source_contents. Being able to set source contents after the fact might come in handy. But there's also something to be said for only setting everything once.

add/add_with_id/add_raw/add_token should probably condensed and/or cleaned up—it's not easy to understand the difference between them and why e.g. add takes both a source and a source_id parameter.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions