| /// <reference types="node" /> |
| |
| import fs = require('fs'); |
| |
| declare namespace re { |
| interface Entry extends fs.Stats { |
| path: string; |
| depth: number; |
| } |
| |
| type FilterFunction = (stat: Entry) => boolean; |
| type Callback<T> = (err: NodeJS.ErrnoException, result: T) => void; |
| type CallbackString = Callback<string[]>; |
| type CallbackEntry = Callback<Entry[]>; |
| |
| interface FileSystem { |
| readdir?: (path: string, callback: Callback<string[]>) => void; |
| lstat?: (path: string, callback: Callback<fs.Stats>) => void; |
| stat?: (path: string, callback: Callback<fs.Stats>) => void; |
| } |
| |
| interface Options { |
| filter?: string | RegExp | FilterFunction; |
| deep?: boolean | number | RegExp | FilterFunction; |
| sep?: string; |
| basePath?: string; |
| fs?: FileSystem; |
| } |
| |
| function stat(root: string, options?: Options): Promise<Entry[]>; |
| function stat(root: string, callback: CallbackEntry): void; |
| function stat(root: string, options: Options, callback: CallbackEntry): void; |
| |
| function async(root: string, options?: Options): Promise<string[]>; |
| function async(root: string, callback: CallbackString): void; |
| function async(root: string, options: Options, callback: CallbackString): void; |
| |
| function readdirAsyncStat(root: string, options?: Options): Promise<Entry[]>; |
| function readdirAsyncStat(root: string, callback: CallbackEntry): void; |
| function readdirAsyncStat(root: string, options: Options, callback: CallbackEntry): void; |
| |
| namespace async { |
| function stat(root: string, options?: Options): Promise<Entry[]>; |
| function stat(root: string, callback: CallbackEntry): void; |
| function stat(root: string, options: Options, callback: CallbackEntry): void; |
| } |
| |
| function stream(root: string, options?: Options): NodeJS.ReadableStream; |
| function readdirStreamStat(root: string, options?: Options): NodeJS.ReadableStream; |
| |
| namespace stream { |
| function stat(root: string, options?: Options): NodeJS.ReadableStream; |
| } |
| |
| function sync(root: string, options?: Options): string[]; |
| function readdirSyncStat(root: string, options?: Options): Entry[]; |
| |
| namespace sync { |
| function stat(root: string, options?: Options): Entry[]; |
| } |
| } |
| |
| declare function re(root: string, options?: re.Options): Promise<string[]>; |
| declare function re(root: string, callback: re.CallbackString): void; |
| declare function re(root: string, options: re.Options, callback: re.CallbackString): void; |
| |
| export = re; |