Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/bin-version-check/index.js b/node_modules/bin-version-check/index.js
new file mode 100644
index 0000000..5d3ae82
--- /dev/null
+++ b/node_modules/bin-version-check/index.js
@@ -0,0 +1,22 @@
+'use strict';
+const semver = require('semver');
+const binVersion = require('bin-version');
+const semverTruncate = require('semver-truncate');
+
+module.exports = (binary, semverRange, options) => {
+	if (typeof binary !== 'string' || typeof semverRange !== 'string') {
+		return Promise.reject(new Error('`binary` and `semverRange` arguments required'));
+	}
+
+	if (!semver.validRange(semverRange)) {
+		return Promise.reject(new Error('Invalid version range'));
+	}
+
+	return binVersion(binary, options).then(binaryVersion => {
+		if (!semver.satisfies(semverTruncate(binaryVersion, 'patch'), semverRange)) {
+			const error = new Error(`${binary} ${binaryVersion} doesn't satisfy the version requirement of ${semverRange}`);
+			error.name = 'InvalidBinaryVersion';
+			throw error;
+		}
+	});
+};