UNPKG

3.82 kBSource Map (JSON)View Raw
1{"version":3,"file":"AppLoading.js","sourceRoot":"","sources":["../../src/launch/AppLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAezD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK,CAAC,SAAgB;IAA9D;;QACE,eAAU,GAAY,KAAK,CAAC;QAoB5B,mCAA8B,GAAG,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;aACnF;YAED,IAAI;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,UAAW,EAAE,CAAC;aAChC;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBACvB;qBAAM;oBACL,MAAM,CAAC,CAAC;iBACT;aACF;oBAAS;gBACR,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAE7B,wFAAwF;gBACxF,WAAW;gBACX,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;iBACvB;aACF;QACH,CAAC,CAAC;IAKJ,CAAC;IA/CC,iBAAiB;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAEhC,6FAA6F;QAC7F,qDAAqD;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACzB,IAAI,CAAC,8BAA8B,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAClD,OAAO,CAAC,KAAK,CAAC,uDAAuD,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACrC,CAAC;IA4BD,MAAM;QACJ,OAAO,oBAAC,gBAAgB,oBAAK,IAAI,CAAC,KAAK,EAAI,CAAC;IAC9C,CAAC;CACF;AAED,IAAI,iBAAiB,GAAwB,IAAI,CAAC;AAElD,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,IAAI,CAAC,iBAAiB,EAAE;QACtB,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;KACxC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC","sourcesContent":["import { EventEmitter } from 'fbemitter';\nimport React from 'react';\n\nimport NativeAppLoading from './AppLoadingNativeWrapper';\n\ntype Props =\n | {\n startAsync?: () => Promise<void>;\n onError?: (error: Error) => void;\n onFinish?: () => void;\n autoHideSplash?: boolean;\n }\n | {\n startAsync: null;\n onError: null;\n onFinish: null;\n };\n\nexport default class AppLoading extends React.Component<Props> {\n _isMounted: boolean = false;\n\n componentDidMount() {\n this._isMounted = true;\n _emitEvent('componentDidMount');\n\n // startAsync is optional, you can do this process manually if you prefer (this is mainly for\n // backwards compatibility and it is not recommended)\n if (this.props.startAsync) {\n this._startLoadingAppResourcesAsync().catch(error => {\n console.error(`AppLoading threw an unexpected error when loading:\\n${error.stack}`);\n });\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n _emitEvent('componentWillUnmount');\n }\n\n _startLoadingAppResourcesAsync = async () => {\n if (!this.props.onFinish) {\n throw new Error('AppLoading onFinish prop is required if startAsync is provided');\n }\n\n try {\n await this.props.startAsync!();\n } catch (e) {\n if (!this._isMounted) return;\n\n if (this.props.onError) {\n this.props.onError(e);\n } else {\n throw e;\n }\n } finally {\n if (!this._isMounted) return;\n\n // If we get to this point then we know that either there was no error, or the error was\n // handled.\n if (this.props.onFinish) {\n this.props.onFinish();\n }\n }\n };\n\n render() {\n return <NativeAppLoading {...this.props} />;\n }\n}\n\nlet _lifecycleEmitter: EventEmitter | null = null;\n\nfunction _emitEvent(event: string): void {\n if (_lifecycleEmitter) {\n _lifecycleEmitter.emit(event);\n }\n}\n\nexport function getAppLoadingLifecycleEmitter(): EventEmitter {\n if (!_lifecycleEmitter) {\n _lifecycleEmitter = new EventEmitter();\n }\n return _lifecycleEmitter;\n}\n"]}
\No newline at end of file