FFXLinkCampaign.fromJson constructor
A campaign from its own field names or utm_* keys; blanks trimmed
away, the own name winning when both are present.
Implementation
factory FFXLinkCampaign.fromJson(Map<String, Object?> json) {
String read(String field) {
final own = json[field];
if (own != null && '$own'.trim().isNotEmpty) return '$own'.trim();
final utm = json[_utmKeys[field]];
return utm == null ? '' : '$utm'.trim();
}
return FFXLinkCampaign(
source: read('source'),
medium: read('medium'),
name: read('name'),
term: read('term'),
content: read('content'),
);
}