@shopify/hydrogen 2023.4.0 → 2023.4.2
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/development/index.cjs +183 -31
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +181 -35
- package/dist/development/index.js.map +1 -1
- package/dist/production/index.cjs +24 -18
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.d.ts +183 -49
- package/dist/production/index.js +10 -10
- package/dist/production/index.js.map +1 -1
- package/package.json +10 -7
|
@@ -5,8 +5,8 @@ var serverRuntime = require('@remix-run/server-runtime');
|
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var react$1 = require('@remix-run/react');
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
`);throw new n(a+o)}throw new n(`API response error: ${e.status}`+o)}function
|
|
8
|
+
var Oe=Object.defineProperty;var Ae=(e,t)=>()=>(e&&(t=e(e=0)),t);var Le=(e,t)=>{for(var n in t)Oe(e,n,{get:t[n],enumerable:!0});};var Se={};Le(Se,{default:()=>ye,logSeoTags:()=>me});function ye({headTags:e}){return me(e),null}function me(e){console.log(" "),console.log("%cSEO Meta Tags",`${nt}`),console.log(" "),e.forEach(t=>{if(t.tag==="script"){if(console.log("%c\u2022 JSON LD ",z),t.children)try{console.table(JSON.parse(t.children),["name","content"]);}catch{console.log(t.children);}}else {if(console.log(`%c\u2022 ${t.tag} `,z),t.children)if(typeof t.children=="string")console.log(`\u21B3 ${t.children}`);else try{Object.entries(JSON.parse(t.children)).map(([n,r])=>console.log(`\u21B3 ${r}`));}catch{console.log(t.children);}if(t.props.property==="og:image:url"){let n=t.props.content;ot(n).then(r=>{let o=`font-size: 400px; padding: 10px; background: white url(${r}) no-repeat center; background-size: contain;`;console.log("%c\u2022 Share image preview",z),console.log("%c ",o),console.log(`\u21B3 ${n}`);}).catch(r=>{console.error(r);});}Object.entries(t.props).map(([n,r])=>{console.log(`\u21B3 ${n} \u2192 ${r}`);});}console.log(" ");});}async function ot(e){let r=await(await(await fetch(e)).blob()).arrayBuffer();return `data:image/png;base64,${at(r)}`}function at(e){let t="",n=new Uint8Array(e),r=n.byteLength;for(let o=0;o<r;o++)t+=String.fromCharCode(n[o]);return btoa(t)}var z,nt,Ce=Ae(()=>{z="text-transform: uppercase;",nt="text-transform: uppercase; font-weight: bold; text-transform: uppercase;font-weight: bold";});function Z(e){let t=Array.isArray(e)?e:[e],n="";for(let r of t)r!=null&&(typeof r=="object"?!!r.body&&typeof r.body=="string"?n+=r.body:n+=JSON.stringify(r):n+=r);return n}var U="public",ve="private",Me="no-store",ee={maxAge:"max-age",staleWhileRevalidate:"stale-while-revalidate",sMaxAge:"s-maxage",staleIfError:"stale-if-error"};function w(e){let t=[];return Object.keys(e).forEach(n=>{n==="mode"?t.push(e[n]):ee[n]&&t.push(`${ee[n]}=${e[n]}`);}),t.join(", ")}function H(){return {mode:Me}}function te(e){if(e?.mode&&e?.mode!==U&&e?.mode!==ve)throw Error("'mode' must be either 'public' or 'private'")}function y(e){return te(e),{mode:U,maxAge:1,staleWhileRevalidate:9,...e}}function j(e){return te(e),{mode:U,maxAge:3600,staleWhileRevalidate:82800,...e}}function G(e){return e}function R(e){return String(e).includes("__proto__")?JSON.parse(e,qe):JSON.parse(e)}function qe(e,t){if(e!=="__proto__")return t}function I(e,t){return e&&t?{...e,...t}:e||y()}function _(e){return w(I(e))}async function Ne(e,t){if(!e)return;let n=await e.match(t);if(!n){t.url;return}return t.url,n}async function Ue(e,t,n,r){if(!e)return;let o=I(r);t.headers.set("cache-control",_(I(o,{maxAge:(o.maxAge||0)+(o.staleWhileRevalidate||0)})));let a=_(I(o));n.headers.set("cache-control",a),n.headers.set("real-cache-control",a),n.headers.set("cache-put-date",new Date().toUTCString()),t.url,await e.put(t,n);}async function He(e,t){!e||(t.url,await e.delete(t));}function je(e,t){let n=t.headers.get("cache-put-date"),r=t.headers.get("real-cache-control"),o=0;if(r){let c=r.match(/max-age=(\d*)/);c&&c.length>1&&(o=parseFloat(c[1]));}if(!n)return !1;let i=(new Date().valueOf()-new Date(n).valueOf())/1e3>o;return i&&(e.url,void 0),i}var k={get:Ne,set:Ue,delete:He,generateDefaultCacheControlHeader:_,isStale:je};function $(e){return `https://shopify.dev/?${e}`}function Ge(e){return e||y()}async function re(e,t){if(!e)return;let n=$(t),r=new Request(n),o=await k.get(e,r);if(!o)return;let a=await o.text();try{return [R(a),o]}catch{return [a,o]}}async function D(e,t,n,r){if(!e)return;let o=$(t),a=new Request(o),s=new Response(JSON.stringify(n));await k.set(e,a,s,Ge(r));}function ne(e,t){return k.isStale(new Request($(e)),t)}function _e(e,t){return [e,{status:t.status,statusText:t.statusText,headers:Array.from(t.headers.entries())}]}function oe([e,t]){return [e,new Response(e,t)]}var ae=e=>!e?.errors,V=new Set;async function F(e,t,{strategy:n=y(),cacheInstance:r,shouldCacheResult:o=()=>!0,waitUntil:a}){if(!r||!n)return t();let s=Z([...typeof e=="string"?[e]:e]),i=await re(r,s);if(i){let[l,p]=i;if(!V.has(s)&&ne(s,p)){V.add(s);let f=Promise.resolve().then(async()=>{try{let g=await t();o(g)&&await D(r,s,g,n);}catch(g){g.message&&(g.message="SWR in sub-request failed: "+g.message),console.error(g);}finally{V.delete(s);}});a?.(f);}return l}let c=await t();if(o(c)){let l=D(r,s,c,n);a?.(l);}return c}async function se(e,t,{cacheInstance:n,cache:r,cacheKey:o=[e,t],shouldCacheResponse:a=()=>!0,waitUntil:s,returnType:i="json"}={}){return !r&&(!t.method||t.method==="GET")&&(r=y()),F(o,async()=>{let c=await fetch(e,t),l;try{l=await c[i]();}catch{l=await c.text();}return _e(l,c)},{cacheInstance:n,waitUntil:s,strategy:r??null,shouldCacheResult:c=>a(...oe(c))}).then(oe)}var ie="Custom-Storefront-Request-Group-ID";function ce(){return typeof crypto<"u"&&!!crypto.randomUUID?crypto.randomUUID():`weak-${Math.random().toString(16).substring(2)}`}var le=new Set,Q=e=>{le.has(e)||(console.warn(e),le.add(e));};var W="2023.4.2";var de=class extends Error{},We=e=>e instanceof de,Be=/(^|}\s)query[\s({]/im,Ke=/(^|}\s)mutation[\s({]/im;function ge(e){return e.replace(/\s*#.*$/gm,"").replace(/\s+/gm," ").trim()}var Je={language:"EN",country:"US"};function Wt(e){let{storefrontHeaders:t,cache:n,waitUntil:r,buyerIp:o,i18n:a,requestGroupId:s,storefrontId:i,...c}=e;n||Q("Storefront API client created without a cache instance. This may slow down your sub-requests.");let{getPublicTokenHeaders:l,getPrivateTokenHeaders:p,getStorefrontApiUrl:f,getShopifyDomain:g}=hydrogenReact.createStorefrontClient(c),h=(c.privateStorefrontToken?p:l)({contentType:"json",buyerIp:t?.buyerIp||o});if(h[ie]=t?.requestGroupId||s||ce(),i&&(h[hydrogenReact.SHOPIFY_STOREFRONT_ID_HEADER]=i),(h["user-agent"]=`Hydrogen ${W}`),t&&t.cookie){let u=hydrogenReact.getShopifyCookies(t.cookie??"");u[hydrogenReact.SHOPIFY_Y]&&(h[hydrogenReact.SHOPIFY_STOREFRONT_Y_HEADER]=u[hydrogenReact.SHOPIFY_Y]),u[hydrogenReact.SHOPIFY_S]&&(h[hydrogenReact.SHOPIFY_STOREFRONT_S_HEADER]=u[hydrogenReact.SHOPIFY_S]);}t||Q('"requestGroupId" and "buyerIp" will be deprecated in the next calendar release. Please use "getStorefrontHeaders"');async function m({query:u,mutation:T,variables:L,cache:we,headers:x=[],storefrontApiVersion:Pe}){let Re=x instanceof Headers?Object.fromEntries(x.entries()):Array.isArray(x)?Object.fromEntries(x):x;u=u??T;let v={...L};a&&(!L?.country&&/\$country/.test(u)&&(v.country=a.country),!L?.language&&/\$language/.test(u)&&(v.language=a.language));let Ie=f({storefrontApiVersion:Pe}),ke={method:"POST",headers:{...h,...Re},body:JSON.stringify({query:u,variables:v})},[M,q]=await se(Ie,ke,{cacheInstance:T?void 0:n,cache:we||y(),shouldCacheResponse:ae,waitUntil:r});if(!q.ok){let N;try{N=R(M);}catch{N=[{message:M}];}fe(q,N);}let{data:Ee,errors:X}=M;return X?.length&&fe(q,X,de),Ee}return {storefront:{query:(u,T)=>{if(u=ge(u),Ke.test(u))throw new Error("storefront.query cannot execute mutations");return m({...T,query:u})},mutate:(u,T)=>{if(u=ge(u),Be.test(u))throw new Error("storefront.mutate cannot execute queries");return m({...T,mutation:u})},cache:n,CacheNone:H,CacheLong:j,CacheShort:y,CacheCustom:G,generateCacheControlHeader:w,getPublicTokenHeaders:l,getPrivateTokenHeaders:p,getShopifyDomain:g,getApiUrl:f,isApiError:We,i18n:a??Je}}}function fe(e,t,n=Error){let r=e.headers.get("x-request-id"),o=r?` - Request ID: ${r}`:"";if(t){let a=typeof t=="string"?t:t.map(s=>s.message).join(`
|
|
9
|
+
`);throw new n(a+o)}throw new n(`API response error: ${e.status}`+o)}function zt(e){let{cache:t,waitUntil:n}=e;return function(o,a,s){return F(o,s,{strategy:a,cacheInstance:t,waitUntil:n})}}var B=class{#e;constructor(){this.#e=new Map;}add(t){throw new Error("Method not implemented. Use `put` instead.")}addAll(t){throw new Error("Method not implemented. Use `put` instead.")}matchAll(t,n){throw new Error("Method not implemented. Use `match` instead.")}async put(t,n){if(t.method!=="GET")throw new TypeError("Cannot cache response to non-GET request.");if(n.status===206)throw new TypeError("Cannot cache response to a range request (206 Partial Content).");if(n.headers.get("vary")?.includes("*"))throw new TypeError("Cannot cache response with 'Vary: *' header.");this.#e.set(t.url,{body:new Uint8Array(await n.arrayBuffer()),status:n.status,headers:[...n.headers],timestamp:Date.now()});}async match(t){if(t.method!=="GET")return;let n=this.#e.get(t.url);if(!n)return;let{body:r,timestamp:o,...a}=n,s=new Headers(a.headers),i=s.get("cache-control")||s.get("real-cache-control")||"",c=parseInt(i.match(/max-age=(\d+)/)?.[1]||"0",10),l=parseInt(i.match(/stale-while-revalidate=(\d+)/)?.[1]||"0",10),p=(Date.now()-o)/1e3;if(p>c+l){this.#e.delete(t.url);return}let g=p>c;return s.set("cache",g?"STALE":"HIT"),s.set("date",new Date(o).toUTCString()),new Response(r,{status:a.status??200,headers:s})}async delete(t){return this.#e.has(t.url)?(this.#e.delete(t.url),!0):!1}keys(t){let n=[];for(let r of this.#e.keys())(!t||t.url===r)&&n.push(new Request(r));return Promise.resolve(n)}};async function Ye(e){let{storefront:t,request:n,response:r=new Response("Not Found",{status:404})}=e,{pathname:o,search:a}=new URL(n.url),s=o+a;try{let{urlRedirects:i}=await t.query(Ze,{variables:{query:"path:"+s}}),c=i?.edges?.[0]?.node?.target;if(c)return new Response(null,{status:302,headers:{location:c}});let l=new URLSearchParams(a),p=l.get("return_to")||l.get("redirect");if(p){if(Xe(p))return serverRuntime.redirect(p);console.warn(`Cross-domain redirects are not supported. Tried to redirect from ${s} to ${p}`);}}catch(i){console.error(`Failed to fetch redirects from Storefront API for route ${s}`,i);}return r}function Xe(e){try{new URL(e);}catch{return !0}return !1}var Ze=`#graphql
|
|
10
10
|
query redirects($query: String) {
|
|
11
11
|
urlRedirects(first: 1, query: $query) {
|
|
12
12
|
edges {
|
|
@@ -16,7 +16,7 @@ var Ee=Object.defineProperty;var Ae=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ie=(e,t)=>{
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
`;function
|
|
19
|
+
`;var et=async function({context:t}){let n=t?.storefront;if(!n)throw new Error("GraphiQL: Hydrogen's storefront client must be injected in the loader context.");let r=n.getApiUrl(),o=n.getPublicTokenHeaders()["X-Shopify-Storefront-Access-Token"];return new Response(`
|
|
20
20
|
<!DOCTYPE html>
|
|
21
21
|
<html lang="en">
|
|
22
22
|
<head>
|
|
@@ -57,9 +57,9 @@ var Ee=Object.defineProperty;var Ae=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ie=(e,t)=>{
|
|
|
57
57
|
ReactDOM.render(
|
|
58
58
|
React.createElement(GraphiQL, {
|
|
59
59
|
fetcher: GraphiQL.createFetcher({
|
|
60
|
-
url: '${
|
|
60
|
+
url: '${r}',
|
|
61
61
|
headers: {
|
|
62
|
-
'X-Shopify-Storefront-Access-Token': '${
|
|
62
|
+
'X-Shopify-Storefront-Access-Token': '${o}',
|
|
63
63
|
}
|
|
64
64
|
}),
|
|
65
65
|
defaultEditorToolsVisibility: true,
|
|
@@ -70,7 +70,7 @@ var Ee=Object.defineProperty;var Ae=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ie=(e,t)=>{
|
|
|
70
70
|
<\/script>
|
|
71
71
|
</body>
|
|
72
72
|
</html>
|
|
73
|
-
`,{status:200,headers:{"content-type":"text/html"}})}var
|
|
73
|
+
`,{status:200,headers:{"content-type":"text/html"}})};var S="Error in SEO input: ",E={title:{validate:e=>{if(typeof e!="string")throw new Error(S.concat("`title` should be a string"));if(typeof e=="string"&&e.length>120)throw new Error(S.concat("`title` should not be longer than 120 characters"));return e}},description:{validate:e=>{if(typeof e!="string")throw new Error(S.concat("`description` should be a string"));if(typeof e=="string"&&e.length>155)throw new Error(S.concat("`description` should not be longer than 155 characters"));return e}},url:{validate:e=>{if(typeof e!="string")throw new Error(S.concat("`url` should be a string"));if(typeof e=="string"&&!e.startsWith("http"))throw new Error(S.concat("`url` should be a valid URL"));return e}},handle:{validate:e=>{if(typeof e!="string")throw new Error(S.concat("`handle` should be a string"));if(typeof e=="string"&&!e.startsWith("@"))throw new Error(S.concat("`handle` should start with `@`"));return e}}};function he(e){let t=[];for(let n of Object.keys(e))switch(n){case"title":{let r=O(E.title,e.title),o=tt(e?.titleTemplate,r);if(!o)break;t.push(d("title",{title:o}),d("meta",{property:"og:title",content:o}),d("meta",{name:"twitter:title",content:o}));break}case"description":{let r=O(E.description,e.description);if(!r)break;t.push(d("meta",{name:"description",content:r}),d("meta",{property:"og:description",content:r}),d("meta",{name:"twitter:description",content:r}));break}case"url":{let r=O(E.url,e.url);if(!r)break;t.push(d("link",{rel:"canonical",href:r}),d("meta",{property:"og:url",content:r}));break}case"handle":{let r=O(E.handle,e.handle);if(!r)break;t.push(d("meta",{name:"twitter:site",content:r}),d("meta",{name:"twitter:creator",content:r}));break}case"media":{let r,o=J(e.media);for(let a of o)if(typeof a=="string"&&t.push(d("meta",{name:"og:image",content:a})),a&&typeof a=="object"){let s=a.type||"image",i=a?{url:a?.url,secure_url:a?.url,type:rt(a.url),width:a?.width,height:a?.height,alt:a?.altText}:{};for(let c of Object.keys(i))i[c]&&(r=i[c],t.push(d("meta",{property:`og:${s}:${c}`,content:r},i.url)));}break}case"jsonLd":{let r=J(e.jsonLd),o=0;for(let a of r){if(typeof a!="object")continue;let s=d("script",{type:"application/ld+json",children:JSON.stringify(a)},`json-ld-${a?.["@type"]||a?.name||o++}`);t.push(s);}break}case"alternates":{let r=J(e.alternates);for(let o of r){if(!o)continue;let{language:a,url:s,default:i}=o,c=a?`${a}${i?"-default":""}`:void 0;t.push(d("link",{rel:"alternate",hrefLang:c,href:s}));}break}case"robots":{if(!e.robots)break;let{maxImagePreview:r,maxSnippet:o,maxVideoPreview:a,noArchive:s,noFollow:i,noImageIndex:c,noIndex:l,noSnippet:p,noTranslate:f,unavailableAfter:g}=e.robots,b=[s&&"noarchive",c&&"noimageindex",p&&"nosnippet",f&&"notranslate",r&&`max-image-preview:${r}`,o&&`max-snippet:${o}`,a&&`max-video-preview:${a}`,g&&`unavailable_after:${g}`],h=(l?"noindex":"index")+","+(i?"nofollow":"follow");for(let m of b)m&&(h+=`,${m}`);t.push(d("meta",{name:"robots",content:h}));break}}return t.flat().sort((n,r)=>n.key.localeCompare(r.key))}function d(e,t,n){let r={tag:e,props:{},key:""};return e==="title"?(r.children=t.title,r.key=K(r),r):e==="script"?(r.children=typeof t.children=="string"?t.children:"",r.key=K(r,n),delete t.children,r.props=t,r):(r.props=t,Object.keys(r.props).forEach(o=>!r.props[o]&&delete r.props[o]),r.key=K(r,n),r)}function K(e,t){let{tag:n,props:r}=e;if(n==="title")return "0-title";if(n==="meta"){let o=r.content===t&&typeof r.property=="string"&&!r.property.endsWith("secure_url")&&"0";return [n,...[t,o],r.property||r.name].filter(s=>s).join("-")}return n==="link"?[n,r.rel,r.hrefLang||r.media].filter(a=>a).join("-").replace(/\s+/g,"-"):n==="script"?`${n}-${t}`:`${n}-${r.type}`}function tt(e,t){if(!!t)return e?typeof e=="function"?e(t):e.replace("%s",t??""):t}function rt(e){switch(e&&e.split(".").pop()){case"svg":return "image/svg+xml";case"png":return "image/png";case"gif":return "image/gif";case"swf":return "application/x-shockwave-flash";case"mp3":return "audio/mpeg";case"jpg":case"jpeg":default:return "image/jpeg"}}function J(e){return Array.isArray(e)?e:[e]}function O(e,t){try{return e.validate(t)}catch(n){return console.warn(n.message),t}}var ut=react.lazy(()=>Promise.resolve().then(()=>(Ce(),Se)));function gt({debug:e}){let t=react$1.useMatches(),n=react$1.useLocation(),r=react.useMemo(()=>t.flatMap(s=>{let{handle:i,...c}=s,l={...c,...n},p=i?.seo,f=c?.data?.seo;return !p&&!f?[]:p?A(i.seo,l):[f]}).reduce((s,i)=>{Object.keys(i).forEach(l=>!i[l]&&delete i[l]);let{jsonLd:c}=i;return c?s?.jsonLd?Array.isArray(c)?{...s,...i,jsonLd:[...s.jsonLd,...c]}:{...s,...i,jsonLd:[...s.jsonLd,c]}:{...s,...i,jsonLd:[c]}:{...s,...i}},{}),[t,n]),{html:o,loggerMarkup:a}=react.useMemo(()=>{let s=he(r),i=s.map(l=>l.tag==="script"?react.createElement(l.tag,{...l.props,key:l.key,dangerouslySetInnerHTML:{__html:l.children}}):react.createElement(l.tag,{...l.props,key:l.key},l.children)),c=react.createElement(react.Suspense,{fallback:null},react.createElement(ut,{headTags:s}));return {html:i,loggerMarkup:c}},[r]);return react.createElement(react.Fragment,null,o,e&&a)}function A(e,...t){if(e instanceof Function)return A(e(...t),...t);let n={};return Array.isArray(e)?(n=e.reduce((r,o)=>[...r,A(o)],[]),n):e instanceof Object?(Object.entries(e).forEach(([o,a])=>{n[o]=A(a,...t);}),n):e}function ht({connection:e,children:t=()=>(console.warn("<Pagination> requires children to work properly"),null)}){let r=react$1.useNavigation().state==="loading",{endCursor:o,hasNextPage:a,hasPreviousPage:s,nextPageUrl:i,nodes:c,previousPageUrl:l,startCursor:p}=yt(e),f=react.useMemo(()=>({pageInfo:{endCursor:o,hasPreviousPage:s,startCursor:p},nodes:c}),[o,s,p,c]),g=react.useMemo(()=>function(m){return a?react.createElement(react$1.Link,{preventScrollReset:!0,...m,to:i,state:f,replace:!0}):null},[a,i]),b=react.useMemo(()=>function(m){return s?react.createElement(react$1.Link,{preventScrollReset:!0,...m,to:l,state:f,replace:!0}):null},[s,l]);return t({state:f,hasNextPage:a,hasPreviousPage:s,isLoading:r,nextPageUrl:i,nodes:c,previousPageUrl:l,NextLink:g,PreviousLink:b})}function yt(e){let{state:t,search:n}=react$1.useLocation(),a=new URLSearchParams(n).get("direction")==="previous",s=react.useMemo(()=>!t||!t?.nodes?hydrogenReact.flattenConnection(e):a?[...hydrogenReact.flattenConnection(e),...t.nodes]:[...t.nodes,...hydrogenReact.flattenConnection(e)],[t,e]),i=react.useMemo(()=>{let p=t?.pageInfo?.startCursor===void 0?e.pageInfo.startCursor:t.pageInfo.startCursor,f=t?.pageInfo?.endCursor===void 0?e.pageInfo.endCursor:t.pageInfo.endCursor;t?.nodes&&(a?p=e.pageInfo.startCursor:f=e.pageInfo.endCursor);let g=t?.pageInfo?.hasPreviousPage===void 0?e.pageInfo.hasPreviousPage:t.pageInfo.hasPreviousPage,b=t?.pageInfo?.hasNextPage===void 0?e.pageInfo.hasNextPage:t.pageInfo.hasNextPage;return {startCursor:p,endCursor:f,hasPreviousPage:g,hasNextPage:b}},[a,t,e.pageInfo.hasNextPage,e.pageInfo.hasPreviousPage,e.pageInfo.startCursor,e.pageInfo.endCursor]),c=react.useMemo(()=>{let p=new URLSearchParams(n);return p.set("direction","previous"),i.startCursor&&p.set("cursor",i.startCursor),`?${p.toString()}`},[n,i.startCursor]),l=react.useMemo(()=>{let p=new URLSearchParams(n);return p.set("direction","next"),i.endCursor&&p.set("cursor",i.endCursor),`?${p.toString()}`},[n,i.endCursor]);return {...i,previousPageUrl:c,nextPageUrl:l,nodes:s}}function mt(e,t={pageBy:20}){if(!(e instanceof Request))throw new Error("getPaginationVariables must be called with the Request object passed to your loader function");let{pageBy:n}=t,r=new URLSearchParams(new URL(e.url).search),o=r.get("cursor")??void 0;return (r.get("direction")==="previous"?"previous":"next")==="previous"?{last:n,startCursor:o??null}:{first:n,endCursor:o??null}}
|
|
74
74
|
|
|
75
75
|
Object.defineProperty(exports, 'AnalyticsEventName', {
|
|
76
76
|
enumerable: true,
|
|
@@ -128,6 +128,10 @@ Object.defineProperty(exports, 'getShopifyCookies', {
|
|
|
128
128
|
enumerable: true,
|
|
129
129
|
get: function () { return hydrogenReact.getShopifyCookies; }
|
|
130
130
|
});
|
|
131
|
+
Object.defineProperty(exports, 'parseGid', {
|
|
132
|
+
enumerable: true,
|
|
133
|
+
get: function () { return hydrogenReact.parseGid; }
|
|
134
|
+
});
|
|
131
135
|
Object.defineProperty(exports, 'parseMetafield', {
|
|
132
136
|
enumerable: true,
|
|
133
137
|
get: function () { return hydrogenReact.parseMetafield; }
|
|
@@ -148,17 +152,19 @@ Object.defineProperty(exports, 'useShopifyCookies', {
|
|
|
148
152
|
enumerable: true,
|
|
149
153
|
get: function () { return hydrogenReact.useShopifyCookies; }
|
|
150
154
|
});
|
|
151
|
-
exports.CacheCustom =
|
|
152
|
-
exports.CacheLong =
|
|
153
|
-
exports.CacheNone =
|
|
154
|
-
exports.CacheShort =
|
|
155
|
-
exports.InMemoryCache =
|
|
156
|
-
exports.
|
|
157
|
-
exports.
|
|
158
|
-
exports.
|
|
159
|
-
exports.
|
|
160
|
-
exports.
|
|
161
|
-
exports.
|
|
162
|
-
exports.
|
|
155
|
+
exports.CacheCustom = G;
|
|
156
|
+
exports.CacheLong = j;
|
|
157
|
+
exports.CacheNone = H;
|
|
158
|
+
exports.CacheShort = y;
|
|
159
|
+
exports.InMemoryCache = B;
|
|
160
|
+
exports.Pagination__unstable = ht;
|
|
161
|
+
exports.Seo = gt;
|
|
162
|
+
exports.createStorefrontClient = Wt;
|
|
163
|
+
exports.createWithCache_unstable = zt;
|
|
164
|
+
exports.generateCacheControlHeader = w;
|
|
165
|
+
exports.getPaginationVariables__unstable = mt;
|
|
166
|
+
exports.graphiqlLoader = et;
|
|
167
|
+
exports.isStorefrontApiError = We;
|
|
168
|
+
exports.storefrontRedirect = Ye;
|
|
163
169
|
//# sourceMappingURL=out.js.map
|
|
164
170
|
//# sourceMappingURL=index.cjs.map
|