mergeExtensions static method

List<BindingStyleExtension> mergeExtensions(
  1. dynamic a,
  2. dynamic b
)

Implementation

static List<BindingStyleExtension> mergeExtensions(dynamic a, dynamic b) {
  final merged = List<BindingStyleExtension>.from(a as List<BindingStyleExtension>);
  for (var extension in (b as List<BindingStyleExtension>)) {
    final index = merged.indexWhere((e) => e.runtimeType == extension.runtimeType);
    if (index == -1) {
      merged.add(extension);
    } else {
      merged[index] = (extension as Mergeable).merge(merged[index] as Mergeable);
    }
  }
  return merged;
}