Projekt

Obecné

Profil

Stáhnout (5.46 KB) Statistiky
| Větev: | Revize:
1
// Type definitions for Minimatch 3.0
2
// Project: https://github.com/isaacs/minimatch
3
// Definitions by: vvakame <https://github.com/vvakame>
4
//                 Shant Marouti <https://github.com/shantmarouti>
5
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
6

    
7
/**
8
 * Tests a path against the pattern using the options.
9
 */
10
declare function M(target: string, pattern: string, options?: M.IOptions): boolean;
11

    
12
declare namespace M {
13
    /**
14
     * Match against the list of files, in the style of fnmatch or glob.
15
     * If nothing is matched, and options.nonull is set,
16
     * then return a list containing the pattern itself.
17
     */
18
    function match(list: ReadonlyArray<string>, pattern: string, options?: IOptions): string[];
19

    
20
    /**
21
     * Returns a function that tests its supplied argument, suitable for use with Array.filter
22
     */
23
    function filter(pattern: string, options?: IOptions): (element: string, indexed: number, array: ReadonlyArray<string>) => boolean;
24

    
25
    /**
26
     * Make a regular expression object from the pattern.
27
     */
28
    function makeRe(pattern: string, options?: IOptions): RegExp;
29

    
30
    let Minimatch: IMinimatchStatic;
31

    
32
    interface IOptions {
33
        /**
34
         * Dump a ton of stuff to stderr.
35
         *
36
         * @default false
37
         */
38
        debug?: boolean;
39

    
40
        /**
41
         * Do not expand {a,b} and {1..3} brace sets.
42
         *
43
         * @default false
44
         */
45
        nobrace?: boolean;
46

    
47
        /**
48
         * Disable ** matching against multiple folder names.
49
         *
50
         * @default false
51
         */
52
        noglobstar?: boolean;
53

    
54
        /**
55
         * Allow patterns to match filenames starting with a period,
56
         * even if the pattern does not explicitly have a period in that spot.
57
         *
58
         * @default false
59
         */
60
        dot?: boolean;
61

    
62
        /**
63
         * Disable "extglob" style patterns like +(a|b).
64
         *
65
         * @default false
66
         */
67
        noext?: boolean;
68

    
69
        /**
70
         * Perform a case-insensitive match.
71
         *
72
         * @default false
73
         */
74
        nocase?: boolean;
75

    
76
        /**
77
         * When a match is not found by minimatch.match,
78
         * return a list containing the pattern itself if this option is set.
79
         * Otherwise, an empty list is returned if there are no matches.
80
         *
81
         * @default false
82
         */
83
        nonull?: boolean;
84

    
85
        /**
86
         * If set, then patterns without slashes will be matched against
87
         * the basename of the path if it contains slashes.
88
         *
89
         * @default false
90
         */
91
        matchBase?: boolean;
92

    
93
        /**
94
         * Suppress the behavior of treating #
95
         * at the start of a pattern as a comment.
96
         *
97
         * @default false
98
         */
99
        nocomment?: boolean;
100

    
101
        /**
102
         * Suppress the behavior of treating a leading ! character as negation.
103
         *
104
         * @default false
105
         */
106
        nonegate?: boolean;
107

    
108
        /**
109
         * Returns from negate expressions the same as if they were not negated.
110
         * (Ie, true on a hit, false on a miss.)
111
         *
112
         * @default false
113
         */
114
        flipNegate?: boolean;
115
    }
116

    
117
    interface IMinimatchStatic {
118
        new(pattern: string, options?: IOptions): IMinimatch;
119
        prototype: IMinimatch;
120
    }
121

    
122
    interface IMinimatch {
123
        /**
124
         * The original pattern the minimatch object represents.
125
         */
126
        pattern: string;
127

    
128
        /**
129
         * The options supplied to the constructor.
130
         */
131
        options: IOptions;
132

    
133
        /**
134
         * A 2-dimensional array of regexp or string expressions.
135
         */
136
        set: any[][]; // (RegExp | string)[][]
137

    
138
        /**
139
         * A single regular expression expressing the entire pattern.
140
         * Created by the makeRe method.
141
         */
142
        regexp: RegExp;
143

    
144
        /**
145
         * True if the pattern is negated.
146
         */
147
        negate: boolean;
148

    
149
        /**
150
         * True if the pattern is a comment.
151
         */
152
        comment: boolean;
153

    
154
        /**
155
         * True if the pattern is ""
156
         */
157
        empty: boolean;
158

    
159
        /**
160
         * Generate the regexp member if necessary, and return it.
161
         * Will return false if the pattern is invalid.
162
         */
163
        makeRe(): RegExp; // regexp or boolean
164

    
165
        /**
166
         * Return true if the filename matches the pattern, or false otherwise.
167
         */
168
        match(fname: string): boolean;
169

    
170
        /**
171
         * Take a /-split filename, and match it against a single row in the regExpSet.
172
         * This method is mainly for internal use, but is exposed so that it can be used
173
         * by a glob-walker that needs to avoid excessive filesystem calls.
174
         */
175
        matchOne(files: string[], pattern: string[], partial: boolean): boolean;
176

    
177
        /**
178
         * Deprecated. For internal use.
179
         *
180
         * @private
181
         */
182
        debug(): void;
183

    
184
        /**
185
         * Deprecated. For internal use.
186
         *
187
         * @private
188
         */
189
        make(): void;
190

    
191
        /**
192
         * Deprecated. For internal use.
193
         *
194
         * @private
195
         */
196
        parseNegate(): void;
197

    
198
        /**
199
         * Deprecated. For internal use.
200
         *
201
         * @private
202
         */
203
        braceExpand(pattern: string, options: IOptions): void;
204

    
205
        /**
206
         * Deprecated. For internal use.
207
         *
208
         * @private
209
         */
210
        parse(pattern: string, isSub?: boolean): void;
211
    }
212
}
213

    
214
export = M;
(3-3/4)