|
|
- 'use strict';
-
- const readdirSync = require('./sync');
- const readdirAsync = require('./async');
- const readdirStream = require('./stream');
-
- module.exports = exports = readdirAsyncPath;
- exports.readdir = exports.readdirAsync = exports.async = readdirAsyncPath;
- exports.readdirAsyncStat = exports.async.stat = readdirAsyncStat;
- exports.readdirStream = exports.stream = readdirStreamPath;
- exports.readdirStreamStat = exports.stream.stat = readdirStreamStat;
- exports.readdirSync = exports.sync = readdirSyncPath;
- exports.readdirSyncStat = exports.sync.stat = readdirSyncStat;
-
- /**
- * Synchronous readdir that returns an array of string paths.
- *
- * @param {string} dir
- * @param {object} [options]
- * @returns {string[]}
- */
- function readdirSyncPath (dir, options) {
- return readdirSync(dir, options, {});
- }
-
- /**
- * Synchronous readdir that returns results as an array of {@link fs.Stats} objects
- *
- * @param {string} dir
- * @param {object} [options]
- * @returns {fs.Stats[]}
- */
- function readdirSyncStat (dir, options) {
- return readdirSync(dir, options, { stats: true });
- }
-
- /**
- * Aynchronous readdir (accepts an error-first callback or returns a {@link Promise}).
- * Results are an array of path strings.
- *
- * @param {string} dir
- * @param {object} [options]
- * @param {function} [callback]
- * @returns {Promise<string[]>}
- */
- function readdirAsyncPath (dir, options, callback) {
- return readdirAsync(dir, options, callback, {});
- }
-
- /**
- * Aynchronous readdir (accepts an error-first callback or returns a {@link Promise}).
- * Results are an array of {@link fs.Stats} objects.
- *
- * @param {string} dir
- * @param {object} [options]
- * @param {function} [callback]
- * @returns {Promise<fs.Stats[]>}
- */
- function readdirAsyncStat (dir, options, callback) {
- return readdirAsync(dir, options, callback, { stats: true });
- }
-
- /**
- * Aynchronous readdir that returns a {@link stream.Readable} (which is also an {@link EventEmitter}).
- * All stream data events ("data", "file", "directory", "symlink") are passed a path string.
- *
- * @param {string} dir
- * @param {object} [options]
- * @returns {stream.Readable}
- */
- function readdirStreamPath (dir, options) {
- return readdirStream(dir, options, {});
- }
-
- /**
- * Aynchronous readdir that returns a {@link stream.Readable} (which is also an {@link EventEmitter})
- * All stream data events ("data", "file", "directory", "symlink") are passed an {@link fs.Stats} object.
- *
- * @param {string} dir
- * @param {object} [options]
- * @returns {stream.Readable}
- */
- function readdirStreamStat (dir, options) {
- return readdirStream(dir, options, { stats: true });
- }
|