@descope/core-js-sdk 2.41.0 → 2.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("jwt-decode"),t={accessKey:{exchange:"/v1/auth/accesskey/exchange"},otp:{verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},magicLink:{verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},signUpOrIn:"/v1/auth/magiclink/signup-in"},enchantedLink:{verify:"/v1/auth/enchantedlink/verify",signIn:"/v1/auth/enchantedlink/signin",signUp:"/v1/auth/enchantedlink/signup",session:"/v1/auth/enchantedlink/pending-session",update:{email:"/v1/auth/enchantedlink/update/email"},signUpOrIn:"/v1/auth/enchantedlink/signup-in"},oauth:{start:"/v1/auth/oauth/authorize",exchange:"/v1/auth/oauth/exchange",startNative:"v1/auth/oauth/native/start",finishNative:"v1/auth/oauth/native/finish",oneTap:{getOneTapClientId:"/v1/auth/onetap/clientid/{provider}",exchangeOneTapIDToken:"/v1/auth/onetap/idtoken/exchange",verifyOneTapIDToken:"/v1/auth/onetap/idtoken/verify"}},saml:{start:"/v1/auth/saml/authorize",exchange:"/v1/auth/saml/exchange"},totp:{verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/auth/totp/update"},notp:{signIn:"/v1/auth/notp/whatsapp/signin",signUp:"/v1/auth/notp/whatsapp/signup",signUpOrIn:"/v1/auth/notp/whatsapp/signup-in",session:"/v1/auth/notp/pending-session"},webauthn:{signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},signUpOrIn:{start:"/v1/auth/webauthn/signup-in/start"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},password:{signUp:"/v1/auth/password/signup",signIn:"/v1/auth/password/signin",sendReset:"/v1/auth/password/reset",update:"/v1/auth/password/update",replace:"/v1/auth/password/replace",policy:"/v1/auth/password/policy"},refresh:"/v1/auth/refresh",selectTenant:"/v1/auth/tenant/select",logout:"/v1/auth/logout",logoutAll:"/v1/auth/logoutall",me:"/v1/auth/me",myTenants:"/v1/auth/me/tenants",history:"/v1/auth/me/history",flow:{start:"/v1/flow/start",next:"/v1/flow/next"}};const n="<region>",s=`https://api.${n}descope.com`,o=1e3,i=6e5,a="dct",r=()=>{const e={};return{headers(t){const n="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},p=(e,t)=>{const n=(e=>async(...t)=>{const n=await e(...t),s=await n.text();return n.text=()=>Promise.resolve(s),n.json=()=>Promise.resolve(JSON.parse(s)),n.clone=()=>n,n})(t||fetch);return n||null==e||e.warn("Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally"),e?async(...t)=>{if(!n)throw Error("Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally");e.log((e=>r().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const s=await n(...t);return e[s.ok?"log":"error"](await(async e=>{const t=await e.text();return r().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(s)),s}:n};let l;const d=()=>{if(l)return l;const e=new Date,t=`${e.getUTCFullYear().toString()}-${(e.getUTCMonth()+1).toString().padStart(2,"0")}-${e.getUTCDate().toString().padStart(2,"0")}-${e.getUTCHours().toString().padStart(2,"0")}:${e.getUTCMinutes().toString().padStart(2,"0")}:${e.getUTCSeconds().toString().padStart(2,"0")}:${e.getUTCMilliseconds().toString()}`,n=Math.floor(1e3+9e3*Math.random());return l=`${t}-${n}`,l};var u;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT",e.patch="PATCH"}(u||(u={}));const c=({path:e,baseUrl:t,queryParams:s,projectId:o})=>{const i=o.slice(1,-27);t=t.replace(n,i?i+".":"");let a=e?`${t.replace(/\/$/,"")}/${null==e?void 0:e.replace(/^\//,"")}`:t;if(s){const e=Object.keys(s);e.forEach(((t,n)=>{a=`${a}${0===n?"?":""}${t}=${encodeURIComponent(s[t])}${n===e.length-1?"":"&"}`}))}return a},g=(...e)=>new Headers(e.reduce(((e,t)=>{const n=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return n.reduce(((t,[n,s])=>(e[n]=s,e)),e),e}),{})),h={"Content-Type":"application/json"},v=(e,t="")=>{let n=e;return t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},f=e=>{const t={"x-descope-sdk-session-id":d(),"x-descope-sdk-name":"core-js","x-descope-sdk-version":"2.41.0"};return e&&(t["x-descope-refresh-cookie-name"]=e),t},m=e=>{try{e=JSON.parse(e)}catch(e){return!1}return"object"==typeof e&&null!==e},k=({baseUrl:e,projectId:t,baseConfig:n,refreshCookieName:s,logger:o,hooks:i,cookiePolicy:a,fetch:r})=>{const l=p(o,r),d=async o=>{var r;const p=(null==i?void 0:i.beforeRequest)?i.beforeRequest(o):o,{path:d,body:u,headers:k,queryParams:I,method:b,token:y}=p,O=(e=>void 0===e?void 0:JSON.stringify(e))(u),w={headers:g(v(t,y),f(s),(null==n?void 0:n.baseHeaders)||{},m(O)?h:{},k),method:b,body:O};null!==a&&(w.credentials=a||"include");const j=await l(c({path:d,baseUrl:e,queryParams:I,projectId:t}),w);if((null==i?void 0:i.afterRequest)&&await i.afterRequest(o,null==j?void 0:j.clone()),null==i?void 0:i.transformResponse){const e=await j.json(),t=((null===(r=j.headers)||void 0===r?void 0:r.get("set-cookie"))||"").split(";").reduce(((e,t)=>{const[n,s]=t.split("=");return Object.assign(Object.assign({},e),{[n.trim()]:s})}),{}),n=Object.assign(Object.assign({},j),{json:()=>Promise.resolve(e),cookies:t});return n.clone=()=>n,i.transformResponse(n)}return j};return{get:(e,{headers:t,queryParams:n,token:s}={})=>d({path:e,headers:t,queryParams:n,body:void 0,method:u.get,token:s}),post:(e,t,{headers:n,queryParams:s,token:o}={})=>d({path:e,headers:n,queryParams:s,body:t,method:u.post,token:o}),patch:(e,t,{headers:n,queryParams:s,token:o}={})=>d({path:e,headers:n,queryParams:s,body:t,method:u.patch,token:o}),put:(e,t,{headers:n,queryParams:s,token:o}={})=>d({path:e,headers:n,queryParams:s,body:t,method:u.put,token:o}),delete:(e,{headers:t,queryParams:n,token:s}={})=>d({path:e,headers:t,queryParams:n,body:void 0,method:u.delete,token:s}),hooks:i,buildUrl:(n,s)=>c({projectId:t,baseUrl:e,path:n,queryParams:s})}};var I={TOO_MANY_REQUESTS:429};function b(e,t,n){var s;let o=y(e);if(t){if(!(null==o?void 0:o.tenants)&&(null==o?void 0:o[a])===t)return(null==o?void 0:o[n])||[];o=null===(s=null==o?void 0:o.tenants)||void 0===s?void 0:s[t]}const i=null==o?void 0:o[n];return Array.isArray(i)?i:[]}function y(t){if("string"!=typeof t||!t)throw new Error("Invalid token provided");return e.jwtDecode(t)}function O(e){const{exp:t}=y(e);return(new Date).getTime()/1e3>t}function w(e){let t=y(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function j(e,t){return b(e,t,"permissions")}function U(e,t){return b(e,t,"roles")}const T=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function x(e,t){var n;const s=await e,o={code:s.status,ok:s.ok,response:s},i=await s.clone().json();return s.ok?o.data=t?t(i):i:(o.error=i,s.status===I.TOO_MANY_REQUESTS&&Object.assign(o.error,{retryAfter:Number.parseInt(null===(n=s.headers)||void 0===n?void 0:n.get("retry-after"))||0})),o}function P(e){var t;return(null===(t=y(e))||void 0===t?void 0:t[a])||""}const R=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),$=(e,t)=>(n=t)=>t=>{const s=e.filter((e=>e(t)));return!(s.length<e.length)&&(n?n.replace("{val}",t):s.join(" OR "))},S=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),q=e=>t=>e.test(t),C=q(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),A=q(/^\+[1-9]{1}[0-9]{3,14}$/),M=(e,t)=>n=>S(...t).validate(((e,t,n)=>{const s=(Array.isArray(t)?t.join("."):String(t)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,((e,t,n)=>"."+n)).split("."),o=s.length;let i=0,a=e===Object(e)?e:void 0;for(;null!=a&&i<o;)a=a[s[i++]];return i&&i===o&&void 0!==a?a:n})(n,e)),E=R(C,'"{val}" is not a valid email'),L=R(A,'"{val}" is not a valid phone number'),N=R((D=1,e=>e.length>=D),"Minimum length is 1");var D;const H=R((e=>"string"==typeof e),"Input is not a string"),z=R((e=>Array.isArray(e)),"Input is not an array"),J=R((e=>"boolean"==typeof e),"Input is not a boolean"),_=R((e=>void 0===e),"Input is defined"),F=$([H(),_()],"Input is not a string or undefined"),K=$([z(),J()],"Input is not an array or boolean"),V=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>S(...e).validate(n[t]))),t(...n)),Y=e=>[H(`"${e}" must be a string`)],Z=e=>[F(`"${e}" must be string or undefined`)],B=e=>[H(`"${e}" must be a string`),N(`"${e}" must not be empty`)],Q=e=>[H(`"${e}" must be a string`),E()],W=e=>[H(`"${e}" must be a string`),L()],G=V(B("accessKey")),X=e=>({exchange:G(((n,s)=>x(e.post(t.accessKey.exchange,{loginOptions:s},{token:n}))))}),ee=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||o,o),timeoutMs:Math.min(t||i,i)});var te,ne;!function(e){e.sms="sms",e.voice="voice",e.whatsapp="whatsapp"}(te||(te={})),function(e){e.email="email"}(ne||(ne={}));const se=Object.assign(Object.assign({},te),ne);var oe;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(oe||(oe={}));const ie=B("loginId"),ae=V(B("token")),re=V(ie),pe=V(B("pendingRef")),le=V(ie,Q("email")),de=e=>({verify:ae((n=>x(e.post(t.enchantedLink.verify,{token:n})))),signIn:re(((n,s,o,i)=>x(e.post(T(t.enchantedLink.signIn,se.email),{loginId:n,URI:s,loginOptions:o},{token:i})))),signUpOrIn:re(((n,s,o)=>x(e.post(T(t.enchantedLink.signUpOrIn,se.email),{loginId:n,URI:s,loginOptions:o})))),signUp:re(((n,s,o,i)=>x(e.post(T(t.enchantedLink.signUp,se.email),{loginId:n,URI:s,user:o,loginOptions:i})))),waitForSession:pe(((n,s)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:a}=ee(s);let r;const p=setInterval((async()=>{const s=await e.post(t.enchantedLink.session,{pendingRef:n});s.ok&&(clearInterval(p),r&&clearTimeout(r),o(x(Promise.resolve(s))))}),i);r=setTimeout((()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${a}ms`,errorCode:"0"},ok:!1}),clearInterval(p)}),a)})))),update:{email:le(((n,s,o,i,a)=>x(e.post(t.enchantedLink.update.email,Object.assign({loginId:n,email:s,URI:o},a),{token:i}))))}}),ue=V(B("flowId")),ce=V(B("executionId"),B("stepId"),B("interactionId")),ge=e=>({start:ue(((n,s,o,i,a,r,p)=>x(e.post(t.flow.start,{flowId:n,options:s,conditionInteractionId:o,interactionId:i,componentsVersion:a,flowVersions:r,input:p})))),next:ce(((n,s,o,i,a,r)=>x(e.post(t.flow.next,{executionId:n,stepId:s,interactionId:o,version:i,componentsVersion:a,input:r}))))}),he=B("loginId"),ve=V(B("token")),fe=V(he),me=V(he,W("phone")),ke=V(he,Q("email")),Ie=Object.keys(se).filter((e=>e!==te.voice)),be=e=>({verify:ve((n=>x(e.post(t.magicLink.verify,{token:n})))),signIn:Ie.reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:fe(((n,o,i,a)=>x(e.post(T(t.magicLink.signIn,s),{loginId:n,URI:o,loginOptions:i},{token:a}))))})),{}),signUp:Ie.reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:fe(((n,o,i,a)=>x(e.post(T(t.magicLink.signUp,s),{loginId:n,URI:o,user:i,loginOptions:a}))))})),{}),signUpOrIn:Ie.reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:fe(((n,o,i)=>x(e.post(T(t.magicLink.signUpOrIn,s),{loginId:n,URI:o,loginOptions:i}))))})),{}),update:{email:ke(((n,s,o,i,a)=>x(e.post(t.magicLink.update.email,Object.assign({loginId:n,email:s,URI:o},a),{token:i})))),phone:Object.keys(te).filter((e=>e!==te.voice)).reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:me(((n,o,i,a,r)=>x(e.post(T(t.magicLink.update.phone,s),Object.assign({loginId:n,phone:o,URI:i},r),{token:a}))))})),{})}});var ye;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple",e.discord="discord",e.linkedin="linkedin",e.slack="slack"}(ye||(ye={}));const Oe=V(B("code")),we=e=>({start:Object.assign(((n,s,o,i)=>x(e.post(t.oauth.start,o||{},{queryParams:Object.assign({provider:n},s&&{redirectURL:s}),token:i}))),Object.keys(ye).reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:(n,o,i)=>x(e.post(t.oauth.start,o||{},{queryParams:Object.assign({provider:s},n&&{redirectURL:n}),token:i}))})),{})),exchange:Oe((n=>x(e.post(t.oauth.exchange,{code:n})))),startNative:(n,s,o)=>x(e.post(t.oauth.startNative,{provider:n,loginOptions:s,implicit:o})),finishNative:(n,s,o,i,a)=>x(e.post(t.oauth.finishNative,{provider:n,stateId:s,user:o,code:i,idToken:a})),getOneTapClientId:n=>x(e.get(t.oauth.oneTap.getOneTapClientId.replace("{provider}",n))),verifyOneTapIDToken:(n,s,o,i)=>x(e.post(t.oauth.oneTap.verifyOneTapIDToken,{provider:n,idToken:s,nonce:o,loginOptions:i})),exchangeOneTapIDToken:(n,s,o,i)=>x(e.post(t.oauth.oneTap.exchangeOneTapIDToken,{provider:n,idToken:s,nonce:o,loginOptions:i}))}),je=B("loginId"),Ue=V(je,B("code")),Te=V(je),xe=V(je,W("phone")),Pe=V(je,Q("email")),Re=e=>({verify:Object.keys(se).reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:Ue(((n,o)=>x(e.post(T(t.otp.verify,s),{code:o,loginId:n}))))})),{}),signIn:Object.keys(se).reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:Te(((n,o,i)=>x(e.post(T(t.otp.signIn,s),{loginId:n,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(se).reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:Te(((n,o,i)=>x(e.post(T(t.otp.signUp,s),{loginId:n,user:o,loginOptions:i}))))})),{}),signUpOrIn:Object.keys(se).reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:Te(((n,o)=>x(e.post(T(t.otp.signUpOrIn,s),{loginId:n,loginOptions:o}))))})),{}),update:{email:Pe(((n,s,o,i)=>x(e.post(t.otp.update.email,Object.assign({loginId:n,email:s},i),{token:o})))),phone:Object.keys(te).reduce(((n,s)=>Object.assign(Object.assign({},n),{[s]:xe(((n,o,i,a)=>x(e.post(T(t.otp.update.phone,s),Object.assign({loginId:n,phone:o},a),{token:i}))))})),{})}}),$e=V(B("tenant")),Se=V(B("code")),qe=e=>({start:$e(((n,s,o,i,a)=>x(e.post(t.saml.start,o||{},Object.assign({queryParams:Object.assign(Object.assign({tenant:n},s&&{redirectURL:s}),a&&{ssoId:a})},i&&{token:i}))))),exchange:Se((n=>x(e.post(t.saml.exchange,{code:n}))))}),Ce=B("loginId"),Ae=V(Ce,B("code")),Me=V(Ce),Ee=V(Ce),Le=e=>({signUp:Me(((n,s)=>x(e.post(t.totp.signUp,{loginId:n,user:s})))),verify:Ae(((n,s,o,i)=>x(e.post(t.totp.verify,{loginId:n,code:s,loginOptions:o},{token:i})))),update:Ee(((n,s)=>x(e.post(t.totp.update,{loginId:n},{token:s}))))}),Ne=B("loginId"),De=B("newPassword"),He=V(Ne,B("password")),ze=V(Ne),Je=V(Ne,De),_e=V(Ne,B("oldPassword"),De),Fe=e=>({signUp:He(((n,s,o,i)=>x(e.post(t.password.signUp,{loginId:n,password:s,user:o,loginOptions:i})))),signIn:He(((n,s,o)=>x(e.post(t.password.signIn,{loginId:n,password:s,loginOptions:o})))),sendReset:ze(((n,s,o)=>x(e.post(t.password.sendReset,{loginId:n,redirectUrl:s,templateOptions:o})))),update:Je(((n,s,o)=>x(e.post(t.password.update,{loginId:n,newPassword:s},{token:o})))),replace:_e(((n,s,o)=>x(e.post(t.password.replace,{loginId:n,oldPassword:s,newPassword:o})))),policy:()=>x(e.get(t.password.policy))}),Ke=Y("loginId"),Ve=B("loginId"),Ye=B("origin"),Ze=V(Ve,Ye,B("name")),Be=V(Ve,Ye),Qe=V(Ke,Ye),We=V(Ve,Ye,Z("token")),Ge=V(B("transactionId"),B("response")),Xe=e=>({signUp:{start:Ze(((n,s,o,i)=>x(e.post(t.webauthn.signUp.start,{user:{loginId:n,name:o},origin:s,passkeyOptions:i})))),finish:Ge(((n,s)=>x(e.post(t.webauthn.signUp.finish,{transactionId:n,response:s}))))},signIn:{start:Qe(((n,s,o,i,a)=>x(e.post(t.webauthn.signIn.start,{loginId:n,origin:s,loginOptions:o,passkeyOptions:a},{token:i})))),finish:Ge(((n,s)=>x(e.post(t.webauthn.signIn.finish,{transactionId:n,response:s}))))},signUpOrIn:{start:Be(((n,s,o)=>x(e.post(t.webauthn.signUpOrIn.start,{loginId:n,origin:s,passkeyOptions:o}))))},update:{start:We(((n,s,o,i)=>x(e.post(t.webauthn.update.start,{loginId:n,origin:s,passkeyOptions:i},{token:o})))),finish:Ge(((n,s)=>x(e.post(t.webauthn.update.finish,{transactionId:n,response:s}))))}}),et=Y("loginId"),tt=V(et),nt=V(B("pendingRef")),st=e=>({signUpOrIn:tt(((n,s)=>x(e.post(t.notp.signUpOrIn,{loginId:n,loginOptions:s})))),signUp:tt(((n,s,o)=>x(e.post(t.notp.signUp,{loginId:n,user:s,loginOptions:o})))),signIn:tt(((n,s,o)=>x(e.post(t.notp.signIn,{loginId:n,loginOptions:s},{token:o})))),waitForSession:nt(((n,s)=>new Promise((o=>{const{pollingIntervalMs:i,timeoutMs:a}=ee(s);let r;const p=setInterval((async()=>{const s=await e.post(t.notp.session,{pendingRef:n});s.ok&&(clearInterval(p),r&&clearTimeout(r),o(x(Promise.resolve(s))))}),i);r=setTimeout((()=>{o({error:{errorDescription:`Session polling timeout exceeded: ${a}ms`,errorCode:"0"},ok:!1}),clearInterval(p)}),a)}))))}),ot=V(B("token")),it=V(Z("token"));var at,rt;var pt=V([(at="projectId",rt=B("projectId"),R(M(at,rt))())])((e=>t=>{var n;return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:e=>{var n;const s=[].concat((null===(n=t.hooks)||void 0===n?void 0:n.beforeRequest)||[]);return null==s?void 0:s.reduce(((e,t)=>t(e)),e)},afterRequest:async(e,n)=>{var s;const o=[].concat((null===(s=t.hooks)||void 0===s?void 0:s.afterRequest)||[]);if(0==o.length)return;(await Promise.allSettled(null==o?void 0:o.map((t=>t(e,null==n?void 0:n.clone()))))).forEach((e=>{var n;return"rejected"===e.status&&(null===(n=t.logger)||void 0===n?void 0:n.error(e.reason))}))},transformResponse:null===(n=t.hooks)||void 0===n?void 0:n.transformResponse}}))})((({projectId:e,logger:n,baseUrl:o,hooks:i,cookiePolicy:a,baseHeaders:r={},refreshCookieName:p,fetch:l})=>{return d=k({baseUrl:o||s,projectId:e,logger:n,hooks:i,cookiePolicy:a,baseConfig:{baseHeaders:r},refreshCookieName:p,fetch:l}),{accessKey:X(d),otp:Re(d),magicLink:be(d),enchantedLink:de(d),oauth:we(d),saml:qe(d),totp:Le(d),notp:st(d),webauthn:Xe(d),password:Fe(d),flow:ge(d),refresh:it(((e,n,s)=>{const o={};return s&&(o.externalToken=s),x(d.post(t.refresh,o,{token:e,queryParams:n}))})),selectTenant:V([H("tenantId")],[F('"token" must be string or undefined')])(((e,n)=>x(d.post(t.selectTenant,{tenant:e},{token:n})))),logout:it((e=>x(d.post(t.logout,{},{token:e})))),logoutAll:it((e=>x(d.post(t.logoutAll,{},{token:e})))),me:it((e=>x(d.get(t.me,{token:e})))),myTenants:V([K('"tenants" must a string array or a boolean')],[F('"token" must be string or undefined')])(((e,n)=>{const s={};return"boolean"==typeof e?s.dct=e:s.ids=e,x(d.post(t.myTenants,s,{token:n}))})),history:it((e=>x(d.get(t.history,{token:e})))),isJwtExpired:ot(O),getTenants:ot(w),getJwtPermissions:ot(j),getJwtRoles:ot(U),getCurrentTenant:ot(P),httpClient:d};var d}))),lt=Object.assign(pt,{DeliveryMethods:se});exports.HttpStatusCodes=I,exports.default=lt,exports.normalizeWaitForSessionConfig=ee,exports.transformResponse=x,exports.wrapWith=(e,t,n)=>(t.forEach((t=>{const s=t.split(".");let o=s.shift(),i=e;for(;s.length>0;){if(i=i[o],!o||!i)throw Error(`Invalid path "${t}", "${o}" is missing or has no value`);o=s.shift()}if("function"!=typeof i[o])throw Error(`"${t}" is not a function`);const a=i[o];i[o]=n(a)})),e);
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("jwt-decode"),t={accessKey:{exchange:"/v1/auth/accesskey/exchange"},otp:{verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},magicLink:{verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},signUpOrIn:"/v1/auth/magiclink/signup-in"},enchantedLink:{verify:"/v1/auth/enchantedlink/verify",signIn:"/v1/auth/enchantedlink/signin",signUp:"/v1/auth/enchantedlink/signup",session:"/v1/auth/enchantedlink/pending-session",update:{email:"/v1/auth/enchantedlink/update/email"},signUpOrIn:"/v1/auth/enchantedlink/signup-in"},oauth:{start:"/v1/auth/oauth/authorize",exchange:"/v1/auth/oauth/exchange",startNative:"v1/auth/oauth/native/start",finishNative:"v1/auth/oauth/native/finish",oneTap:{getOneTapClientId:"/v1/auth/onetap/clientid/{provider}",exchangeOneTapIDToken:"/v1/auth/onetap/idtoken/exchange",verifyOneTapIDToken:"/v1/auth/onetap/idtoken/verify"}},outbound:{connect:"/v1/outbound/oauth/connect"},saml:{start:"/v1/auth/saml/authorize",exchange:"/v1/auth/saml/exchange"},totp:{verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/auth/totp/update"},notp:{signIn:"/v1/auth/notp/whatsapp/signin",signUp:"/v1/auth/notp/whatsapp/signup",signUpOrIn:"/v1/auth/notp/whatsapp/signup-in",session:"/v1/auth/notp/pending-session"},webauthn:{signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},signUpOrIn:{start:"/v1/auth/webauthn/signup-in/start"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},password:{signUp:"/v1/auth/password/signup",signIn:"/v1/auth/password/signin",sendReset:"/v1/auth/password/reset",update:"/v1/auth/password/update",replace:"/v1/auth/password/replace",policy:"/v1/auth/password/policy"},refresh:"/v1/auth/refresh",selectTenant:"/v1/auth/tenant/select",logout:"/v1/auth/logout",logoutAll:"/v1/auth/logoutall",me:"/v1/auth/me",myTenants:"/v1/auth/me/tenants",history:"/v1/auth/me/history",flow:{start:"/v1/flow/start",next:"/v1/flow/next"}};const n="<region>",o=`https://api.${n}descope.com`,s=1e3,i=6e5,a="dct",r=()=>{const e={};return{headers(t){const n="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},p=(e,t)=>{const n=(e=>async(...t)=>{const n=await e(...t),o=await n.text();return n.text=()=>Promise.resolve(o),n.json=()=>Promise.resolve(JSON.parse(o)),n.clone=()=>n,n})(t||fetch);return n||null==e||e.warn("Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally"),e?async(...t)=>{if(!n)throw Error("Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally");e.log((e=>r().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const o=await n(...t);return e[o.ok?"log":"error"](await(async e=>{const t=await e.text();return r().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(o)),o}:n};let d;const l=()=>{if(d)return d;const e=new Date,t=`${e.getUTCFullYear().toString()}-${(e.getUTCMonth()+1).toString().padStart(2,"0")}-${e.getUTCDate().toString().padStart(2,"0")}-${e.getUTCHours().toString().padStart(2,"0")}:${e.getUTCMinutes().toString().padStart(2,"0")}:${e.getUTCSeconds().toString().padStart(2,"0")}:${e.getUTCMilliseconds().toString()}`,n=Math.floor(1e3+9e3*Math.random());return d=`${t}-${n}`,d};var u;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT",e.patch="PATCH"}(u||(u={}));const c=({path:e,baseUrl:t,queryParams:o,projectId:s})=>{const i=s.slice(1,-27);t=t.replace(n,i?i+".":"");let a=e?`${t.replace(/\/$/,"")}/${null==e?void 0:e.replace(/^\//,"")}`:t;if(o){const e=Object.keys(o);e.forEach(((t,n)=>{a=`${a}${0===n?"?":""}${t}=${encodeURIComponent(o[t])}${n===e.length-1?"":"&"}`}))}return a},g=(...e)=>new Headers(e.reduce(((e,t)=>{const n=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return n.reduce(((t,[n,o])=>(e[n]=o,e)),e),e}),{})),h={"Content-Type":"application/json"},v=(e,t="")=>{let n=e;return t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},f=e=>{const t={"x-descope-sdk-session-id":l(),"x-descope-sdk-name":"core-js","x-descope-sdk-version":"2.43.0"};return e&&(t["x-descope-refresh-cookie-name"]=e),t},m=e=>{try{e=JSON.parse(e)}catch(e){return!1}return"object"==typeof e&&null!==e},k=({baseUrl:e,projectId:t,baseConfig:n,refreshCookieName:o,logger:s,hooks:i,cookiePolicy:a,fetch:r})=>{const d=p(s,r),l=async s=>{var r;const p=(null==i?void 0:i.beforeRequest)?i.beforeRequest(s):s,{path:l,body:u,headers:k,queryParams:I,method:b,token:y}=p,O=(e=>void 0===e?void 0:JSON.stringify(e))(u),w={headers:g(v(t,y),f(o),(null==n?void 0:n.baseHeaders)||{},m(O)?h:{},k),method:b,body:O};null!==a&&(w.credentials=a||"include");const j=await d(c({path:l,baseUrl:e,queryParams:I,projectId:t}),w);if((null==i?void 0:i.afterRequest)&&await i.afterRequest(s,null==j?void 0:j.clone()),null==i?void 0:i.transformResponse){const e=await j.json(),t=((null===(r=j.headers)||void 0===r?void 0:r.get("set-cookie"))||"").split(";").reduce(((e,t)=>{const[n,o]=t.split("=");return Object.assign(Object.assign({},e),{[n.trim()]:o})}),{}),n=Object.assign(Object.assign({},j),{json:()=>Promise.resolve(e),cookies:t});return n.clone=()=>n,i.transformResponse(n)}return j};return{get:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:u.get,token:o}),post:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:u.post,token:s}),patch:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:u.patch,token:s}),put:(e,t,{headers:n,queryParams:o,token:s}={})=>l({path:e,headers:n,queryParams:o,body:t,method:u.put,token:s}),delete:(e,{headers:t,queryParams:n,token:o}={})=>l({path:e,headers:t,queryParams:n,body:void 0,method:u.delete,token:o}),hooks:i,buildUrl:(n,o)=>c({projectId:t,baseUrl:e,path:n,queryParams:o})}};var I={TOO_MANY_REQUESTS:429};function b(e,t,n){var o;let s=y(e);if(t){if(!(null==s?void 0:s.tenants)&&(null==s?void 0:s[a])===t)return(null==s?void 0:s[n])||[];s=null===(o=null==s?void 0:s.tenants)||void 0===o?void 0:o[t]}const i=null==s?void 0:s[n];return Array.isArray(i)?i:[]}function y(t){if("string"!=typeof t||!t)throw new Error("Invalid token provided");return e.jwtDecode(t)}function O(e){const{exp:t}=y(e);return(new Date).getTime()/1e3>t}function w(e){let t=y(e);const n=Object.keys(null==t?void 0:t.tenants);return Array.isArray(n)?n:[]}function j(e,t){return b(e,t,"permissions")}function U(e,t){return b(e,t,"roles")}const T=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function x(e,t){var n;const o=await e,s={code:o.status,ok:o.ok,response:o},i=await o.clone().json();return o.ok?s.data=t?t(i):i:(s.error=i,o.status===I.TOO_MANY_REQUESTS&&Object.assign(s.error,{retryAfter:Number.parseInt(null===(n=o.headers)||void 0===n?void 0:n.get("retry-after"))||0})),s}function P(e){var t;return(null===(t=y(e))||void 0===t?void 0:t[a])||""}const R=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),$=(e,t)=>(n=t)=>t=>{const o=e.filter((e=>e(t)));return!(o.length<e.length)&&(n?n.replace("{val}",t):o.join(" OR "))},S=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),q=e=>t=>e.test(t),C=q(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),A=q(/^\+[1-9]{1}[0-9]{3,14}$/),M=(e,t)=>n=>S(...t).validate(((e,t,n)=>{const o=(Array.isArray(t)?t.join("."):String(t)).replace(/\[\\?("|')?(\w|d)+\\?("|')?\]/g,((e,t,n)=>"."+n)).split("."),s=o.length;let i=0,a=e===Object(e)?e:void 0;for(;null!=a&&i<s;)a=a[o[i++]];return i&&i===s&&void 0!==a?a:n})(n,e)),E=R(C,'"{val}" is not a valid email'),L=R(A,'"{val}" is not a valid phone number'),N=R((D=1,e=>e.length>=D),"Minimum length is 1");var D;const H=R((e=>"string"==typeof e),"Input is not a string"),z=R((e=>Array.isArray(e)),"Input is not an array"),J=R((e=>"boolean"==typeof e),"Input is not a boolean"),_=R((e=>void 0===e),"Input is defined"),F=$([H(),_()],"Input is not a string or undefined"),K=$([z(),J()],"Input is not an array or boolean"),V=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>S(...e).validate(n[t]))),t(...n)),Y=e=>[H(`"${e}" must be a string`)],Z=e=>[F(`"${e}" must be string or undefined`)],B=e=>[H(`"${e}" must be a string`),N(`"${e}" must not be empty`)],Q=e=>[H(`"${e}" must be a string`),E()],W=e=>[H(`"${e}" must be a string`),L()],G=V(B("accessKey")),X=e=>({exchange:G(((n,o)=>x(e.post(t.accessKey.exchange,{loginOptions:o},{token:n}))))}),ee=({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||s,s),timeoutMs:Math.min(t||i,i)});var te,ne;!function(e){e.sms="sms",e.voice="voice",e.whatsapp="whatsapp"}(te||(te={})),function(e){e.email="email"}(ne||(ne={}));const oe=Object.assign(Object.assign({},te),ne);var se;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(se||(se={}));const ie=B("loginId"),ae=V(B("token")),re=V(ie),pe=V(B("pendingRef")),de=V(ie,Q("email")),le=e=>({verify:ae((n=>x(e.post(t.enchantedLink.verify,{token:n})))),signIn:re(((n,o,s,i)=>x(e.post(T(t.enchantedLink.signIn,oe.email),{loginId:n,URI:o,loginOptions:s},{token:i})))),signUpOrIn:re(((n,o,s)=>x(e.post(T(t.enchantedLink.signUpOrIn,oe.email),{loginId:n,URI:o,loginOptions:s})))),signUp:re(((n,o,s,i)=>x(e.post(T(t.enchantedLink.signUp,oe.email),{loginId:n,URI:o,user:s,loginOptions:i})))),waitForSession:pe(((n,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:a}=ee(o);let r;const p=setInterval((async()=>{const o=await e.post(t.enchantedLink.session,{pendingRef:n});o.ok&&(clearInterval(p),r&&clearTimeout(r),s(x(Promise.resolve(o))))}),i);r=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${a}ms`,errorCode:"0"},ok:!1}),clearInterval(p)}),a)})))),update:{email:de(((n,o,s,i,a)=>x(e.post(t.enchantedLink.update.email,Object.assign({loginId:n,email:o,URI:s},a),{token:i}))))}}),ue=V(B("flowId")),ce=V(B("executionId"),B("stepId"),B("interactionId")),ge=e=>({start:ue(((n,o,s,i,a,r,p)=>x(e.post(t.flow.start,{flowId:n,options:o,conditionInteractionId:s,interactionId:i,componentsVersion:a,flowVersions:r,input:p})))),next:ce(((n,o,s,i,a,r)=>x(e.post(t.flow.next,{executionId:n,stepId:o,interactionId:s,version:i,componentsVersion:a,input:r}))))}),he=B("loginId"),ve=V(B("token")),fe=V(he),me=V(he,W("phone")),ke=V(he,Q("email")),Ie=Object.keys(oe).filter((e=>e!==te.voice)),be=e=>({verify:ve((n=>x(e.post(t.magicLink.verify,{token:n})))),signIn:Ie.reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:fe(((n,s,i,a)=>x(e.post(T(t.magicLink.signIn,o),{loginId:n,URI:s,loginOptions:i},{token:a}))))})),{}),signUp:Ie.reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:fe(((n,s,i,a)=>x(e.post(T(t.magicLink.signUp,o),{loginId:n,URI:s,user:i,loginOptions:a}))))})),{}),signUpOrIn:Ie.reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:fe(((n,s,i)=>x(e.post(T(t.magicLink.signUpOrIn,o),{loginId:n,URI:s,loginOptions:i}))))})),{}),update:{email:ke(((n,o,s,i,a)=>x(e.post(t.magicLink.update.email,Object.assign({loginId:n,email:o,URI:s},a),{token:i})))),phone:Object.keys(te).filter((e=>e!==te.voice)).reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:me(((n,s,i,a,r)=>x(e.post(T(t.magicLink.update.phone,o),Object.assign({loginId:n,phone:s,URI:i},r),{token:a}))))})),{})}});var ye;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple",e.discord="discord",e.linkedin="linkedin",e.slack="slack"}(ye||(ye={}));const Oe=V(B("code")),we=e=>({start:Object.assign(((n,o,s,i)=>x(e.post(t.oauth.start,s||{},{queryParams:Object.assign({provider:n},o&&{redirectURL:o}),token:i}))),Object.keys(ye).reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:(n,s,i)=>x(e.post(t.oauth.start,s||{},{queryParams:Object.assign({provider:o},n&&{redirectURL:n}),token:i}))})),{})),exchange:Oe((n=>x(e.post(t.oauth.exchange,{code:n})))),startNative:(n,o,s)=>x(e.post(t.oauth.startNative,{provider:n,loginOptions:o,implicit:s})),finishNative:(n,o,s,i,a)=>x(e.post(t.oauth.finishNative,{provider:n,stateId:o,user:s,code:i,idToken:a})),getOneTapClientId:n=>x(e.get(t.oauth.oneTap.getOneTapClientId.replace("{provider}",n))),verifyOneTapIDToken:(n,o,s,i)=>x(e.post(t.oauth.oneTap.verifyOneTapIDToken,{provider:n,idToken:o,nonce:s,loginOptions:i})),exchangeOneTapIDToken:(n,o,s,i)=>x(e.post(t.oauth.oneTap.exchangeOneTapIDToken,{provider:n,idToken:o,nonce:s,loginOptions:i}))}),je=B("appId"),Ue=V(je),Te=e=>({connect:Ue(((n,o,s)=>x(e.post(t.outbound.connect,{appId:n,options:o},{token:s}))))}),xe=B("loginId"),Pe=V(xe,B("code")),Re=V(xe),$e=V(xe,W("phone")),Se=V(xe,Q("email")),qe=e=>({verify:Object.keys(oe).reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:Pe(((n,s)=>x(e.post(T(t.otp.verify,o),{code:s,loginId:n}))))})),{}),signIn:Object.keys(oe).reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:Re(((n,s,i)=>x(e.post(T(t.otp.signIn,o),{loginId:n,loginOptions:s},{token:i}))))})),{}),signUp:Object.keys(oe).reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:Re(((n,s,i)=>x(e.post(T(t.otp.signUp,o),{loginId:n,user:s,loginOptions:i}))))})),{}),signUpOrIn:Object.keys(oe).reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:Re(((n,s)=>x(e.post(T(t.otp.signUpOrIn,o),{loginId:n,loginOptions:s}))))})),{}),update:{email:Se(((n,o,s,i)=>x(e.post(t.otp.update.email,Object.assign({loginId:n,email:o},i),{token:s})))),phone:Object.keys(te).reduce(((n,o)=>Object.assign(Object.assign({},n),{[o]:$e(((n,s,i,a)=>x(e.post(T(t.otp.update.phone,o),Object.assign({loginId:n,phone:s},a),{token:i}))))})),{})}}),Ce=V(B("tenant")),Ae=V(B("code")),Me=e=>({start:Ce(((n,o,s,i,a)=>x(e.post(t.saml.start,s||{},Object.assign({queryParams:Object.assign(Object.assign({tenant:n},o&&{redirectURL:o}),a&&{ssoId:a})},i&&{token:i}))))),exchange:Ae((n=>x(e.post(t.saml.exchange,{code:n}))))}),Ee=B("loginId"),Le=V(Ee,B("code")),Ne=V(Ee),De=V(Ee),He=e=>({signUp:Ne(((n,o)=>x(e.post(t.totp.signUp,{loginId:n,user:o})))),verify:Le(((n,o,s,i)=>x(e.post(t.totp.verify,{loginId:n,code:o,loginOptions:s},{token:i})))),update:De(((n,o)=>x(e.post(t.totp.update,{loginId:n},{token:o}))))}),ze=B("loginId"),Je=B("newPassword"),_e=V(ze,B("password")),Fe=V(ze),Ke=V(ze,Je),Ve=V(ze,B("oldPassword"),Je),Ye=e=>({signUp:_e(((n,o,s,i)=>x(e.post(t.password.signUp,{loginId:n,password:o,user:s,loginOptions:i})))),signIn:_e(((n,o,s)=>x(e.post(t.password.signIn,{loginId:n,password:o,loginOptions:s})))),sendReset:Fe(((n,o,s)=>x(e.post(t.password.sendReset,{loginId:n,redirectUrl:o,templateOptions:s})))),update:Ke(((n,o,s)=>x(e.post(t.password.update,{loginId:n,newPassword:o},{token:s})))),replace:Ve(((n,o,s)=>x(e.post(t.password.replace,{loginId:n,oldPassword:o,newPassword:s})))),policy:()=>x(e.get(t.password.policy))}),Ze=Y("loginId"),Be=B("loginId"),Qe=B("origin"),We=V(Be,Qe,B("name")),Ge=V(Be,Qe),Xe=V(Ze,Qe),et=V(Be,Qe,Z("token")),tt=V(B("transactionId"),B("response")),nt=e=>({signUp:{start:We(((n,o,s,i)=>x(e.post(t.webauthn.signUp.start,{user:{loginId:n,name:s},origin:o,passkeyOptions:i})))),finish:tt(((n,o)=>x(e.post(t.webauthn.signUp.finish,{transactionId:n,response:o}))))},signIn:{start:Xe(((n,o,s,i,a)=>x(e.post(t.webauthn.signIn.start,{loginId:n,origin:o,loginOptions:s,passkeyOptions:a},{token:i})))),finish:tt(((n,o)=>x(e.post(t.webauthn.signIn.finish,{transactionId:n,response:o}))))},signUpOrIn:{start:Ge(((n,o,s)=>x(e.post(t.webauthn.signUpOrIn.start,{loginId:n,origin:o,passkeyOptions:s}))))},update:{start:et(((n,o,s,i)=>x(e.post(t.webauthn.update.start,{loginId:n,origin:o,passkeyOptions:i},{token:s})))),finish:tt(((n,o)=>x(e.post(t.webauthn.update.finish,{transactionId:n,response:o}))))}}),ot=Y("loginId"),st=V(ot),it=V(B("pendingRef")),at=e=>({signUpOrIn:st(((n,o)=>x(e.post(t.notp.signUpOrIn,{loginId:n,loginOptions:o})))),signUp:st(((n,o,s)=>x(e.post(t.notp.signUp,{loginId:n,user:o,loginOptions:s})))),signIn:st(((n,o,s)=>x(e.post(t.notp.signIn,{loginId:n,loginOptions:o},{token:s})))),waitForSession:it(((n,o)=>new Promise((s=>{const{pollingIntervalMs:i,timeoutMs:a}=ee(o);let r;const p=setInterval((async()=>{const o=await e.post(t.notp.session,{pendingRef:n});o.ok&&(clearInterval(p),r&&clearTimeout(r),s(x(Promise.resolve(o))))}),i);r=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${a}ms`,errorCode:"0"},ok:!1}),clearInterval(p)}),a)}))))}),rt=V(B("token")),pt=V(Z("token"));var dt,lt;var ut=V([(dt="projectId",lt=B("projectId"),R(M(dt,lt))())])((e=>t=>{var n;return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:e=>{var n;const o=[].concat((null===(n=t.hooks)||void 0===n?void 0:n.beforeRequest)||[]);return null==o?void 0:o.reduce(((e,t)=>t(e)),e)},afterRequest:async(e,n)=>{var o;const s=[].concat((null===(o=t.hooks)||void 0===o?void 0:o.afterRequest)||[]);if(0==s.length)return;(await Promise.allSettled(null==s?void 0:s.map((t=>t(e,null==n?void 0:n.clone()))))).forEach((e=>{var n;return"rejected"===e.status&&(null===(n=t.logger)||void 0===n?void 0:n.error(e.reason))}))},transformResponse:null===(n=t.hooks)||void 0===n?void 0:n.transformResponse}}))})((({projectId:e,logger:n,baseUrl:s,hooks:i,cookiePolicy:a,baseHeaders:r={},refreshCookieName:p,fetch:d})=>{return l=k({baseUrl:s||o,projectId:e,logger:n,hooks:i,cookiePolicy:a,baseConfig:{baseHeaders:r},refreshCookieName:p,fetch:d}),{accessKey:X(l),otp:qe(l),magicLink:be(l),enchantedLink:le(l),oauth:we(l),outbound:Te(l),saml:Me(l),totp:He(l),notp:at(l),webauthn:nt(l),password:Ye(l),flow:ge(l),refresh:pt(((e,n,o)=>{const s={};return o&&(s.externalToken=o),x(l.post(t.refresh,s,{token:e,queryParams:n}))})),selectTenant:V([H("tenantId")],[F('"token" must be string or undefined')])(((e,n)=>x(l.post(t.selectTenant,{tenant:e},{token:n})))),logout:pt((e=>x(l.post(t.logout,{},{token:e})))),logoutAll:pt((e=>x(l.post(t.logoutAll,{},{token:e})))),me:pt((e=>x(l.get(t.me,{token:e})))),myTenants:V([K('"tenants" must a string array or a boolean')],[F('"token" must be string or undefined')])(((e,n)=>{const o={};return"boolean"==typeof e?o.dct=e:o.ids=e,x(l.post(t.myTenants,o,{token:n}))})),history:pt((e=>x(l.get(t.history,{token:e})))),isJwtExpired:rt(O),getTenants:rt(w),getJwtPermissions:rt(j),getJwtRoles:rt(U),getCurrentTenant:rt(P),httpClient:l};var l}))),ct=Object.assign(ut,{DeliveryMethods:oe});exports.HttpStatusCodes=I,exports.default=ct,exports.normalizeWaitForSessionConfig=ee,exports.transformResponse=x,exports.wrapWith=(e,t,n)=>(t.forEach((t=>{const o=t.split(".");let s=o.shift(),i=e;for(;o.length>0;){if(i=i[s],!s||!i)throw Error(`Invalid path "${t}", "${s}" is missing or has no value`);s=o.shift()}if("function"!=typeof i[s])throw Error(`"${t}" is not a function`);const a=i[s];i[s]=n(a)})),e);
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|