Iterable<Script> search(String query) sync* { final results = this.query(query); for (final (hasMatch, script) in results) { if (!hasMatch) continue; yield script; } }