UNPKG

mopinion-react-native-sdk

Version:

Collect in-app feedback with Mopinion for React Native. Built fully in React Native for optimal integration with your React Native app.

1 lines 4.33 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.createId=createId;exports.createRandomId=createRandomId;exports.getCookie=void 0;exports.getElementsHandleExtra=getElementsHandleExtra;exports.getImageUri=getImageUri;exports.getVersion=getVersion;exports.isNestedStateProp=isNestedStateProp;exports.objectKeys=objectKeys;exports.setCookie=void 0;exports.shuffleArray=shuffleArray;exports.tryParse=tryParse;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncStorage=_interopRequireDefault(require("@react-native-async-storage/async-storage"));var _logger=require("../api/logger");var packageJson={};try{packageJson=require('../../package.json');}catch(e){}function isNestedStateProp(){var str=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';return['dom','selector'].indexOf(str)>-1||!isNaN(Number(str));}function createRandomId(){var len=arguments.length>0&&arguments[0]!==undefined?arguments[0]:35;var bits=arguments.length>1&&arguments[1]!==undefined?arguments[1]:36;var outStr='',newStr;while(outStr.length<len){newStr=Math.random().toString(bits).slice(2);outStr+=newStr.slice(0,Math.min(newStr.length,len-outStr.length));}return outStr;}function createId(len){var time=new Date().getTime();return`${time}${createRandomId(len)}`;}function shuffleArray(array,keepLastIndex){return array.map(function(a,index){return{sort:keepLastIndex&&index===array.length-1?1:Math.random(),value:a};}).sort(function(a,b){return a.sort-b.sort;}).map(function(a){return a.value;});}function getElementsHandleExtra(_ref){var _ref$elements=_ref.elements,elements=_ref$elements===void 0?{}:_ref$elements,_ref$elements_extra=_ref.elements_extra,elements_extra=_ref$elements_extra===void 0?{}:_ref$elements_extra;var elementKeys=objectKeys(elements);var extraKeys=objectKeys(elements_extra);if(elementKeys.length>0){if(extraKeys.length>0){return[].concat((0,_toConsumableArray2.default)(elementKeys),(0,_toConsumableArray2.default)(extraKeys)).reduce(function(all,currentKey,index){var _elements_extra$curre;if(elementKeys.length>index){all[index]=elements[currentKey];}else if(!((_elements_extra$curre=elements_extra[currentKey])!=null&&_elements_extra$curre.linkedLabel)){all[index]=elements_extra[currentKey];}return all;},{});}return elements;}return{};}function objectKeys(obj){try{if(typeof obj==='object'){return Object.keys(obj);}if(typeof obj==='string'){return obj.split('').map(function(_,i){return String(i);});}return[];}catch(e){return[];}}function getVersion(){var _packageJson$version,_packageJson;return(_packageJson$version=(_packageJson=packageJson)==null?void 0:_packageJson.version)!=null?_packageJson$version:null;}function getImageUri(uri){if(uri.startsWith('data:image')){return uri;}return`https://cacheorcheck.mopinion.com/survey/public/image?file=${uri}`;}var setCookie=exports.setCookie=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(cookieKey,value,days){var expiryDate='';if(days){var date=new Date();date.setTime(date.getTime()+days*24*60*60*1000);expiryDate=date;}var cookieobject={value:value,expires:expiryDate};try{var jsonValue=JSON.stringify(cookieobject);yield _asyncStorage.default.setItem(cookieKey,jsonValue);}catch(e){_logger.logger.log('Form Metrics: Error setting cookie: '+e);}});return function setCookie(_x,_x2,_x3){return _ref2.apply(this,arguments);};}();var getCookie=exports.getCookie=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(cookieKey){return _asyncStorage.default.getItem(cookieKey).then(function(value){try{if(value!=null){var cookieobject=JSON.parse(value);var nowDate=new Date();var expiryDate=new Date(cookieobject.expires);if(cookieobject&&expiryDate>nowDate){return Promise.resolve(cookieobject.value);}else{}}return Promise.resolve(null);}catch(e){return Promise.reject(e);}});});return function getCookie(_x4){return _ref3.apply(this,arguments);};}();function tryParse(){var string=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};try{return JSON.parse(string);}catch(e){return defaultValue;}}