Code that is shared between client and server
        
        
Namespaces
Methods
- 
    <static> assignIsCompatible(crops, isCompatibleFunction)
- 
    
    Assign isCompatible() for the given Crop documents for use with the Combinations class.Parameters:Name Type Description cropsArray.<Crop> isCompatibleFunctionfunction 
- 
    <static> containsCrop(relationship, crop)
- 
    
    
    
    
    
        Parameters:Name Type Description relationshipObject cropObject Returns:- Type
- Boolean
 
- 
    <static> getCompatibleCrops(allCrops, relationships, crops)
- 
    
    Get other crops that are compatible with the given set of crops. The crops in the sum set are all compatible. TODO This doesn't scale at all with thousands of crops.Parameters:Name Type Description allCropsArray.<Object> relationshipsArray.<Object> cropsArray.<Object> Returns:Array of compatible crops- Type
- Array.<Object>
 
- 
    <static> getCropGroups(relationships, crops)
- 
    
    Divide the given crops into groups of compatible crops.Parameters:Name Type Description relationshipsArray.<Object> cropsArray.<Object> Returns:Array of crop groups- Type
- Array.<Object>
 
- 
    <static> isCompanion(crop)
- 
    
    Implements isCompatible() for Crop Combinations. Check if the given other crop is compatible.Parameters:Name Type Description cropCrop Returns:- Type
- Boolean
 
- 
    <static> isNeutral(crop)
- 
    
    Implements isCompatible() for Crop Combinations. Check if the given other crop is neutral but not incompatible.Parameters:Name Type Description cropCrop Returns:- Type
- Boolean
 
- 
    <static> removeCropGroupsFromCombinations(combinations, maximumGroupSize)
- 
    
    Given all compatible combinations, get non-overlapping crop groups, and update the Combinations object by removing the crops of these groups.Parameters:Name Type Description combinationsCombinations maximumGroupSizeNumber Returns:- Type
- Array