UNPKG

802 BJavaScriptView Raw
1'use strict';
2
3var handleCurry = require('./utils/handleCurry');
4
5/**
6 * Checks whether a value is strictly equal to expected value (uses === operator)
7 *
8 * **Aliases** _strictEqualTo_
9 *
10 * @function strictEqual
11 *
12 * @example
13 * var is = require('predicates');
14 *
15 * var mom = {};
16 * var isMyMom = is.strictEqual(mom);
17 *
18 * isMyMom(mom); // true - mom is only one. Remember about it...
19 * // same as
20 * is.strictEqual(mom, mom); // true
21 * isMyMom({}); // false
22 *
23 *
24 * @param {*} expected
25 * @param {*} [value]
26 * @returns {(Boolean|Predicate)} bool if at least two arguments provided, otherwise a predicate
27 */
28module.exports = function isStrictEqual(expected) {
29 return handleCurry.call(this, arguments, function isStrictEqualPredicate(value) {
30 return expected === value;
31 });
32};