UNPKG

cozy-intent

Version:

Event-based library allowing interactions between React-Native and React applications

69 lines (51 loc) 1.85 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.isWebDevMode = exports.isThemeArg = exports.isNativeDevMode = exports.isFlagshipUiArgsArray = exports.interpolate = exports.getErrorMessage = void 0; var _construct2 = _interopRequireDefault(require("@babel/runtime/helpers/construct")); var _api = require("../api"); var interpolate = function interpolate(str, params) { if (!params) return str; var names = Object.keys(params); var vals = Object.values(params); // I do not see security risks here, we're not executing user input // eslint-disable-next-line @typescript-eslint/no-implied-eval var makeInterpolate = (0, _construct2.default)(Function, names.concat(["return `".concat(str, "`;")])); try { return makeInterpolate.apply(void 0, vals); } catch (error) { // String template and params did not match return str; } }; exports.interpolate = interpolate; var isNativeDevMode = function isNativeDevMode() { try { return !!__DEV__; } catch (_unused) { return false; } }; exports.isNativeDevMode = isNativeDevMode; var isWebDevMode = function isWebDevMode() { try { return !!__DEVELOPMENT__; } catch (_unused2) { return false; } }; exports.isWebDevMode = isWebDevMode; var getErrorMessage = function getErrorMessage(error) { if (error instanceof Error) return error.message; return String(error); }; exports.getErrorMessage = getErrorMessage; var isFlagshipUiArgsArray = function isFlagshipUiArgsArray(item) { return Array.isArray(item) && (0, _api.isFlagshipUI)(item[0]); }; exports.isFlagshipUiArgsArray = isFlagshipUiArgsArray; var isThemeArg = function isThemeArg(item) { return typeof item === 'string'; }; exports.isThemeArg = isThemeArg;