import type { FWComponentType } from '../models/FWComponentType'; class FWGlobalState { private static _instance?: FWGlobalState; private sdkInitSucceededResolveFunc?: () => void; sdkInitSucceededPromise: Promise; sdkInitSucceeded: boolean = false; componentTypeByFeedIdMap = new Map(); static getInstance() { if (!FWGlobalState._instance) { FWGlobalState._instance = new FWGlobalState(); } return FWGlobalState._instance!; } private constructor() { this.sdkInitSucceededPromise = new Promise((resolve) => { this.sdkInitSucceededResolveFunc = resolve; }); } resolveSdkInitSucceeded() { if (this.sdkInitSucceededResolveFunc) { // only call once this.sdkInitSucceededResolveFunc(); this.sdkInitSucceededResolveFunc = undefined; } this.sdkInitSucceeded = true; } } export default FWGlobalState;