From 8da765238d7a7c6172f44d15618120afd6d9a6aa Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Sat, 15 Dec 2018 11:40:45 +0100 Subject: [PATCH] [multimatch] Allow plain string as path, remove duplicated Options interface --- types/multimatch/index.d.ts | 65 +++++----------------------- types/multimatch/multimatch-tests.ts | 10 ++--- 2 files changed, 15 insertions(+), 60 deletions(-) diff --git a/types/multimatch/index.d.ts b/types/multimatch/index.d.ts index 67af567cfa..6f8d37123c 100644 --- a/types/multimatch/index.d.ts +++ b/types/multimatch/index.d.ts @@ -1,70 +1,25 @@ // Type definitions for multimatch 2.1 // Project: https://github.com/sindresorhus/multimatch // Definitions by: Stephen Lautier +// BendingBender // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +import { IOptions } from 'minimatch'; + /** * Match utility function which supports multiple pattern globbing. * - * @param paths list to match against. + * @param paths paths to match against. * @param patterns globbing patterns to use. e.g. `[*, "!cake"]`. */ -declare function multimatch(paths: string[], patterns: string | string[], options?: multimatch.MultimatchOptions): string[]; +declare function multimatch( + paths: string | string[], + patterns: string | string[], + options?: multimatch.MultimatchOptions +): string[]; declare namespace multimatch { - /** - * Options based on [minimatch](https://github.com/isaacs/minimatch#minimatchmatchlist-pattern-options) - */ - interface MultimatchOptions { - /** Dump a ton of stuff to stderr. */ - debug?: boolean; - - /** Do not expand `{a,b}` and `{1..3}` brace sets. */ - nobrace?: boolean; - - /** Disable `**` matching against multiple folder names. */ - noglobstar?: boolean; - - /** - * Allow patterns to match filenames starting with a period, even if - * the pattern does not explicitly have a period in that spot. - * - * Note that by default, `a/** /b` will **not** match `a/.d/b`, unless `dot` is set. - */ - dot?: boolean; - - /** Disable "extglob" style patterns like `+(a|b)`. */ - noext?: boolean; - - /** Perform a case-insensitive match. */ - nocase?: boolean; - - /** - * When a match is not found by `minimatch.match`, return a list containing - * the pattern itself if this option is set. When not set, an empty list - * is returned if there are no matches. - */ - nonull?: boolean; - - /** - * If set, then patterns without slashes will be matched - * against the basename of the path if it contains slashes. For example, - * `a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. - */ - matchBase?: boolean; - - /** Suppress the behavior of treating `#` at the start of a pattern as a comment. */ - nocomment?: boolean; - - /** Suppress the behavior of treating a leading `!` character as negation. */ - nonegate?: boolean; - - /** - * Returns from negate expressions the same as if they were not negated. - * (Ie, true on a hit, false on a miss.) - */ - flipNegate?: boolean; - } + type MultimatchOptions = IOptions; } export = multimatch; diff --git a/types/multimatch/multimatch-tests.ts b/types/multimatch/multimatch-tests.ts index 6e687a2cdc..49a2e4516c 100644 --- a/types/multimatch/multimatch-tests.ts +++ b/types/multimatch/multimatch-tests.ts @@ -1,9 +1,9 @@ -import multimatch = require("multimatch"); +import multimatch = require('multimatch'); const options: multimatch.MultimatchOptions = { - debug: true + debug: true, }; -multimatch(["unicorn", "cake", "rainbows"], "!cake"); -multimatch(["unicorn", "cake", "rainbows"], ["*", "!cake"]); -multimatch(["unicorn", "cake", "rainbows"], ["*", "!cake"], options); +multimatch(['unicorn', 'cake', 'rainbows'], '!cake'); +multimatch(['unicorn', 'cake', 'rainbows'], ['*', '!cake']); +multimatch(['unicorn', 'cake', 'rainbows'], ['*', '!cake'], options);