{"version":3,"file":"ensure-valid-offline-session.mjs","sources":["../../../../src/helpers/ensure-valid-offline-session.ts"],"sourcesContent":["import {Session, ShopifyError} from '@shopify/shopify-api';\n\nimport {ApiAndConfigParams} from '../types';\n\nimport {ensureOfflineTokenIsNotExpired} from './ensure-offline-token-is-not-expired';\nimport {loadOfflineSession} from './load-offline-session';\n\nexport async function ensureValidOfflineSession(\n  params: ApiAndConfigParams,\n  shop: string,\n): Promise<Session | undefined> {\n  const {config} = params;\n\n  if (!config.future?.expiringOfflineAccessTokens) {\n    throw new ShopifyError(\n      'ensureValidOfflineSession requires the `expiringOfflineAccessTokens` future flag to be enabled.',\n    );\n  }\n\n  const session = await loadOfflineSession(params, shop);\n\n  if (!session) return undefined;\n\n  return ensureOfflineTokenIsNotExpired(params, session);\n}\n"],"names":[],"mappings":";;;;AAOO,eAAe,yBAAyB,CAC7C,MAA0B,EAC1B,IAAY,EAAA;AAEZ,IAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM;AAEvB,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,2BAA2B,EAAE;AAC/C,QAAA,MAAM,IAAI,YAAY,CACpB,iGAAiG,CAClG;IACH;IAEA,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;AAEtD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,SAAS;AAE9B,IAAA,OAAO,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC;AACxD;;;;"}