aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/magic-string/dist/magic-string.cjs.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vanilla/node_modules/magic-string/dist/magic-string.cjs.d.ts')
-rw-r--r--vanilla/node_modules/magic-string/dist/magic-string.cjs.d.ts289
1 files changed, 289 insertions, 0 deletions
diff --git a/vanilla/node_modules/magic-string/dist/magic-string.cjs.d.ts b/vanilla/node_modules/magic-string/dist/magic-string.cjs.d.ts
new file mode 100644
index 0000000..76cc537
--- /dev/null
+++ b/vanilla/node_modules/magic-string/dist/magic-string.cjs.d.ts
@@ -0,0 +1,289 @@
+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.
+ * You can also set `"boundary"` to generate a semi-hi-res mappings segmented per word boundary
+ * instead of per character, suitable for string semantics that are separated by words.
+ * If sourcemap locations have been specified with s.addSourceMapLocation(), they will be used here.
+ */
+ hires?: boolean | 'boundary';
+ /**
+ * 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[][];
+ x_google_ignoreList?: number[];
+}
+
+export class SourceMap {
+ constructor(properties: DecodedSourceMap);
+
+ version: number;
+ file: string;
+ sources: string[];
+ sourcesContent?: string[];
+ names: string[];
+ mappings: string;
+ x_google_ignoreList?: number[];
+ debugId?: 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);
+ /**
+ * Adds the specified source to the bundle, which can either be a `MagicString` object directly,
+ * or an options object that holds a magic string `content` property and optionally provides
+ * a `filename` for the source within the bundle, as well as an optional `ignoreList` hint
+ * (which defaults to `false`). The `filename` is used when constructing the source map for the
+ * bundle, to identify this `source` in the source map's `sources` field. The `ignoreList` hint
+ * is used to populate the `x_google_ignoreList` extension field in the source map, which is a
+ * mechanism for tools to signal to debuggers that certain sources should be ignored by default
+ * (depending on user preferences).
+ */
+ addSource(
+ source: MagicString | { filename?: string; content: MagicString; ignoreList?: boolean },
+ ): this;
+ append(str: string, options?: BundleOptions): this;
+ clone(): this;
+ generateMap(
+ options?: SourceMapOptions,
+ ): Omit<SourceMap, 'sourcesContent'> & { sourcesContent: Array<string | null> };
+ generateDecodedMap(
+ options?: SourceMapOptions,
+ ): Omit<DecodedSourceMap, 'sourcesContent'> & { sourcesContent: Array<string | null> };
+ getIndentString(): string;
+ indent(indentStr?: string): this;
+ indentExclusionRanges: ExclusionRange | Array<ExclusionRange>;
+ prepend(str: string): this;
+ toString(): string;
+ trimLines(): this;
+ trim(charType?: string): this;
+ trimStart(charType?: string): this;
+ trimEnd(charType?: string): this;
+ isEmpty(): boolean;
+ length(): number;
+}
+
+export type ExclusionRange = [number, number];
+
+export interface MagicStringOptions {
+ filename?: string;
+ indentExclusionRanges?: ExclusionRange | Array<ExclusionRange>;
+ offset?: number;
+}
+
+export interface IndentOptions {
+ exclude?: ExclusionRange | Array<ExclusionRange>;
+ indentStart?: boolean;
+}
+
+export interface OverwriteOptions {
+ storeName?: boolean;
+ contentOnly?: boolean;
+}
+
+export interface UpdateOptions {
+ storeName?: boolean;
+ overwrite?: 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): this;
+ /**
+ * 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): this;
+ /**
+ * 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): this;
+ /**
+ * Does what you'd expect.
+ */
+ clone(): this;
+ /**
+ * 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): this;
+ /**
+ * 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): this;
+ indentExclusionRanges: ExclusionRange | Array<ExclusionRange>;
+
+ /**
+ * Moves the characters from `start` and `end` to `index`.
+ */
+ move(start: number, end: number, index: number): this;
+ /**
+ * Replaces the characters from `start` to `end` with `content`, along with the appended/prepended content in
+ * that range. 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.
+ *
+ * It may be preferred to use `s.update(...)` instead if you wish to avoid overwriting the appended/prepended content.
+ */
+ overwrite(
+ start: number,
+ end: number,
+ content: string,
+ options?: boolean | OverwriteOptions,
+ ): this;
+ /**
+ * 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 an overwrite property which determines whether only
+ * the content is overwritten, or anything that was appended/prepended to the range as well.
+ */
+ update(start: number, end: number, content: string, options?: boolean | UpdateOptions): this;
+ /**
+ * Prepends the string with the specified content.
+ */
+ prepend(content: string): this;
+ /**
+ * Same as `s.appendLeft(...)`, except that the inserted content will go *before* any previous appends or prepends at index
+ */
+ prependLeft(index: number, content: string): this;
+ /**
+ * Same as `s.appendRight(...)`, except that the inserted content will go *before* any previous appends or prepends at `index`
+ */
+ prependRight(index: number, content: string): this;
+ /**
+ * 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): this;
+ /**
+ * Reset the modified characters from `start` to `end` (of the original string, **not** the generated string).
+ */
+ reset(start: number, end: number): this;
+ /**
+ * 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): this;
+ /**
+ * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start and end.
+ */
+ trim(charType?: string): this;
+ /**
+ * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the start.
+ */
+ trimStart(charType?: string): this;
+ /**
+ * Trims content matching `charType` (defaults to `\s`, i.e. whitespace) from the end.
+ */
+ trimEnd(charType?: string): this;
+ /**
+ * Removes empty lines from the start and end.
+ */
+ trimLines(): this;
+ /**
+ * String replacement with RegExp or string.
+ */
+ replace(
+ regex: RegExp | string,
+ replacement: string | ((substring: string, ...args: any[]) => string),
+ ): this;
+ /**
+ * Same as `s.replace`, but replace all matched strings instead of just one.
+ */
+ replaceAll(
+ regex: RegExp | string,
+ replacement: string | ((substring: string, ...args: any[]) => string),
+ ): this;
+
+ lastChar(): string;
+ lastLine(): string;
+ /**
+ * Returns true if the resulting source is empty (disregarding white space).
+ */
+ isEmpty(): boolean;
+ length(): number;
+
+ /**
+ * Indicates if the string has been changed.
+ */
+ hasChanged(): boolean;
+
+ original: string;
+ /**
+ * Returns the generated string.
+ */
+ toString(): string;
+
+ offset: number;
+}