piajs
v0.1.1
Published
Manage session storage and local storage as easy as eating a Pia cake.
Downloads
24
Readme
PiaJS
A simple, lightweight JavaScript API for handling browser storage
- Automatically switch between
localStorage
andsessionStorage
depends on your expires setting - Accepts any value type
- No dependency
Cookies vs. Local Storage vs. Session Storage
| | Cookies | Local Storage | Session Storage | |------------------------|--------------------|-----------------------------------|-----------------| | Capacity | 4kb | 10mb | 5mb | | Accessible from | Any window | Any window | Same tab | | Expires | Manually set | Never (Manually set with PiaJS) | On tab close | | Storage location | Browser and server | Browser only | Browser only | | Sent with requests | Yes | No | No |
Installation
Using package manager:
npm i piajs
Import
import "piajs";
Using CDN:
<!-- PiaJs -->
<script src="https://cdn.jsdelivr.net/gh/phucbm/[email protected]/dist/pia.min.js"></script>
Usage
Create record
Create a record, valid across the entire browser.
Pia.set('key', 1); // number
Pia.set('key', [1, 2]); // array
Pia.set('key', "string"); // string
Pia.set('key', {value: "123"}); // object
Pia.set('key', true); // boolean
Unlike normal localStorage
or sessionStorage
, PiaJS uses JSON.stringify()
to convert the value to a string, so it would accept any type of value.
Warning Prototypes of an Object will be treated as a plain string value. So you can't store instances with Pia.
Set expires
Pia.set('key', 'your value', {expires: 'session'}); // valid in the current browser tab only
Pia.set('key', 'your value', {expires: 7}); // valid for 7 days
Pia.set('key', 'your value', {expires: '1 day'}); // valid for 1 day
Pia.set('key', 'your value', {expires: '2 days'}); // valid for 2 days
Pia.set('key', 'your value', {expires: '48 hours'}); // valid for 48 hours
Note If you leave
expires
empty or something unrecognized, it will never expire.
Read record
Pia.get('key');
Pia.get('key', true); // => full value object
Pia.get('nothing'); // => null
Delete record
Pia.remove('key');
Test record
Log the info about a record
console.log(Pia.test('key'));
const info = {
"leftover": [
"2 day(s) left",
"created 134 second(s) ago",
"created 2 minute(s) ago",
"created 0 hour(s) ago",
"created 0 day(s) ago"
],
"record": {
"key": "pia-day",
"valueType": "string",
"value": "test update",
"raw_expires": 2,
"expires": 2,
"unit": "day",
"storageType": "localStorage",
"arguments": {
"0": "pia-day",
"1": "test day",
"2": {
"expires": 2
}
},
"createdDate": "Thu Jun 29 2023 10:44:25 GMT+0700 (Indochina Time)"
}
};
Test quickly in the console panel
Deployment
# Install packages
npm i
# Run dev server
npm run dev
# Build prod files
npm run prod