1 | var helperEqualCompare = require('./helperEqualCompare')
|
2 | var helperDefaultCompare = require('./helperDefaultCompare')
|
3 |
|
4 | var isFunction = require('./isFunction')
|
5 | var isUndefined = require('./isUndefined')
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | function isEqualWith (obj1, obj2, func) {
|
16 | if (isFunction(func)) {
|
17 | return helperEqualCompare(obj1, obj2, function (v1, v2, key, obj1, obj2) {
|
18 | var result = func(v1, v2, key, obj1, obj2)
|
19 | return isUndefined(result) ? helperDefaultCompare(v1, v2) : !!result
|
20 | }, func)
|
21 | }
|
22 | return helperEqualCompare(obj1, obj2, helperDefaultCompare)
|
23 | }
|
24 |
|
25 | module.exports = isEqualWith
|