react-native-unit-components
Version:
Unit React Native components
52 lines (51 loc) • 2.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.injectEventToContinue = exports.handleRequestDownload = exports.getInfoParams = void 0;
var _axios = _interopRequireDefault(require("axios"));
var _reactNative = require("react-native");
var _AppInfo = _interopRequireDefault(require("../utils/AppInfo"));
var _UnitComponentsSdkManager = require("../unitComponentsSdkManager/UnitComponentsSdkManager");
var _RNShareFile = _interopRequireDefault(require("../nativeModulesHelpers/RNShareFile/RNShareFile"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const getInfoParams = async () => {
const appVersion = await _AppInfo.default.getVersion();
const appBuildNumber = await _AppInfo.default.getBuildNumber();
const appIdentifier = await _AppInfo.default.getAppIdentifier();
const infoParams = {};
infoParams['sdkVersion'] = _UnitComponentsSdkManager.UnitComponentsSDK.getSdkVersion();
infoParams['sdkPlatform'] = 'React Native';
infoParams['os'] = _reactNative.Platform.OS == 'android' ? 'Android' : 'iOS';
infoParams['hostedAppVersion'] = appVersion;
infoParams['hostedAppBuildNumber'] = appBuildNumber;
infoParams['hostedAppIdentifier'] = appIdentifier;
return infoParams;
};
exports.getInfoParams = getInfoParams;
const handleRequestDownload = async (details, onReadyToShare) => {
if (details.fileType === 'application/pdf') {
const res = await _axios.default.get(details.url, {
headers: {
'Authorization': `Bearer ${details.accessToken}`
},
responseEncoding: 'base64',
responseType: 'arraybuffer'
});
const base64Data = res.request._response;
onReadyToShare();
if (_reactNative.Platform.OS === 'ios') {
_reactNative.Share.share({
url: `data:application/pdf;base64,${base64Data}`
});
} else {
_RNShareFile.default.share(base64Data, details.fileName);
}
}
};
exports.handleRequestDownload = handleRequestDownload;
const injectEventToContinue = (currentWeb, eventToContinueEvent) => {
currentWeb?.injectJavaScript(`dispatchEventToContinue('${JSON.stringify(eventToContinueEvent)}')`);
};
exports.injectEventToContinue = injectEventToContinue;
//# sourceMappingURL=WebComponent.utils.js.map