react-native-moengage-cards
Version:
Cards Module for the MoEngage Platform
31 lines (25 loc) • 979 B
text/typescript
import SyncCompleteData from "../model/SyncData";
import CardListenerEvent from "../model/enums/CardListenerEvent";
/**
* Global Cache to store the cache for Cards Plugin
*
* @since 1.0.0
* @author Abhishek Kumar
*/
namespace MoEngageCardsCache {
/**
* Sync Event Listener Cache
* @since 1.0.0
*/
let eventListenerCache: Map<CardListenerEvent, (data: SyncCompleteData | null) => void> = new Map();
export function cacheEventListenerCallback(syncType: CardListenerEvent, onTrigger: (data: SyncCompleteData | null) => void): void {
eventListenerCache.set(syncType, onTrigger);
}
export function getCallbackForCachedEvent(syncType: CardListenerEvent): ((data: SyncCompleteData | null) => void) | undefined {
return eventListenerCache.get(syncType);
}
export function removeCacheForEvent(syncType: CardListenerEvent): void {
eventListenerCache.delete(syncType);
}
}
export default MoEngageCardsCache;