From fc3c713f41bd3a825ed15bee8e55721c1ee4e4fb Mon Sep 17 00:00:00 2001 From: Michael Kauzmann <michael.kauzmann@colorado.edu> Date: Tue, 4 Apr 2023 08:50:29 -0600 Subject: [PATCH] gracefully support no queryParameter, https://github.com/phetsims/axon/issues/215 --- js/TinyEmitter.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/TinyEmitter.ts b/js/TinyEmitter.ts index 8897cb84..7f46b14d 100644 --- a/js/TinyEmitter.ts +++ b/js/TinyEmitter.ts @@ -17,7 +17,7 @@ import dotRandom from '../../dot/js/dotRandom.js'; const listenerOrder = _.hasIn( window, 'phet.chipper.queryParameters' ) && phet.chipper.queryParameters.listenerOrder; let random: Random | null = null; -if ( listenerOrder.startsWith( 'random' ) ) { +if ( listenerOrder && listenerOrder.startsWith( 'random' ) ) { // NOTE: this regular expression must be maintained in initialize-globals as well. const match = listenerOrder.match( /random(?:%28|\()(\d+)(?:%29|\))/ ); @@ -98,7 +98,7 @@ export default class TinyEmitter<T extends TEmitterParameter[] = []> implements // Support for a query parameter that shuffles listeners, but bury behind assert so it will be stripped out on build // so it won't impact production performance. - if ( assert && ( listenerOrder !== 'default' ) && !this.hasListenerOrderDependencies ) { + if ( assert && listenerOrder && ( listenerOrder !== 'default' ) && !this.hasListenerOrderDependencies ) { const asArray = Array.from( this.listeners ); const reorderedListeners = listenerOrder.startsWith( 'random' ) ? random!.shuffle( asArray ) : asArray.reverse();