{"version":3,"sources":["../src/iframe/index.ts"],"sourcesContent":["import { hasContainLoginCodeAndState, parseQueryResult } from '../utils'\n\nasync function handleRedirectCallback(\n  url: string = window.location.href,\n  stop = false,\n) {\n  if (!hasContainLoginCodeAndState())\n    return\n\n  const queryStringFragments\n    = url.split('?').slice(1).length !== 0\n      ? url.split('?').slice(1)\n      : url.split('#').slice(1)\n  if (queryStringFragments.length === 0)\n    throw new Error('There are no query params available for parsing.')\n\n  const { state, code, error, error_description } = parseQueryResult(\n    queryStringFragments.join(''),\n  )\n\n  if (\n    stop !== true\n      && queryStringFragments[0] !== ''\n      && (window.self !== window.top\n        || (window.self !== window.parent.opener && window.parent.opener !== null))\n  ) {\n    // 给父页面发送消息（iframe和pupop两种方式）\n    const target = window.parent.opener || window.parent\n    target.postMessage(\n      {\n        type: 'authorization_response',\n        response: {\n          code,\n          state,\n        },\n      },\n      '*',\n    )\n  }\n}\n\nhandleRedirectCallback()\nwindow.addEventListener('hashchange', () => {\n  handleRedirectCallback()\n})\n"],"mappings":";;;;;;;;;AAEA,eAAe,uBACb,MAAc,OAAO,SAAS,MAC9B,OAAO,OACP;AACA,MAAI,CAAC,4BAA4B;AAC/B;AAEF,QAAM,uBACF,IAAI,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,IACjC,IAAI,MAAM,GAAG,EAAE,MAAM,CAAC,IACtB,IAAI,MAAM,GAAG,EAAE,MAAM,CAAC;AAC5B,MAAI,qBAAqB,WAAW;AAClC,UAAM,IAAI,MAAM,kDAAkD;AAEpE,QAAM,EAAE,OAAO,MAAM,OAAO,kBAAkB,IAAI;AAAA,IAChD,qBAAqB,KAAK,EAAE;AAAA,EAC9B;AAEA,MACE,SAAS,QACJ,qBAAqB,CAAC,MAAM,OAC3B,OAAO,SAAS,OAAO,OACrB,OAAO,SAAS,OAAO,OAAO,UAAU,OAAO,OAAO,WAAW,OACzE;AAEA,UAAM,SAAS,OAAO,OAAO,UAAU,OAAO;AAC9C,WAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,UAAU;AAAA,UACR;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AArCe;AAuCf,uBAAuB;AACvB,OAAO,iBAAiB,cAAc,MAAM;AAC1C,yBAAuB;AACzB,CAAC;","names":[]}