fromJson static method

EasyAttributeStyles fromJson(
  1. Map<String, dynamic>? attributes, {
  2. EasyAttribute<Object?>? onUnknownAttribute(
    1. String,
    2. dynamic
    )?,
})

Implementation

static EasyAttributeStyles fromJson(
  Map<String, dynamic>? attributes, {
  EasyAttribute? Function(String, dynamic)? onUnknownAttribute,
}) {
  if (attributes == null) {
    return EasyAttributeStyles.empty();
  }

  final Map<String, EasyAttribute> result =
      attributes.map<String, EasyAttribute>((
    String key,
    dynamic value,
  ) {
    final EasyAttribute<Object?> attr =
        EasyAttribute.fromKeyValue(key, value) ??
            onUnknownAttribute?.call(key, value) ??
            EasyAttribute.alternativeNames[key]?.clone(value) ??
            EasyAttribute.alternativeNames[value] ??
            UnknownAttribute(
              value: value,
              key: key,
            );
    return MapEntry<String, EasyAttribute>(
      key,
      attr,
    );
  });
  return EasyAttributeStyles(attributes: result);
}