"use strict"; var ListOfMatchExpression = require('./ListOfMatchExpression'); // Autogenerated by cport.py on 2013-09-17 14:37 var AndMatchExpression = module.exports = function AndMatchExpression(){ this._expressions = []; this._matchType = 'AND'; }, klass = AndMatchExpression, base = ListOfMatchExpression, proto = klass.prototype = Object.create(base.prototype, {constructor:{value:klass}}); /** * * This documentation was automatically generated. Please update when you touch this function. * @method debugString * @param * */ proto.debugString = function debugString( level ) { // StringBuilder& debug, int level // File: expression_tree.cpp lines: 85-88 return this._debugAddSpace(level) + "$and\n" + this._debugList(level); }; /** * * This documentation was automatically generated. Please update when you touch this function. * @method matches * @param * */ proto.matches = function matches( doc, details ) { // const MatchableDocument* doc, MatchDetails* details // File: expression_tree.cpp lines: 64-72 var tChild; for (var i = 0; i < this.numChildren(); i++) { tChild = this.getChild(i); if ( ! tChild.matches(doc,details)) { if (details) { details.resetOutput(); } return false; } else { debugger; } } return true; }; /** * * This documentation was automatically generated. Please update when you touch this function. * @method matchesSingleElement * @param * */ proto.matchesSingleElement = function matchesSingleElement( e ){ // const BSONElement& e // File: expression_tree.cpp lines: 75-81 for (var i = 0; i < this.numChildren(); i++) { if (!this.getChild(i).matchesSingleElement(e)) { return false; } } return true; }; /** * * This documentation was automatically generated. Please update when you touch this function. * @method shallowClone * @param * */ proto.shallowClone = function shallowClone( /* */ ){ // File: expression_tree.h lines: 67-72 var e = new AndMatchExpression(); for (var i = 0; i < this.numChildren(); i++) { e.add(this.getChild(i).shallowClone()); } };