@@ -307,11 +307,13 @@ function fireEvent(element, event) {
307
307
return element . dispatchEvent ( event )
308
308
}
309
309
310
+ const createEvent = { }
311
+
310
312
Object . keys ( eventMap ) . forEach ( key => {
311
313
const { EventType, defaultInit} = eventMap [ key ]
312
314
const eventName = key . toLowerCase ( )
313
315
314
- fireEvent [ key ] = ( node , init ) => {
316
+ createEvent [ key ] = ( node , init ) => {
315
317
const eventInit = { ...defaultInit , ...init }
316
318
const { target : { value, files, ...targetProperties } = { } } = eventInit
317
319
Object . assign ( node , targetProperties )
@@ -331,9 +333,10 @@ Object.keys(eventMap).forEach(key => {
331
333
}
332
334
const window = getWindowFromNode ( node )
333
335
const EventConstructor = window [ EventType ] || window . Event
334
- const event = new EventConstructor ( eventName , eventInit )
335
- return fireEvent ( node , event )
336
+ return new EventConstructor ( eventName , eventInit )
336
337
}
338
+
339
+ fireEvent [ key ] = ( node , init ) => fireEvent ( node , createEvent [ key ] ( node , init ) )
337
340
} )
338
341
339
342
function getWindowFromNode ( node ) {
@@ -377,6 +380,6 @@ Object.keys(eventAliasMap).forEach(aliasKey => {
377
380
fireEvent [ aliasKey ] = ( ...args ) => fireEvent [ key ] ( ...args )
378
381
} )
379
382
380
- export { fireEvent }
383
+ export { fireEvent , createEvent }
381
384
382
385
/* eslint complexity:["error", 9] */
0 commit comments