| class Contact { |
| constructor(uri) { |
| this.uri = uri |
| this.displayName = undefined |
| this.registeredName = undefined |
| } |
| |
| static from(object) { |
| const contact = new Contact(object.uri) |
| if (object.registeredName) |
| contact.setRegisteredName(object.registeredName) |
| return contact |
| } |
| |
| getUri() { return this.uri } |
| |
| getRegisteredName() { return this.registeredName } |
| |
| setRegisteredName(name) { this.registeredName = name } |
| |
| isRegisteredNameResolved() { |
| return this.registeredName !== undefined |
| } |
| |
| getDisplayName() { |
| return this.getDisplayNameNoFallback() || this.getUri() |
| } |
| |
| getDisplayNameNoFallback() { |
| return this.displayName || this.getRegisteredName() |
| } |
| |
| async getObject() { |
| return { |
| uri: this.uri, |
| registeredName: await this.registeredName |
| } |
| } |
| } |
| |
| export default Contact |