async _waitForRegisterFactory() {
		const overallTimeout = 15000;
		let retrySleepTime = 100;
		const retrySleepTimeIncrease = 50;
		const retrySleepTimeMax = 500;

		let timeout = false;
		const timeoutId = setTimeout(() => {
			timeout = true;
		}, overallTimeout);
		// eslint-disable-next-line no-unmodified-loop-condition
		while (!timeout) {
			if (Components.manager.registerFactory) {
				clearTimeout(timeoutId);
				return;
			}
			console.log("Components.manager.registerFactory not ready (will wait)");
			await this._sleep(retrySleepTime);
			retrySleepTime = Math.max(retrySleepTime + retrySleepTimeIncrease, retrySleepTimeMax);
		}
		throw Error("Components.manager.registerFactory not available");
	}
/**
	 * Wait until Components.manager.registerFactory will be available,
	 * as it can be unavailable for a few milliseconds after startup.
	 *
	 * @returns {Promise<void>}
	 */
Wait until Components.manager.registerFactory will be available,
as it can be unavailable for a few milliseconds after startup.

@returns {Promise}
Wait until Components . manager . registerFactory will be available as it can be unavailable for a few milliseconds after startup . @returns { Promise }
async _waitForRegisterFactory() {
		const overallTimeout = 15000;
		let retrySleepTime = 100;
		const retrySleepTimeIncrease = 50;
		const retrySleepTimeMax = 500;
		let timeout = false;
		const timeoutId = setTimeout(() => {
			timeout = true;
		}, overallTimeout);
		while (!timeout) {
			if (Components.manager.registerFactory) {
				clearTimeout(timeoutId);
				return;
			}
			console.log("Components.manager.registerFactory not ready (will wait)");
			await this._sleep(retrySleepTime);
			retrySleepTime = Math.max(retrySleepTime + retrySleepTimeIncrease, retrySleepTimeMax);
		}
		throw Error("Components.manager.registerFactory not available");
	}
async _waitForRegisterFactory ( ) { const overallTimeout = 15000 ; let retrySleepTime = 100 ; const retrySleepTimeIncrease = 50 ; const retrySleepTimeMax = 500 ; let timeout = false ; const timeoutId = setTimeout ( ( ) => { timeout = true ; } , overallTimeout ) ; while ( ! timeout ) { if ( Components . manager . registerFactory ) { clearTimeout ( timeoutId ) ; return ; } console . log ( "Components.manager.registerFactory not ready (will wait)" ) ; await this . _sleep ( retrySleepTime ) ; retrySleepTime = Math . max ( retrySleepTime + retrySleepTimeIncrease , retrySleepTimeMax ) ; } throw Error ( "Components.manager.registerFactory not available" ) ; }
Wait until Components.manager.registerFactory will be available,
 as it can be unavailable for a few milliseconds after startup.
Wait until Components . manager . registerFactory will be available as it can be unavailable for a few milliseconds after startup .
// eslint-disable-next-line no-unmodified-loop-condition