@wrote/read-dir-structure

1.0.2 • Public • Published

@wrote/read-dir-structure

npm version

@wrote/read-dir-structure is Node.js package to a read directory structure.

yarn add -E @wrote/read-dir-structure

Table Of Contents

API

There is a single default export function, import it with the following statement:

import readDirStructure from '@wrote/read-dir-structure'

Structure Type

The return type of the function is a directory Structure. It is an associative array which contains the next properties:

Property Type Description
type string The result of the lstat and one of the following: Directory, File, SymbolicLink.
content Structure If the type is Directory, the object will also have a content which also is a Structure. Therefore, the whole nested structure will be read. See below for an example.

async readDirStructure(
  path: string,
): Structure

Reads the structure of the directory.

/* yarn example/ */
import readDirStructure from '@wrote/read-dir-structure'

(async () => {
  const res = await readDirStructure('example/directory')
  console.log(JSON.stringify(res, null, 2))
})()

Output for the example/directory:

{
  "content": {
    "fileA-ln.txt": {
      "type": "SymbolicLink"
    },
    "fileA.txt": {
      "type": "File"
    },
    "fileB.txt": {
      "type": "File"
    },
    "test.json": {
      "type": "File"
    },
    "subdirectory": {
      "content": {
        "subdirFileA.txt": {
          "type": "File"
        },
        "subdirFileB.txt": {
          "type": "File"
        }
      },
      "type": "Directory"
    }
  },
  "type": "Directory"
}

Reasons for Errors

The following errors can happen and have been context tested against:

Happens when... code Message
not passing any path - Please specify a path to the directory
passing a path to a symbolic link ENOTDIR Path is not a directory
passing a path to a file ENOTDIR Path is not a directory
directory does not exist ENOENT ENOENT: no such file or directory, lstat '%DIRECTORY%'

Copyright

(c) Wrote 2019

Package Sidebar

Install

npm i @wrote/read-dir-structure@1.0.2

Version

1.0.2

License

MIT

Unpacked Size

13.5 kB

Total Files

9

Last publish

Collaborators

  • zvr