UNPKG

@descope/sdk-helpers

Version:
3 lines (2 loc) 3.82 kB
import{__classPrivateFieldGet as e,__classPrivateFieldSet as t}from"tslib";function r(...e){return t=>e.reduce(((e,t)=>t(e)),t)}const n=e=>{const t=document.createElement("template");return t.innerHTML=e,t},o=(...e)=>e.join("/").replace(/\/+/g,"/"),s=(e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])),c=e=>{let t,r;return(...n)=>(t&&s(t,n)||(t=n,r=e(...n)),r)},i=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),l=e=>0===Object.keys(e).length&&e.constructor===Object,a=e=>(t,...r)=>t.reduce(((t,n,o)=>{var s;return`${t}${n}${(null===(s=null==r?void 0:r[o])||void 0===s?void 0:s[e>1?1:0])||""}`}),""),u=(e,t=500)=>{let r;return function(...n){clearTimeout(r),r=setTimeout((()=>e.apply(this,n)),t)}},f=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,h=(e={})=>{const t=n("<descope-wc></descope-wc>");return Object.entries(e).forEach((([e,r])=>{t.content.querySelector("descope-wc").setAttribute(i(e),(e=>"string"==typeof e?e:f(e)?JSON.stringify(e):"")(r))})),t},p=e=>{const t=Symbol((e=>{const t=e.toString();let r=0;for(let e=0;e<t.length;e++)r=(r<<5)-r+t.charCodeAt(e),r&=r;return r.toString(16)})(e));return r=>{if(r[t])return r;const n=e(r);return n[t]=!0,n}};var b,d,g,j;function m(e,t){const r=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(t);if(r.length!==n.length)return!1;for(let n=0;n<r.length;n+=1){const o=r[n],s=e[o],c=t[o];if(null===s||null===c){if(s!==c)return!1}else if("object"==typeof s&&"object"==typeof c){if(!m(s,c))return!1}else if(s!==c)return!1}return!0}class y{constructor(r={},{forceUpdate:n=!1}={}){b.set(this,void 0),d.set(this,{}),g.set(this,0),j.set(this,!0),this.update=r=>{const n="function"==typeof r?r(e(this,b,"f")):r,o=Object.assign(Object.assign({},e(this,b,"f")),n);if(e(this,j,"f")||!m(e(this,b,"f"),o)){const r=e(this,b,"f");t(this,b,o,"f"),Object.freeze(e(this,b,"f")),setTimeout((()=>{Object.values(e(this,d,"f")).forEach((e=>e(o,r,((e,t)=>r=>e[r]!==t[r])(o,r))))}),0)}},t(this,b,r,"f"),t(this,j,n,"f")}get current(){return Object.assign({},e(this,b,"f"))}subscribe(r){return t(this,g,e(this,g,"f")+1,"f"),e(this,d,"f")[e(this,g,"f")]=r,e(this,g,"f").toString()}unsubscribe(t){const r=!!e(this,d,"f")[t];return r&&delete e(this,d,"f")[t],r}unsubscribeAll(){return t(this,d,{},"f"),!0}}b=new WeakMap,d=new WeakMap,g=new WeakMap,j=new WeakMap;const O=e=>{try{const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(r)}catch(e){return null}},w=["=","+","-","@","\t","\r"],v=e=>{const t=(e=>e.length>0&&w.includes(e[0])?`'${e}`:e)(Array.isArray(e)?e.join("; "):String(null!=e?e:""));return t.includes(",")||t.includes('"')||t.includes("\n")||t.includes("\r")?`"${t.replace(/"/g,'""')}"`:t},C=(e,t)=>[t.map((e=>v(e.header))).join(","),...e.map((e=>t.map((t=>v(e[t.path]))).join(",")))].join("\n"),L=(e,t)=>{const r=new Blob(["\ufeff"+e],{type:"text/csv;charset=utf-8;"}),n=URL.createObjectURL(r),o=document.createElement("a");o.href=n,o.setAttribute("download",t),document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(n)};function k(e){if(e)return{locale:e.toLowerCase(),fallback:e.toLowerCase()};const t=navigator.language;return t?t.includes("-")?{locale:t.toLowerCase(),fallback:t.split("-")[0].toLowerCase()}:{locale:t.toLowerCase(),fallback:t.toLowerCase()}:{locale:"",fallback:""}}export{y as State,s as compareArrays,r as compose,h as createFlowTemplate,p as createSingletonMixin,n as createTemplate,u as debounce,O as decodeJWT,L as downloadCsv,v as escapeCsvValue,C as generateCsv,k as getUserLocale,l as isObjEmpty,f as isPlainObject,i as kebabCase,o as pathJoin,a as pluralize,c as withMemCache}; //# sourceMappingURL=index.esm.js.map