aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@types/glob/index.d.ts
blob: 52d6ef0848f1ad840d16c14bc0d6437c966c1edc (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// Type definitions for Glob 5.0.10
// Project: https://github.com/isaacs/node-glob
// Definitions by: vvakame <https://github.com/vvakame/>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped

/// <reference types="node" />
/// <reference types="minimatch" />

import events = require("events");
import fs = require('fs');
import minimatch = require("minimatch");

declare function G(pattern: string, cb: (err: Error, matches: string[]) => void): void;
declare function G(pattern: string, options: G.IOptions, cb: (err: Error, matches: string[]) => void): void;

declare namespace G {
    function sync(pattern: string, options?: IOptions): string[];

    function hasMagic(pattern: string, options?: IOptions): boolean;

    var Glob: IGlobStatic;
    var GlobSync: IGlobSyncStatic;

    interface IOptions extends minimatch.IOptions {
        cwd?: string;
        root?: string;
        dot?: boolean;
        nomount?: boolean;
        mark?: boolean;
        nosort?: boolean;
        stat?: boolean;
        silent?: boolean;
        strict?: boolean;
        cache?: { [path: string]: any /* boolean | string | string[] */ };
        statCache?: { [path: string]: fs.Stats };
        symlinks?: any;
        sync?: boolean;
        nounique?: boolean;
        nonull?: boolean;
        debug?: boolean;
        nobrace?: boolean;
        noglobstar?: boolean;
        noext?: boolean;
        nocase?: boolean;
        matchBase?: any;
        nodir?: boolean;
        ignore?: any; /* string | string[] */
        follow?: boolean;
        realpath?: boolean;
        nonegate?: boolean;
        nocomment?: boolean;

        /** Deprecated. */
        globDebug?: boolean;
    }

    interface IGlobStatic extends events.EventEmitter {
        new (pattern: string, cb?: (err: Error, matches: string[]) => void): IGlob;
        new (pattern: string, options: IOptions, cb?: (err: Error, matches: string[]) => void): IGlob;
        prototype: IGlob;
    }

    interface IGlobSyncStatic {
        new (pattern: string, options?: IOptions): IGlobBase
        prototype: IGlobBase;
    }

    interface IGlobBase {
        minimatch: minimatch.IMinimatch;
        options: IOptions;
        aborted: boolean;
        cache: { [path: string]: any /* boolean | string | string[] */ };
        statCache: { [path: string]: fs.Stats };
        symlinks: { [path: string]: boolean };
        realpathCache: { [path: string]: string };
        found: string[];
    }

    interface IGlob extends IGlobBase, events.EventEmitter {
        pause(): void;
        resume(): void;
        abort(): void;

        /** Deprecated. */
        EOF: any;
        /** Deprecated. */
        paused: boolean;
        /** Deprecated. */
        maxDepth: number;
        /** Deprecated. */
        maxLength: number;
        /** Deprecated. */
        changedCwd: boolean;
        /** Deprecated. */
        cwd: string;
        /** Deprecated. */
        root: string;
        /** Deprecated. */
        error: any;
        /** Deprecated. */
        matches: string[];
        /** Deprecated. */
        log(...args: any[]): void;
        /** Deprecated. */
        emitMatch(m: any): void;
    }
}

export = G;