findFor method
Implementation
EmbeddingBackendProvider? findFor(EmbeddingModelSpec spec) {
final matches = _registered.where((b) => b.canHandle(spec)).toList();
if (matches.isEmpty) return null;
final indexed = [for (var i = 0; i < matches.length; i++) (i, matches[i])];
indexed.sort((a, b) {
final byPriority = b.$2.priority.compareTo(a.$2.priority);
return byPriority != 0 ? byPriority : a.$1.compareTo(b.$1);
});
if (kDebugMode &&
indexed.length > 1 &&
indexed[0].$2.priority == indexed[1].$2.priority) {
gemmaLog(
'[flutter_gemma] Ambiguous embedding backend: '
'${indexed.map((e) => e.$2.name).join(", ")} all handle this spec at '
'priority ${indexed[0].$2.priority}; using "${indexed[0].$2.name}".',
);
}
return indexed.first.$2;
}