@linx-impulse/banner-client-js
Version:
Banner SDK for Linx Banner API customers
1 lines • 5.26 kB
JavaScript
window.linx=window.linx||{},window.linx.banner=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BannerClient=void 0;var n=r(1),o=r(2),u=r(3),i=function(e){return e&&e.__esModule?e:{default:e}}(r(4));function a(){var e=(0,o.getCookie)(i.default.cookieName.deviceId);return e||(e=function(){for(var e=[],t=0;t<36;t++)e[t]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);e[14]="4",e[19]="0123456789abcdef".substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-";var r=e.join("");return r=r.replace(/-/g,""),(r+=String(Date.now()))+String(Math.floor(7919*Math.random()+1))}()),e}t.BannerClient={getRecommendations:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.page,r=e.source,o=e.showLayout,s=e.userId,c=e.homologation,f=e.testGroup,p=e.timeout,d=e.categories,l=e.product,y=e.tags,m=e.url,b=e.searchQuery;return t?r?new Promise((function(e,v){(0,n.ajax)({url:""+i.default.server.baseUrl+i.default.server.recommendationUrl,params:{deviceId:a(),page:t,source:r,showLayout:o,userId:s,homologation:c,testGroup:f,categoryId:(0,u.formatCategories)(d),productId:"string"==typeof l?l:(l||{}).id,tagId:function(e){return(e||[]).map((function(e){return e.id||e.name}))}(y),url:m,searchQuery:b},success:e,error:v,timeout:p})})):Promise.reject(new TypeError("source is required to get banners")):Promise.reject(new TypeError("page is required to get banners"))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function o(e){return(Object.keys(e)||[]).map((function(t){return Array.isArray(e[t])?function(e,t){return t.map((function(t){return e+"[]="+encodeURIComponent(t)})).join("&")}(t,e[t]):e[t]?t+"="+encodeURIComponent(e[t]):null})).filter((function(e){return!!e})).join("&")}t.ajax=function(e){var t="function"==typeof e.callback?e.callback:function(){},r="function"==typeof e.success?e.success:function(){},u="function"==typeof e.error?e.error:function(){},i="object"===n(e.data)?e.data:{},a="object"===n(e.params)?e.params:{},s=void 0===e.type||"GET"!==e.type.toUpperCase()&&"POST"!==e.type.toUpperCase()&&"PUT"!==e.type.toUpperCase()&&"DELETE"!==e.type.toUpperCase()?"GET":e.type.toUpperCase();if("string"==typeof e.url||""!==e.url){var c=o(a),f=e.url.indexOf("?")>=0?"&":"?",p=""+e.url+f+c,d=e.timeout,l=void 0===d?0:d,y=new XMLHttpRequest;y.open(s,p,!0),y.onload=function(e){var n=e.target.status,o=void 0;try{o=JSON.parse(y.response)}catch(e){o=y.response}n>=200&&n<300?(t(o),r(o)):(t({status:n,statusText:y.statusText}),u({status:n,statusText:y.statusText}))},y.onerror=function(e){var r=e.target.status;t({status:r,statusText:y.statusText}),u({status:r,statusText:y.statusText})},y.timeout=l,y.ontimeout=function(e){t(e),u(e)},"GET"!==s?(y.setRequestHeader("Content-type","application/x-www-form-urlencoded"),y.send(o(i))):y.send()}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCookie=function(e,t){var r=(t||{}).document||window.top.document,n="(?:(?:^|.*;)\\s*";n+=encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&"),n+="\\s*\\=\\s*([^;]*).*$)|^.*$";var o=r.cookie.replace(new RegExp(n),"$1");return(o=decodeURIComponent(o))||void 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function o(e,t){return(e||[]).find((function(e){return!e.used&&Array.isArray(e.parents)&&-1!==e.parents.indexOf(t.id)}))}t.formatCategories=function(e){for(var t=(e||[]).filter((function(e){return e&&e.id})).map((function(e){return{id:e.id,parents:e.parents}})),r=t.find((function(e){return!e.parents||Array.isArray(e.parents)&&!e.parents.length})),u=[];"object"===(void 0===r?"undefined":n(r));)u.push(r.id),r.used=!0,r=o(t,r);return u}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={cookieName:{deviceId:"chaordic_browserId"},server:{baseUrl:"//api.linximpulse.com/engage/b/v1",recommendationUrl:"/recommendations"}}}]).BannerClient;