You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
512 B
24 lines
512 B
'use strict'; |
|
const path = require('path'); |
|
const pathExists = require('path-exists'); |
|
const pLocate = require('p-locate'); |
|
|
|
module.exports = (iterable, opts) => { |
|
opts = Object.assign({ |
|
cwd: process.cwd() |
|
}, opts); |
|
|
|
return pLocate(iterable, el => pathExists(path.resolve(opts.cwd, el)), opts); |
|
}; |
|
|
|
module.exports.sync = (iterable, opts) => { |
|
opts = Object.assign({ |
|
cwd: process.cwd() |
|
}, opts); |
|
|
|
for (const el of iterable) { |
|
if (pathExists.sync(path.resolve(opts.cwd, el))) { |
|
return el; |
|
} |
|
} |
|
};
|
|
|