Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/stream-shift/.travis.yml b/node_modules/stream-shift/.travis.yml
new file mode 100644
index 0000000..ecd4193
--- /dev/null
+++ b/node_modules/stream-shift/.travis.yml
@@ -0,0 +1,6 @@
+language: node_js
+node_js:
+  - "0.10"
+  - "0.12"
+  - "4"
+  - "6"
diff --git a/node_modules/stream-shift/LICENSE b/node_modules/stream-shift/LICENSE
new file mode 100644
index 0000000..bae9da7
--- /dev/null
+++ b/node_modules/stream-shift/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 Mathias Buus
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/stream-shift/README.md b/node_modules/stream-shift/README.md
new file mode 100644
index 0000000..d9cc2d9
--- /dev/null
+++ b/node_modules/stream-shift/README.md
@@ -0,0 +1,25 @@
+# stream-shift
+
+Returns the next buffer/object in a stream's readable queue
+
+```
+npm install stream-shift
+```
+
+[![build status](http://img.shields.io/travis/mafintosh/stream-shift.svg?style=flat)](http://travis-ci.org/mafintosh/stream-shift)
+
+## Usage
+
+``` js
+var shift = require('stream-shift')
+
+console.log(shift(someStream)) // first item in its buffer
+```
+
+## Credit
+
+Thanks [@dignifiedquire](https://github.com/dignifiedquire) for making this work on node 6
+
+## License
+
+MIT
diff --git a/node_modules/stream-shift/index.js b/node_modules/stream-shift/index.js
new file mode 100644
index 0000000..33cc4d7
--- /dev/null
+++ b/node_modules/stream-shift/index.js
@@ -0,0 +1,20 @@
+module.exports = shift
+
+function shift (stream) {
+  var rs = stream._readableState
+  if (!rs) return null
+  return (rs.objectMode || typeof stream._duplexState === 'number') ? stream.read() : stream.read(getStateLength(rs))
+}
+
+function getStateLength (state) {
+  if (state.buffer.length) {
+    // Since node 6.3.0 state.buffer is a BufferList not an array
+    if (state.buffer.head) {
+      return state.buffer.head.data.length
+    }
+
+    return state.buffer[0].length
+  }
+
+  return state.length
+}
diff --git a/node_modules/stream-shift/package.json b/node_modules/stream-shift/package.json
new file mode 100644
index 0000000..cc05299
--- /dev/null
+++ b/node_modules/stream-shift/package.json
@@ -0,0 +1,53 @@
+{
+  "_from": "stream-shift@^1.0.0",
+  "_id": "stream-shift@1.0.1",
+  "_inBundle": false,
+  "_integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+  "_location": "/stream-shift",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "stream-shift@^1.0.0",
+    "name": "stream-shift",
+    "escapedName": "stream-shift",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/duplexify"
+  ],
+  "_resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+  "_shasum": "d7088281559ab2778424279b0877da3c392d5a3d",
+  "_spec": "stream-shift@^1.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\duplexify",
+  "author": {
+    "name": "Mathias Buus",
+    "url": "@mafintosh"
+  },
+  "bugs": {
+    "url": "https://github.com/mafintosh/stream-shift/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {},
+  "deprecated": false,
+  "description": "Returns the next buffer/object in a stream's readable queue",
+  "devDependencies": {
+    "standard": "^7.1.2",
+    "tape": "^4.6.0",
+    "through2": "^2.0.1"
+  },
+  "homepage": "https://github.com/mafintosh/stream-shift",
+  "license": "MIT",
+  "main": "index.js",
+  "name": "stream-shift",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/mafintosh/stream-shift.git"
+  },
+  "scripts": {
+    "test": "standard && tape test.js"
+  },
+  "version": "1.0.1"
+}
diff --git a/node_modules/stream-shift/test.js b/node_modules/stream-shift/test.js
new file mode 100644
index 0000000..c0222c3
--- /dev/null
+++ b/node_modules/stream-shift/test.js
@@ -0,0 +1,48 @@
+var tape = require('tape')
+var through = require('through2')
+var stream = require('stream')
+var shift = require('./')
+
+tape('shifts next', function (t) {
+  var passthrough = through()
+
+  passthrough.write('hello')
+  passthrough.write('world')
+
+  t.same(shift(passthrough), Buffer('hello'))
+  t.same(shift(passthrough), Buffer('world'))
+  t.end()
+})
+
+tape('shifts next with core', function (t) {
+  var passthrough = stream.PassThrough()
+
+  passthrough.write('hello')
+  passthrough.write('world')
+
+  t.same(shift(passthrough), Buffer('hello'))
+  t.same(shift(passthrough), Buffer('world'))
+  t.end()
+})
+
+tape('shifts next with object mode', function (t) {
+  var passthrough = through({objectMode: true})
+
+  passthrough.write({hello: 1})
+  passthrough.write({world: 1})
+
+  t.same(shift(passthrough), {hello: 1})
+  t.same(shift(passthrough), {world: 1})
+  t.end()
+})
+
+tape('shifts next with object mode with core', function (t) {
+  var passthrough = stream.PassThrough({objectMode: true})
+
+  passthrough.write({hello: 1})
+  passthrough.write({world: 1})
+
+  t.same(shift(passthrough), {hello: 1})
+  t.same(shift(passthrough), {world: 1})
+  t.end()
+})