Skip to content

Instantly share code, notes, and snippets.

@mildfuzz
Created June 16, 2015 08:48
Show Gist options
  • Select an option

  • Save mildfuzz/b625f79dba79ad7ec7c5 to your computer and use it in GitHub Desktop.

Select an option

Save mildfuzz/b625f79dba79ad7ec7c5 to your computer and use it in GitHub Desktop.
authstore
define(['EventEmitter'], function(EventEmitter) {
var AuthStore = new EventEmitter(),
newMemberEvent = 'newMemberEvent',
clearMemberEvent = 'clearMemberEvent',
store = {};
AuthStore.setMember = function(member) {
store.member = member;
this.emit(newMemberEvent);
};
AuthStore.getToken = function() {
return localStorage.getItem('jwt-token');
};
AuthStore.getMember = function() {
return store.member;
};
AuthStore.clearMember = function() {
localStorage.removeItem('jwt-token');
store.member = null;
this.emit(clearMemberEvent);
};
AuthStore.addNewMemberListener = function(cb) {
this.on(newMemberEvent, cb);
};
AuthStore.removeNewMemberListener = function(cb) {
this.removeListener(newMemberEvent, cb);
};
AuthStore.addClearMemberListener = function(cb) {
this.on(clearMemberEvent, cb);
};
AuthStore.removeClearMemberListener = function(cb) {
this.removeListener(clearMemberEvent, cb);
};
return AuthStore;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment