UNPKG

2.68 kBTypeScriptView Raw
1export interface IExpression {
2 [pattern: string]: boolean | SiblingClause | any;
3}
4export interface IRelativePattern {
5 base: string;
6 pattern: string;
7 pathToRelative(from: string, to: string): string;
8}
9export declare function getEmptyExpression(): IExpression;
10export interface SiblingClause {
11 when: string;
12}
13export declare function splitGlobAware(pattern: string, splitChar: string): string[];
14export declare type ParsedPattern = (path: string, basename?: string) => boolean;
15export declare type ParsedExpression = (path: string, basename?: string, hasSibling?: (name: string) => boolean | Promise<boolean>) => string | Promise<string>;
16export interface IGlobOptions {
17 /**
18 * Simplify patterns for use as exclusion filters during tree traversal to skip entire subtrees. Cannot be used outside of a tree traversal.
19 */
20 trimForExclusions?: boolean;
21}
22/**
23 * Simplified glob matching. Supports a subset of glob patterns:
24 * - * matches anything inside a path segment
25 * - ? matches 1 character inside a path segment
26 * - ** matches anything including an empty path segment
27 * - simple brace expansion ({js,ts} => js or ts)
28 * - character ranges (using [...])
29 */
30export declare function match(pattern: string | IRelativePattern, path: string): boolean;
31export declare function match(expression: IExpression, path: string, hasSibling?: (name: string) => boolean): string;
32/**
33 * Simplified glob matching. Supports a subset of glob patterns:
34 * - * matches anything inside a path segment
35 * - ? matches 1 character inside a path segment
36 * - ** matches anything including an empty path segment
37 * - simple brace expansion ({js,ts} => js or ts)
38 * - character ranges (using [...])
39 */
40export declare function parse(pattern: string | IRelativePattern, options?: IGlobOptions): ParsedPattern;
41export declare function parse(expression: IExpression, options?: IGlobOptions): ParsedExpression;
42export declare function hasSiblingPromiseFn(siblingsFn?: () => Promise<string[]>): ((name: string) => Promise<boolean>) | undefined;
43export declare function hasSiblingFn(siblingsFn?: () => string[]): ((name: string) => boolean) | undefined;
44export declare function isRelativePattern(obj: unknown): obj is IRelativePattern;
45/**
46 * Same as `parse`, but the ParsedExpression is guaranteed to return a Promise
47 */
48export declare function parseToAsync(expression: IExpression, options?: IGlobOptions): ParsedExpression;
49export declare function getBasenameTerms(patternOrExpression: ParsedPattern | ParsedExpression): string[];
50export declare function getPathTerms(patternOrExpression: ParsedPattern | ParsedExpression): string[];
51//# sourceMappingURL=glob.d.ts.map
\No newline at end of file