UNPKG

1.73 kBTypeScriptView Raw
1
2declare 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
43type FromCallback = (file: string) => string | RegExp | (RegExp | string)[];
44type ToCallback = (match: string, file: string) => string | string[];
45type ProcessorCallback = (input: string, file: string) => string;
46type ProcessorAsyncCallback = (input: string, file: string) => Promise<string>;