| 
					
				 | 
			
			
				@@ -45,6 +45,16 @@ klass._coerceToNumber = function _coerceToNumber(value) { //NOTE: replaces .coer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	case "number": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case "object": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		switch (value.constructor.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case "Long": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return parseInt(value.toString(), 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case "Double": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return parseFloat(value.value, 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				throw new Error("can't convert from BSON type " + value.constructor.name + " to int; codes 16003, 16004, 16005"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		throw new Error("can't convert from BSON type " + typeof(value) + " to int; codes 16003, 16004, 16005"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 |