Files
blitzkit/packages/website/src/stores/comparePersistent.ts
T
2024-09-23 10:49:54 -05:00

24 lines
645 B
TypeScript

import * as lodash from 'lodash-es';
import { create } from 'zustand';
import { persist, subscribeWithSelector } from 'zustand/middleware';
import { createContextualStore } from '../core/zustand/createContextualStore';
export type DeltaMode = 'none' | 'percentage' | 'absolute';
export interface ComparePersistent {
deltaMode: DeltaMode;
}
export const ComparePersistent = createContextualStore(() =>
create<ComparePersistent>()(
persist(
subscribeWithSelector<ComparePersistent>(() => ({
deltaMode: 'none',
})),
{
name: 'compare',
merge: (a, b) => lodash.merge(b, a),
},
),
),
);