https://github.com/aykutkardas/lookie
Store your data in localStorage with optional expiration time. Almost like a cookie.
https://github.com/aykutkardas/lookie
cookie localstorage localstorage-api
Last synced: about 1 year ago
JSON representation
Store your data in localStorage with optional expiration time. Almost like a cookie.
- Host: GitHub
- URL: https://github.com/aykutkardas/lookie
- Owner: aykutkardas
- License: mit
- Created: 2020-11-30T17:55:03.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-07-31T12:17:16.000Z (almost 4 years ago)
- Last Synced: 2025-02-27T23:56:02.736Z (over 1 year ago)
- Topics: cookie, localstorage, localstorage-api
- Language: TypeScript
- Homepage:
- Size: 55.7 KB
- Stars: 82
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/lookie)
[](https://github.com/aykutkardas/lookie/actions)
[](https://opensource.org/licenses/MIT)

You can store your data in LocalStorage without converting it to string. You can specify how long this data will be stored in LocalStorage. Lookie is a small package without dependencies and has type support.
## Install
```
npm install lookie
```
```
yarn add lookie
```
## Usage
### Import
```js
import lookie from "lookie";
```
### **Set**
Type conversions are handled automatically.
So you can give values such as `array`, `object`, `boolean`, `number`, `null` or `string`.
```js
lookie.set("list", [1, 2, 3, 4]);
lookie.set("data", { key: "value" });
lookie.set("count", 1234);
lookie.set("muted", true);
lookie.set("theme", "dark");
lookie.set("user", null);
```
### **Set with Expiry**
```js
lookie.set("key", value, "1M 15D 20h"); // 1 month 15 days 20 hours
```
> According to this example, when you want to get this data `1 month 15 days 20 hours` after setting, it will be deleted and you will not be able to access it.
### **Multiple Set**
```js
lookie.setAll({ key: value, otherKey: otherValue });
```
### **Multiple Set with Expiry**
```js
lookie.setAll({ key: value, otherKey: otherValue }, "1M 15D 20h");
```
### **Get**
```js
lookie.get("key");
```
### **Remove**
```js
lookie.remove("key");
```
### **Sync**
Data is checked only when called and deleted if it has expired. Therefore, even if they have expired, they will continue to be stored until you call them. If you want LocalStorage to stay up to date, simply run this method.
Unless you have a special reason, you won't need it at all.
```js
lookie.sync();
```
## More Information About Expiry Support
### **Available Time Ranges**
| Key | Name |
| --- | ------ |
| Y | Year |
| M | Month |
| D | Day |
| h | Hour |
| m | Minute |
| s | Second |
### **Examples**
```js
lookie.set("key", value, 1000); // 1 second
lookie.set("key", value, { s: 1 }); // 1 second
lookie.set("key", value, "1s"); // 1second
```