.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / globjoin / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/globjoin/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/globjoin/index.js
new file mode 100644 (file)
index 0000000..bd784ff
--- /dev/null
@@ -0,0 +1,43 @@
+'use strict';
+
+var Path = require('path');
+var slice = Array.prototype.slice;
+
+function join(/* globs */) {
+       var args;
+
+       args = slice.call(arguments, 0);
+       return args.reduce(function (result, globs) {
+               return _apply(result, function (path) {
+                       return _apply(globs, function (glob) {
+                               return _join(path, glob);
+                       });
+               });
+       }, '');
+}
+
+function _apply(values, fn) {
+       if (Array.isArray(values)) {
+               return values.reduce(function (result, value) {
+                       return result.concat(fn(value));
+               }, []);
+       }
+       return fn(values);
+}
+
+function _join(path, glob) {
+       var negative, positive;
+
+       if (glob[0] === '!') {
+               positive = glob.substr(1);
+               if (path[0] === '!') {
+                       negative = '';
+               } else {
+                       negative = '!';
+               }
+               return negative + Path.join(path, positive);
+       }
+       return Path.join(path, glob);
+}
+
+module.exports = join;