react-native-unit-components
Version:
Unit React Native components
65 lines (64 loc) • 3.37 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.warnClientIfNeeded = exports.isBehindRecommendedStrategy = exports.getWebSdkVersionString = exports.getVersionArray = void 0;
var _shared = require("../types/shared");
var _UnitSdk = require("../unitSdkManager/UnitSdk.constants");
const getWebSdkVersionString = webVersioningStrategy => {
switch (webVersioningStrategy.type) {
case _shared.UNVersioningStrategyType.latest:
return 'latest';
case _shared.UNVersioningStrategyType.exact:
return `${webVersioningStrategy.major}.${webVersioningStrategy.minor}.${webVersioningStrategy.patch}`;
case _shared.UNVersioningStrategyType.upToNextMinor:
return `${webVersioningStrategy.major}.${webVersioningStrategy.minor}`;
case _shared.UNVersioningStrategyType.upToNextMajor:
return `${webVersioningStrategy.major}`;
}
};
exports.getWebSdkVersionString = getWebSdkVersionString;
const getVersionArray = webVersioningStrategy => {
switch (webVersioningStrategy.type) {
case _shared.UNVersioningStrategyType.latest:
return [null, null, null];
case _shared.UNVersioningStrategyType.exact:
return [webVersioningStrategy.major, webVersioningStrategy.minor, webVersioningStrategy.patch];
case _shared.UNVersioningStrategyType.upToNextMinor:
return [webVersioningStrategy.major, webVersioningStrategy.minor, null];
case _shared.UNVersioningStrategyType.upToNextMajor:
return [webVersioningStrategy.major, null, null];
}
};
exports.getVersionArray = getVersionArray;
const isBehindRecommendedStrategy = currentWebVersioningStrategy => {
const recommendedWebVersionArray = getVersionArray(_UnitSdk.UNSDKConstants.webSDKRecommendedStrategy);
const currentWebVersionArray = getVersionArray(currentWebVersioningStrategy);
for (let i = 0; i < 3; i++) {
let currentVersion = currentWebVersionArray[i];
let recommendedVersion = recommendedWebVersionArray[i];
if (currentVersion === null || recommendedVersion === null) {
return false;
}
currentVersion = currentVersion;
recommendedVersion = recommendedVersion;
if (currentVersion !== recommendedVersion) {
return currentVersion < recommendedVersion;
}
}
return false;
};
exports.isBehindRecommendedStrategy = isBehindRecommendedStrategy;
const warnClientIfNeeded = currentWebVersioningStrategy => {
if (currentWebVersioningStrategy.type === _shared.UNVersioningStrategyType.latest) {
return;
}
if (currentWebVersioningStrategy.major > _UnitSdk.UNSDKConstants.webSDKRecommendedStrategy.major) {
console.log(`The current web sdk version is ${getWebSdkVersionString(currentWebVersioningStrategy)} which is higher than the latest supported version ${getWebSdkVersionString(_UnitSdk.UNSDKConstants.webSDKRecommendedStrategy)}. Please update the latest version of the web sdk.`);
}
if (isBehindRecommendedStrategy(currentWebVersioningStrategy)) {
console.log(`The current web sdk version is ${getWebSdkVersionString(currentWebVersioningStrategy)} which is older than the latest supported version ${getWebSdkVersionString(_UnitSdk.UNSDKConstants.webSDKRecommendedStrategy)}. Please consider updating to the latest version of the web sdk.`);
}
};
exports.warnClientIfNeeded = warnClientIfNeeded;
//# sourceMappingURL=webVersioningStrategy.utils.js.map
;