generator: drop pkg:collection dep (#361)

diff --git a/web/lib/src/helpers/events/streams.dart b/web/lib/src/helpers/events/streams.dart
index 060ea48..03ca36b 100644
--- a/web/lib/src/helpers/events/streams.dart
+++ b/web/lib/src/helpers/events/streams.dart
@@ -127,8 +127,7 @@
   @override
   StreamSubscription<T> listen(void Function(T)? onData,
           {Function? onError, void Function()? onDone, bool? cancelOnError}) =>
-      _EventStreamSubscription<T>(
-          this._target, this._eventType, onData, this._useCapture);
+      _EventStreamSubscription<T>(_target, _eventType, onData, _useCapture);
 }
 
 /// Adapter for exposing DOM Element events as streams
diff --git a/web_generator/lib/src/doc_provider.dart b/web_generator/lib/src/doc_provider.dart
index 05df73f..2743c17 100644
--- a/web_generator/lib/src/doc_provider.dart
+++ b/web_generator/lib/src/doc_provider.dart
@@ -5,7 +5,6 @@
 import 'dart:convert';
 import 'dart:js_interop';
 
-import 'package:collection/collection.dart';
 import 'package:path/path.dart' as p;
 
 import 'filesystem_api.dart';
@@ -32,7 +31,7 @@
   }
 
   MdnInterface? interfaceFor(String name) =>
-      interfaces.firstWhereOrNull((p) => p.name == name);
+      interfaces.where((p) => p.name == name).firstOrNull;
 }
 
 class MdnInterface {
@@ -71,7 +70,7 @@
   MdnProperty? propertyFor(String name, {required bool isStatic}) {
     name = name.toLowerCase();
     if (isStatic) name = '${name}_static';
-    return properties.firstWhereOrNull((p) => p.name == name);
+    return properties.where((p) => p.name == name).firstOrNull;
   }
 }
 
diff --git a/web_generator/lib/src/translator.dart b/web_generator/lib/src/translator.dart
index 5cd7120..2321a2c 100644
--- a/web_generator/lib/src/translator.dart
+++ b/web_generator/lib/src/translator.dart
@@ -5,7 +5,6 @@
 import 'dart:js_interop';
 
 import 'package:code_builder/code_builder.dart' as code;
-import 'package:collection/collection.dart';
 import 'package:path/path.dart' as p;
 
 import 'banned_names.dart';
@@ -1279,9 +1278,10 @@
     final jsObject = _typeReference(_RawType('JSObject', false));
     const representationFieldName = '_';
     final legacyNameSpace = extendedAttributes
-        .firstWhereOrNull(
+        .where(
           (extendedAttribute) => extendedAttribute.name == 'LegacyNamespace',
         )
+        .firstOrNull
         ?.rhs
         .value;
     final instancePropertyMethods = <code.Method>[];
diff --git a/web_generator/pubspec.yaml b/web_generator/pubspec.yaml
index eaaafd7..1e43459 100644
--- a/web_generator/pubspec.yaml
+++ b/web_generator/pubspec.yaml
@@ -13,7 +13,6 @@
   build_runner: ^2.4.6
   build_web_compilers: ^4.0.8
   code_builder: ^4.10.0
-  collection: ^1.18.0
   dart_flutter_team_lints: ^3.0.0
   dart_style: ^3.0.0
   io: ^1.0.4