mongo-aql
Version:
A mongo-like interface for aql generation
23 lines (16 loc) • 588 B
JavaScript
var helpers = require('../../query-helpers');
var queryBuilder = require('../../query-builder');
helpers.register( 'queries', function( queries, values, query ){
var allowedCombinations = [ 'union', 'intersect', 'except' ];
var joiner = query.joiner || ' ';
if ( allowedCombinations.indexOf( query.type ) > -1 ){
joiner = query.type;
if ( query.all ){
joiner += ' ' + helpers.get('all').fn( query.all, values, query );
}
joiner = ' ' + joiner + ' ';
}
return queries.map( function( q ){
return queryBuilder( q, values );
}).join( joiner );
});