GrovsLinkDetails.fromMap constructor
GrovsLinkDetails.fromMap(
- Map map
Implementation
factory GrovsLinkDetails.fromMap(Map<dynamic, dynamic> map) {
final raw = _stringKeyed(map);
final source = _string(raw['tracking_source']);
final medium = _string(raw['tracking_medium']);
final campaign = _string(raw['tracking_campaign']);
final ios = CustomLinkRedirect.fromMap(raw['ios_custom_redirect']);
final android = CustomLinkRedirect.fromMap(raw['android_custom_redirect']);
final desktop = CustomLinkRedirect.fromMap(raw['desktop_custom_redirect']);
final tags = raw['tags'];
final updatedAt = _string(raw['updated_at']);
final data = raw['data'];
return GrovsLinkDetails(
id: _int(raw['id']),
name: _string(raw['name']),
path: _string(raw['path']),
title: _string(raw['title']),
subtitle: _string(raw['subtitle']),
image: _string(raw['image']),
accessPath: _string(raw['access_path']),
active: _bool(raw['active']),
sdkGenerated: _bool(raw['sdk_generated']),
data: data is Map<String, dynamic> ? data : null,
tags: tags is List ? tags.whereType<String>().toList() : null,
updatedAt: updatedAt == null ? null : DateTime.tryParse(updatedAt),
showPreviewIos: _bool(raw['show_preview_ios']),
showPreviewAndroid: _bool(raw['show_preview_android']),
generatedFromPlatform: _string(raw['generated_from_platform']),
adsPlatform: _string(raw['ads_platform']),
campaignId: _int(raw['campaign_id']),
tracking: source == null && medium == null && campaign == null
? null
: TrackingParams(
utmSource: source,
utmMedium: medium,
utmCampaign: campaign,
),
customRedirects: ios == null && android == null && desktop == null
? null
: CustomRedirects(ios: ios, android: android, desktop: desktop),
raw: raw,
);
}