1 /// <reference types="node" />
\r
2 import * as fs from 'fs';
\r
3 import { FilterFunction } from '@mrmlnc/readdir-enhanced';
\r
4 import { IOptions } from '../managers/options';
\r
5 import { Entry } from '../types/entries';
\r
6 import { Pattern } from '../types/patterns';
\r
7 export default abstract class FileSystem<T> {
\r
8 private readonly options;
\r
9 constructor(options: IOptions);
\r
11 * The main logic of reading the entries that must be implemented by each adapter.
\r
13 abstract read(filepaths: string[], filter: FilterFunction): T;
\r
15 * Return full path to entry.
\r
17 getFullEntryPath(filepath: string): string;
\r
19 * Return an implementation of the Entry interface.
\r
21 makeEntry(stat: fs.Stats, pattern: Pattern): Entry;
\r