UNPKG

470 BJavaScriptView Raw
1'use strict'
2
3var safeEqual = require('./safeEqual')
4
5function 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
24module.exports = deepPartialMatch