INNER CODE UNIT · TypeScript

text

rowboatlabs/rowboat · apps/harbor/packages/server/src/connectors/attio/index.ts:86

  const text = (key: string) => typeof v[key] === 'string' ? v[key] as string : undefined;
  const title = (key: string) => {
    const nested = v[key];
    if (nested && typeof nested === 'object' && 'title' in nested && typeof nested.title === 'string') return nested.title;
    return undefined;
  };
  switch (v.attribute_type) {
    case 'text': case 'date': case 'timestamp': return text('value');
    case 'number': case 'rating': return typeof v.value === 'number' && Number.isFinite(v.value) ? String(v.value) : undefined;
    case 'checkbox': return typeof v.value === 'boolean' ? (v.value ? 'Yes' : 'No') : undefined;
    case 'domain': return text('domain');
    case 'email-address': return text('email_address');
    case 'personal-name': return text('full_name') || [text('first_name'), text('last_name')].filter(Boolean).join(' ');
    case 'select': return title('option');
    case 'status': return title('status');
    case 'currency': {
      const amount = v.currency_value;
      if (text('currency_code') && ((typeof amount === 'number' && Number.isFinite(amount)) ||

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…