parseUnit
export type StoreField<T> = { store: Store<T>; field: keyof T }export type ReactiveTypeGetter<T> = T | Accessor<T> | StoreField<T>
ReactiveTypeGetter
export function getterFromReactive<T>( value: ReactiveTypeGetter<T>, func?: Function,): Accessor<any> { if (typeof value === 'function') { // @ts-ignore return func === undefined ? value : () => func(value()) } else if (value instanceof Object && 'store' in value && 'field' in value) { const [valueGetter, valueSetter] = createSignal( func === undefined ? () => value.store[value.field] : () => func(value.store[value.field]), ) createRenderEffect(() => { const val: T[keyof T] = value.store[value.field] valueSetter(func === undefined ? val : func(val)) }) return valueGetter } return func === undefined ? () => value : () => func(value)}