1 | ;
|
2 |
|
3 | var 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 | */
|
28 | module.exports = function isStrictEqual(expected) {
|
29 | return handleCurry.call(this, arguments, function isStrictEqualPredicate(value) {
|
30 | return expected === value;
|
31 | });
|
32 | };
|