1 |
|
2 |
|
3 | var safeEqual = require('./safeEqual')
|
4 |
|
5 | function deepPartialMatch (a, b) {
|
6 | if (a instanceof RegExp) {
|
7 | return a.test(b)
|
8 | } else if (b instanceof RegExp) {
|
9 | return b.test(a)
|
10 | } else if (typeof a !== 'object') {
|
11 | return safeEqual(a, b)
|
12 | }
|
13 |
|
14 | // faster than Object.keys()
|
15 | for (var key in a) {
|
16 | if (b[key] === undefined || !deepPartialMatch(a[key], b[key])) {
|
17 | return false
|
18 | }
|
19 | }
|
20 |
|
21 | return true
|
22 | }
|
23 |
|
24 | module.exports = deepPartialMatch
|