Context
BaseStorageManager uses JSON.parse/JSON.stringify which loses fidelity for non-JSON-native types (Date, Map, Set, RegExp, etc.).
Goal
Optional serializer/deserializer hook for consumers with complex data types.
Implementation
- Add
serializer/deserializer options to StorageConfig
- Default to
JSON.stringify/JSON.parse (backwards compatible)
- Use hooks in
BaseStorageManager.setItem()/getItem()
Files
src/storage/StorageConfig.ts
src/storage/BaseStorageManager.ts
tests/storage/BaseStorageManager.test.ts
Source: AUDIT2 (-2 Best Practices)
Context
BaseStorageManagerusesJSON.parse/JSON.stringifywhich loses fidelity for non-JSON-native types (Date, Map, Set, RegExp, etc.).Goal
Optional serializer/deserializer hook for consumers with complex data types.
Implementation
serializer/deserializeroptions toStorageConfigJSON.stringify/JSON.parse(backwards compatible)BaseStorageManager.setItem()/getItem()Files
src/storage/StorageConfig.tssrc/storage/BaseStorageManager.tstests/storage/BaseStorageManager.test.tsSource: AUDIT2 (-2 Best Practices)