Skip to content

Commit

Permalink
Moved matcher function to utilities.
Browse files Browse the repository at this point in the history
  • Loading branch information
mcollina committed Dec 8, 2013
1 parent a05de43 commit 57a2c8e
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 47 deletions.
21 changes: 1 addition & 20 deletions lib/joinstream.js
Expand Up @@ -5,7 +5,7 @@ var Transform = require('./streamwrapper').Transform
, queryMask = utilities.queryMask
, variablesMask = utilities.variablesMask
, maskUpdater = utilities.maskUpdater
, matcher;
, matcher = utilities.matcher;

function JoinStream(options) {
if (!(this instanceof JoinStream)) {
Expand Down Expand Up @@ -59,22 +59,3 @@ JoinStream.prototype._transform = function(solution, encoding, done) {
};

module.exports = JoinStream;

matcher = function(pattern) {
var variables = variablesMask(pattern);
return function(solution, triple) {
var bindable = Object.keys(variables).every(function(key) {
var variable = variables[key];
return variable.isBindable(solution, triple[key]);
});

if (!bindable) {
return false;
}

return Object.keys(variables).reduce(function(newsolution, key) {
var variable = variables[key];
return variable.bind(newsolution, triple[key]);
}, solution);
};
};
34 changes: 8 additions & 26 deletions lib/sortjoinstream.js
@@ -1,13 +1,14 @@

var Transform = require('./streamwrapper').Transform
, Variable = require('./variable')
, queryMask = require('./utilities').queryMask
, variablesMask = require('./utilities').variablesMask
, matcher
, materializer = require('./utilities').materializer
, createQuery = require('./utilities').createQuery
, genKey = require('./utilities').genKey
, genKeys = require('./utilities').genKeys;
, utilities = require('./utilities')
, queryMask = utilities.queryMask
, variablesMask = utilities.variablesMask
, matcher = utilities.matcher
, materializer = utilities.materializer
, createQuery = utilities.createQuery
, genKey = utilities.genKey
, genKeys = utilities.genKeys;

var counter = 0;

Expand Down Expand Up @@ -159,22 +160,3 @@ SortJoinStream.prototype._transform = function(solution, encoding, done) {
};

module.exports = SortJoinStream;

matcher = function(pattern) {
var variables = variablesMask(pattern);
return function(solution, triple) {
var bindable = Object.keys(variables).every(function(key) {
var variable = variables[key];
return variable.isBindable(solution, triple[key]);
});

if (!bindable) {
return false;
}

return Object.keys(variables).reduce(function(newsolution, key) {
var variable = variables[key];
return variable.bind(newsolution, triple[key]);
}, solution);
};
};
25 changes: 24 additions & 1 deletion lib/utilities.js
Expand Up @@ -195,8 +195,10 @@ module.exports.materializer = materializer;
};
})();

var variablesMask = module.exports.variablesMask;

function maskUpdater(pattern) {
var variables = module.exports.variablesMask(pattern);
var variables = variablesMask(pattern);
return function(solution, mask) {
return Object.keys(variables).reduce(function(newMask, key) {
var variable = variables[key];
Expand All @@ -213,3 +215,24 @@ function maskUpdater(pattern) {
}

module.exports.maskUpdater = maskUpdater;

function matcher(pattern) {
var variables = variablesMask(pattern);
return function(solution, triple) {
var bindable = Object.keys(variables).every(function(key) {
var variable = variables[key];
return variable.isBindable(solution, triple[key]);
});

if (!bindable) {
return false;
}

return Object.keys(variables).reduce(function(newsolution, key) {
var variable = variables[key];
return variable.bind(newsolution, triple[key]);
}, solution);
};
}

module.exports.matcher = matcher;

0 comments on commit 57a2c8e

Please sign in to comment.