Files
kandev/apps/web/lib/state/slices/features/features-slice.ts
T
2026-08-02 15:36:21 +01:00

24 lines
617 B
TypeScript

import type { StateCreator } from "zustand";
import { defaultFeatureFlags, type FeaturesSlice, type FeaturesSliceState } from "./types";
export const defaultFeaturesState: FeaturesSliceState = {
features: { ...defaultFeatureFlags },
};
type ImmerSet = Parameters<
StateCreator<FeaturesSlice, [["zustand/immer", never]], [], FeaturesSlice>
>[0];
export const createFeaturesSlice: StateCreator<
FeaturesSlice,
[["zustand/immer", never]],
[],
FeaturesSlice
> = (set: ImmerSet) => ({
...defaultFeaturesState,
setFeatures: (features) =>
set((draft) => {
draft.features = features;
}),
});