Я думаю, что нет способа сделать это только с помощью конфигурации. Вы можете, однако, предоставить свой StorageEngine
и изменить там данные.
import { NgxsStoragePluginModule, StorageEngine, STORAGE_ENGINE } from '@ngxs/storage-plugin';
export class MyStorageEngine implements StorageEngine {
get length(): number {
// Your logic here
}
getItem(key: string): any {
// Your logic here
}
setItem(key: string, val: any): void {
// remove undesired values here
let state = JSON.parse(val)
state.accounts.accounts.forEach(acc => delete acc.password);
localStorage.setItem(key, JSON.stringify(state));
}
removeItem(key: string): void {
// Your logic here
}
clear(): void {
// Your logic here
}
}
@NgModule({
imports: [
NgxsModule.forRoot([]),
NgxsStoragePluginModule.forRoot()
],
providers: [
{
provide: STORAGE_ENGINE,
useClass: MyStorageEngine
}
]
})
export class MyModule {}
Хотя я бы не рекомендовал этот подход, поскольку он потребует больших накладных расходов из-за дополнительной (де) сериализации.
Другим способом было бы ввести самописный плагин, который заменяет StoragePlugin и удаляет нежелательные значения перед их сериализацией.