@applicaster/quick-brick-core
Version:
Core package for Applicaster's Quick Brick App
51 lines (39 loc) • 1.48 kB
text/typescript
import { getRemoteContextData } from "../remoteContextReloader/getRemoteContextData";
import { appStore } from "@applicaster/zapp-react-native-redux/AppStore";
import { createLogger } from "@applicaster/zapp-react-native-utils/logger";
import { coreAppLogger } from "../logger";
const logger = createLogger({
category: "PlayerController",
subsystem: "RemoteDataLoader",
parent: coreAppLogger,
});
export const remoteDataLoader = async (): Promise<boolean> => {
if (__DEV__ && !process.env.ENABLE_REMOTE_DATA_IN_DEV) {
logger.log_info("appRemoteDataLoader: Remote data will be skipped loaded", {
dev: __DEV__,
override: process.env.ENABLE_REMOTE_DATA_IN_DEV === "true",
});
return true;
}
logger.log_info("appRemoteDataLoader: Remote data will be loaded", {
dev: __DEV__,
override: process.env.ENABLE_REMOTE_DATA_IN_DEV === "true",
});
const { plugins, appSettings } = appStore.get(["plugins", "appSettings"]);
const dispatch = appStore.getDispatch();
try {
// TODO: Runtime configuration urls duplicated with AppLoaderBridge
await getRemoteContextData(
dispatch,
appSettings?.runtimeConfigurationUrls,
plugins
);
logger.log_info(
"appRemoteDataLoader: Remote data successfully finished, the app is ready to continue loading"
);
return true;
} catch (error) {
logger.log_error("RemoteDataLoader: Failed to load remote data", { error });
return false;
}
};