fix(editor): Rename and move isObjectLiteral utility function (no-changelog) (#7565)

This commit is contained in:
Csaba Tuncsik
2023-10-31 21:28:01 +01:00
committed by GitHub
parent c6b688387c
commit b94b8b2eb0
6 changed files with 125 additions and 9 deletions

View File

@@ -0,0 +1,20 @@
type ObjectOrArray = Record<string, unknown> | unknown[];
export function isDateObject(maybeDate: unknown): maybeDate is Date {
return maybeDate instanceof Date;
}
export function isObjectOrArray(maybeObject: unknown): maybeObject is ObjectOrArray {
return typeof maybeObject === 'object' && maybeObject !== null && !isDateObject(maybeObject);
}
export function isObject(maybeObject: unknown): maybeObject is Record<string, unknown> {
return isObjectOrArray(maybeObject) && !Array.isArray(maybeObject);
}
export const searchInObject = (obj: ObjectOrArray, searchString: string): boolean =>
(Array.isArray(obj) ? obj : Object.entries(obj)).some((entry) =>
isObjectOrArray(entry)
? searchInObject(entry, searchString)
: entry?.toString().includes(searchString),
);