|
|
@@ -1,5 +1,5 @@
|
|
|
-import { ContactItem } from "./contact-item";
|
|
|
import { ContactAddress } from "./contact-address";
|
|
|
+import { ContactItem } from "./contact-item";
|
|
|
|
|
|
export class ContactBook {
|
|
|
|
|
|
@@ -41,6 +41,15 @@ export class ContactBook {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ public getAllGroups(): string[] {
|
|
|
+ return Object.keys(this.items.reduce((accum, contact) => {
|
|
|
+ for (const group of contact.groups) {
|
|
|
+ accum[group] = true;
|
|
|
+ }
|
|
|
+ return accum;
|
|
|
+ }, {}));
|
|
|
+ }
|
|
|
+
|
|
|
public lookupByAddress(addressType: string, addressValue: string): ContactItem | undefined {
|
|
|
return this.items.find(item => item.matchesAddressExactly(addressType, addressValue));
|
|
|
}
|