Skip to main content
Dir - node__fs.d.ts - Node documentation
class Dir
implements AsyncIterable<Dirent>

Usage in Deno

```typescript import { Dir } from "node:node__fs.d.ts"; ```
A class representing a directory stream. Created by [opendir](../.././node__fs.d.ts/~/opendir), [opendirSync](../.././node__fs.d.ts/~/opendirSync), or `fsPromises.opendir()`. ```js import { opendir } from 'node:fs/promises'; try { const dir = await opendir('./'); for await (const dirent of dir) console.log(dirent.name); } catch (err) { console.error(err); } ``` When using the async iterator, the `fs.Dir` object will be automatically closed after the iterator exits.

Properties

readonly
path: string
The read-only path of this directory as was provided to [opendir](../.././node__fs.d.ts/~/opendir),[opendirSync](../.././node__fs.d.ts/~/opendirSync), or `fsPromises.opendir()`.

Methods

[Symbol.asyncIterator](): AsyncIterableIterator<Dirent>
Asynchronously iterates over the directory via `readdir(3)` until all entries have been read.
close(): Promise<void>
Asynchronously close the directory's underlying resource handle. Subsequent reads will result in errors. A promise is returned that will be fulfilled after the resource has been closed.
closeSync(): void
Synchronously close the directory's underlying resource handle. Subsequent reads will result in errors.
read(): Promise<Dirent | null>
Asynchronously read the next directory entry via [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) as an `fs.Dirent`. A promise is returned that will be fulfilled with an `fs.Dirent`, or `null` if there are no more directory entries to read. Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. Entries added or removed while iterating over the directory might not be included in the iteration results.
read(cb: (
err: ErrnoException | null,
dirEnt: Dirent | null,
) => void
): void
readSync(): Dirent | null
Synchronously read the next directory entry as an `fs.Dirent`. See the POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more detail. If there are no more directory entries to read, `null` will be returned. Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. Entries added or removed while iterating over the directory might not be included in the iteration results.