| PHOTO | NAME | RESOURCE NAME | EMAILS | PHONE NUMBERS | ORGANIZATIONS | ADDRESSES | BIRTHDAYS | BIOGRAPHIES | AGE RANGES | CALENDAR URLS | EVENTS | GENDERS | IM CLIENTS | INTERESTS | NICKNAMES | OCCUPATIONS | RELATIONS | SKILLS | URLS | LOCALES | ETAG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{derive(contact, (contact) => {
const primaryPhoto = contact?.photos?.find((p) =>
p.metadata?.primary
) || contact?.photos?.[0];
return primaryPhoto?.url
? (
{contact.displayName?.[0] || "?"}
);
})}
|
{contact.displayName || "(No display name)"}
{derive(contact, (contact) => {
const parts = [];
if (contact.givenName) {
parts.push(`Given: ${contact.givenName}`);
}
if (contact.middleName) {
parts.push(`Middle: ${contact.middleName}`);
}
if (contact.familyName) {
parts.push(`Family: ${contact.familyName}`);
}
return parts.length > 0
? (
{parts.map((part, idx) => (
)
: null;
})}
{part}
))}
|
{contact.resourceName} |
{derive(contact, (contact) =>
contact?.emails?.length > 0
? (
contact.emails.map((email, idx) => (
{email.value}
{(email.type || email.formattedType) && (
{email.formattedType || email.type}
)}
|
{derive(contact, (contact) =>
contact?.phoneNumbers?.length > 0
? (
contact.phoneNumbers.map((phone, idx) => (
{phone.value}
{(phone.type || phone.formattedType) && (
{phone.formattedType || phone.type}
)}
{phone.canonicalForm &&
phone.canonicalForm !== phone.value && (
Canonical: {phone.canonicalForm}
)}
|
{derive(contact, (contact) =>
contact?.organizations?.length > 0
? (
contact.organizations.map((org, idx) => (
{org.name && (
))
)
: (
No organizations
))}
{org.name}
)}
{org.title && (
{org.title}
)}
{org.department && (
Dept: {org.department}
)}
{(org.type || org.formattedType) && (
{org.formattedType || org.type}
)}
|
{derive(contact, (contact) =>
contact?.addresses?.length > 0
? (
contact.addresses.map((addr, idx) => (
{addr.formattedValue && (
))
)
: No addresses)}
{addr.formattedValue}
)}
{addr.streetAddress && (
{(addr.type || addr.formattedType) && (
Street: {addr.streetAddress}
)}
{addr.city && City: {addr.city} }
{addr.region && (
Region: {addr.region}
)}
{addr.postalCode && (
Postal: {addr.postalCode}
)}
{addr.country && (
Country: {addr.country}
)}
{addr.countryCode && (
Code: {addr.countryCode}
)}
{addr.formattedType || addr.type}
)}
|
{derive(contact, (contact) =>
contact?.birthdays?.length > 0
? (
contact.birthdays.map((birthday, idx) => (
{birthday.text ||
(birthday.date && (
))
)
: No birthdays)}
{birthday.date.month ||
"?"}/{birthday.date.day || "?"}
{birthday.date.year &&
`/${birthday.date.year}`}
)) ||
No date}
|
{derive(contact, (contact) =>
contact?.biographies?.length > 0
? (
contact.biographies.map((bio, idx) => (
{bio.value}
{bio.contentType && (
Type: {bio.contentType}
)}
|
{derive(contact, (contact) =>
contact?.ageRanges?.length > 0
? (
contact.ageRanges.map((age, idx) => (
{age.ageRange}
))
)
: No age ranges)}
|
{derive(contact, (contact) => contact?.calendarUrls?.length > 0 ? ( contact.calendarUrls.map((cal, idx) => ( )) ) : ( No calendar URLs ))} |
{derive(contact, (contact) =>
contact?.events?.length > 0
? (
contact.events.map((event, idx) => (
{event.formattedType || event.type}
{event.date && (
{event.date.month || "?"}/
{event.date.day || "?"}
{event.date.year && `/${event.date.year}`}
)}
|
{derive(contact, (contact) =>
contact?.genders?.length > 0
? (
contact.genders.map((gender, idx) => (
{gender.formattedValue || gender.value}
{gender.addressMeAs && (
))
)
: No gender info)}
Address as: {gender.addressMeAs}
)}
|
{derive(contact, (contact) =>
contact?.imClients?.length > 0
? (
contact.imClients.map((im, idx) => (
{im.username}
{im.formattedProtocol || im.protocol}
{im.formattedType &&
` - ${im.formattedType}`}
|
{derive(contact, (contact) =>
contact?.interests?.length > 0
? (
contact.interests.map((interest, idx) => (
{interest.value}
))
)
: No interests)}
|
{derive(contact, (contact) =>
contact?.nicknames?.length > 0
? (
contact.nicknames.map((nickname, idx) => (
{nickname.value}
{nickname.type && (
{` (${nickname.type})`}
)}
))
)
: No nicknames)}
|
{derive(contact, (contact) =>
contact?.occupations?.length > 0
? (
contact.occupations.map((occupation, idx) => (
{occupation.value}
))
)
: No occupations)}
|
{derive(contact, (contact) =>
contact?.relations?.length > 0
? (
contact.relations.map((relation, idx) => (
{relation.person}
{relation.formattedType || relation.type}
|
{derive(contact, (contact) =>
contact?.skills?.length > 0
? (
contact.skills.map((skill, idx) => (
{skill.value}
))
)
: No skills)}
|
{derive(contact, (contact) => contact?.urls?.length > 0 ? ( contact.urls.map((url, idx) => ( )) ) : No URLs)} |
{derive(contact, (contact) =>
contact?.locales?.length > 0
? (
contact.locales.map((locale, idx) => (
{locale.value}
))
)
: No locales)}
|
{contact.etag || "(No etag)"} |