// The ParsedExpression returns a Promise iff hasSibling returns a Promise.
exporttypeParsedExpression=(path:string,basename?:string,hasSibling?:(name:string)=>boolean|TPromise<boolean>)=>string|TPromise<string>/* the matching pattern */;
exporttypeParsedExpression=(path:string,basename?:string,hasSibling?:(name:string)=>boolean|TPromise<boolean>)=>string|null|TPromise<string|null>/* the matching pattern */;
(path:string,basename:string):string|TPromise<string>/* the matching pattern */;
(path:string,basename:string):string|null|TPromise<string|null>/* the matching pattern */;
basenames?:string[];
patterns?:string[];
allBasenames?:string[];
allPaths?:string[];
}
interfaceParsedExpressionPattern{
(path:string,basename:string,name:string,hasSibling:(name:string)=>boolean|TPromise<boolean>):string|TPromise<string>/* the matching pattern */;
(path:string,basename:string,name?:string,hasSibling?:(name:string)=>boolean|TPromise<boolean>):string|null|TPromise<string|null>/* the matching pattern */;
requiresSiblings?:boolean;
allBasenames?:string[];
allPaths?:string[];
...
...
@@ -277,7 +277,7 @@ const FALSE = function () {
returnfalse;
};
constNULL=function():string{
constNULL=function():string|null{
returnnull;
};
...
...
@@ -305,7 +305,7 @@ function parsePattern(arg1: string | IRelativePattern, options: IGlobOptions): P
}
// Check for Trivias
letmatch:RegExpExecArray;
letmatch:RegExpExecArray|null;
if(T1.test(pattern)){// common pattern: **/*.txt just need endsWith check