Ramda Adjunct 2.22.0

isSet.js

import { type, identical, pipe } from 'ramda';
import curry1 from 'ramda/src/internal/_curry1';

/**
 * Predicate for determining if a provided value is an instance of a Set.
 *
 * @func isSet
 * @memberOf RA
 * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
 * @category Type
 * @sig * -> Boolean
 * @param {*} val The value to test
 * @return {boolean}
 * @see {@link RA.isMap|isMap}}
 * @example
 *
 * RA.isSet(new Map()); //=> false
 * RA.isSet(new Set()); //=> true
 * RA.isSet(new Set([1,2]); //=> true
 * RA.isSet(new Object()); //=> false
 */

const isSet = curry1(
  pipe(
    type,
    identical('Set')
  )
);

export default isSet;