@@ -283,6 +283,92 @@ synchronous use libuv's threadpool, which can have surprising and negative
283283performance implications for some applications. See the
284284[ ` UV_THREADPOOL_SIZE ` ] [ ] documentation for more information.
285285
286+ ## Class: fs.Dirent
287+ <!-- YAML
288+ added: REPLACEME
289+ -->
290+
291+ When [ ` fs.readdir() ` ] [ ] or [ ` fs.readdirSync() ` ] [ ] is called with the
292+ ` withFileTypes ` option set to ` true ` , the resulting array is filled with
293+ ` fs.Dirent ` objects, rather than strings or ` Buffers ` .
294+
295+ ### dirent.isBlockDevice()
296+ <!-- YAML
297+ added: REPLACEME
298+ -->
299+
300+ * Returns: {boolean}
301+
302+ Returns ` true ` if the ` fs.Dirent ` object describes a block device.
303+
304+ ### dirent.isCharacterDevice()
305+ <!-- YAML
306+ added: REPLACEME
307+ -->
308+
309+ * Returns: {boolean}
310+
311+ Returns ` true ` if the ` fs.Dirent ` object describes a character device.
312+
313+ ### dirent.isDirectory()
314+ <!-- YAML
315+ added: REPLACEME
316+ -->
317+
318+ * Returns: {boolean}
319+
320+ Returns ` true ` if the ` fs.Dirent ` object describes a file system
321+ directory.
322+
323+ ### dirent.isFIFO()
324+ <!-- YAML
325+ added: REPLACEME
326+ -->
327+
328+ * Returns: {boolean}
329+
330+ Returns ` true ` if the ` fs.Dirent ` object describes a first-in-first-out
331+ (FIFO) pipe.
332+
333+ ### dirent.isFile()
334+ <!-- YAML
335+ added: REPLACEME
336+ -->
337+
338+ * Returns: {boolean}
339+
340+ Returns ` true ` if the ` fs.Dirent ` object describes a regular file.
341+
342+ ### dirent.isSocket()
343+ <!-- YAML
344+ added: REPLACEME
345+ -->
346+
347+ * Returns: {boolean}
348+
349+ Returns ` true ` if the ` fs.Dirent ` object describes a socket.
350+
351+ ### dirent.isSymbolicLink()
352+ <!-- YAML
353+ added: REPLACEME
354+ -->
355+
356+ * Returns: {boolean}
357+
358+ Returns ` true ` if the ` fs.Dirent ` object describes a symbolic link.
359+
360+
361+ ### dirent.name
362+ <!-- YAML
363+ added: REPLACEME
364+ -->
365+
366+ * {string|Buffer}
367+
368+ The file name that this ` fs.Dirent ` object refers to. The type of this
369+ value is determined by the ` options.encoding ` passed to [ ` fs.readdir() ` ] [ ] or
370+ [ ` fs.readdirSync() ` ] [ ] .
371+
286372## Class: fs.FSWatcher
287373<!-- YAML
288374added: v0.5.8
@@ -2314,9 +2400,10 @@ changes:
23142400* ` path ` {string|Buffer|URL}
23152401* ` options ` {string|Object}
23162402 * ` encoding ` {string} ** Default:** ` 'utf8' `
2403+ * ` withFileTypes ` {boolean} ** Default:** ` false `
23172404* ` callback ` {Function}
23182405 * ` err ` {Error}
2319- * ` files ` {string[ ] |Buffer[ ] }
2406+ * ` files ` {string[ ] |Buffer[ ] |fs.Dirent [ ] }
23202407
23212408Asynchronous readdir(3). Reads the contents of a directory.
23222409The callback gets two arguments ` (err, files) ` where ` files ` is an array of
@@ -2327,6 +2414,9 @@ object with an `encoding` property specifying the character encoding to use for
23272414the filenames passed to the callback. If the ` encoding ` is set to ` 'buffer' ` ,
23282415the filenames returned will be passed as ` Buffer ` objects.
23292416
2417+ If ` options.withFileTypes ` is set to ` true ` , the ` files ` array will contain
2418+ [ ` fs.Dirent ` ] [ ] objects.
2419+
23302420## fs.readdirSync(path[ , options] )
23312421<!-- YAML
23322422added: v0.1.21
@@ -2340,7 +2430,8 @@ changes:
23402430* ` path ` {string|Buffer|URL}
23412431* ` options ` {string|Object}
23422432 * ` encoding ` {string} ** Default:** ` 'utf8' `
2343- * Returns: {string[ ] } An array of filenames excluding ` '.' ` and ` '..' ` .
2433+ * ` withFileTypes ` {boolean} ** Default:** ` false `
2434+ * Returns: {string[ ] |Buffer[ ] |fs.Dirent[ ] }
23442435
23452436Synchronous readdir(3).
23462437
@@ -2349,6 +2440,9 @@ object with an `encoding` property specifying the character encoding to use for
23492440the filenames returned. If the ` encoding ` is set to ` 'buffer' ` ,
23502441the filenames returned will be passed as ` Buffer ` objects.
23512442
2443+ If ` options.withFileTypes ` is set to ` true ` , the result will contain
2444+ [ ` fs.Dirent ` ] [ ] objects.
2445+
23522446## fs.readFile(path[ , options] , callback)
23532447<!-- YAML
23542448added: v0.1.29
@@ -4632,6 +4726,7 @@ the file contents.
46324726[ `WriteStream` ] : #fs_class_fs_writestream
46334727[ `EventEmitter` ] : events.html
46344728[ `event ports` ] : http://illumos.org/man/port_create
4729+ [ `fs.Dirent` ] : #fs_class_fs_dirent
46354730[ `fs.FSWatcher` ] : #fs_class_fs_fswatcher
46364731[ `fs.Stats` ] : #fs_class_fs_stats
46374732[ `fs.access()` ] : #fs_fs_access_path_mode_callback
@@ -4647,6 +4742,8 @@ the file contents.
46474742[ `fs.mkdtemp()` ] : #fs_fs_mkdtemp_prefix_options_callback
46484743[ `fs.open()` ] : #fs_fs_open_path_flags_mode_callback
46494744[ `fs.read()` ] : #fs_fs_read_fd_buffer_offset_length_position_callback
4745+ [ `fs.readdir()` ] : #fs_fs_readdir_path_options_callback
4746+ [ `fs.readdirSync()` ] : #fs_fs_readdirsync_path_options
46504747[ `fs.readFile()` ] : #fs_fs_readfile_path_options_callback
46514748[ `fs.readFileSync()` ] : #fs_fs_readfilesync_path_options
46524749[ `fs.realpath()` ] : #fs_fs_realpath_path_options_callback
0 commit comments