@@ -243,6 +243,12 @@ let EmitEnums () =
243
243
let emitEnum ( e : Browser.Enum ) = Pt.printl " declare var %s : string;" e.Name
244
244
browser.Enums |> Array.iter emitEnum
245
245
246
+ let EmitEventHandlerThis flavor ( prefix : string ) =
247
+ if prefix = " " then " this: this, "
248
+ else match GetGlobalPollutor flavor with
249
+ | Some pollutor -> " this: " + pollutor.Name + " , "
250
+ | _ -> " "
251
+
246
252
let EmitProperties flavor prefix ( emitScope : EmitScope ) ( i : Browser.Interface )=
247
253
let emitPropertyFromJson ( p : ItemsType.Root ) =
248
254
let readOnlyModifier =
@@ -271,7 +277,7 @@ let EmitProperties flavor prefix (emitScope: EmitScope) (i: Browser.Interface)=
271
277
getEventTypeInInterface p.EventHandler.Value i.Name
272
278
else
273
279
" Event"
274
- String.Format( " (ev: {0 }) => any" , eType)
280
+ String.Format( " ({0} ev: {1 }) => any" , EmitEventHandlerThis flavor prefix , eType)
275
281
| _ -> DomTypeToTsType p.Type
276
282
let pTypeAndNull = if p.Nullable.IsSome then makeNullable pType else pType
277
283
let readOnlyModifier = if p.ReadOnly.IsSome && prefix = " " then " readonly " else " "
@@ -339,14 +345,13 @@ let rec EmitAllMembers flavor (i:Browser.Interface) =
339
345
| Some i' -> EmitAllMembers flavor i'
340
346
| _ -> ()
341
347
342
- let EmitEventHandlers ( prefix : string ) ( i : Browser.Interface ) =
348
+ let EmitEventHandlers ( flavor : Flavor ) ( prefix : string ) ( i : Browser.Interface ) =
343
349
let emitEventHandler prefix ( eHandler : EventHandler ) =
344
350
let eventType =
345
351
getEventTypeInInterface eHandler.EventName i.Name
346
-
347
352
Pt.printl
348
- " %s addEventListener(type: \" %s \" , listener: (ev : %s ) => any, useCapture?: boolean): void;"
349
- prefix eHandler.EventName eventType
353
+ " %s addEventListener(type: \" %s \" , listener: (%s ev : %s ) => any, useCapture?: boolean): void;"
354
+ prefix eHandler.EventName ( EmitEventHandlerThis flavor prefix ) eventType
350
355
351
356
let fPrefix = if prefix.StartsWith " declare var" then " declare function " else " "
352
357
@@ -516,7 +521,7 @@ let EmitInterface flavor (i:Browser.Interface) =
516
521
let prefix = " "
517
522
EmitMembers flavor prefix EmitScope.InstanceOnly i
518
523
EmitConstants i
519
- EmitEventHandlers prefix i
524
+ EmitEventHandlers flavor prefix i
520
525
EmitIndexers EmitScope.InstanceOnly i
521
526
522
527
Pt.decreaseIndent()
@@ -571,7 +576,7 @@ let EmitStaticInterface flavor (i:Browser.Interface) =
571
576
572
577
let prefix = " "
573
578
EmitMembers flavor prefix EmitScope.InstanceOnly i
574
- EmitEventHandlers prefix i
579
+ EmitEventHandlers flavor prefix i
575
580
EmitIndexers EmitScope.InstanceOnly i
576
581
577
582
Pt.decreaseIndent()
@@ -594,7 +599,7 @@ let EmitStaticInterface flavor (i:Browser.Interface) =
594
599
let prefix = " "
595
600
EmitMembers flavor prefix EmitScope.StaticOnly i
596
601
EmitConstants i
597
- EmitEventHandlers prefix i
602
+ EmitEventHandlers flavor prefix i
598
603
EmitIndexers EmitScope.StaticOnly i
599
604
emitAddedConstructor ()
600
605
Pt.decreaseIndent()
@@ -709,7 +714,7 @@ let EmitTheWholeThing flavor (target:TextWriter) =
709
714
match GetGlobalPollutor flavor with
710
715
| Some gp ->
711
716
EmitAllMembers flavor gp
712
- EmitEventHandlers " declare var " gp
717
+ EmitEventHandlers flavor " declare var " gp
713
718
| _ -> ()
714
719
715
720
EmitTypeDefs flavor
@@ -723,4 +728,4 @@ let EmitDomWeb () =
723
728
724
729
let EmitDomWorker () =
725
730
ignoreDOMTypes <- true
726
- EmitTheWholeThing Flavor.Worker GlobalVars.tsWorkerOutput
731
+ EmitTheWholeThing Flavor.Worker GlobalVars.tsWorkerOutput
0 commit comments