@@ -22,7 +22,7 @@ const TRACKING_PARAM_NAMES = [
2222
2323if ( process . env . SUPPORTS_LOCAL_API ) {
2424 Platform . shim . eval = ( data , env ) => {
25- return new Promise ( ( resolve ) => {
25+ return new Promise ( ( resolve , reject ) => {
2626 const properties = [ ]
2727
2828 if ( env . n ) {
@@ -43,23 +43,31 @@ if (process.env.SUPPORTS_LOCAL_API) {
4343 ? crypto . randomUUID ( )
4444 : `${ Date . now ( ) } -${ Math . floor ( Math . random ( ) * 10000 ) } `
4545
46- const iframe = document . getElementById ( 'sigFrame' )
46+ if ( process . env . IS_ELECTRON ) {
47+ const iframe = document . getElementById ( 'sigFrame' )
4748
48- /** @param {MessageEvent } event */
49- const listener = ( event ) => {
50- if ( event . source === iframe . contentWindow && typeof event . data === 'string' ) {
51- const data = JSON . parse ( event . data )
49+ /** @param {MessageEvent } event */
50+ const listener = ( event ) => {
51+ if ( event . source === iframe . contentWindow && typeof event . data === 'string' ) {
52+ const data = JSON . parse ( event . data )
5253
53- if ( data . id === messageId ) {
54- window . removeEventListener ( 'message' , listener )
54+ if ( data . id === messageId ) {
55+ window . removeEventListener ( 'message' , listener )
5556
56- resolve ( data . result )
57+ if ( data . error ) {
58+ reject ( data . error )
59+ } else {
60+ resolve ( data . result )
61+ }
62+ }
5763 }
5864 }
59- }
6065
61- window . addEventListener ( 'message' , listener )
62- iframe . contentWindow . postMessage ( JSON . stringify ( { id : messageId , code } ) , '*' )
66+ window . addEventListener ( 'message' , listener )
67+ iframe . contentWindow . postMessage ( JSON . stringify ( { id : messageId , code } ) , '*' )
68+ } else {
69+ reject ( new Error ( 'Please setup the eval function for the n/sig deciphering' ) )
70+ }
6371 } )
6472 }
6573}
0 commit comments