@planet/user-store
Advanced tools
Comparing version 1.0.0 to 2.0.0
@@ -1,8 +0,9 @@ | ||
var key = '@planet/user-store#1'; | ||
var key = '@planet/user-store#2'; | ||
var User = require('./user'); | ||
exports.get = function() { | ||
var user = null | ||
var user = null; | ||
var value = localStorage.getItem(key); | ||
if (value) { | ||
user = JSON.parse(value); | ||
user = User.deserialize(value); | ||
} | ||
@@ -14,3 +15,3 @@ return user; | ||
if (user) { | ||
localStorage.setItem(key, JSON.stringify(user)); | ||
localStorage.setItem(key, User.serialize(user)); | ||
} else { | ||
@@ -17,0 +18,0 @@ localStorage.removeItem(key); |
{ | ||
"name": "@planet/user-store", | ||
"version": "1.0.0", | ||
"version": "2.0.0", | ||
"description": "Simple event emitting store for Planet users", | ||
@@ -15,3 +15,3 @@ "license": "Apache-2.0", | ||
"scripts": { | ||
"pretest": "eslint lib", | ||
"pretest": "eslint lib test", | ||
"test": "lab -t 100 test", | ||
@@ -25,7 +25,7 @@ "test-debug": "node-debug lab test", | ||
"devDependencies": { | ||
"code": "^2.2.0", | ||
"eslint": "^2.8.0", | ||
"eslint-config-planet": "^5.0.0", | ||
"lab": "^10.3.1", | ||
"sinon": "^1.17.3", | ||
"code": "^3.0.2", | ||
"eslint": "^3.2.2", | ||
"eslint-config-planet": "^9.0.0", | ||
"lab": "^10.9.0", | ||
"sinon": "^1.17.5", | ||
"watchy": "^0.6.6" | ||
@@ -32,0 +32,0 @@ }, |
@@ -10,3 +10,3 @@ # User Store | ||
var store = require('@planet/user-store'); | ||
var user = {email: 'test@example.com'}; | ||
var user = {token: 'raw token'}; | ||
@@ -43,3 +43,3 @@ store.set(user); | ||
Store a user in `localStorage`. The user must be serializable as JSON. Calls to `set()` trigger an `update` event. Call with `null` to clear the stored user. | ||
Store a user in `localStorage`. The user must be serializable as JSON. Calls to `set()` trigger an `update` event. Call with `null` to clear the stored user. Note that as of version 2, the user object can only contain a string `token` property. This may change in future major versions. | ||
@@ -46,0 +46,0 @@ ### `store.on('update', callback [, thisObj])` |
@@ -16,5 +16,6 @@ var api = require('../../lib/index'); | ||
lab.test('stores a user object', function(done) { | ||
var user = {email: 'test@example.com'}; | ||
var user = {token: 'raw token'}; | ||
api.set(user); | ||
expect(api.get()).to.deep.equal(user); | ||
expect(api.get()).to.equal(user); | ||
@@ -27,10 +28,16 @@ api.once('update', function() { | ||
lab.test('clears the store if null is provided', function(done) { | ||
var user = {email: 'test@example.com'}; | ||
var user = {token: 'raw token'}; | ||
api.set(user); | ||
expect(api.get()).to.deep.equal(user); | ||
expect(api.get()).to.equal(user); | ||
api.set(null); | ||
expect(api.get()).to.be.null(); | ||
api.once('update', function() { | ||
done(); | ||
var calls = 0; | ||
api.on('update', function() { | ||
++calls; | ||
if (calls === 2) { | ||
done(); | ||
} | ||
}); | ||
@@ -40,3 +47,3 @@ }); | ||
lab.test('triggers an asynchronous update event', function(done) { | ||
var user = {email: 'test@example.com'}; | ||
var user = {token: 'raw token'}; | ||
@@ -49,3 +56,3 @@ var callback = sinon.spy(); | ||
api.set(user); | ||
expect(api.get()).to.deep.equal(user); | ||
expect(api.get()).to.equal(user); | ||
@@ -56,3 +63,3 @@ expect(callback.callCount).to.equal(0); | ||
expect(callback.callCount).to.equal(1); | ||
expect(callback.getCall(0).args).to.deep.equal([user]); | ||
expect(callback.getCall(0).args).to.equal([user]); | ||
done(); | ||
@@ -59,0 +66,0 @@ }, 10); |
@@ -46,3 +46,3 @@ var Emitter = require('tiny-emitter'); | ||
var manager = new Manager(store); | ||
expect(manager.get()).to.deep.equal({email: 'test@example.com'}); | ||
expect(manager.get()).to.equal({email: 'test@example.com'}); | ||
done(); | ||
@@ -74,5 +74,5 @@ }); | ||
expect(callback.callCount).to.equal(1); | ||
expect(callback.getCall(0).args).to.deep.equal([user]); | ||
expect(callback.getCall(0).args).to.equal([user]); | ||
done(); | ||
}, 10) | ||
}, 10); | ||
}); | ||
@@ -79,0 +79,0 @@ |
@@ -15,5 +15,5 @@ var expect = require('code').expect; | ||
lab.test('stores an object', function(done) { | ||
var user = {email: 'test@example.com'}; | ||
var user = {token: 'raw token'}; | ||
store.set(user); | ||
expect(store.get()).to.deep.equal(user); | ||
expect(store.get()).to.equal(user); | ||
done(); | ||
@@ -23,5 +23,5 @@ }); | ||
lab.test('clears the store if null is provided', function(done) { | ||
var user = {email: 'test@example.com'}; | ||
var user = {token: 'raw token'}; | ||
store.set(user); | ||
expect(store.get()).to.deep.equal(user); | ||
expect(store.get()).to.equal(user); | ||
store.set(null); | ||
@@ -37,5 +37,5 @@ expect(store.get()).to.be.null(); | ||
lab.test('gets a previously stored object', function(done) { | ||
var user = {}; | ||
var user = {token: 'raw token'}; | ||
store.set(user); | ||
expect(store.get()).to.deep.equal(user); | ||
expect(store.get()).to.equal(user); | ||
done(); | ||
@@ -42,0 +42,0 @@ }); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
10774
13
261