44 * SPDX-License-Identifier: MIT
55 * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
66 */
7- const MAX_IDS = 2 ** 20 ;
8-
97export const RefreshEventName = 'lightning__refresh' ;
108export class RefreshEvent extends CustomEvent {
119 constructor ( ) {
@@ -17,43 +15,30 @@ export class RefreshEvent extends CustomEvent {
1715 }
1816}
1917
20- let registeredHandlers = { } ;
21- let registeredContainers = { } ;
22-
23- const getRandomId = ( ) => {
24- let id ;
25- do {
26- id = Math . floor ( Math . random ( ) * MAX_IDS ) ;
27- } while (
28- registeredHandlers . hasOwnProperty ( id . toString ( ) ) ||
29- registeredContainers . hasOwnProperty ( id . toString ( ) )
30- ) ;
31-
32- return id ;
33- } ;
18+ const registeredHandlers = new Map ( ) ;
19+ const registeredContainers = new Map ( ) ;
20+ let lastAssignedId = - 1 ;
3421
3522export const registerRefreshHandler = jest . fn ( ( element , handler ) => {
3623 let elementToRefresh = element ;
3724 let eventHandler = handler ;
38- const registerId = getRandomId ( ) ;
39- registeredHandlers [ registerId . toString ( ) ] = eventHandler . bind ( elementToRefresh ) ;
4025
41- return registerId ;
26+ registeredHandlers . set ( ++ lastAssignedId , eventHandler . bind ( elementToRefresh ) ) ;
27+ return lastAssignedId ;
4228} ) ;
4329
4430export const unregisterRefreshHandler = jest . fn ( ( id ) => {
45- delete registeredHandlers [ id . toString ( ) ] ;
31+ registeredHandlers . delete ( id ) ;
4632} ) ;
4733
4834export const registerRefreshContainer = jest . fn ( ( element , handler ) => {
4935 let elementToRefresh = element ;
5036 let eventHandler = handler ;
51- const registerId = getRandomId ( ) ;
52- registeredContainers [ registerId . toString ( ) ] = eventHandler . bind ( elementToRefresh ) ;
5337
54- return registerId ;
38+ registeredContainers . set ( ++ lastAssignedId , eventHandler . bind ( elementToRefresh ) ) ;
39+ return lastAssignedId ;
5540} ) ;
5641
5742export const unregisterRefreshContainer = jest . fn ( ( id ) => {
58- delete registeredContainers [ id . toString ( ) ] ;
43+ registeredContainers . delete ( id ) ;
5944} ) ;
0 commit comments