dist/linq.es6.js
function isKeyComparator(arg) {
            let result = __getParameterCount(arg) === 2;
            const first = self.first();
            try {
                const key = keySelector(first);
                // if this is a key comparator, it must return truthy values for equal values and falsy ones if they're different
                result = result && arg(key, key) && !arg(key, {});
            }
            catch (err) {
                // if the function throws an error for values, it can't be a keyComparator
                result = false;
            }
            return result;
        }
function isKeyComparator(arg) {
            let result = __getParameterCount(arg) === 2;
            const first = self.first();
            try {
                const key = keySelector(first);
                // if this is a key comparator, it must return truthy values for equal values and falsy ones if they're different
                result = result && arg(key, key) && !arg(key, {});
            }
            catch (err) {
                // if the function throws an error for values, it can't be a keyComparator
                result = false;
            }
            return result;
        }
function isKeyComparator ( arg ) { let result = __getParameterCount ( arg ) === 2 ; const first = self . first ( ) ; try { const key = keySelector ( first ) ; // if this is a key comparator, it must return truthy values for equal values and falsy ones if they're different result = result && arg ( key , key ) && ! arg ( key , { } ) ; } catch ( err ) { // if the function throws an error for values, it can't be a keyComparator result = false ; } return result ; }
Checks whether or not a function is a key comparator.
We need to differentiate between the key comparator and the result selector since both take two arguments.

@param arg Function to be tested.
@return If the given function is a key comparator.
Checks whether or not a function is a key comparator . We need to differentiate between the key comparator and the result selector since both take two arguments .