File tree Expand file tree Collapse file tree 3 files changed +17
-10
lines changed Expand file tree Collapse file tree 3 files changed +17
-10
lines changed Original file line number Diff line number Diff line change @@ -29,8 +29,8 @@ class ConsoleInput extends React.Component {
2929 if ( value . trim ( ' ' ) === '' ) {
3030 return false ;
3131 }
32- const messages = [ { log : Encode ( { method : 'command' , data : Encode ( value ) } ) } ] ;
33- const consoleEvent = [ { method : 'command' , data : Encode ( value ) } ] ;
32+ const messages = [ { log : Encode ( { method : 'command' , data : [ value ] } ) } ] ;
33+ const consoleEvent = [ { method : 'command' , data : [ value ] } ] ;
3434 dispatch ( {
3535 source : 'console' ,
3636 messages
Original file line number Diff line number Diff line change @@ -6,15 +6,22 @@ function __makeEvaluateExpression(evalInClosure) {
66function evaluateExpression ( ) {
77 return __makeEvaluateExpression ( ( expr ) => {
88 let newExpr = expr ;
9+ let result = null ;
10+ let error = false ;
911 try {
10- const wrapped = `(${ expr } )` ;
11- const validate = new Function ( wrapped ) ; // eslint-disable-line
12- newExpr = wrapped ; // eslint-disable-line
12+ try {
13+ const wrapped = `(${ expr } )` ;
14+ const validate = new Function ( wrapped ) ; // eslint-disable-line
15+ newExpr = wrapped ; // eslint-disable-line
16+ } catch ( e ) {
17+ // We shouldn't wrap the expression
18+ }
19+ result = ( 0 , eval ) ( newExpr ) ; // eslint-disable-line
1320 } catch ( e ) {
14- // We shouldn't wrap the expression
21+ result = e ;
22+ error = true ;
1523 }
16-
17- return ( 0 , eval ) ( newExpr ) ; // eslint-disable-line
24+ return { result, error } ;
1825 } ) ;
1926}
2027
Original file line number Diff line number Diff line change @@ -31,8 +31,8 @@ function handleMessageEvent(e) {
3131 const decodedMessages = messages . map ( message => Decode ( message . log ) ) ;
3232 decodedMessages . forEach ( ( message ) => {
3333 const { data : args } = message ;
34- const consoleInfo = handleConsoleExpressions ( args ) ;
35- const resultMessages = [ { log : Encode ( { method : ' result', data : [ consoleInfo ] } ) } ] ;
34+ const { result , error } = handleConsoleExpressions ( args ) ;
35+ const resultMessages = [ { log : Encode ( { method : error ? 'error' : ' result', data : [ result ] } ) } ] ;
3636 window . parent . postMessage ( {
3737 messages : resultMessages ,
3838 source : 'sketch'
You can’t perform that action at this time.
0 commit comments