(value: unknown)
| 97 | } |
| 98 | |
| 99 | export function mapCampaign(value: unknown): InstantlyCampaign { |
| 100 | const campaign = asRecord(value) |
| 101 | |
| 102 | return { |
| 103 | id: asString(campaign.id), |
| 104 | name: asString(campaign.name), |
| 105 | pl_value: asNumber(campaign.pl_value), |
| 106 | status: asNumber(campaign.status), |
| 107 | is_evergreen: asBoolean(campaign.is_evergreen), |
| 108 | timestamp_created: asString(campaign.timestamp_created), |
| 109 | timestamp_updated: asString(campaign.timestamp_updated), |
| 110 | email_gap: asNumber(campaign.email_gap), |
| 111 | daily_limit: asNumber(campaign.daily_limit), |
| 112 | daily_max_leads: asNumber(campaign.daily_max_leads), |
| 113 | open_tracking: asBoolean(campaign.open_tracking), |
| 114 | stop_on_reply: asBoolean(campaign.stop_on_reply), |
| 115 | sequences: Array.isArray(campaign.sequences) ? campaign.sequences : [], |
| 116 | campaign_schedule: isRecordLike(campaign.campaign_schedule) ? campaign.campaign_schedule : null, |
| 117 | } |
| 118 | } |
| 119 | |
| 120 | export function mapEmail(value: unknown): InstantlyEmail { |
| 121 | const email = asRecord(value) |
no test coverage detected