Demo for query storing
Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/p-reduce/index.js b/node_modules/p-reduce/index.js
new file mode 100644
index 0000000..e121b32
--- /dev/null
+++ b/node_modules/p-reduce/index.js
@@ -0,0 +1,22 @@
+'use strict';
+module.exports = (iterable, reducer, initVal) => new Promise((resolve, reject) => {
+ const iterator = iterable[Symbol.iterator]();
+ let i = 0;
+
+ const next = total => {
+ const el = iterator.next();
+
+ if (el.done) {
+ resolve(total);
+ return;
+ }
+
+ Promise.all([total, el.value])
+ .then(value => {
+ next(reducer(value[0], value[1], i++));
+ })
+ .catch(reject);
+ };
+
+ next(initVal);
+});