Open
Description
Hi everyone,
So, after grooming the existing issue I came up with the following items that might require some action in the future.
Bugs
- localStorage not persistant in Cordova (Making Webview localstorage persistant after app closed #202)
- Problem returning non-JSON values (.get() cannot return stored non-JSON values #230)
- Error when storing dates (Error to handle date #241)
- Set cookie expiration to 0 (Setting expiration to '0' seems not working #250)
Enhancement
- Support for selecting type of storage on the fly (Using a different storage type per module #151, How to switch
localStroage
tosessionStorage
on the fly? #192, Use both sessionStorage and localStorage #231, Allow creating multiple instances #270, Setting storage type based on compatibility #281) - Breaking Changes - Allow to store session cookies (Allow cookie expiry not to be set (session cookie) #246)
- get a non-existing key should return
undefined
and notnull
(get('nonExistingProperty') should return undefined, not null #245) - Breaking Changes - set a prefix at run-time (setPrefix in localStorageService, so we can switch prefix during execution #176) - Breaking Changes
- include source maps (Request for source map #139)
- throw exception if exceeds quota (Should throw exception if trying to exceed the quota. #110)
Features
- Specify when and how to use fallbacks (Session storage should not fallback to cookies #168, Add feature to add an optional 3rd parameter to set to specify whether to fall back to cookie or not #237)
- Add support for TTL on keys (TTL support on Key #239)
- Sync values between different tabs (Is it possible to get a notification for a value update by a different window. #199)
- Add support for other storage types (Add support for Chrome Web Apps #257)
Nice to have
- Upload to a CDN (Suggestion to upload lib to jsdelivr #210)
Proposals
- Migrate source code to TypeScript and publish the API definitions on typings. This change must be backwards compatible.
- Rewrite the entire module to tackle requested enhancements and features.
I will wait for some feedback. 😃