You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.5 KiB
62 lines
1.5 KiB
3 years ago
|
type Pathname = string
|
||
|
|
||
|
interface TestResult {
|
||
|
ignored: boolean
|
||
|
unignored: boolean
|
||
|
}
|
||
|
|
||
|
export interface Ignore {
|
||
|
/**
|
||
|
* Adds one or several rules to the current manager.
|
||
|
* @param {string[]} patterns
|
||
|
* @returns IgnoreBase
|
||
|
*/
|
||
|
add(patterns: string | Ignore | readonly (string | Ignore)[]): this
|
||
|
|
||
|
/**
|
||
|
* Filters the given array of pathnames, and returns the filtered array.
|
||
|
* NOTICE that each path here should be a relative path to the root of your repository.
|
||
|
* @param paths the array of paths to be filtered.
|
||
|
* @returns The filtered array of paths
|
||
|
*/
|
||
|
filter(pathnames: readonly Pathname[]): Pathname[]
|
||
|
|
||
|
/**
|
||
|
* Creates a filter function which could filter
|
||
|
* an array of paths with Array.prototype.filter.
|
||
|
*/
|
||
|
createFilter(): (pathname: Pathname) => boolean
|
||
|
|
||
|
/**
|
||
|
* Returns Boolean whether pathname should be ignored.
|
||
|
* @param {string} pathname a path to check
|
||
|
* @returns boolean
|
||
|
*/
|
||
|
ignores(pathname: Pathname): boolean
|
||
|
|
||
|
/**
|
||
|
* Returns whether pathname should be ignored or unignored
|
||
|
* @param {string} pathname a path to check
|
||
|
* @returns TestResult
|
||
|
*/
|
||
|
test(pathname: Pathname): TestResult
|
||
|
}
|
||
|
|
||
|
interface Options {
|
||
|
ignorecase?: boolean
|
||
|
// For compatibility
|
||
|
ignoreCase?: boolean
|
||
|
allowRelativePaths?: boolean
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Creates new ignore manager.
|
||
|
*/
|
||
|
declare function ignore(options?: Options): Ignore
|
||
|
|
||
|
declare namespace ignore {
|
||
|
export function isPathValid (pathname: string): boolean
|
||
|
}
|
||
|
|
||
|
export default ignore
|