UNPKG

@freshworks/react-native-freshdesk-sdk

Version:
58 lines (57 loc) 2.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.nativeModule = exports.isSupported = exports.isNativeModuleAvailable = exports.eventEmitter = void 0; var _reactNative = require("react-native"); var _NativeFreshdesk = _interopRequireDefault(require("./NativeFreshdesk")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** * NativeFreshdesk is the codegen spec's default export. It is `null` when the * native module is not installed (TurboModuleRegistry.get, not getEnforcing). * We substitute a no-op so JS-only environments (tests, missing pod install) * degrade gracefully instead of throwing at import. */ const noOpModule = { initialize: () => Promise.reject(new Error('Freshdesk native module not available')), openSupport: () => Promise.reject(new Error('Freshdesk native module not available')), openKnowledgeBase: () => Promise.reject(new Error('Freshdesk native module not available')), openTopic: () => Promise.reject(new Error('Freshdesk native module not available')), getUnreadCount: () => Promise.resolve(0), trackEvent: () => Promise.resolve(), setUserProperties: () => Promise.resolve(), setTicketProperties: () => Promise.resolve(), authenticateAndUpdate: () => Promise.resolve(), resetUser: () => Promise.resolve({ success: false, message: '', error: 'Native module not available' }), dismiss: () => Promise.resolve(), setLinkHandlerEnabled: () => Promise.resolve(), getSDKVersion: () => Promise.resolve('unknown'), getUser: () => Promise.resolve('{}'), setContentConfiguration: () => Promise.resolve(), enableDebugLogs: () => Promise.resolve(), runDiagnostics: () => Promise.resolve({ platform: _reactNative.Platform.OS, overallStatus: 'fail', checks: [{ id: 'runtime.nativeModule', status: 'fail', details: 'Freshdesk native module not available', fixHint: 'Install @freshworks/react-native-freshdesk-sdk, run pod install (iOS) or rebuild Android, then restart Metro.' }], prettyPrinted: '' }), addListener: () => {}, removeListeners: () => {} }; const isNativeModuleAvailable = exports.isNativeModuleAvailable = _NativeFreshdesk.default != null; if (!isNativeModuleAvailable) { console.warn('FreshdeskReactNative native module not found. ' + 'Make sure the library is properly linked. ' + 'Falling back to no-op implementation.'); } const nativeModule = exports.nativeModule = _NativeFreshdesk.default ?? noOpModule; const eventEmitter = exports.eventEmitter = isNativeModuleAvailable ? new _reactNative.NativeEventEmitter(nativeModule) : null; const isSupported = exports.isSupported = _reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android'; //# sourceMappingURL=FreshdeskModule.js.map