removeDuplicates<T> function
List<T>
removeDuplicates<
T>( - List<T> items
)
Implementation
List<T> removeDuplicates<T>(List<T> items) {
var res = <T>[];
for (var item in items) {
var hasMatch = res.where((r) {
if (r is CompilePipeMetadata) {
CompilePipeMetadata rMeta = r;
var itemMeta = item as CompilePipeMetadata;
return rMeta.type.name == itemMeta.type.name &&
rMeta.type.moduleUrl == itemMeta.type.moduleUrl;
} else if (r is CompileDirectiveMetadata) {
CompileDirectiveMetadata rMeta = r;
var itemMeta = item as CompileDirectiveMetadata;
return rMeta.type.name == itemMeta.type.name &&
rMeta.type.moduleUrl == itemMeta.type.moduleUrl;
} else {
throw ArgumentError();
}
}).isNotEmpty;
if (!hasMatch) {
res.add(item);
}
}
return res;
}