/// <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; | |
} |