62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
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
 | 
						|
}
 | 
						|
 | 
						|
export 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
 |