@@ -111,40 +111,42 @@ window.onerror = function onError(msg, source, lineNumber, columnNo, error) {
111111 return false ;
112112} ;
113113// catch rejected promises
114- window . onunhandledrejection = function onUnhandledRejection ( event ) {
115- if ( event . reason && event . reason . message && event . reason . stack ) {
116- StackTrace . fromError ( event . reason ) . then ( ( stackLines ) => {
117- let data = `${ event . reason . name } : ${ event . reason . message } ` ;
118- stackLines . forEach ( ( stackLine ) => {
119- const { fileName, functionName, lineNumber, columnNumber } = stackLine ;
120- const resolvedFileName = window . objectUrls [ fileName ] || fileName ;
121- const resolvedFuncName = functionName || '(anonymous function)' ;
122- let line ;
123- if ( lineNumber && columnNumber ) {
124- line = `\n at ${ resolvedFuncName } (${ resolvedFileName } :${ lineNumber } :${ columnNumber } )` ;
125- } else {
126- line = `\n at ${ resolvedFuncName } (${ resolvedFileName } )` ;
127- }
128- data = data . concat ( line ) ;
129- } ) ;
130- editor . postMessage (
131- {
132- source : 'sketch' ,
133- messages : [
134- {
135- log : [
136- {
137- method : 'error' ,
138- data : [ data ] ,
139- id : Date . now ( ) . toString ( )
140- }
141- ]
142- }
143- ]
144- } ,
145- editorOrigin
146- ) ;
114+ window . onunhandledrejection = async function onUnhandledRejection ( event ) {
115+ if ( event . reason && event . reason . message ) {
116+ let stackLines = [ ] ;
117+ if ( event . reason . stack ) {
118+ stackLines = await StackTrace . fromError ( event . reason ) ;
119+ }
120+ let data = `${ event . reason . name } : ${ event . reason . message } ` ;
121+ stackLines . forEach ( ( stackLine ) => {
122+ const { fileName, functionName, lineNumber, columnNumber } = stackLine ;
123+ const resolvedFileName = window . objectUrls [ fileName ] || fileName ;
124+ const resolvedFuncName = functionName || '(anonymous function)' ;
125+ let line ;
126+ if ( lineNumber && columnNumber ) {
127+ line = `\n at ${ resolvedFuncName } (${ resolvedFileName } :${ lineNumber } :${ columnNumber } )` ;
128+ } else {
129+ line = `\n at ${ resolvedFuncName } (${ resolvedFileName } )` ;
130+ }
131+ data = data . concat ( line ) ;
147132 } ) ;
133+ editor . postMessage (
134+ {
135+ source : 'sketch' ,
136+ messages : [
137+ {
138+ log : [
139+ {
140+ method : 'error' ,
141+ data : [ data ] ,
142+ id : Date . now ( ) . toString ( )
143+ }
144+ ]
145+ }
146+ ]
147+ } ,
148+ editorOrigin
149+ ) ;
148150 }
149151} ;
150152
0 commit comments