| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | "use strict";var utils = module.exports = {	/**	 * Convert BSONObj to a BSONObj with our $const wrappings.	 * @method constify	 */	constify: function constify(obj, parentIsArray) {		if (parentIsArray === undefined) parentIsArray = false;		var bob = parentIsArray ? [] : {};		for (var key in obj) {			if (!obj.hasOwnProperty(key)) continue;			var elem = obj[key];			if (elem instanceof Object && elem.constructor === Object) {				bob[key] = utils.constify(elem, false);			} else if (Array.isArray(elem) && !parentIsArray) {				// arrays within arrays are treated as constant values by the real parser				bob[key] = utils.constify(elem, true);			} else if (key == "$const" ||					(typeof elem == "string" && elem[0] == "$")) {				bob[key] = obj[key];			} else {				bob[key] = {$const: obj[key]};			}		}		return bob;	},	//SKIPPED: assertBinaryEqual	//SKIPPED: toJson    /**     * Convert Expression to BSON.     * @method expressionToJson     */	expressionToJson: function expressionToJson(expr) {		return expr.serialize(false);	},	//SKIPPED: fromJson	//SKIPPED: valueFromJson};
 |