Brian C
12 years ago
3 changed files with 24 additions and 11 deletions
@ -1,20 +1,24 @@ |
|||
'use strict'; |
|||
|
|||
var BinaryNode = require(__dirname + '/binary'); |
|||
var TextNode = require(__dirname + '/text'); |
|||
module.exports = require(__dirname).define({ |
|||
type: 'WHERE', |
|||
expr: function(other) { |
|||
return typeof other === 'string' ? new TextNode('('+other+')') : other; |
|||
}, |
|||
or: function(other) { |
|||
return this.nodes.push(new BinaryNode({ |
|||
left: this.nodes.pop(), |
|||
operator: 'OR', |
|||
right: other |
|||
right: this.expr(other) |
|||
})); |
|||
}, |
|||
and: function(other) { |
|||
return this.nodes.push(new BinaryNode({ |
|||
left: this.nodes.pop(), |
|||
operator: 'AND', |
|||
right: other |
|||
right: this.expr(other) |
|||
})); |
|||
} |
|||
}); |
|||
|
Loading…
Reference in new issue