You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					222 lines
				
				7.5 KiB
			
		
		
			
		
	
	
					222 lines
				
				7.5 KiB
			| 
											3 years ago
										 | 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; | ||
|  | } |