| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- let callbacks = [];
 
- let bannedCallbacks = [];
 
- export default {
 
- 	ready: false,
 
- 	authenticated: false,
 
- 	username: '',
 
- 	userId: '',
 
- 	role: 'default',
 
- 	banned: null,
 
- 	ban: {},
 
- 	getStatus: function (cb) {
 
- 		if (this.ready) cb(this.authenticated, this.role, this.username, this.userId);
 
- 		else callbacks.push(cb);
 
- 	},
 
- 	setBanned: function (ban) {
 
- 		let _this = this;
 
- 		_this.banned = true;
 
- 		_this.ban = ban;
 
- 		bannedCallbacks.forEach(callback => {
 
- 			callback(true, _this.ban);
 
- 		});
 
- 	},
 
- 	isBanned: function (cb) {
 
- 		if (this.ready) return cb(false);
 
- 		if (!this.ready && this.banned === true) return cb(true, this.ban);
 
- 		bannedCallbacks.push(cb);
 
- 	},
 
- 	data: function (authenticated, role, username, userId) {
 
- 		this.authenticated = authenticated;
 
- 		this.role = role;
 
- 		this.username = username;
 
- 		this.userId = userId;
 
- 		this.ready = true;
 
- 		callbacks.forEach(callback => {
 
- 			callback(authenticated, role, username, userId);
 
- 		});
 
- 		bannedCallbacks.forEach(callback => {
 
- 			callback(false);
 
- 		});
 
- 		callbacks = [];
 
- 	}
 
- }
 
 
  |