UNPKG

@descope/sdk-helpers

Version:
3 lines (2 loc) 2.7 kB
"use strict";var e=require("tslib");const t=(e,t)=>e.length===t.length&&e.every(((e,s)=>e===t[s]));var s,r,i,a;function l(e,t){const s=Object.getOwnPropertyNames(e),r=Object.getOwnPropertyNames(t);if(s.length!==r.length)return!1;for(let r=0;r<s.length;r+=1){const i=s[r],a=e[i],n=t[i];if(null===a||null===n){if(a!==n)return!1}else if("object"==typeof a&&"object"==typeof n){if(!l(a,n))return!1}else if(a!==n)return!1}return!0}s=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakMap,exports.State=class{constructor(t={},{forceUpdate:n=!1}={}){s.set(this,void 0),r.set(this,{}),i.set(this,0),a.set(this,!0),this.update=t=>{const i="function"==typeof t?t(e.__classPrivateFieldGet(this,s,"f")):t,n=Object.assign(Object.assign({},e.__classPrivateFieldGet(this,s,"f")),i);if(e.__classPrivateFieldGet(this,a,"f")||!l(e.__classPrivateFieldGet(this,s,"f"),n)){const t=e.__classPrivateFieldGet(this,s,"f");e.__classPrivateFieldSet(this,s,n,"f"),Object.freeze(e.__classPrivateFieldGet(this,s,"f")),setTimeout((()=>{Object.values(e.__classPrivateFieldGet(this,r,"f")).forEach((e=>e(n,t,((e,t)=>s=>e[s]!==t[s])(n,t))))}),0)}},e.__classPrivateFieldSet(this,s,t,"f"),e.__classPrivateFieldSet(this,a,n,"f")}get current(){return Object.assign({},e.__classPrivateFieldGet(this,s,"f"))}subscribe(t){return e.__classPrivateFieldSet(this,i,e.__classPrivateFieldGet(this,i,"f")+1,"f"),e.__classPrivateFieldGet(this,r,"f")[e.__classPrivateFieldGet(this,i,"f")]=t,e.__classPrivateFieldGet(this,i,"f").toString()}unsubscribe(t){const s=!!e.__classPrivateFieldGet(this,r,"f")[t];return s&&delete e.__classPrivateFieldGet(this,r,"f")[t],s}unsubscribeAll(){return e.__classPrivateFieldSet(this,r,{},"f"),!0}},exports.compareArrays=t,exports.compose=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)},exports.createSingletonMixin=e=>{const t=Symbol((e=>{const t=e.toString();let s=0;for(let e=0;e<t.length;e++)s=(s<<5)-s+t.charCodeAt(e),s&=s;return s.toString(16)})(e));return s=>{if(s[t])return s;const r=e(s);return r[t]=!0,r}},exports.createTemplate=e=>{const t=document.createElement("template");return t.innerHTML=e,t},exports.debounce=(e,t=500)=>{let s;return function(...r){clearTimeout(s),s=setTimeout((()=>e.apply(this,r)),t)}},exports.isObjEmpty=e=>0===Object.keys(e).length&&e.constructor===Object,exports.kebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),exports.pathJoin=(...e)=>e.join("/").replace(/\/+/g,"/"),exports.pluralize=e=>(t,...s)=>t.reduce(((t,r,i)=>{var a;return`${t}${r}${(null===(a=null==s?void 0:s[i])||void 0===a?void 0:a[e>1?1:0])||""}`}),""),exports.withMemCache=e=>{let s,r;return(...i)=>(s&&t(s,i)||(s=i,r=e(...i)),r)}; //# sourceMappingURL=index.cjs.js.map