fetcher-storage
Workflow
- Choose the storage backend first: browser storage when available, in-memory fallback for non-browser contexts or tests.
- Use
KeyStoragefor one logical value per key and pair it with an explicit serializer. - Use
jsonSerializerfor objects and typed identity serializers only when values already have the target representation. - Register listeners with the EventHandler object pattern and dispose them during cleanup.
- Load
references/api.mdfor exact options, serializer patterns, and cross-tab behavior.
Key Practices
- Keep keys stable and namespaced by app or domain.
- Provide
defaultValuewhen consumers should not handle missing storage explicitly. - Use in-memory storage for deterministic tests instead of relying on ambient browser state.
References
references/api.md: Detailed package API, examples, and edge-case guidance. Load it only when the task needs KeyStorage options, listener APIs, serializers, in-memory storage, cross-tab sync, installation, and quick-start examples.
Related Skills
- $fetcher-eventbus: Use for lower-level event bus behavior behind storage listeners.
- $fetcher-react-hooks: Use when React state should bind to KeyStorage.
- $fetcher-cosec-auth: Use for JWT and device-id storage patterns.