/*
* Builds a string from mongodb-like-query object
*/
if (typeof window === 'object') {
var _ = window._;
var helpers = window.Neo4jMapper.helpers;
} else {
var _ = require('underscore');
var helpers = require('./helpers');
}
var ConditionalParameters = function ConditionalParameters(conditions, options) {
ConditionalParameters.parameterRuleset = {
$IN: function(value) {
var s = '';
if ((typeof value === 'object') && (value.length > 0)) {
for (var i=0; i < value.length; i++) {
value[i] = (typeof value[i] === 'string') ? "'"+helpers.escapeString(value[i])+"'" : helpers.valueToStringForCypherQuery(value[i]);
}
s = value.join(', ');
}
return 'IN [ ' + s + ' ]';
},
$in: function(value) { return this.$IN(value); }
};
ConditionalParameters.prototype.addValue = function(value) {
if (!this.parameters)
this.parameters = [];
this.parameters.push(value);
return '{_value'+(this.parametersStartCountAt + this.parameters.length - 1)+'_}';
}
ConditionalParameters.prototype.cypherKeyValueToString = function(key, originalValue, identifier) {