Demo for query storing
Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/to-absolute-glob/index.js b/node_modules/to-absolute-glob/index.js
new file mode 100644
index 0000000..268fc47
--- /dev/null
+++ b/node_modules/to-absolute-glob/index.js
@@ -0,0 +1,70 @@
+'use strict';
+
+var path = require('path');
+var isNegated = require('is-negated-glob');
+var isAbsolute = require('is-absolute');
+
+module.exports = function(glob, options) {
+ // default options
+ var opts = options || {};
+
+ // ensure cwd is absolute
+ var cwd = path.resolve(opts.cwd ? opts.cwd : process.cwd());
+ cwd = unixify(cwd);
+
+ var rootDir = opts.root;
+ // if `options.root` is defined, ensure it's absolute
+ if (rootDir) {
+ rootDir = unixify(rootDir);
+ if (process.platform === 'win32' || !isAbsolute(rootDir)) {
+ rootDir = unixify(path.resolve(rootDir));
+ }
+ }
+
+ // trim starting ./ from glob patterns
+ if (glob.slice(0, 2) === './') {
+ glob = glob.slice(2);
+ }
+
+ // when the glob pattern is only a . use an empty string
+ if (glob.length === 1 && glob === '.') {
+ glob = '';
+ }
+
+ // store last character before glob is modified
+ var suffix = glob.slice(-1);
+
+ // check to see if glob is negated (and not a leading negated-extglob)
+ var ing = isNegated(glob);
+ glob = ing.pattern;
+
+ // make glob absolute
+ if (rootDir && glob.charAt(0) === '/') {
+ glob = join(rootDir, glob);
+ } else if (!isAbsolute(glob) || glob.slice(0, 1) === '\\') {
+ glob = join(cwd, glob);
+ }
+
+ // if glob had a trailing `/`, re-add it now in case it was removed
+ if (suffix === '/' && glob.slice(-1) !== '/') {
+ glob += '/';
+ }
+
+ // re-add leading `!` if it was removed
+ return ing.negated ? '!' + glob : glob;
+};
+
+function unixify(filepath) {
+ return filepath.replace(/\\/g, '/');
+}
+
+function join(dir, glob) {
+ if (dir.charAt(dir.length - 1) === '/') {
+ dir = dir.slice(0, -1);
+ }
+ if (glob.charAt(0) === '/') {
+ glob = glob.slice(1);
+ }
+ if (!glob) return dir;
+ return dir + '/' + glob;
+}