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.
		
		
		
		
		
			
		
			
				
					
					
						
							22 lines
						
					
					
						
							761 B
						
					
					
				
			
		
		
	
	
							22 lines
						
					
					
						
							761 B
						
					
					
				/// <reference types="node" /> | 
						|
import * as fs from 'fs'; | 
						|
import { FilterFunction } from '@mrmlnc/readdir-enhanced'; | 
						|
import { IOptions } from '../managers/options'; | 
						|
import { Entry } from '../types/entries'; | 
						|
import { Pattern } from '../types/patterns'; | 
						|
export default abstract class FileSystem<T> { | 
						|
    private readonly options; | 
						|
    constructor(options: IOptions); | 
						|
    /** | 
						|
     * The main logic of reading the entries that must be implemented by each adapter. | 
						|
     */ | 
						|
    abstract read(filepaths: string[], filter: FilterFunction): T; | 
						|
    /** | 
						|
     * Return full path to entry. | 
						|
     */ | 
						|
    getFullEntryPath(filepath: string): string; | 
						|
    /** | 
						|
     * Return an implementation of the Entry interface. | 
						|
     */ | 
						|
    makeEntry(stat: fs.Stats, pattern: Pattern): Entry; | 
						|
}
 | 
						|
 |