fromJson static method

GuideAction fromJson(
  1. Map<String, dynamic> json
)

Implementation

static GuideAction fromJson(Map<String, dynamic> json) {
  final legacyType = _normalizedLegacyActionType(
    optString(json, 'type', 'dismiss'),
  );
  final url = _optStringOrNull(json, 'url');
  final onClick = optMap(json, 'onClick');
  final actions = onClick != null
      ? const EngageActionParser().parse(onClick)
      : _legacyEngageActions(legacyType, url);
  return GuideAction(
    label: optString(json, 'label'),
    style: _styleFrom(optString(json, 'style', 'primary')),
    actions: actions,
    analyticsType: actions.isEmpty ? legacyType : actions.first.analyticsType,
  );
}