mobx-keystone
Version:
A MobX powered state management solution based on data trees with first class support for TypeScript, snapshots, patches and much more
17 lines (13 loc) • 416 B
text/typescript
import { set } from "mobx"
export function setIfDifferent(target: any, key: PropertyKey, value: unknown): void {
if (target[key] !== value || !(key in target)) {
set(target, key, value)
}
}
export function setIfDifferentWithReturn(target: any, key: PropertyKey, value: unknown): boolean {
if (target[key] !== value || !(key in target)) {
set(target, key, value)
return true
}
return false
}