Files
tiptap/packages/core/src/utilities/objectIncludes.ts
Philipp Kühn e07a5b625d refactor: Use named exports instead of default exports (#2238)
* use named exports instead of default exports

* fix tests

Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2021-12-06 12:00:09 +01:00

31 lines
613 B
TypeScript

import { isRegExp } from './isRegExp'
/**
* Check if object1 includes object2
* @param object1 Object
* @param object2 Object
*/
export function objectIncludes(
object1: Record<string, any>,
object2: Record<string, any>,
options: { strict: boolean } = { strict: true },
): boolean {
const keys = Object.keys(object2)
if (!keys.length) {
return true
}
return keys.every(key => {
if (options.strict) {
return object2[key] === object1[key]
}
if (isRegExp(object2[key])) {
return object2[key].test(object1[key])
}
return object2[key] === object1[key]
})
}