import { logger, registerPlatformAdapters, registerPurchaseAdapter } from '@namiml/sdk-core'; import { ExpoStorageAdapter } from './expo-storage.adapter'; import { ExpoDeviceAdapter } from './expo-device.adapter'; import { ExpoUIAdapter } from './expo-ui.adapter'; import { ExpoPurchaseAdapter } from './expo-purchase.adapter'; export const expoUIAdapter = new ExpoUIAdapter(); export const expoPurchaseAdapter = new ExpoPurchaseAdapter(); let adaptersRegistered = false; export function registerExpoAdapters(): void { if (adaptersRegistered) { return; } try { registerPlatformAdapters({ storage: new ExpoStorageAdapter(), device: new ExpoDeviceAdapter(), ui: expoUIAdapter, }); registerPurchaseAdapter(expoPurchaseAdapter); adaptersRegistered = true; } catch (error) { logger.warn('[NamiExpo] Failed to register Expo adapters.', error); } } registerExpoAdapters(); export { ExpoStorageAdapter } from './expo-storage.adapter'; export { ExpoDeviceAdapter } from './expo-device.adapter'; export { ExpoUIAdapter } from './expo-ui.adapter'; export { ExpoPurchaseAdapter } from './expo-purchase.adapter';