UNPKG

react-native-unit-components

Version:

Unit React Native components

65 lines (64 loc) 3.37 kB
"use strict"; 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