NJ3CLHJNB5S7K7XHXLMDGD3RDVIFIHYNDMFQJF3CUVMAK6E436YQC
export function updaterGenerator(dataObject: any, dataUpdater: any): any {
const updaters: any = {};
type UpdaterGeneratorType<T> = {
[k in keyof T]: T[k] extends { [kkt: string]: any }
? (UpdaterGeneratorType<T[k]> & { getUpdater: () => UpdaterFn<T[k]> })
: { getUpdater: () => UpdaterFn<T[k]> }
} & { getUpdater: () => UpdaterFn<T> }
export function updaterGenerator<T>(dataObject: T, dataUpdater: UpdaterFn<T>): UpdaterGeneratorType<T> {
const updaters: UpdaterGeneratorType<T> = {} as any;
const keys = Object.keys(dataObject);
keys.forEach((key) => {
function keyUpdater(newValueOrCallback) {
const keys : (keyof T)[] = Object.keys(dataObject) as any as (keyof T)[];
keys.forEach((key: (keyof T)) => {
const asdfaf: T[typeof key] = dataObject[key];
// function keyUpdater(newValueOrCallback: (T[typeof key] | ((prev: T[typeof key]) => T[typeof key]) )) {
function keyUpdater(newValueOrCallback: UpdaterFnParam<T[typeof key]>) {