{"version":3,"file":"helpers.js","sources":["../../../../IREP.Web.Content/v7/scripts/utilities/helpers.ts"],"sourcesContent":["import $ from 'jquery';\nexport const queryPararms = new URLSearchParams(window.location.search);\nexport const isAndroid = typeof (window.android) !== 'undefined';\nexport const isIOS = typeof (window.webkit) !== 'undefined';\nexport const isMobileApp = isAndroid || isIOS || (['true', '1'].indexOf((queryPararms.get('isMobileApp') || '').toLowerCase()) > -1);\nexport const redirect = (url) => window.location.href = url;\nexport const antiCap = (s) => s && s[0].toLowerCase() + s.slice(1);\nexport function debounce(fn, delay) {\n let debounce = null;\n return function (...args) {\n clearTimeout(debounce);\n debounce = window.setTimeout(() => {\n fn.apply(this, args);\n debounce = null;\n }, delay);\n };\n}\nexport function readOptions(element, numbersAsStrings = false) {\n var _a;\n const obj = {};\n for (const prop in element.dataset) {\n const props = prop.split('-');\n let val = element.dataset[prop];\n if (!isNaN(Number(val)) && !numbersAsStrings)\n val = Number(val);\n else if (val === 'true')\n val = true;\n else if (val === 'false')\n val = false;\n if (props.length === 1) {\n obj[antiCap(prop)] = val;\n }\n else if (props.length === 2) {\n obj[antiCap(props[0])] = (_a = obj[props[0]]) !== null && _a !== void 0 ? _a : {};\n obj[antiCap(props[0])][antiCap(props[1])] = val;\n }\n else {\n throw new Error('Cannot handle this many nested classes');\n }\n }\n return obj;\n}\nexport function tryRedirectMobileFriendly(element) {\n if (!element) {\n return;\n }\n const href = element.getAttribute('href');\n if (!href) {\n return;\n }\n if (isMobileApp) {\n window.mobileApp.processClick(element);\n }\n else {\n redirect(href);\n }\n}\nexport function tryRedirect(href) {\n if (href) {\n if (isMobileApp) {\n window.mobileApp.pushView(href);\n }\n else {\n redirect(href);\n }\n }\n}\nexport function safeParseJSON(str) {\n try {\n return JSON.parse(str);\n }\n catch (_a) {\n return null;\n }\n}\nexport function serializeObject(jq) {\n const obj = {};\n $.each(jq.serializeArray(), function (_, o) {\n const n = o.name;\n const v = o.value;\n obj[n] = obj[n] === undefined ? v\n : $.isArray(obj[n]) ? obj[n].concat(v)\n : [obj[n], v];\n });\n return obj;\n}\n"],"names":["queryPararms","URLSearchParams","window","location","search","isAndroid","isIOS","isMobileApp","indexOf","get","toLowerCase","redirect","url","href","antiCap","s","slice","debounce","fn","delay","args","clearTimeout","setTimeout","apply","this","readOptions","element","numbersAsStrings","_a","obj","prop","dataset","props","split","val","isNaN","Number","length","Error","tryRedirectMobileFriendly","getAttribute","mobileApp","processClick","tryRedirect","pushView","safeParseJSON","str","JSON","parse","serializeObject","jq","$","each","serializeArray","_","o","n","name","v","value","undefined","isArray","concat"],"mappings":"gCACY,MAACA,EAAe,IAAIC,gBAAgBC,OAAOC,SAASC,QACnDC,OAAwC,IAApBH,OAAc,QAClCI,OAAmC,IAAnBJ,OAAa,OAC7BK,EAAcF,GAAaC,GAAU,CAAC,OAAQ,KAAKE,SAASR,EAAaS,IAAI,gBAAkB,IAAIC,gBAAkB,EACrHC,EAAYC,GAAQV,OAAOC,SAASU,KAAOD,EAC3CE,EAAWC,GAAMA,GAAKA,EAAE,GAAGL,cAAgBK,EAAEC,MAAM,GACzD,SAASC,EAASC,EAAIC,GACzB,IAAIF,EAAW,KACf,OAAO,YAAaG,GAChBC,aAAaJ,GACbA,EAAWf,OAAOoB,YAAW,KACzBJ,EAAGK,MAAMC,KAAMJ,GACfH,EAAW,IAAI,GAChBE,EACN,CACL,CACO,SAASM,EAAYC,EAASC,GAAmB,GACpD,IAAIC,EACJ,MAAMC,EAAM,CAAE,EACd,IAAK,MAAMC,KAAQJ,EAAQK,QAAS,CAChC,MAAMC,EAAQF,EAAKG,MAAM,KACzB,IAAIC,EAAMR,EAAQK,QAAQD,GAO1B,GANKK,MAAMC,OAAOF,KAAUP,EAEX,SAARO,EACLA,GAAM,EACO,UAARA,IACLA,GAAM,GAJNA,EAAME,OAAOF,GAKI,IAAjBF,EAAMK,OACNR,EAAIf,EAAQgB,IAASI,MAEpB,IAAqB,IAAjBF,EAAMK,OAKX,MAAM,IAAIC,MAAM,0CAJhBT,EAAIf,EAAQkB,EAAM,KAAgC,QAAxBJ,EAAKC,EAAIG,EAAM,WAAwB,IAAPJ,EAAgBA,EAAK,CAAE,EACjFC,EAAIf,EAAQkB,EAAM,KAAKlB,EAAQkB,EAAM,KAAOE,CAIxD,CACA,CACI,OAAOL,CACX,CACO,SAASU,EAA0Bb,GACtC,IAAKA,EACD,OAEJ,MAAMb,EAAOa,EAAQc,aAAa,QAC7B3B,IAGDN,EACAL,OAAOuC,UAAUC,aAAahB,GAG9Bf,EAASE,GAEjB,CACO,SAAS8B,EAAY9B,GACpBA,IACIN,EACAL,OAAOuC,UAAUG,SAAS/B,GAG1BF,EAASE,GAGrB,CACO,SAASgC,EAAcC,GAC1B,IACI,OAAOC,KAAKC,MAAMF,EAC1B,CACI,MAAOlB,GACH,OAAO,IACf,CACA,CACO,SAASqB,EAAgBC,GAC5B,MAAMrB,EAAM,CAAE,EAQd,OAPAsB,EAAEC,KAAKF,EAAGG,kBAAkB,SAAUC,EAAGC,GACrC,MAAMC,EAAID,EAAEE,KACNC,EAAIH,EAAEI,MACZ9B,EAAI2B,QAAgBI,IAAX/B,EAAI2B,GAAmBE,EAC1BP,EAAEU,QAAQhC,EAAI2B,IAAM3B,EAAI2B,GAAGM,OAAOJ,GAC9B,CAAC7B,EAAI2B,GAAIE,EAC3B,IACW7B,CACX"}