Add type definitions for micromatch (and parse-glob)

This commit is contained in:
Glen
2016-01-03 13:35:48 +02:00
parent fe563dff34
commit d4220eb84c
4 changed files with 309 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
/// <reference path="./parse-glob.d.ts"/>
import parseGlob = require('parse-glob');
var result = parseGlob('a/b/c/**/*.{yml,json}');
result.base;
result.glob;
result.is.braces;
result.is.brackets;
result.is.dotdir;
result.is.dotfile;
result.is.extglob;
result.is.glob;
result.is.globstar;
result.is.negated;
result.orig;
result.path.basename;
result.path.dirname;
result.path.ext;
result.path.extname;
result.path.filename;
+92
View File
@@ -0,0 +1,92 @@
// Type definitions for parse-glob 3.0.4
// Project: https://www.npmjs.com/package/parse-glob
// Definitions by: glen-84 <https://github.com/glen-84>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare namespace ParseGlob {
interface Result {
/**
* A copy of the original, unmodified glob pattern.
*/
orig: string;
/**
* An object with boolean information about the glob.
*/
is: {
/**
* True if the pattern actually is a glob pattern.
*/
glob: boolean;
/**
* True if it's a negation pattern (!/foo.js).
*/
negated: boolean;
/**
* True if it has extglobs (@(foo|bar)).
*/
extglob: boolean;
/**
* True if it has braces ({1..2} or .{txt,md}).
*/
braces: boolean;
/**
* True if it has POSIX brackets ([[:alpha:]]).
*/
brackets: boolean;
/**
* True if the pattern has a globstar (double star, **).
*/
globstar: boolean;
/**
* True if the pattern should match dotfiles.
*/
dotfile: boolean;
/**
* True if the pattern should match dot-directories (like .git).
*/
dotdir: boolean;
};
/**
* The glob pattern part of the string, if any.
*/
glob: string;
/**
* The non-glob part of the string, if any.
*/
base: string;
/**
* File path segments.
*/
path: {
/**
* Directory.
*/
dirname: string;
/**
* File name with extension.
*/
basename: string;
/**
* File name without extension.
*/
filename: string;
/**
* File extension with dot.
*/
extname: string;
/**
* File extension without dot.
*/
ext: string;
};
}
}
declare module 'parse-glob' {
interface ParseGlob {
(glob: string): ParseGlob.Result;
}
const parseGlob: ParseGlob;
export = parseGlob;
}