@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.26 kB
JavaScript
import e from"../../../services/preview-sessions/resolve.mjs";import{runToolkitService as t}from"../utils.mjs";const n=`preview`,r=async e=>{e&&await Promise.all([e.set(`Cache-Control`,`private, no-store`),e.set(`Pragma`,`no-cache`),e.set(`Referrer-Policy`,`no-referrer`)])},i=async(i,a)=>t(async()=>{let t=new URL(a.url),o=t.searchParams.has(n),s=t.searchParams.get(`previewContext`)===`builder`,c=o?t.searchParams.get(n)??``:void 0;if(c===`exit`)return await r(a.headers),await a.session.clear(),{error:void 0,data:{active:!1,token:null,source:`exit`,preview:null}};let l=o?void 0:await a.session.get(),u=c??l??null;if(u===null)return{error:void 0,data:{active:!1,token:null,source:null,preview:null}};await r(a.headers);let d=await e(i,{token:u});return d.error?(await a.session.clear(),d):(d.data.mode===`scoped`?await a.session.clear():o&&!s&&await a.session.set({token:u,expiresAt:d.data.expiresAt}),{error:void 0,data:{active:!0,token:u,source:o?`query`:`stored`,preview:d.data}})},{name:{key:`core.toolkit.preview.resolve.error.name`,defaultMessage:`Preview Toolkit Error`},message:{key:`core.toolkit.preview.resolve.error.message`,defaultMessage:`Lucid toolkit could not handle the preview.`}});export{i as default};
//# sourceMappingURL=state.mjs.map