lsr
Version:
Recursive readdir (`ls -R`)
52 lines (51 loc) • 1.65 kB
TypeScript
import Promise = require('promise');
export interface FileSystemEntry {
isFile(): boolean;
isDirectory(): boolean;
isBlockDevice(): boolean;
isCharacterDevice(): boolean;
isSymbolicLink(): boolean;
isFIFO(): boolean;
isSocket(): boolean;
dev: number;
ino: number;
mode: number;
nlink: number;
uid: number;
gid: number;
rdev: number;
size: number;
blksize: number;
blocks: number;
atime: Date;
mtime: Date;
ctime: Date;
birthtime: Date;
/**
* The filename, e.g. "index.js"
*/
name: string;
/**
* The asbolute path to the file. Uses "/" on unix and "\\" on most windows. e.g. "C:\\\\Users\\Forbes Lidnesay\File.js"
*/
fullPath: string;
/**
* The path relative to the starting directory. e.g. "path/to/file.js"
*
* N.B. "\\" is normalized to "/" even on windows.
*/
path: string;
}
export interface Options {
filterPath?: (path: string) => boolean;
filter?: (entry: FileSystemEntry) => boolean;
highWaterMark?: number;
ignoreErrors?: boolean;
}
export declare function lsrSync(dir: string, options?: Options): Array<FileSystemEntry>;
export declare type Callback = (err: Error | void | null, result: Array<FileSystemEntry>) => void;
export default lsrAsync;
export declare function lsrAsync(dir: string, options: Options, callback: Callback): void;
export declare function lsrAsync(dir: string, callback: Callback): void;
export declare function lsrAsync(dir: string, options?: Options): Promise<Array<FileSystemEntry>>;
export declare function lsrStream(dir: string, options: Options): any;