1 |
|
2 | declare module 'replace-in-file' {
|
3 | export function replaceInFile(config: ReplaceInFileConfig & { from?: never, to?: never, processor: ReplaceInFileConfig["processor"] }): Promise<ReplaceResult[]>;
|
4 |
|
5 | export function replaceInFile(config: ReplaceInFileConfig & { from: ReplaceInFileConfig["from"], to: ReplaceInFileConfig["to"], processor?: never }): Promise<ReplaceResult[]>;
|
6 |
|
7 | export default replaceInFile;
|
8 |
|
9 | export namespace replaceInFile {
|
10 | export function replaceInFileSync(config: ReplaceInFileConfig): ReplaceResult[];
|
11 | export function replaceInFile(config: ReplaceInFileConfig): Promise<ReplaceResult[]>;
|
12 | }
|
13 |
|
14 | export function replaceInFileSync(config: ReplaceInFileConfig): ReplaceResult[];
|
15 |
|
16 | export type From = string | RegExp | FromCallback;
|
17 | export type To = string | ToCallback;
|
18 |
|
19 | export interface ReplaceInFileConfig {
|
20 | files: string | string[];
|
21 | ignore?: string | string[];
|
22 | from?: From | Array<From>;
|
23 | to?: To | Array<To>;
|
24 | getTargetFile?(source: string): string;
|
25 | countMatches?: boolean;
|
26 | allowEmptyPaths?: boolean;
|
27 | disableGlobs?: boolean;
|
28 | encoding?: string;
|
29 | dry?: boolean;
|
30 | glob?: object;
|
31 | processor?: ProcessorCallback | Array<ProcessorCallback>;
|
32 | processorAsync?: ProcessorAsyncCallback | Array<ProcessorAsyncCallback>;
|
33 | }
|
34 |
|
35 | export interface ReplaceResult {
|
36 | file: string;
|
37 | hasChanged: boolean;
|
38 | numMatches?: number,
|
39 | numReplacements?: number,
|
40 | }
|
41 | }
|
42 |
|
43 | type FromCallback = (file: string) => string | RegExp | (RegExp | string)[];
|
44 | type ToCallback = (match: string, file: string) => string | string[];
|
45 | type ProcessorCallback = (input: string, file: string) => string;
|
46 | type ProcessorAsyncCallback = (input: string, file: string) => Promise<string>;
|