Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@wrote/read-dir-structure

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@wrote/read-dir-structure

Reads directory structure.

  • 1.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
52
decreased by-53.15%
Maintainers
1
Weekly downloads
 
Created
Source

@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:

PropertyTypeDescription
typestringThe result of the lstat and one of the following: Directory, File, SymbolicLink.
contentStructureIf 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"
}

async getFiles(
  content: Structure.content,
  path: string,
): Array<string>

After running the readDirStructure, this function can be used to flatten the content output and return the list of all files (not including symlinks).

/* yarn example/ */
import readDirStructure, { getFiles } from '@wrote/read-dir-structure'

(async () => {
  const path = 'example/directory'
  const res = await readDirStructure(path)
  const files = getFiles(res.content, path)
  console.log(JSON.stringify(files, null, 2))
})()
[
  "example/directory/fileA.txt",
  "example/directory/fileB.txt",
  "example/directory/test.json",
  "example/directory/subdirectory/subdirFileA.txt",
  "example/directory/subdirectory/subdirFileB.txt"
]

Reasons for Errors

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

Happens when...codeMessage
not passing any path-Please specify a path to the directory
passing a path to a symbolic linkENOTDIRPath is not a directory
passing a path to a fileENOTDIRPath is not a directory
directory does not existENOENTENOENT: no such file or directory, lstat '%DIRECTORY%'

Art Deco © Art Deco for Wrote 2019 Wrote Tech Nation Visa Tech Nation Visa Sucks

Keywords

FAQs

Package last updated on 05 Apr 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc