0.0.5 • Published 9 years ago
xtorage v0.0.5
Xtorage
Install
$ npm i --save xtorageWhat is this?
This is a tiny, yet powerful framework-agnostic wrapper for the web storage.
You shouldn't keep parsing strings/arrays/numbers/objects left and right to save/retrieve stuff into and from the storage.
Just call save(), saveInFirstPosition(), remove(), removeLast() and so on.
You can use it pretty much everywhere that is javascript in the client; So, it'll work for: angular, aurelia, vue, electron, etc.
API
constructor
new Xtorage(storage: 'localStorage' | 'sessionStorage', unique: boolean) let _x1 = new Xtorage('localStorage');
_x1.save('k', 1); // saves 1, with the key 'k' in the localStorage
let _x2 = new Xtorage('sessionStorage');
_x2.save('k', 2); // saves 1, with the key 'k' in the sessionStorage
let _x3 = new Xtorage();
_x3.save('k', 3); // saves 1, with the key 'k' in the localStorage - which is the default
let _x4 = new Xtorage(undefined, true);
_x4.saveInFirstPosition('k', 1); // array length is 1
_x4.saveInFirstPosition('k', 1); // array length is still 1, unique is set to true
let _x5 = new Xtorage(undefined, false);
_x5.saveInFirstPosition('k', 1); // array length is 1
_x5.saveInFirstPosition('k', 1); // array length is 2, unique is set to false
let _x6 = new Xtorage();
_x6.saveInFirstPosition('k', 1); // array length is 1
_x6.saveInFirstPosition('k', 1); // array length is 2, unique, by default, is falsesave
save(key:string, info:any):void let _x = new Xtorage();
_x.save('k', {a: 1});
console.log(_x.get('k')); // {a: 1}saveInFirstPosition
saveInFirstPosition(key:string, info:any):void let _x = new Xtorage();
_x.saveInFirstPosition('k', {a: 1});
console.log(_x.get('k')); // [{a: 1}]
_x.saveInFirstPosition('k', {b: 2});
console.log(_x.get('k')); // [{b: 2}, {a: 1}]saveInLastPosition
saveInLastPosition(key:string, info:any):void let _x = new Xtorage();
_x.saveInLastPosition('k', {a: 1});
console.log(_x.get('k')); // [{a: 1}]
_x.saveInLastPosition('k', {b: 2});
console.log(_x.get('k')); // [{a: 1}, {b: 2}]get
get(key:string):any let _x = new Xtorage();
_x.save('k', [1, true, {a: 1}, [{c: 'abc'}]);
console.log(_x.get('k')); // [1, true, {a: 1}, [{c: 'abc'}]getFirst
getFirst(key:string):void let _x = new Xtorage();
_x.saveInLastPosition('k', {a: 1});
console.log(_x.getFirst('k')); // {a: 1}
_x.saveInLastPosition('k', {b: 2});
console.log(_x.get('k')); // {a: 1}getLast
getLast(key:string):void let _x = new Xtorage();
_x.saveInLastPosition('k', {a: 1});
console.log(_x.getFirst('k')); // {a: 1}
_x.saveInLastPosition('k', {b: 2});
console.log(_x.get('k')); // {b: 2}remove
remove(key:string):void let _x = new Xtorage();
_x.save('k', {a: 1});
console.log(_x.getFirst('k')); // {a: 1}
_x.remove('k');
console.log(_x.get('k')); // undefinedremoveAll
removeAll():void let _x = new Xtorage();
_x.save('k', {a: 1});
_x.save('y', [{somethingElse: true}]);
console.log(_x.get('k')); // {a: 1}
console.log(_x.get('y')); // [{somethingElse: true}]
_x.removeAll();
console.log(_x.get('k')); // undefined
console.log(_x.get('y')); // undefinedremoveFirst
removeFirst(key:string):void let _x = new Xtorage();
_x.saveInFirstPosition('k', {a: 1});
_x.saveInLastPosition('k', {b: 2});
console.log(_x.get('k')); // [{a: 1}, {b: 2}]
_x.removeFirst('k');
console.log(_x.get('k')); // [{b: 2}]removeLast
removeLast(key:string):void let _x = new Xtorage();
_x.saveInFirstPosition('k', {a: 1});
_x.saveInLastPosition('k', {b: 2});
console.log(_x.get('k')); // [{a: 1}, {b: 2}]
_x.removeLast('k');
console.log(_x.get('k')); // [{a: 1}]