Node.js v10.11.0 fsPromises.readdir ponyfill of withFileTypes
option.
options.withFileTypes
is always set to true and result contain objects similar to fs.Dirent.
npm i fs-readdir-with-file-types
path
<string> | <Buffer> | <URL>
Resolves: <fs.Dirent[]>
Example:
const readdir = require('fs-readdir-with-file-types');
async () => {
await readdir('.');
}();
// returns on node v10.10
Dirent { name: 'LICENSE', [Symbol(type)]: 1 },
Dirent { name: 'README.md', [Symbol(type)]: 1 },
Dirent { name: 'index.js', [Symbol(type)]: 1 },
// returns on node < v10.10
{ name: 'LICENSE',
isBlockDevice: [Function: bound ],
isCharacterDevice: [Function: bound ],
isDirectory: [Function: bound ],
isFIFO: [Function: bound ],
isFile: [Function: bound ],
isSocket: [Function: bound ],
isSymbolicLink: [Function: bound ] },
{ name: 'README.md',
isBlockDevice: [Function: bound ],
isCharacterDevice: [Function: bound ],
isDirectory: [Function: bound ],
isFIFO: [Function: bound ],
isFile: [Function: bound ],
isSocket: [Function: bound ],
isSymbolicLink: [Function: bound ] },
{ name: 'index.js',
isBlockDevice: [Function: bound ],
isCharacterDevice: [Function: bound ],
isDirectory: [Function: bound ],
isFIFO: [Function: bound ],
isFile: [Function: bound ],
isSocket: [Function: bound ],
isSymbolicLink: [Function: bound ] }
If you do not want to use promises
or async-await
use callbackify
:
const {callbackify} = require('util');
const readdir = callbackify(require('fs-readdir-with-file-types'));
readdir('.', (e, dirents) => {
console.log(e, dirents);
});
- fs-copy-file - Asynchronously copies src to dest.
- fs-copy-file-sync - Synchronously copies src to dest.
- fs-readdir-sync-with-file-types - Synchronously read directory with file types.
MIT