Demo for query storing
Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/fs-mkdirp-stream/mkdirp.js b/node_modules/fs-mkdirp-stream/mkdirp.js
new file mode 100644
index 0000000..e70031b
--- /dev/null
+++ b/node_modules/fs-mkdirp-stream/mkdirp.js
@@ -0,0 +1,71 @@
+'use strict';
+
+var path = require('path');
+
+var fs = require('graceful-fs');
+
+var MASK_MODE = parseInt('7777', 8);
+var DEFAULT_DIR_MODE = parseInt('0777', 8);
+
+function mkdirp(dirpath, customMode, callback) {
+ if (typeof customMode === 'function') {
+ callback = customMode;
+ customMode = undefined;
+ }
+
+ var mode = customMode || (DEFAULT_DIR_MODE & ~process.umask());
+ dirpath = path.resolve(dirpath);
+
+ fs.mkdir(dirpath, mode, onMkdir);
+
+ function onMkdir(mkdirErr) {
+ if (!mkdirErr) {
+ return fs.stat(dirpath, onStat);
+ }
+
+ switch (mkdirErr.code) {
+ case 'ENOENT': {
+ return mkdirp(path.dirname(dirpath), onRecurse);
+ }
+
+ case 'EEXIST': {
+ return fs.stat(dirpath, onStat);
+ }
+
+ default: {
+ return callback(mkdirErr);
+ }
+ }
+
+ function onStat(statErr, stats) {
+ if (statErr) {
+ return callback(statErr);
+ }
+
+ if (!stats.isDirectory()) {
+ return callback(mkdirErr);
+ }
+
+ // TODO: Is it proper to mask like this?
+ if ((stats.mode & MASK_MODE) === mode) {
+ return callback();
+ }
+
+ if (!customMode) {
+ return callback();
+ }
+
+ fs.chmod(dirpath, mode, callback);
+ }
+ }
+
+ function onRecurse(recurseErr) {
+ if (recurseErr) {
+ return callback(recurseErr);
+ }
+
+ mkdirp(dirpath, mode, callback);
+ }
+}
+
+module.exports = mkdirp;