import type { PiniaPluginContext } from 'pinia'; import { jsonClone } from '@sa/utils'; import { SetupStoreId } from '@/enum'; /** * The plugin reset the state of the store which is written by setup syntax * * @param context */ export function resetSetupStore(context: PiniaPluginContext) { const setupSyntaxIds = Object.values(SetupStoreId) as string[]; if (setupSyntaxIds.includes(context.store.$id)) { const { $state } = context.store; const defaultStore = jsonClone($state); context.store.$reset = () => { context.store.$patch(defaultStore); }; } }