summaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/find-up/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/find-up/index.js')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/find-up/index.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/find-up/index.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/find-up/index.js
new file mode 100644
index 00000000..7ff0e2b7
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/find-up/index.js
@@ -0,0 +1,53 @@
+'use strict';
+var path = require('path');
+var pathExists = require('path-exists');
+var Promise = require('pinkie-promise');
+
+function splitPath(x) {
+ return path.resolve(x || '').split(path.sep);
+}
+
+function join(parts, filename) {
+ return path.resolve(parts.join(path.sep) + path.sep, filename);
+}
+
+module.exports = function (filename, opts) {
+ opts = opts || {};
+
+ var parts = splitPath(opts.cwd);
+
+ return new Promise(function (resolve) {
+ (function find() {
+ var fp = join(parts, filename);
+
+ pathExists(fp).then(function (exists) {
+ if (exists) {
+ resolve(fp);
+ } else if (parts.pop()) {
+ find();
+ } else {
+ resolve(null);
+ }
+ });
+ })();
+ });
+};
+
+module.exports.sync = function (filename, opts) {
+ opts = opts || {};
+
+ var parts = splitPath(opts.cwd);
+ var len = parts.length;
+
+ while (len--) {
+ var fp = join(parts, filename);
+
+ if (pathExists.sync(fp)) {
+ return fp;
+ }
+
+ parts.pop();
+ }
+
+ return null;
+};