-
Notifications
You must be signed in to change notification settings - Fork 16
/
docs.mli
52 lines (42 loc) · 1.27 KB
/
docs.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
type ProxyEvent := DOMEvent & {
_rawEvent: DOMEvent,
currentTarget: DOMNode,
preventDefault: () => void,
startPropagation: () => void
}
type Handle<T> : {
type: "dom-delegator-handle"
}
type EventHandler := Function<ProxyEvent> | {
handleEvent: Function<ProxyEvent>
} | Handle<ProxyEvent>
type Delegator := {
target: DOMNode,
listenTo: (eventName: String) => void,
unlistenTo: (eventName: String) => void,
addEventListener: (DOMNode, String, EventHandler) => void,
removeEventListener: (DOMNode, String, EventHandler) => void,
addGlobalEventListener: (String, EventHandler) => void,
removeGlobalEventListener: (String, EventHandler) => void
allocateHandle : (fn: (T) => void) => Handle<T>,
transformHandle : (
handle: Handle<S <: Object>,
lambda: (T, broadcast: (S) => void) => void
) => Handle<T>
}
dom-delegator := (opts?: {
defaultEvents?: Boolean,
document?: Document
}) => Delegator
dom-delegator/dom-delegator := (doc?: Document) => Delegator
dom-delegator/add-event := (
target: DOMNode,
type: String,
fn: EventHandler
) => void
dom-delegator/proxy-event := (DOMEvent) => ProxyEvent
dom-delegator/remove-event := (
target: DOMNode,
type: String,
fn: EventHandler
) => void