forked from CIT/Vmeda.Online
		
	MOBILE-3565 classes: Fix linting on delegate
This commit is contained in:
		
							parent
							
								
									5acc551488
								
							
						
					
					
						commit
						1cefe8fa17
					
				| @ -63,7 +63,7 @@ export class CoreDelegate { | |||||||
|     /** |     /** | ||||||
|      * Set of promises to update a handler, to prevent doing the same operation twice. |      * Set of promises to update a handler, to prevent doing the same operation twice. | ||||||
|      */ |      */ | ||||||
|     protected updatePromises: {[siteId: string]: {[name: string]: Promise<any>}} = {}; |     protected updatePromises: {[siteId: string]: {[name: string]: Promise<void>}} = {}; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * Whether handlers have been initialized. |      * Whether handlers have been initialized. | ||||||
| @ -73,7 +73,7 @@ export class CoreDelegate { | |||||||
|     /** |     /** | ||||||
|      * Promise to wait for handlers to be initialized. |      * Promise to wait for handlers to be initialized. | ||||||
|      */ |      */ | ||||||
|     protected handlersInitPromise: Promise<any>; |     protected handlersInitPromise: Promise<void>; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * Function to resolve the handlers init promise. |      * Function to resolve the handlers init promise. | ||||||
| @ -136,7 +136,7 @@ export class CoreDelegate { | |||||||
|      * @param params Parameters to pass to the function. |      * @param params Parameters to pass to the function. | ||||||
|      * @return Function returned value or default value. |      * @return Function returned value or default value. | ||||||
|      */ |      */ | ||||||
|     private execute(handler: any, fnName: string, params?: any[]): any { |     private execute(handler: CoreDelegateHandler, fnName: string, params?: any[]): any { | ||||||
|         if (handler && handler[fnName]) { |         if (handler && handler[fnName]) { | ||||||
|             return handler[fnName].apply(handler, params); |             return handler[fnName].apply(handler, params); | ||||||
|         } else if (this.defaultHandler && this.defaultHandler[fnName]) { |         } else if (this.defaultHandler && this.defaultHandler[fnName]) { | ||||||
| @ -243,7 +243,7 @@ export class CoreDelegate { | |||||||
|     protected updateHandler(handler: CoreDelegateHandler, time: number): Promise<void> { |     protected updateHandler(handler: CoreDelegateHandler, time: number): Promise<void> { | ||||||
|         const siteId = CoreSites.instance.getCurrentSiteId(); |         const siteId = CoreSites.instance.getCurrentSiteId(); | ||||||
|         const currentSite = CoreSites.instance.getCurrentSite(); |         const currentSite = CoreSites.instance.getCurrentSite(); | ||||||
|         let promise; |         let promise: Promise<boolean>; | ||||||
| 
 | 
 | ||||||
|         if (this.updatePromises[siteId] && this.updatePromises[siteId][handler.name]) { |         if (this.updatePromises[siteId] && this.updatePromises[siteId][handler.name]) { | ||||||
|             // There's already an update ongoing for this handler, return the promise.
 |             // There's already an update ongoing for this handler, return the promise.
 | ||||||
| @ -252,18 +252,14 @@ export class CoreDelegate { | |||||||
|             this.updatePromises[siteId] = {}; |             this.updatePromises[siteId] = {}; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if (!CoreSites.instance.isLoggedIn()) { |         if (!CoreSites.instance.isLoggedIn() || this.isFeatureDisabled(handler, currentSite)) { | ||||||
|             promise = Promise.reject(null); |  | ||||||
|         } else if (this.isFeatureDisabled(handler, currentSite)) { |  | ||||||
|             promise = Promise.resolve(false); |             promise = Promise.resolve(false); | ||||||
|         } else { |         } else { | ||||||
|             promise = Promise.resolve(handler.isEnabled()); |             promise = handler.isEnabled().catch(() => false); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Checks if the handler is enabled.
 |         // Checks if the handler is enabled.
 | ||||||
|         this.updatePromises[siteId][handler.name] = promise.catch(() => { |         this.updatePromises[siteId][handler.name] = promise.then((enabled: boolean) => { | ||||||
|             return false; |  | ||||||
|         }).then((enabled: boolean) => { |  | ||||||
|             // Check that site hasn't changed since the check started.
 |             // Check that site hasn't changed since the check started.
 | ||||||
|             if (CoreSites.instance.getCurrentSiteId() === siteId) { |             if (CoreSites.instance.getCurrentSiteId() === siteId) { | ||||||
|                 const key = handler[this.handlerNameProperty] || handler.name; |                 const key = handler[this.handlerNameProperty] || handler.name; | ||||||
| @ -298,9 +294,9 @@ export class CoreDelegate { | |||||||
|      * |      * | ||||||
|      * @return Resolved when done. |      * @return Resolved when done. | ||||||
|      */ |      */ | ||||||
|     protected updateHandlers(): Promise<void> { |     protected async updateHandlers(): Promise<void> { | ||||||
|         const promises = [], |         const promises = []; | ||||||
|             now = Date.now(); |         const now = Date.now(); | ||||||
| 
 | 
 | ||||||
|         this.logger.debug('Updating handlers for current site.'); |         this.logger.debug('Updating handlers for current site.'); | ||||||
| 
 | 
 | ||||||
| @ -311,21 +307,19 @@ export class CoreDelegate { | |||||||
|             promises.push(this.updateHandler(this.handlers[name], now)); |             promises.push(this.updateHandler(this.handlers[name], now)); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         return Promise.all(promises).then(() => { |         try { | ||||||
|             return true; |             await Promise.all(promises); | ||||||
|         }, () => { |         } catch (e) { | ||||||
|             // Never reject.
 |             // Never reject
 | ||||||
|             return true; |         } | ||||||
|         }).then(() => { |  | ||||||
| 
 | 
 | ||||||
|             // Verify that this call is the last one that was started.
 |         // Verify that this call is the last one that was started.
 | ||||||
|             if (this.isLastUpdateCall(now)) { |         if (this.isLastUpdateCall(now)) { | ||||||
|                 this.handlersInitialized = true; |             this.handlersInitialized = true; | ||||||
|                 this.handlersInitResolve(); |             this.handlersInitResolve(); | ||||||
| 
 | 
 | ||||||
|                 this.updateData(); |             this.updateData(); | ||||||
|             } |         } | ||||||
|         }); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
| @ -335,6 +329,7 @@ export class CoreDelegate { | |||||||
|     updateData(): any { |     updateData(): any { | ||||||
|         // To be overridden.
 |         // To be overridden.
 | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export interface CoreDelegateHandler { | export interface CoreDelegateHandler { | ||||||
| @ -346,7 +341,8 @@ export interface CoreDelegateHandler { | |||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * Whether or not the handler is enabled on a site level. |      * Whether or not the handler is enabled on a site level. | ||||||
|  |      * | ||||||
|      * @return Whether or not the handler is enabled on a site level. |      * @return Whether or not the handler is enabled on a site level. | ||||||
|      */ |      */ | ||||||
|     isEnabled(): boolean | Promise<boolean>; |     isEnabled(): Promise<boolean>; | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user