feat: typed wrapper around localStorage #30
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #29, the raw calls to
localStoragemade me uneasy for a couple reasons:A tricky thing here is that we are implementing a starting point for other projects. We want to provide something minimal, yet powerful. I confess that what I've added here might not qualify as "minimal"!
I don't want these new projects to have unnecessary npm dependencies, so I re-implemented (a minimal version of) an existing library.
I think the
storage.tsfile is slim enough to be understandable, and has nice properties. If you define yourkeyslike this:Then when you import
storageelsewhere, you get this typeahead ongetItem:And the return types for keys of different types are all well-typed: