react-native-unit-components
Version:
Unit React Native components
98 lines (95 loc) • 3.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.UnitSDK = void 0;
var _reactNative = require("react-native");
var _UnitSdk = require("./UnitSdk.api");
var _unitUiManager = require("./unitUiManager/unitUiManager");
var _webVersioningStrategy = require("../utils/webVersioningStrategy.utils");
var _UnitSdk2 = require("./UnitSdk.constants");
var _ConfigurationSlice = require("../slices/ConfigurationSlice");
var _store = require("../store/store");
var _unitStore = require("../types/internal/unitStore.types");
var _UNStoreManagerHelper = _interopRequireDefault(require("../nativeModulesHelpers/UNStoreManagerHelper/UNStoreManagerHelper"));
var _UnitHelpersManager = require("./unitHelpersManager/UnitHelpersManager");
var _UNSecurityHelper = _interopRequireDefault(require("../nativeModulesHelpers/UNSecurityHelper"));
var _securitySettings = require("../types/shared/securitySettings");
var _UNSnapshotProtectionHelper = _interopRequireDefault(require("../nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class UnitSDK {
static securitySettings = _UnitSdk2.UNSDKConstants.securitySettings;
static sdkVersion = '1.15.0';
static init = async (env, theme, language, fonts, webVersioningStrategy = _UnitSdk2.UNSDKConstants.webSDKRecommendedStrategy, securitySettings = _UnitSdk2.UNSDKConstants.securitySettings) => {
try {
this.webVersioningStrategy = webVersioningStrategy;
this.ui = new _unitUiManager.UnitUiManager();
this.helpers = new _UnitHelpersManager.UnitHelpersManager();
const isJailbroke = await _UNSecurityHelper.default.isDeviceJailbroke();
if (isJailbroke) {
throw Error('Device is jailbroke');
}
this.env = env;
this.securitySettings = securitySettings;
this.fonts = fonts;
_store.store.dispatch((0, _ConfigurationSlice.setTheme)(theme));
_store.store.dispatch((0, _ConfigurationSlice.setLanguage)(language));
(0, _webVersioningStrategy.warnClientIfNeeded)(this.webVersioningStrategy);
const shouldProtectFromSnapshot = securitySettings.snapshotProtectionStrategy != _securitySettings.UNSnapshotProtectionStrategy.None;
if (_reactNative.Platform.OS === 'ios') {
_UNSnapshotProtectionHelper.default.setIosSecurity(shouldProtectFromSnapshot, 'light');
}
await (0, _UnitSdk.fetchUnitScript)();
} catch (e) {
console.log(e);
}
};
static isInitialized = () => {
return this.env != undefined;
};
static setPushProvisioningModule = pushProvisionModule => {
this.pushProvisionModule = pushProvisionModule;
};
static getPushProvisionModule = () => {
return this.pushProvisionModule;
};
static getSecuritySettings = () => {
return this.securitySettings;
};
/**
* @deprecated - Unit SDK is managing the signedNonce, no need to provide it
*/
static setSignedNonce = signedNonce => {
this.signedNonce = signedNonce;
};
static getEnv = () => {
return this.env;
};
static getWebVersioningStrategy = () => {
return this.webVersioningStrategy;
};
static getFonts = () => {
return this.fonts;
};
/**
* @deprecated - Unit SDK is managing the signedNonce, no need to provide it
*/
static getSignedNonce = () => {
return this.signedNonce;
};
static setCustomerToken = customerToken => {
this.customerToken = customerToken;
};
static getCustomerToken = () => {
return this.customerToken;
};
static getSdkVersion = () => {
return this.sdkVersion;
};
static cleanUserData = () => {
_UNStoreManagerHelper.default.cleanValue(_unitStore.UserDataKeys.unitCustomerToken);
_UNStoreManagerHelper.default.cleanValue(_unitStore.UserDataKeys.unitVerifiedToken);
};
}
exports.UnitSDK = UnitSDK;
//# sourceMappingURL=UnitSdkManager.js.map