// Type definitions for Minimatch 3.0 // Project: https://github.com/isaacs/minimatch // Definitions by: vvakame // Shant Marouti // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /** * Tests a path against the pattern using the options. */ declare function M(target: string, pattern: string, options?: M.IOptions): boolean; declare namespace M { /** * Match against the list of files, in the style of fnmatch or glob. * If nothing is matched, and options.nonull is set, * then return a list containing the pattern itself. */ function match(list: string[], pattern: string, options?: IOptions): string[]; /** * Returns a function that tests its supplied argument, suitable for use with Array.filter */ function filter(pattern: string, options?: IOptions): (element: string, indexed: number, array: string[]) => boolean; /** * Make a regular expression object from the pattern. */ function makeRe(pattern: string, options?: IOptions): RegExp; var Minimatch: IMinimatchStatic; interface IOptions { /** * Dump a ton of stuff to stderr. * * @default false */ debug?: boolean; /** * Do not expand {a,b} and {1..3} brace sets. * * @default false */ nobrace?: boolean; /** * Disable ** matching against multiple folder names. * * @default false */ noglobstar?: boolean; /** * Allow patterns to match filenames starting with a period, * even if the pattern does not explicitly have a period in that spot. * * @default false */ dot?: boolean; /** * Disable "extglob" style patterns like +(a|b). * * @default false */ noext?: boolean; /** * Perform a case-insensitive match. * * @default false */ nocase?: boolean; /** * When a match is not found by minimatch.match, * return a list containing the pattern itself if this option is set. * Otherwise, an empty list is returned if there are no matches. * * @default false */ nonull?: boolean; /** * If set, then patterns without slashes will be matched against * the basename of the path if it contains slashes. * * @default false */ matchBase?: boolean; /** * Suppress the behavior of treating # * at the start of a pattern as a comment. * * @default false */ nocomment?: boolean; /** * Suppress the behavior of treating a leading ! character as negation. * * @default false */ nonegate?: boolean; /** * Returns from negate expressions the same as if they were not negated. * (Ie, true on a hit, false on a miss.) * * @default false */ flipNegate?: boolean; } interface IMinimatchStatic { new(pattern: string, options?: IOptions): IMinimatch; prototype: IMinimatch; } interface IMinimatch { /** * The original pattern the minimatch object represents. */ pattern: string; /** * The options supplied to the constructor. */ options: IOptions; /** * A 2-dimensional array of regexp or string expressions. */ set: any[][]; // (RegExp | string)[][] /** * A single regular expression expressing the entire pattern. * Created by the makeRe method. */ regexp: RegExp; /** * True if the pattern is negated. */ negate: boolean; /** * True if the pattern is a comment. */ comment: boolean; /** * True if the pattern is "" */ empty: boolean; /** * Generate the regexp member if necessary, and return it. * Will return false if the pattern is invalid. */ makeRe(): RegExp; // regexp or boolean /** * Return true if the filename matches the pattern, or false otherwise. */ match(fname: string): boolean; /** * Take a /-split filename, and match it against a single row in the regExpSet. * This method is mainly for internal use, but is exposed so that it can be used * by a glob-walker that needs to avoid excessive filesystem calls. */ matchOne(files: string[], pattern: string[], partial: boolean): boolean; /** * Deprecated. For internal use. * * @private */ debug(): void; /** * Deprecated. For internal use. * * @private */ make(): void; /** * Deprecated. For internal use. * * @private */ parseNegate(): void; /** * Deprecated. For internal use. * * @private */ braceExpand(pattern: string, options: IOptions): void; /** * Deprecated. For internal use. * * @private */ parse(pattern: string, isSub?: boolean): void; } } export = M;