module('apps.JSINQ').requires().toRun(function() {

(function() {
	JSLoader.loadJs(URL.codeBase.withFilename('lib/jsinq/jsinq-d.js').toString(), undefined, true);
	JSLoader.loadJs(URL.codeBase.withFilename('lib/jsinq/jsinq-query-d.js').toString(), undefined, true);
})();

withJSInqDo = function() {
	var args = $A(arguments);

	var query = new jsinq.Query(args.shift());

	args.each(function(arg, idx) {
		var enumerable = new jsinq.Enumerable(arg);
		query.setValue(idx, enumerable);
	});
	
	return query.execute();
};

}) // end of module