react-achievements-zustand
Version:
This package allows users to transpose a React achievements engine over their React apps using Zustand for state management
32 lines (31 loc) • 2.21 kB
TypeScript
import { PayloadAction } from '@reduxjs/toolkit';
import { InitialAchievementMetrics, AchievementMetrics, SerializedAchievementConfiguration } from '../types';
export interface AchievementState {
config: SerializedAchievementConfiguration;
metrics: AchievementMetrics;
unlockedAchievements: string[];
previouslyAwardedAchievements: string[];
storageKey: string | null;
}
export declare const achievementSlice: import("@reduxjs/toolkit").Slice<AchievementState, {
initialize: (state: import("immer/dist/internal").WritableDraft<AchievementState>, action: PayloadAction<{
config: SerializedAchievementConfiguration;
initialState?: InitialAchievementMetrics & {
previouslyAwardedAchievements?: string[];
};
storageKey: string;
}>) => void;
setMetrics: (state: import("immer/dist/internal").WritableDraft<AchievementState>, action: PayloadAction<AchievementMetrics>) => void;
unlockAchievement: (state: import("immer/dist/internal").WritableDraft<AchievementState>, action: PayloadAction<string>) => void;
markAchievementAsAwarded: (state: import("immer/dist/internal").WritableDraft<AchievementState>, action: PayloadAction<string>) => void;
resetAchievements: (state: import("immer/dist/internal").WritableDraft<AchievementState>) => void;
}, "achievements">;
export declare const initialize: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
config: SerializedAchievementConfiguration;
initialState?: InitialAchievementMetrics & {
previouslyAwardedAchievements?: string[];
};
storageKey: string;
}, "achievements/initialize">, setMetrics: import("@reduxjs/toolkit").ActionCreatorWithPayload<AchievementMetrics, "achievements/setMetrics">, unlockAchievement: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "achievements/unlockAchievement">, resetAchievements: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"achievements/resetAchievements">, markAchievementAsAwarded: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "achievements/markAchievementAsAwarded">;
declare const _default: import("@reduxjs/toolkit").Reducer<AchievementState>;
export default _default;