48 lines
1009 B
JavaScript
48 lines
1009 B
JavaScript
/* eslint-disable no-underscore-dangle */
|
|
class UserInfo {
|
|
/**
|
|
* Creates a new user profile information.
|
|
*
|
|
* @param {string|null} displayName Display name.
|
|
* @param {string|null} email Email.
|
|
* @param {string} providerId Auth provider ID.
|
|
* @param {string} uid The user's unique ID.
|
|
*/
|
|
constructor(displayName, email, providerId, uid) {
|
|
if (!uid) {
|
|
throw new Error('uid must be provided.');
|
|
} else if (typeof uid !== 'string') {
|
|
throw new Error('uid should be a string.');
|
|
} else {
|
|
this._uid = uid;
|
|
}
|
|
|
|
if (typeof providerId !== 'string') {
|
|
throw new Error('providerId should be a string.');
|
|
} else {
|
|
this._providerId = providerId;
|
|
}
|
|
|
|
this._displayName = displayName;
|
|
this._email = email;
|
|
}
|
|
|
|
get displayName() {
|
|
return this._displayName;
|
|
}
|
|
|
|
get email() {
|
|
return this._email;
|
|
}
|
|
|
|
get providerId() {
|
|
return this._providerId;
|
|
}
|
|
|
|
get uid() {
|
|
return this._uid;
|
|
}
|
|
}
|
|
|
|
export default UserInfo;
|