Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/rechoir/lib/extension.js b/node_modules/rechoir/lib/extension.js
new file mode 100644
index 0000000..60f19da
--- /dev/null
+++ b/node_modules/rechoir/lib/extension.js
@@ -0,0 +1,11 @@
+const path = require('path');
+
+const EXTRE = /^[.]?[^.]+([.].*)$/;
+
+module.exports = function (input) {
+  var extension = EXTRE.exec(path.basename(input));
+  if (!extension) {
+    return;
+  }
+  return extension[1];
+};
diff --git a/node_modules/rechoir/lib/normalize.js b/node_modules/rechoir/lib/normalize.js
new file mode 100644
index 0000000..0da5e58
--- /dev/null
+++ b/node_modules/rechoir/lib/normalize.js
@@ -0,0 +1,15 @@
+function normalizer (config) {
+  if (typeof config === 'string') {
+    return {
+      module: config
+    }
+  }
+  return config;
+};
+
+module.exports = function (config) {
+  if (Array.isArray(config)) {
+    return config.map(normalizer);
+  }
+  return normalizer(config);
+};
diff --git a/node_modules/rechoir/lib/register.js b/node_modules/rechoir/lib/register.js
new file mode 100644
index 0000000..20e8ca7
--- /dev/null
+++ b/node_modules/rechoir/lib/register.js
@@ -0,0 +1,15 @@
+const path = require('path');
+const resolve = require('resolve');
+
+module.exports = function (cwd, moduleName, register) {
+  try {
+    var modulePath = resolve.sync(moduleName, {basedir: cwd});
+    var result = require(modulePath);
+    if (typeof register === 'function') {
+      register(result);
+    }
+  } catch (e) {
+    result = e;
+  }
+  return result;
+};