| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- interface StripLiteralOptions {
- /**
- * Will be called for each string literal. Return false to skip stripping.
- */
- filter?: (s: string) => boolean;
- /**
- * Fill the stripped literal with this character.
- * It must be a single character.
- *
- * @default ' '
- */
- fillChar?: string;
- }
- /**
- * Strip literal using Acorn's tokenizer.
- *
- * Will throw error if the input is not valid JavaScript.
- */
- declare function stripLiteralAcorn(code: string, options?: StripLiteralOptions): string;
- /**
- * Returns a function that returns whether the position is
- * in a literal using Acorn's tokenizer.
- *
- * Will throw error if the input is not valid JavaScript.
- */
- declare function createIsLiteralPositionAcorn(code: string): (position: number) => boolean;
- /**
- * Strip literal using RegExp.
- *
- * This will be faster and can work on non-JavaScript input.
- * But will have some caveats on distinguish strings and comments.
- */
- declare function stripLiteralRegex(code: string, options?: StripLiteralOptions): string;
- /**
- * Strip literal from code.
- *
- * Using Acorn's tokenizer first, and fallback to Regex if Acorn fails.
- */
- declare function stripLiteral(code: string, options?: StripLiteralOptions): string;
- /**
- * Strip literal from code, return more detailed information.
- *
- * Using Acorn's tokenizer first, and fallback to Regex if Acorn fails.
- */
- declare function stripLiteralDetailed(code: string, options?: StripLiteralOptions): {
- mode: 'acorn' | 'regex';
- result: string;
- acorn: {
- tokens: any[];
- error?: any;
- };
- };
- export { StripLiteralOptions, createIsLiteralPositionAcorn, stripLiteral, stripLiteralAcorn, stripLiteralDetailed, stripLiteralRegex };
|