All I needed to do was to use the types defined specifically for DOM access that is available in Typescript.
Sign in

TypeScript Version: 3.8.0-dev.20191210 Search Terms: uievent, MouseEvent, PointerEvent, MSGestureEvent, event.layerX, event.screenX, event.pageX, Code

Element, Document, and Window are the most common event targets, but other objects can be event targets, too. Requires a vendor prefix or different name for use. In my view, this is a problem and I have provided steps to reproduce the problem. Sign in to enjoy the benefits of an MDN account. The PointerEvent interface has several event types.

Typically, this is determined by considering the pointer's location and also the visual layout of elements in a document on screen media.
Instead, e.stopPropagation() or e.preventDefault() should be triggered manually, as appropriate. - microsoft/TypeScript Have a question about this project?

As a counter-example, MDN doesn't say MSGestureEvent is on a standards track either, and yet that appears in lib.dom.d.ts: https://github.com/microsoft/TypeScript/blob/master/lib/lib.dom.d.ts#L10041. https://github.com/mdn/browser-compat-data. Just for completeness: compositionstart is also being missed (can be found on https://www.w3.org/TR/uievents/). I would assume that this is due to the fact that they are generated by microsoft/TSJS-lib-generator which in turn uses "JSON webidl file generated by the Microsoft Edge browser". might require more work to exclude them than leave as is). I didn't think this was an oversight because the Event class is so important in Javascript, but I was surprised that I couldn't find any documentation or issue acknowledging these missing properties. You signed in with another tab or window. Event and subclasses in lib.dom.d.ts are missing several standard properties. The newsletter is offered in English only at the moment.

A pointer's hit test is the process a browser uses to determine the target element for a pointer event. To determine which event fired, look at the event's type property. Sign in to enjoy the benefits of an MDN account. This means that the SyntheticEvent object will be reused and all properties will be nullified after the event callback has been invoked. If you're still waiting on a response, questions are usually better suited to stackoverflow.

Notice that TypeScript not only knows that pet is a Fish in the if branch; it also knows that in the else branch, you don’t have a Fish, so you must have a Bird..

Seeing the above interface, and knowing we only want to add type to the ordered list element, we can write the definition declared above.