UNPKG

@nhost/nhost-js

Version:

Nhost JavaScript SDK

2 lines 3.34 kB
const e=require("./refreshSession-B_E2FLUs.cjs");function r(e=[]){return e.reduceRight(((e,r)=>r(e)),fetch)}var s=class extends Error{body;status;headers;constructor(e,r,s){super(function(e){if(e&&"string"==typeof e)return e;if(e&&"object"==typeof e){const r=e;if("message"in r&&"string"==typeof r.message)return r.message;if("error"in r&&"string"==typeof r.error)return r.error;if("error"in r&&r.error&&"object"==typeof r.error){const e=r.error;if("message"in e&&"string"==typeof e.message)return e.message}if("errors"in r&&Array.isArray(r.errors)){const e=r.errors.filter((e=>"object"==typeof e&&null!==e&&"message"in e&&"string"==typeof e.message)).map((e=>e.message));if(e.length>0)return e.join(", ")}}return"An unexpected error occurred"}(e)),this.body=e,this.status=r,this.headers=s}},n=e=>r=>async(s,n={})=>{const o=new Headers(n.headers||{});if(o.has("Authorization"))return r(s,n);const a=e.get();return r(s,a?.accessToken?{...n,headers:t(o,a)}:n)};function t(e,r){return r.accessToken&&e.set("Authorization",`Bearer ${r.accessToken}`),e}var o=(r,s,n)=>{const{marginSeconds:t=60}=n||{};return n=>async(o,a={})=>{if(function(e,r){return!!new Headers(r.headers||{}).has("Authorization")||!!e.endsWith("/v1/token")}(o,a))return n(o,a);try{await e.refreshSession(r,s,t)}catch{}return n(o,a)}};var a=e=>r=>async(s,n)=>{const t=await r(s,n);try{if(s.endsWith("/signout"))return e.remove(),t;if(s.endsWith("/user/password")&&t.ok)return e.remove(),t;if(s.endsWith("/token")||s.includes("/token/exchange")||s.includes("/signin/")||s.includes("/signup/")){const r=await t.clone().json().catch((()=>null));if(r){const s=(e=>"string"==typeof e?null:"session"in e?e.session||null:"accessToken"in e&&"refreshToken"in e&&"user"in e?e:null)(r);s?.accessToken&&s.refreshToken&&e.set(s)}}}catch(o){console.warn("Error in session response middleware:",o)}return t},i=e=>r=>async(s,n={})=>{const t=new Headers(n.headers||{});if(t.has("x-hasura-admin-secret")||t.set("x-hasura-admin-secret",e.adminSecret),e.role&&!t.has("x-hasura-role")&&t.set("x-hasura-role",e.role),e.sessionVariables)for(const[r,o]of Object.entries(e.sessionVariables)){const e=r.startsWith("x-hasura-")?r:`x-hasura-${r}`;t.has(e)||t.set(e,o)}return r(s,{...n,headers:t})},c=e=>r=>async(s,n={})=>{const t=new Headers(n.headers||{});return new Headers(e).forEach(((e,r)=>{t.has(r)||t.set(r,e)})),r(s,{...n,headers:t})},u=e=>r=>async(s,n={})=>{const t=new Headers(n.headers||{});return t.has("x-hasura-role")||t.set("x-hasura-role",e),r(s,{...n,headers:t})};Object.defineProperty(exports,"FetchError",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"attachAccessTokenMiddleware",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"createEnhancedFetch",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"sessionRefreshMiddleware",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"updateSessionFromResponseMiddleware",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"withAdminSessionMiddleware",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"withHeadersMiddleware",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"withRoleMiddleware",{enumerable:!0,get:function(){return u}}); //# sourceMappingURL=fetch-B_MCWy66.cjs.map