| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 | export interface BundleOptions {  intro?: string;  separator?: string;}export interface SourceMapOptions {  /**   * Whether the mapping should be high-resolution.   * Hi-res mappings map every single character, meaning (for example) your devtools will always   * be able to pinpoint the exact location of function calls and so on.   * With lo-res mappings, devtools may only be able to identify the correct   * line - but they're quicker to generate and less bulky.   * If sourcemap locations have been specified with s.addSourceMapLocation(), they will be used here.   */  hires?: boolean;  /**   * The filename where you plan to write the sourcemap.   */  file?: string;  /**   * The filename of the file containing the original source.   */  source?: string;  /**   * Whether to include the original content in the map's sourcesContent array.   */  includeContent?: boolean;}export type SourceMapSegment =  | [number]  | [number, number, number, number]  | [number, number, number, number, number];export interface DecodedSourceMap {  file: string;  sources: string[];  sourcesContent: string[];  names: string[];  mappings: SourceMapSegment[][];}export class SourceMap {  constructor(properties: DecodedSourceMap);  version: number;  file: string;  sources: string[];  sourcesContent: string[];  names: string[];  mappings: string;  /**   * Returns the equivalent of `JSON.stringify(map)`   */  toString(): string;  /**   * Returns a DataURI containing the sourcemap. Useful for doing this sort of thing:   * `generateMap(options?: SourceMapOptions): SourceMap;`   */  toUrl(): string;}export class Bundle {  constructor(options?: BundleOptions);  addSource(source: MagicString | { filename?: string, content: MagicString }): Bundle;  append(str: string, options?: BundleOptions): Bundle;  clone(): Bundle;  generateMap(options?: SourceMapOptions): SourceMap;  generateDecodedMap(options?: SourceMapOptions): DecodedSourceMap;  getIndentString(): string;  indent(indentStr?: string): Bundle;  indentExclusionRanges: ExclusionRange | Array<ExclusionRange>;  prepend(str: string): Bundle;  toString(): string;  trimLines(): Bundle;  trim(charType?: string): Bundle;  trimStart(charType?: string): Bundle;  trimEnd(charType?: string): Bundle;  isEmpty(): boolean;  length(): number;}export type ExclusionRange = [ number, number ];export interface MagicStringOptions {  filename?: string,  indentExclusionRanges?: ExclusionRange | Array<ExclusionRange>;}export interface IndentOptions {  exclude?: ExclusionRange | Array<ExclusionRange>;  indentStart?: boolean;}export interface OverwriteOptions {  storeName?: boolean;  contentOnly?: boolean;}export default class MagicString {  constructor(str: string, options?: MagicStringOptions);  /**   * Adds the specified character index (with respect to the original string) to sourcemap mappings, if `hires` is false.   */  addSourcemapLocation(char: number): void;  /**   * Appends the specified content to the end of the string.   */  append(content: string): MagicString;  /**   * Appends the specified content at the index in the original string.   * If a range *ending* with index is subsequently moved, the insert will be moved with it.    * See also `s.prependLeft(...)`.   */  appendLeft(index: number, content: string): MagicString;  /**   * Appends the specified content at the index in the original string.   * If a range *starting* with index is subsequently moved, the insert will be moved with it.   * See also `s.prependRight(...)`.   */  appendRight(index: number, content: string): MagicString;  /**   * Does what you'd expect.   */  clone(): MagicString;  /**   * Generates a version 3 sourcemap.   */  generateMap(options?: SourceMapOptions): SourceMap;  /**   * Generates a sourcemap object with raw mappings in array form, rather than encoded as a string.   * Useful if you need to manipulate the sourcemap further, but most of the time you will use `generateMap` instead.   */  generateDecodedMap(options?: SourceMapOptions): DecodedSourceMap;  getIndentString(): string;  /**   * Prefixes each line of the string with prefix.   * If prefix is not supplied, the indentation will be guessed from the original content, falling back to a single tab character.   */  indent(options?: IndentOptions): MagicString;  /**   * Prefixes each line of the string with prefix.   * If prefix is not supplied, the indentation will be guessed from the original content, falling back to a single tab character.   *   * The options argument can have an exclude property, which is an array of [start, end] character ranges.   * These ranges will be excluded from the indentation - useful for (e.g.) multiline strings.   */  indent(indentStr?: string, options?: IndentOptions): MagicString;  indentExclusionRanges: ExclusionRange | Array<ExclusionRange>;  /**   * Moves the characters from `start and `end` to `index`.   */  move(start: number, end: number, index: number): MagicString;  /**   * Replaces the characters from `start` to `end` with `content`. The same restrictions as `s.remove()` apply.   *   * The fourth argument is optional. It can have a storeName property — if true, the original name will be stored   * for later inclusion in a sourcemap's names array — and a contentOnly property which determines whether only   * the content is overwritten, or anything that was appended/prepended to the range as well.   */  overwrite(start: number, end: number, content: string, options?: boolean | OverwriteOptions): MagicString;  /**   * Prepends the string with the specified content.    */  prepend(content: string): MagicString;  /**   * Same as `s.appendLeft(...)`, except that the inserted content will go *before* any previous appends or prepends at index   */  prependLeft(index: number, content: string): MagicString;  /**   * Same as `s.appendRight(...)`, except that the inserted content will go *before* any previous appends or prepends at `index`   */  prependRight(index: number, content: string): MagicString;  /**   * Removes the characters from `start` to `end` (of the original string, **not** the generated string).   * Removing the same content twice, or making removals that partially overlap, will cause an error.   */  remove(start: number, end: number): MagicString;  /**   * Returns the content of the generated string that corresponds to the slice between `start` and `end` of the original string.   * Throws error if the indices are for characters that were already removed.   */  slice(start: number, end: number): string;  /**   * Returns a clone of `s`, with all content before the `start` and `end` characters of the original string removed.   */  snip(start: number, end: number): MagicString;  /**   * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start and end.   */  trim(charType?: string): MagicString;  /**   * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start.   */  trimStart(charType?: string): MagicString;  /**   * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the end.   */  trimEnd(charType?: string): MagicString;  /**   * Removes empty lines from the start and end.   */  trimLines(): MagicString;  lastChar(): string;  lastLine(): string;  /**   * Returns true if the resulting source is empty (disregarding white space).   */  isEmpty(): boolean;  length(): number;  original: string;  /**   * Returns the generated string.   */  toString(): string;}
 |