1 | declare namespace tinyapp {
|
2 | |
3 |
|
4 |
|
5 | interface IBaseEvent {
|
6 | readonly type: string;
|
7 | readonly timeStamp: number;
|
8 | readonly target: {
|
9 | readonly tagName: string;
|
10 | readonly dataset: Readonly<Record<string, any>>;
|
11 | readonly targetDataset: Readonly<Record<string, any>>;
|
12 | readonly offsetLeft: number;
|
13 | readonly offsetTop: number;
|
14 | };
|
15 | readonly currentTarget: {
|
16 | readonly tagName: string;
|
17 | readonly dataset: Readonly<Record<string, any>>;
|
18 | readonly offsetLeft: number;
|
19 | readonly offsetTop: number;
|
20 | };
|
21 | }
|
22 |
|
23 | interface ICustomEvent extends IBaseEvent {
|
24 | |
25 |
|
26 |
|
27 |
|
28 | readonly detail: Readonly<Record<string, any>>;
|
29 | }
|
30 |
|
31 | interface ITouch {
|
32 | readonly identifier: number;
|
33 | readonly pageX: number;
|
34 | readonly pageY: number;
|
35 | readonly clientX: number;
|
36 | readonly clientY: number;
|
37 | }
|
38 |
|
39 | interface ICanvasTouch {
|
40 | readonly identifier: number;
|
41 | readonly x: number;
|
42 | readonly y: number;
|
43 | }
|
44 |
|
45 | interface ITouchEvent extends IBaseEvent {
|
46 | readonly touches: ReadonlyArray<ITouch | ICanvasTouch>;
|
47 | readonly changedTouches: ReadonlyArray<ITouch | ICanvasTouch>;
|
48 | }
|
49 | }
|