UNPKG

@aktivco/rutoken-connect

Version:
1 lines 1.76 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["rutoken-connect"]=t():e["rutoken-connect"]=t()}(self,(()=>(()=>{"use strict";var e={d:(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{Status:()=>o,getStatus:()=>c});const o=Object.freeze({noExtension:-1,ready:0,noNative:1,oldExtension:2,oldNative:3,error:4}),n=o.error,r=function(){const e=window.navigator.userAgent;return!!e.match(/firefox/i)&&!e.match(/seamonkey/i)}();let i,s;function c(){if(null!=i)return Promise.resolve(i);if(void 0!==s)return s;let e,t;s=new Promise(((o,n)=>{e=e=>{void 0!==s&&null!==i&&o(e),i=e,s=void 0},t=e=>{void 0!==s&&null!==i&&n(e),i=null,s=Promise.reject(e)}}));const c=o=>{if(o.source!==window||void 0===o.data||void 0===o.data.rutoken||"EE4F9C58-64D8-4FCD-AB45-0E3040EEB37D"!==o.data.rutoken.uuid)return;const{status:r}=o.data.rutoken;void 0!==r&&r>=0&&r<=n?e(r):t(new Error(`Couldn't parse extension status: ${r}`))};window.addEventListener("message",c);let d="chrome-extension://acbchkahfmndkenefkcklofjmipghjjp/check_rtconnect_extension";const u={};return r&&(d="https://qbwjg564lyt1tdfo23xz5l3udvdfe0ux.rutoken.ru/api/v1/check_rtconnect_extension",u.mode="no-cors"),fetch(d,u).then((()=>{r&&e(o.noExtension)})).catch((n=>{r?setTimeout((()=>{void 0===i&&(window.removeEventListener("message",c),t(n))}),2e3):e(o.noExtension)})).then((()=>null!=i?i:s))}return t})()));