import type { DeepPartial, Preference } from '@vben-core/typings'; import { PreferenceCache } from './cache'; import { overridesPreference } from './preference'; interface SetupPreferenceOptions { /** * @zh_CN 应用名,由于 @vben/preference 是公用的,后续可能有多个app,为了防止多个app缓存冲突,可在这里配置应用名 * 应用名将被用于持久化的前缀 */ namespace: string; /** * @zh_CN app自行覆盖偏好设置 */ overrides?: DeepPartial; } async function setupPreference(options: SetupPreferenceOptions) { const { namespace, overrides = {} } = options; const cache = new PreferenceCache(namespace); overridesPreference(overrides, cache); } export { setupPreference }; export type { SetupPreferenceOptions };