scandir-native
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.2 • Public • Published

    scandir-native

    A fs.scandir method with some features.

    Donate

    If you want to thank me, or promote your Issue.

    Donate

    Sorry, but I have work and support for plugins and modules requires some time after work. I will be glad of your support or PR's.

    Install

    $ npm i scandir-native
    

    ⚠️ Compiling on Windows machines requires the node-gyp prerequisites.

    Supports

    • Node.js (4, 6, 8 and etc.)
    • Node.js with ChakraCore (below 8.4.0 on macOS and Linux (works fine on Windows), see this issue)

    Why?

    Usage

    const scandir = require('scandir-native');
     
    scandir.scandir('.', (err, entries) => {
        if (err) {
            console.error(err); // Standard FS errors
            return;
        }
     
        console.dir(entries, { colors: true });
        // [{ name: 'filepath', type: 2 }, { name: 'dirpath', type: 1 }]
    });

    API

    FS_TYPE_CONSTANTS

    0 is 'FS_UNKNOWN'
    1 is 'FS_FILE'
    2 is 'FS_DIR'
    3 is 'FS_LINK'
    4 is 'FS_FIFO'
    5 is 'FS_SOCKET'
    6 is 'FS_CHAR'
    7 is 'FS_BLOCK'

    Enum for entry type builded from and for uv_dirent_type_t.

    IScandirEntry

    TypeScript interface for each entry in the directory.

    .scandir(path, callback) => void

    Asynchronous scandir(3). Reads the contents of a directory. The callback gets two arguments (err, entries) where entries is an array of objects (name and type) of the files in the directory excluding . and ...

    .scandirSync(path) => IScandirEntry[]

    Synchronous scandir(3). Returns an array of objects (name and type) excluding . and ...

    Example

    const scandir = require('scandir-native');
     
    const dirs: string[] = [];
    const nonDirs: string[] = [];
     
    scandir.scandir('.', (err, entries) => {
        if (err) {
            console.error(err); // Standard FS errors
            return;
        }
     
        entries.forEach((entry) => {
            if (entry.type === scandir.FS_TYPE_CONSTANTS.FS_DIR) {
                dirs.push(entry.name);
            } else {
                nonDirs.push(entry.name);
            }
        })
    });

    Changelog

    See the Releases section of our GitHub project for changelogs for each release version.

    License

    This software is released under the terms of the MIT license.

    Install

    npm i scandir-native

    DownloadsWeekly Downloads

    19

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    11.6 kB

    Total Files

    11

    Last publish

    Collaborators

    • mrmlnc