compare
Related Utils
This requires the following utils to be installed:
compare
ts
import { get } from '@/ui/utils/get'
import { isEqual } from 'ohash'
export function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)) {
if (value === undefined || currentValue === undefined) {
return false
}
if (typeof value === 'string') {
return value === currentValue
}
if (typeof comparator === 'function') {
return comparator(value, currentValue)
}
if (typeof comparator === 'string') {
return get(value!, comparator) === get(currentValue!, comparator)
}
return isEqual(value, currentValue)
}ts
import { get } from '@/UI/Utils/get'
import { isEqual } from 'ohash'
export function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)) {
if (value === undefined || currentValue === undefined) {
return false
}
if (typeof value === 'string') {
return value === currentValue
}
if (typeof comparator === 'function') {
return comparator(value, currentValue)
}
if (typeof comparator === 'string') {
return get(value!, comparator) === get(currentValue!, comparator)
}
return isEqual(value, currentValue)
}