node/deps/npm/node_modules/walk-up-path
Myles Borins 2e54524955
deps: update npm to 7.0.0-rc.3
PR-URL: https://github.com/nodejs/node/pull/35474
Reviewed-By: Ruy Adorno <ruyadorno@github.com>
Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org>
Reviewed-By: Ben Coe <bencoe@gmail.com>
Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2020-10-07 09:59:49 -04:00
..
index.js deps: update npm to 7.0.0-rc.3 2020-10-07 09:59:49 -04:00
LICENSE deps: update npm to 7.0.0-rc.3 2020-10-07 09:59:49 -04:00
package.json deps: update npm to 7.0.0-rc.3 2020-10-07 09:59:49 -04:00
README.md deps: update npm to 7.0.0-rc.3 2020-10-07 09:59:49 -04:00

walk-up-path

Given a path string, return a generator that walks up the path, emitting each dirname.

So, to get a platform-portable walk up, instead of doing something like this:

for (let p = dirname(path); p;) {

  // ... do stuff ...

  const pp = dirname(p)
  if (p === pp)
    p = null
  else
    p = pp
}

Or this:

for (let p = dirname(path); !isRoot(p); p = dirname(p)) {
  // ... do stuff ...
}

You can do this:

const walkUpPath = require('walk-up-path')
for (const p of walkUpPath(path)) {
  // ... do stuff ..
}

API

const walkUpPath = require('walk-up-path')

Give the fn a string, it'll yield all the directories walking up to the root.