157 def _writeEventGetters(self, output_file):
158 for interface, events in self._all_event_getters.items():
159 isElement = self._isElement(interface)
160 interface_name = interface.doc_js_name
161 if interface_name in _deprecated_event_interfaces:
162 continue
163 interface_name = self._renamer.RenameInterface(interface)
164 interface_prefix = ('html' if interface_name not in _non_html_types
165 else _non_html_types[interface_name])
166 output_file.write("""
167
168/// Additional Event getters for [%s].
169extension %sEventGetters on %s.%s {
170""" % (interface_name, interface_name, interface_prefix, interface_name))
171 for getter_name, info in sorted(events.items()):
172 (annotations, event_type, provider) = info
173 if event_type in _deprecated_event_types:
174 continue
175 event_prefix = ('html' if event_type not in _non_html_types else
176 _non_html_types[event_type])
177 output_file.write("""
178%s
179%sStream<%s.%s> get %s => EventStreamProviders.%s.%s(this);
180""" % (annotations, 'Element' if isElement else '', event_prefix, event_type,
181 getter_name, provider, 'forElement' if isElement else 'forTarget'))
182 output_file.write("""\n}\n""")