summaryrefslogtreecommitdiff
path: root/node_modules/get-source/get-source.d.ts
blob: fb9b81f0b6a68275c796915e64e47a4e789f8ff6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
declare interface Location {

    line: number;
    column: number;
}

declare interface ResolvedLocation<FileType> extends Location {

    sourceFile: FileType;
    sourceLine: string;
    error?: Error;
}

declare interface File {

    path: string;
    text: string;
    lines: string[];
    error?: Error;
}

declare interface FileAsync extends File {
    resolve (location: Location): Promise<ResolvedLocation<FileAsync>>
}

declare interface FileSync extends File {
    resolve (location: Location): ResolvedLocation<FileSync>
}

declare interface FileCache<T> {

    resetCache (): void;
    getCache (): { [key: string]: T };
}

declare interface getSourceAsync extends FileCache<FileAsync> {
    (path: string): Promise<FileAsync>;
}

declare interface getSourceSync extends FileCache<FileSync> {
    (path: string): FileSync;
    async: getSourceAsync;
}

declare const getSource: getSourceSync;

export = getSource;