Socket
Socket
Sign inDemoInstall

@mntm/painless-bridge

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mntm/painless-bridge - npm Package Compare versions

Comparing version 3.0.0 to 3.0.1

2

lib/index.module.js

@@ -1,1 +0,1 @@

var y=(r,e,t)=>({error_type:r,error_data:{error_code:e,error_reason:t}}),j=y("client_error",1,"Unknown error"),V=y("client_error",3,"Connection lost"),g=y("client_error",4,"User denied"),H=y("client_error",6,"Unsupported platform"),f=r=>r==null||typeof r!="object"||!d(r)?j:Object.assign({},j,r),R=r=>f(r).error_data.error_reason||"",X=r=>{let e=f(r);return R(e).error_type||e.error_type},Y=r=>{let e=f(r),t=R(e);return typeof t=="object"&&(t.code||t.error_code)||e.error_data.error_code||1},rr=r=>r==="Network error"||r==="Connection lost",er=[7,15,24,27,28,200,201,203],tr=r=>er.includes(r),nr=[4,7,8],or=r=>nr.includes(r),sr=r=>{let e=f(r),t=R(e),n=X(e),o=Y(e),s=e.error_data,S="request_params"in s,i=[s.error,s.error_msg,s.error_text];return Array.isArray(s.error_description)?i.push.apply(i,s.error_description):i.push(s.error_description),typeof t=="object"?(S="request_params"in t,i.push(t.error_msg,t.error_text)):i.push(t),n==="client_error"&&or(o)||n==="api_error"&&tr(o)?g:n==="client_error"&&o===1&&i.some(rr)||n==="auth_error"&&!s.error&&!s.error_description&&!t||(n==="auth_error"||n==="api_error"&&!S)&&o<0&&o>-4e3?V:e},N=r=>(e,t)=>r(e,t).catch(n=>{throw sr(n)});var ir=0,p=()=>`_${++ir}`,u=new Map,l=r=>typeof r=="object"&&r!=null,d=r=>l(r)&&l(r.error_data),v=r=>l(r)&&l(r.detail)&&l(r.detail.data),k=r=>{if(!E(r))throw H};var _=window,B={};_.__awaiters=B;var ar=r=>{let e="";for(let t in r){let n=`${t}=${encodeURIComponent(`${r[t]}`)}`;e===""?e=n:e+=`&${n}`}return e},cr=r=>new Promise((e,t)=>{let n=p(),o=r,s=ar(o.params),S=`https://api.vk.com/method/${o.method}?${s}&callback=__awaiters.${n}`,i=_.document.createElement("script"),T=()=>{requestAnimationFrame(()=>{_.document.head.removeChild(i)})},I=a=>{T(),t({error_type:"api_error",error_data:{error_code:a&&a.code||1,error_msg:a&&a.message||"Unknown error",request_params:s.split("&").map(decodeURIComponent)}})},z=a=>{T(),e(a)};B[n]=a=>{B[n]=null;let K=a||{};"response"in K?z(K):I(K.error||{})},_.document.head.appendChild(Object.assign(i,{id:n,src:S,async:!0,importance:"high",onerror:I}))}),U=r=>(e,t)=>{if(e==="VKWebAppCallAPIMethod"){let n=t==null?{}:t;return cr(n)}return r(e,t)};var q=r=>(e,t)=>e==="VKWebAppStorageGet"?r(e,t).then(n=>Promise.all(n.keys.map(o=>r("VKWebAppStorageSet",o))).then(()=>n,()=>n)):r(e,t);var dr=(r,e)=>{if(r&&e&&r!==e){let t=r.split(","),n=e.split(",");for(let o=t.length;o--;)if(!n.includes(t[o]))return!1}return!0},pr=(r,e,t)=>n=>d(n)?t(n):n.access_token?dr(r.scope,n.scope)?(n.scope=r.scope,e(n)):t(g):t(g),W=r=>(e,t)=>e==="VKWebAppGetAuthToken"||e==="VKWebAppGetCommunityToken"?new Promise((n,o)=>{let s=Object.assign({request_id:p(),scope:""},t);u.set(s.request_id,pr(s,n,o)),h(e,s)}):r(e,t);var F=r=>{let e=U(r),t=q(e),n=W(t);return N(n)};var c=window,P=c.AndroidBridge,x=c.webkit&&c.webkit.messageHandlers,w=P||x,O=[],A="",E=(()=>w?r=>r in w:r=>O.includes(r))(),m=[],L=r=>{if(!v(r))return;let e=r.detail.type,t=r.detail.data;e==="VKWebAppSettings"&&(A=t.frameId||A),e==="SetSupportedHandlers"&&O.push.apply(O,t.supportedHandlers);let n=t.request_id,o=u.get(n);o!=null&&(o(t),u.delete(n)),m.length>0&&m.slice(0).forEach(s=>{s(r)})};w?c.addEventListener("VKWebAppEvent",L):c.addEventListener("message",r=>{L({detail:r.data})});var $=r=>{m.push(r)},G=r=>{let e=m.indexOf(r);e!==-1&&m.splice(e,1)},h=(()=>P?(r,e)=>{k(r),P[r](JSON.stringify(e))}:x?(r,e)=>{k(r),x[r].postMessage(e)}:(r,e)=>{c.parent.postMessage({type:"vk-connect",frameId:A,webFrameId:A,handler:r,params:e},"*")})(),ur=(r,e)=>t=>d(t)?e(t):r(t),gr=(r,e)=>new Promise((t,n)=>{let o=Object.assign({request_id:p()},e);u.set(o.request_id,ur(t,n)),h(r,o)}),C=()=>!!w,D=()=>c.parent!==c,M=()=>C()||D(),J=()=>!M(),b=F(gr),lr=b,Z=()=>({send:b,sendPromise:b,subscribe:$,unsubscribe:G,supports:E,isWebView:C,isIframe:D,isEmbedded:M,isStandalone:J}),Q=Z();export{Q as bridge,Z as createBridge,Q as default,M as isEmbedded,D as isIframe,J as isStandalone,C as isWebView,b as send,lr as sendPromise,$ as subscribe,E as supports,G as unsubscribe};
var y=(r,e,t)=>({error_type:r,error_data:{error_code:e,error_reason:t}}),j=y("client_error",1,"Unknown error"),V=y("client_error",3,"Connection lost"),g=y("client_error",4,"User denied"),H=y("client_error",6,"Unsupported platform"),f=r=>r==null||typeof r!="object"||!d(r)?j:Object.assign({},j,r),R=r=>f(r).error_data.error_reason||"",X=r=>{let e=f(r);return R(e).error_type||e.error_type},Y=r=>{let e=f(r),t=R(e);return typeof t=="object"&&(t.code||t.error_code)||e.error_data.error_code||1},rr=r=>r==="Network error"||r==="Connection lost",er=[7,15,24,27,28,200,201,203],tr=r=>er.includes(r),nr=[4,7,8],or=r=>nr.includes(r),sr=r=>{let e=f(r),t=R(e),n=X(e),o=Y(e),s=e.error_data,S="request_params"in s,a=[s.error,s.error_msg,s.error_text];return Array.isArray(s.error_description)?a.push.apply(a,s.error_description):a.push(s.error_description),typeof t=="object"?(S="request_params"in t,a.push(t.error_msg,t.error_text)):a.push(t),n==="client_error"&&or(o)||n==="api_error"&&tr(o)?g:n==="client_error"&&o===1&&a.some(rr)||n==="auth_error"&&!s.error&&!s.error_description&&!t||(n==="auth_error"||n==="api_error"&&!S)&&o<0&&o>-4e3?V:e},N=r=>(e,t)=>r(e,t).catch(n=>{throw sr(n)});var ir=0,p=()=>`_${++ir}`,u=new Map,l=r=>typeof r=="object"&&r!=null,d=r=>l(r)&&l(r.error_data),v=r=>l(r)&&l(r.detail)&&l(r.detail.data),k=r=>{if(!_(r))throw H};var E=window,B={};E.__awaiters=B;var ar=r=>{let e="";for(let t in r){let n=`${t}=${encodeURIComponent(`${r[t]}`)}`;e===""?e=n:e+=`&${n}`}return e},cr=r=>new Promise((e,t)=>{let n=p(),o=r,s=ar(o.params),S=`https://api.vk.com/method/${o.method}?${s}&callback=__awaiters.${n}`,a=E.document.createElement("script"),T=()=>{requestAnimationFrame(()=>{E.document.head.removeChild(a)})},I=i=>{T(),t({error_type:"api_error",error_data:{error_code:i&&(i.code||i.error_code)||1,error_msg:i&&(i.message||i.error_message||i.error_msg)||"Unknown error",request_params:s.split("&").map(decodeURIComponent)}})},z=i=>{T(),e(i)};B[n]=i=>{B[n]=null;let K=i||{};"response"in K?z(K):I(K.error||{})},E.document.head.appendChild(Object.assign(a,{id:n,src:S,async:!0,importance:"high",onerror:I}))}),U=r=>(e,t)=>{if(e==="VKWebAppCallAPIMethod"){let n=t==null?{}:t;return cr(n)}return r(e,t)};var q=r=>(e,t)=>e==="VKWebAppStorageGet"?r(e,t).then(n=>Promise.all(n.keys.map(o=>r("VKWebAppStorageSet",o))).then(()=>n,()=>n)):r(e,t);var dr=(r,e)=>{if(r&&e&&r!==e){let t=r.split(","),n=e.split(",");for(let o=t.length;o--;)if(!n.includes(t[o]))return!1}return!0},pr=(r,e,t)=>n=>d(n)?t(n):n.access_token?dr(r.scope,n.scope)?(n.scope=r.scope,e(n)):t(g):t(g),W=r=>(e,t)=>e==="VKWebAppGetAuthToken"||e==="VKWebAppGetCommunityToken"?new Promise((n,o)=>{let s=Object.assign({request_id:p(),scope:""},t);u.set(s.request_id,pr(s,n,o)),h(e,s)}):r(e,t);var F=r=>{let e=U(r),t=q(e),n=W(t);return N(n)};var c=window,P=c.AndroidBridge,x=c.webkit&&c.webkit.messageHandlers,w=P||x,O=[],A="",_=(()=>w?r=>r in w:r=>O.includes(r))(),m=[],L=r=>{if(!v(r))return;let e=r.detail.type,t=r.detail.data;e==="VKWebAppSettings"&&(A=t.frameId||A),e==="SetSupportedHandlers"&&O.push.apply(O,t.supportedHandlers);let n=t.request_id,o=u.get(n);o!=null&&(o(t),u.delete(n)),m.length>0&&m.slice(0).forEach(s=>{s(r)})};w?c.addEventListener("VKWebAppEvent",L):c.addEventListener("message",r=>{L({detail:r.data})});var $=r=>{m.push(r)},G=r=>{let e=m.indexOf(r);e!==-1&&m.splice(e,1)},h=(()=>P?(r,e)=>{k(r),P[r](JSON.stringify(e))}:x?(r,e)=>{k(r),x[r].postMessage(e)}:(r,e)=>{c.parent.postMessage({type:"vk-connect",frameId:A,webFrameId:A,handler:r,params:e},"*")})(),ur=(r,e)=>t=>d(t)?e(t):r(t),gr=(r,e)=>new Promise((t,n)=>{let o=Object.assign({request_id:p()},e);u.set(o.request_id,ur(t,n)),h(r,o)}),C=()=>!!w,D=()=>c.parent!==c,M=()=>C()||D(),J=()=>!M(),b=F(gr),lr=b,Z=()=>({send:b,sendPromise:b,subscribe:$,unsubscribe:G,supports:_,isWebView:C,isIframe:D,isEmbedded:M,isStandalone:J}),Q=Z();export{Q as bridge,Z as createBridge,Q as default,M as isEmbedded,D as isIframe,J as isStandalone,C as isWebView,b as send,lr as sendPromise,$ as subscribe,_ as supports,G as unsubscribe};

@@ -1,1 +0,1 @@

var B=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.prototype.hasOwnProperty;var nr=(r,e)=>{for(var t in e)B(r,t,{get:e[t],enumerable:!0})},or=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of er(e))!tr.call(r,o)&&o!==t&&B(r,o,{get:()=>e[o],enumerable:!(n=rr(e,o))||n.enumerable});return r};var sr=r=>or(B({},"__esModule",{value:!0}),r);var Ar={};nr(Ar,{bridge:()=>v,createBridge:()=>N,default:()=>v,isEmbedded:()=>R,isIframe:()=>V,isStandalone:()=>H,isWebView:()=>K,send:()=>y,sendPromise:()=>X,subscribe:()=>I,supports:()=>m,unsubscribe:()=>j});module.exports=sr(Ar);var E=(r,e,t)=>({error_type:r,error_data:{error_code:e,error_reason:t}}),W=E("client_error",1,"Unknown error"),h=E("client_error",3,"Connection lost"),g=E("client_error",4,"User denied"),F=E("client_error",6,"Unsupported platform"),_=r=>r==null||typeof r!="object"||!d(r)?W:Object.assign({},W,r),P=r=>_(r).error_data.error_reason||"",ir=r=>{let e=_(r);return P(e).error_type||e.error_type},ar=r=>{let e=_(r),t=P(e);return typeof t=="object"&&(t.code||t.error_code)||e.error_data.error_code||1},cr=r=>r==="Network error"||r==="Connection lost",dr=[7,15,24,27,28,200,201,203],pr=r=>dr.includes(r),ur=[4,7,8],gr=r=>ur.includes(r),lr=r=>{let e=_(r),t=P(e),n=ir(e),o=ar(e),s=e.error_data,f="request_params"in s,i=[s.error,s.error_msg,s.error_text];return Array.isArray(s.error_description)?i.push.apply(i,s.error_description):i.push(s.error_description),typeof t=="object"?(f="request_params"in t,i.push(t.error_msg,t.error_text)):i.push(t),n==="client_error"&&gr(o)||n==="api_error"&&pr(o)?g:n==="client_error"&&o===1&&i.some(cr)||n==="auth_error"&&!s.error&&!s.error_description&&!t||(n==="auth_error"||n==="api_error"&&!f)&&o<0&&o>-4e3?h:e},L=r=>(e,t)=>r(e,t).catch(n=>{throw lr(n)});var mr=0,p=()=>`_${++mr}`,u=new Map,l=r=>typeof r=="object"&&r!=null,d=r=>l(r)&&l(r.error_data),$=r=>l(r)&&l(r.detail)&&l(r.detail.data),x=r=>{if(!m(r))throw F};var w=window,O={};w.__awaiters=O;var Sr=r=>{let e="";for(let t in r){let n=`${t}=${encodeURIComponent(`${r[t]}`)}`;e===""?e=n:e+=`&${n}`}return e},yr=r=>new Promise((e,t)=>{let n=p(),o=r,s=Sr(o.params),f=`https://api.vk.com/method/${o.method}?${s}&callback=__awaiters.${n}`,i=w.document.createElement("script"),U=()=>{requestAnimationFrame(()=>{w.document.head.removeChild(i)})},q=a=>{U(),t({error_type:"api_error",error_data:{error_code:a&&a.code||1,error_msg:a&&a.message||"Unknown error",request_params:s.split("&").map(decodeURIComponent)}})},Y=a=>{U(),e(a)};O[n]=a=>{O[n]=null;let k=a||{};"response"in k?Y(k):q(k.error||{})},w.document.head.appendChild(Object.assign(i,{id:n,src:f,async:!0,importance:"high",onerror:q}))}),G=r=>(e,t)=>{if(e==="VKWebAppCallAPIMethod"){let n=t==null?{}:t;return yr(n)}return r(e,t)};var J=r=>(e,t)=>e==="VKWebAppStorageGet"?r(e,t).then(n=>Promise.all(n.keys.map(o=>r("VKWebAppStorageSet",o))).then(()=>n,()=>n)):r(e,t);var fr=(r,e)=>{if(r&&e&&r!==e){let t=r.split(","),n=e.split(",");for(let o=t.length;o--;)if(!n.includes(t[o]))return!1}return!0},Er=(r,e,t)=>n=>d(n)?t(n):n.access_token?fr(r.scope,n.scope)?(n.scope=r.scope,e(n)):t(g):t(g),Z=r=>(e,t)=>e==="VKWebAppGetAuthToken"||e==="VKWebAppGetCommunityToken"?new Promise((n,o)=>{let s=Object.assign({request_id:p(),scope:""},t);u.set(s.request_id,Er(s,n,o)),C(e,s)}):r(e,t);var Q=r=>{let e=G(r),t=J(e),n=Z(t);return L(n)};var c=window,D=c.AndroidBridge,M=c.webkit&&c.webkit.messageHandlers,A=D||M,T=[],b="",m=(()=>A?r=>r in A:r=>T.includes(r))(),S=[],z=r=>{if(!$(r))return;let e=r.detail.type,t=r.detail.data;e==="VKWebAppSettings"&&(b=t.frameId||b),e==="SetSupportedHandlers"&&T.push.apply(T,t.supportedHandlers);let n=t.request_id,o=u.get(n);o!=null&&(o(t),u.delete(n)),S.length>0&&S.slice(0).forEach(s=>{s(r)})};A?c.addEventListener("VKWebAppEvent",z):c.addEventListener("message",r=>{z({detail:r.data})});var I=r=>{S.push(r)},j=r=>{let e=S.indexOf(r);e!==-1&&S.splice(e,1)},C=(()=>D?(r,e)=>{x(r),D[r](JSON.stringify(e))}:M?(r,e)=>{x(r),M[r].postMessage(e)}:(r,e)=>{c.parent.postMessage({type:"vk-connect",frameId:b,webFrameId:b,handler:r,params:e},"*")})(),_r=(r,e)=>t=>d(t)?e(t):r(t),wr=(r,e)=>new Promise((t,n)=>{let o=Object.assign({request_id:p()},e);u.set(o.request_id,_r(t,n)),C(r,o)}),K=()=>!!A,V=()=>c.parent!==c,R=()=>K()||V(),H=()=>!R(),y=Q(wr),X=y,N=()=>({send:y,sendPromise:y,subscribe:I,unsubscribe:j,supports:m,isWebView:K,isIframe:V,isEmbedded:R,isStandalone:H}),v=N();
var B=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.prototype.hasOwnProperty;var nr=(r,e)=>{for(var t in e)B(r,t,{get:e[t],enumerable:!0})},or=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of er(e))!tr.call(r,o)&&o!==t&&B(r,o,{get:()=>e[o],enumerable:!(n=rr(e,o))||n.enumerable});return r};var sr=r=>or(B({},"__esModule",{value:!0}),r);var Ar={};nr(Ar,{bridge:()=>v,createBridge:()=>N,default:()=>v,isEmbedded:()=>R,isIframe:()=>V,isStandalone:()=>H,isWebView:()=>K,send:()=>y,sendPromise:()=>X,subscribe:()=>I,supports:()=>m,unsubscribe:()=>j});module.exports=sr(Ar);var _=(r,e,t)=>({error_type:r,error_data:{error_code:e,error_reason:t}}),W=_("client_error",1,"Unknown error"),h=_("client_error",3,"Connection lost"),g=_("client_error",4,"User denied"),F=_("client_error",6,"Unsupported platform"),E=r=>r==null||typeof r!="object"||!d(r)?W:Object.assign({},W,r),P=r=>E(r).error_data.error_reason||"",ir=r=>{let e=E(r);return P(e).error_type||e.error_type},ar=r=>{let e=E(r),t=P(e);return typeof t=="object"&&(t.code||t.error_code)||e.error_data.error_code||1},cr=r=>r==="Network error"||r==="Connection lost",dr=[7,15,24,27,28,200,201,203],pr=r=>dr.includes(r),ur=[4,7,8],gr=r=>ur.includes(r),lr=r=>{let e=E(r),t=P(e),n=ir(e),o=ar(e),s=e.error_data,f="request_params"in s,a=[s.error,s.error_msg,s.error_text];return Array.isArray(s.error_description)?a.push.apply(a,s.error_description):a.push(s.error_description),typeof t=="object"?(f="request_params"in t,a.push(t.error_msg,t.error_text)):a.push(t),n==="client_error"&&gr(o)||n==="api_error"&&pr(o)?g:n==="client_error"&&o===1&&a.some(cr)||n==="auth_error"&&!s.error&&!s.error_description&&!t||(n==="auth_error"||n==="api_error"&&!f)&&o<0&&o>-4e3?h:e},L=r=>(e,t)=>r(e,t).catch(n=>{throw lr(n)});var mr=0,p=()=>`_${++mr}`,u=new Map,l=r=>typeof r=="object"&&r!=null,d=r=>l(r)&&l(r.error_data),$=r=>l(r)&&l(r.detail)&&l(r.detail.data),x=r=>{if(!m(r))throw F};var w=window,O={};w.__awaiters=O;var Sr=r=>{let e="";for(let t in r){let n=`${t}=${encodeURIComponent(`${r[t]}`)}`;e===""?e=n:e+=`&${n}`}return e},yr=r=>new Promise((e,t)=>{let n=p(),o=r,s=Sr(o.params),f=`https://api.vk.com/method/${o.method}?${s}&callback=__awaiters.${n}`,a=w.document.createElement("script"),U=()=>{requestAnimationFrame(()=>{w.document.head.removeChild(a)})},q=i=>{U(),t({error_type:"api_error",error_data:{error_code:i&&(i.code||i.error_code)||1,error_msg:i&&(i.message||i.error_message||i.error_msg)||"Unknown error",request_params:s.split("&").map(decodeURIComponent)}})},Y=i=>{U(),e(i)};O[n]=i=>{O[n]=null;let k=i||{};"response"in k?Y(k):q(k.error||{})},w.document.head.appendChild(Object.assign(a,{id:n,src:f,async:!0,importance:"high",onerror:q}))}),G=r=>(e,t)=>{if(e==="VKWebAppCallAPIMethod"){let n=t==null?{}:t;return yr(n)}return r(e,t)};var J=r=>(e,t)=>e==="VKWebAppStorageGet"?r(e,t).then(n=>Promise.all(n.keys.map(o=>r("VKWebAppStorageSet",o))).then(()=>n,()=>n)):r(e,t);var fr=(r,e)=>{if(r&&e&&r!==e){let t=r.split(","),n=e.split(",");for(let o=t.length;o--;)if(!n.includes(t[o]))return!1}return!0},_r=(r,e,t)=>n=>d(n)?t(n):n.access_token?fr(r.scope,n.scope)?(n.scope=r.scope,e(n)):t(g):t(g),Z=r=>(e,t)=>e==="VKWebAppGetAuthToken"||e==="VKWebAppGetCommunityToken"?new Promise((n,o)=>{let s=Object.assign({request_id:p(),scope:""},t);u.set(s.request_id,_r(s,n,o)),C(e,s)}):r(e,t);var Q=r=>{let e=G(r),t=J(e),n=Z(t);return L(n)};var c=window,D=c.AndroidBridge,M=c.webkit&&c.webkit.messageHandlers,A=D||M,T=[],b="",m=(()=>A?r=>r in A:r=>T.includes(r))(),S=[],z=r=>{if(!$(r))return;let e=r.detail.type,t=r.detail.data;e==="VKWebAppSettings"&&(b=t.frameId||b),e==="SetSupportedHandlers"&&T.push.apply(T,t.supportedHandlers);let n=t.request_id,o=u.get(n);o!=null&&(o(t),u.delete(n)),S.length>0&&S.slice(0).forEach(s=>{s(r)})};A?c.addEventListener("VKWebAppEvent",z):c.addEventListener("message",r=>{z({detail:r.data})});var I=r=>{S.push(r)},j=r=>{let e=S.indexOf(r);e!==-1&&S.splice(e,1)},C=(()=>D?(r,e)=>{x(r),D[r](JSON.stringify(e))}:M?(r,e)=>{x(r),M[r].postMessage(e)}:(r,e)=>{c.parent.postMessage({type:"vk-connect",frameId:b,webFrameId:b,handler:r,params:e},"*")})(),Er=(r,e)=>t=>d(t)?e(t):r(t),wr=(r,e)=>new Promise((t,n)=>{let o=Object.assign({request_id:p()},e);u.set(o.request_id,Er(t,n)),C(r,o)}),K=()=>!!A,V=()=>c.parent!==c,R=()=>K()||V(),H=()=>!R(),y=Q(wr),X=y,N=()=>({send:y,sendPromise:y,subscribe:I,unsubscribe:j,supports:m,isWebView:K,isIframe:V,isEmbedded:R,isStandalone:H}),v=N();

@@ -1,1 +0,1 @@

var B=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.prototype.hasOwnProperty;var nr=(r,e)=>{for(var t in e)B(r,t,{get:e[t],enumerable:!0})},or=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of er(e))!tr.call(r,o)&&o!==t&&B(r,o,{get:()=>e[o],enumerable:!(n=rr(e,o))||n.enumerable});return r};var sr=r=>or(B({},"__esModule",{value:!0}),r);var Ar={};nr(Ar,{bridge:()=>v,createBridge:()=>N,default:()=>v,isEmbedded:()=>R,isIframe:()=>V,isStandalone:()=>H,isWebView:()=>K,send:()=>y,sendPromise:()=>X,subscribe:()=>I,supports:()=>m,unsubscribe:()=>j});module.exports=sr(Ar);var E=(r,e,t)=>({error_type:r,error_data:{error_code:e,error_reason:t}}),W=E("client_error",1,"Unknown error"),h=E("client_error",3,"Connection lost"),g=E("client_error",4,"User denied"),F=E("client_error",6,"Unsupported platform"),_=r=>r==null||typeof r!="object"||!d(r)?W:Object.assign({},W,r),P=r=>_(r).error_data.error_reason||"",ir=r=>{let e=_(r);return P(e).error_type||e.error_type},ar=r=>{let e=_(r),t=P(e);return typeof t=="object"&&(t.code||t.error_code)||e.error_data.error_code||1},cr=r=>r==="Network error"||r==="Connection lost",dr=[7,15,24,27,28,200,201,203],pr=r=>dr.includes(r),ur=[4,7,8],gr=r=>ur.includes(r),lr=r=>{let e=_(r),t=P(e),n=ir(e),o=ar(e),s=e.error_data,f="request_params"in s,i=[s.error,s.error_msg,s.error_text];return Array.isArray(s.error_description)?i.push.apply(i,s.error_description):i.push(s.error_description),typeof t=="object"?(f="request_params"in t,i.push(t.error_msg,t.error_text)):i.push(t),n==="client_error"&&gr(o)||n==="api_error"&&pr(o)?g:n==="client_error"&&o===1&&i.some(cr)||n==="auth_error"&&!s.error&&!s.error_description&&!t||(n==="auth_error"||n==="api_error"&&!f)&&o<0&&o>-4e3?h:e},L=r=>(e,t)=>r(e,t).catch(n=>{throw lr(n)});var mr=0,p=()=>`_${++mr}`,u=new Map,l=r=>typeof r=="object"&&r!=null,d=r=>l(r)&&l(r.error_data),$=r=>l(r)&&l(r.detail)&&l(r.detail.data),x=r=>{if(!m(r))throw F};var w=window,O={};w.__awaiters=O;var Sr=r=>{let e="";for(let t in r){let n=`${t}=${encodeURIComponent(`${r[t]}`)}`;e===""?e=n:e+=`&${n}`}return e},yr=r=>new Promise((e,t)=>{let n=p(),o=r,s=Sr(o.params),f=`https://api.vk.com/method/${o.method}?${s}&callback=__awaiters.${n}`,i=w.document.createElement("script"),U=()=>{requestAnimationFrame(()=>{w.document.head.removeChild(i)})},q=a=>{U(),t({error_type:"api_error",error_data:{error_code:a&&a.code||1,error_msg:a&&a.message||"Unknown error",request_params:s.split("&").map(decodeURIComponent)}})},Y=a=>{U(),e(a)};O[n]=a=>{O[n]=null;let k=a||{};"response"in k?Y(k):q(k.error||{})},w.document.head.appendChild(Object.assign(i,{id:n,src:f,async:!0,importance:"high",onerror:q}))}),G=r=>(e,t)=>{if(e==="VKWebAppCallAPIMethod"){let n=t==null?{}:t;return yr(n)}return r(e,t)};var J=r=>(e,t)=>e==="VKWebAppStorageGet"?r(e,t).then(n=>Promise.all(n.keys.map(o=>r("VKWebAppStorageSet",o))).then(()=>n,()=>n)):r(e,t);var fr=(r,e)=>{if(r&&e&&r!==e){let t=r.split(","),n=e.split(",");for(let o=t.length;o--;)if(!n.includes(t[o]))return!1}return!0},Er=(r,e,t)=>n=>d(n)?t(n):n.access_token?fr(r.scope,n.scope)?(n.scope=r.scope,e(n)):t(g):t(g),Z=r=>(e,t)=>e==="VKWebAppGetAuthToken"||e==="VKWebAppGetCommunityToken"?new Promise((n,o)=>{let s=Object.assign({request_id:p(),scope:""},t);u.set(s.request_id,Er(s,n,o)),C(e,s)}):r(e,t);var Q=r=>{let e=G(r),t=J(e),n=Z(t);return L(n)};var c=window,D=c.AndroidBridge,M=c.webkit&&c.webkit.messageHandlers,A=D||M,T=[],b="",m=(()=>A?r=>r in A:r=>T.includes(r))(),S=[],z=r=>{if(!$(r))return;let e=r.detail.type,t=r.detail.data;e==="VKWebAppSettings"&&(b=t.frameId||b),e==="SetSupportedHandlers"&&T.push.apply(T,t.supportedHandlers);let n=t.request_id,o=u.get(n);o!=null&&(o(t),u.delete(n)),S.length>0&&S.slice(0).forEach(s=>{s(r)})};A?c.addEventListener("VKWebAppEvent",z):c.addEventListener("message",r=>{z({detail:r.data})});var I=r=>{S.push(r)},j=r=>{let e=S.indexOf(r);e!==-1&&S.splice(e,1)},C=(()=>D?(r,e)=>{x(r),D[r](JSON.stringify(e))}:M?(r,e)=>{x(r),M[r].postMessage(e)}:(r,e)=>{c.parent.postMessage({type:"vk-connect",frameId:b,webFrameId:b,handler:r,params:e},"*")})(),_r=(r,e)=>t=>d(t)?e(t):r(t),wr=(r,e)=>new Promise((t,n)=>{let o=Object.assign({request_id:p()},e);u.set(o.request_id,_r(t,n)),C(r,o)}),K=()=>!!A,V=()=>c.parent!==c,R=()=>K()||V(),H=()=>!R(),y=Q(wr),X=y,N=()=>({send:y,sendPromise:y,subscribe:I,unsubscribe:j,supports:m,isWebView:K,isIframe:V,isEmbedded:R,isStandalone:H}),v=N();
var B=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.prototype.hasOwnProperty;var nr=(r,e)=>{for(var t in e)B(r,t,{get:e[t],enumerable:!0})},or=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of er(e))!tr.call(r,o)&&o!==t&&B(r,o,{get:()=>e[o],enumerable:!(n=rr(e,o))||n.enumerable});return r};var sr=r=>or(B({},"__esModule",{value:!0}),r);var Ar={};nr(Ar,{bridge:()=>v,createBridge:()=>N,default:()=>v,isEmbedded:()=>R,isIframe:()=>V,isStandalone:()=>H,isWebView:()=>K,send:()=>y,sendPromise:()=>X,subscribe:()=>I,supports:()=>m,unsubscribe:()=>j});module.exports=sr(Ar);var _=(r,e,t)=>({error_type:r,error_data:{error_code:e,error_reason:t}}),W=_("client_error",1,"Unknown error"),h=_("client_error",3,"Connection lost"),g=_("client_error",4,"User denied"),F=_("client_error",6,"Unsupported platform"),E=r=>r==null||typeof r!="object"||!d(r)?W:Object.assign({},W,r),P=r=>E(r).error_data.error_reason||"",ir=r=>{let e=E(r);return P(e).error_type||e.error_type},ar=r=>{let e=E(r),t=P(e);return typeof t=="object"&&(t.code||t.error_code)||e.error_data.error_code||1},cr=r=>r==="Network error"||r==="Connection lost",dr=[7,15,24,27,28,200,201,203],pr=r=>dr.includes(r),ur=[4,7,8],gr=r=>ur.includes(r),lr=r=>{let e=E(r),t=P(e),n=ir(e),o=ar(e),s=e.error_data,f="request_params"in s,a=[s.error,s.error_msg,s.error_text];return Array.isArray(s.error_description)?a.push.apply(a,s.error_description):a.push(s.error_description),typeof t=="object"?(f="request_params"in t,a.push(t.error_msg,t.error_text)):a.push(t),n==="client_error"&&gr(o)||n==="api_error"&&pr(o)?g:n==="client_error"&&o===1&&a.some(cr)||n==="auth_error"&&!s.error&&!s.error_description&&!t||(n==="auth_error"||n==="api_error"&&!f)&&o<0&&o>-4e3?h:e},L=r=>(e,t)=>r(e,t).catch(n=>{throw lr(n)});var mr=0,p=()=>`_${++mr}`,u=new Map,l=r=>typeof r=="object"&&r!=null,d=r=>l(r)&&l(r.error_data),$=r=>l(r)&&l(r.detail)&&l(r.detail.data),x=r=>{if(!m(r))throw F};var w=window,O={};w.__awaiters=O;var Sr=r=>{let e="";for(let t in r){let n=`${t}=${encodeURIComponent(`${r[t]}`)}`;e===""?e=n:e+=`&${n}`}return e},yr=r=>new Promise((e,t)=>{let n=p(),o=r,s=Sr(o.params),f=`https://api.vk.com/method/${o.method}?${s}&callback=__awaiters.${n}`,a=w.document.createElement("script"),U=()=>{requestAnimationFrame(()=>{w.document.head.removeChild(a)})},q=i=>{U(),t({error_type:"api_error",error_data:{error_code:i&&(i.code||i.error_code)||1,error_msg:i&&(i.message||i.error_message||i.error_msg)||"Unknown error",request_params:s.split("&").map(decodeURIComponent)}})},Y=i=>{U(),e(i)};O[n]=i=>{O[n]=null;let k=i||{};"response"in k?Y(k):q(k.error||{})},w.document.head.appendChild(Object.assign(a,{id:n,src:f,async:!0,importance:"high",onerror:q}))}),G=r=>(e,t)=>{if(e==="VKWebAppCallAPIMethod"){let n=t==null?{}:t;return yr(n)}return r(e,t)};var J=r=>(e,t)=>e==="VKWebAppStorageGet"?r(e,t).then(n=>Promise.all(n.keys.map(o=>r("VKWebAppStorageSet",o))).then(()=>n,()=>n)):r(e,t);var fr=(r,e)=>{if(r&&e&&r!==e){let t=r.split(","),n=e.split(",");for(let o=t.length;o--;)if(!n.includes(t[o]))return!1}return!0},_r=(r,e,t)=>n=>d(n)?t(n):n.access_token?fr(r.scope,n.scope)?(n.scope=r.scope,e(n)):t(g):t(g),Z=r=>(e,t)=>e==="VKWebAppGetAuthToken"||e==="VKWebAppGetCommunityToken"?new Promise((n,o)=>{let s=Object.assign({request_id:p(),scope:""},t);u.set(s.request_id,_r(s,n,o)),C(e,s)}):r(e,t);var Q=r=>{let e=G(r),t=J(e),n=Z(t);return L(n)};var c=window,D=c.AndroidBridge,M=c.webkit&&c.webkit.messageHandlers,A=D||M,T=[],b="",m=(()=>A?r=>r in A:r=>T.includes(r))(),S=[],z=r=>{if(!$(r))return;let e=r.detail.type,t=r.detail.data;e==="VKWebAppSettings"&&(b=t.frameId||b),e==="SetSupportedHandlers"&&T.push.apply(T,t.supportedHandlers);let n=t.request_id,o=u.get(n);o!=null&&(o(t),u.delete(n)),S.length>0&&S.slice(0).forEach(s=>{s(r)})};A?c.addEventListener("VKWebAppEvent",z):c.addEventListener("message",r=>{z({detail:r.data})});var I=r=>{S.push(r)},j=r=>{let e=S.indexOf(r);e!==-1&&S.splice(e,1)},C=(()=>D?(r,e)=>{x(r),D[r](JSON.stringify(e))}:M?(r,e)=>{x(r),M[r].postMessage(e)}:(r,e)=>{c.parent.postMessage({type:"vk-connect",frameId:b,webFrameId:b,handler:r,params:e},"*")})(),Er=(r,e)=>t=>d(t)?e(t):r(t),wr=(r,e)=>new Promise((t,n)=>{let o=Object.assign({request_id:p()},e);u.set(o.request_id,Er(t,n)),C(r,o)}),K=()=>!!A,V=()=>c.parent!==c,R=()=>K()||V(),H=()=>!R(),y=Q(wr),X=y,N=()=>({send:y,sendPromise:y,subscribe:I,unsubscribe:j,supports:m,isWebView:K,isIframe:V,isEmbedded:R,isStandalone:H}),v=N();
{
"name": "@mntm/painless-bridge",
"version": "3.0.0",
"version": "3.0.1",
"source": "./src/index.ts",

@@ -5,0 +5,0 @@ "main": "./lib/index.web.js",

@@ -7,2 +7,12 @@ # @mntm/painless-bridge [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/maxi-team/painless-bridge/blob/master/LICENSE) [![npm bundle size](https://img.shields.io/bundlephobia/min/@mntm/painless-bridge)](https://bundlephobia.com/result?p=@mntm/painless-bridge)

## Differences
- Fixes the storage API
- Fixes token API
- Fixes platform-specific errors
- Fixes promise API resolution
- Generates stable request ids
- Allows you to use any method
- Supports tree-shaking
## Installation

@@ -9,0 +19,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc