document.cookie based engine for redux-storage.
npm install --save redux-storage-engine-cookies
Stores everything inside a cookie.
import createEngine from 'redux-storage-engine-cookies'; const engine = createEngine('my-save-key', options);
options is an optional hash of options to pass to js-cookie. These
options.expires: Either a number representing the number of days the cookie will persist, or a
Dateobject. If omitted, the cookie will be a session cookie.
options.path: path under which the cookie is valid. Default is
/. Due to an IE bug, do not include a filename in the path (such as
/path/to/file.ext). IE will be unable to read the cookie if you do this. Instead, just use a path like
options.domain: What domain the cookie is valid on. By default, it will be valid on the domain where the cookie is created. IE allows cookies to be accessed under all nested subdomains as well (such as
options.secure: If true, requires HTTPS. Default is false.
See js-cookie for additional documentation for these options.
Warning: Browsers allocate a very limited amount of space to cookies, so don't expect to be able to store a large amount of data here! IE, for example, limits all cookies to a total of 4096 bytes. If you have multiple cookies on your domain, this means that the number of bytes you can store might be significantly less than 4096 since you must share storage space with the other cookies.
document.cookie does not expose a async API and every save/load
operation will block the JS thread!
Warning: Some browsers like IE<=11 do not support Promises! You could use something like es6-promise to polyfill.