@@ -35,16 +35,21 @@ $(document).ready(function() {
3535 . flatMap ( code => common . detectLoops$ ( code ) )
3636 . flatMap (
3737 ( { err } ) => err ? Observable . throw ( err ) : Observable . just ( code )
38- ) ;
38+ )
39+ . flatMap ( code => common . updatePreview$ ( code ) )
40+ . catch ( err => Observable . just ( { err } ) ) ;
3941 }
40- return Observable . just ( code ) ;
42+ return Observable . just ( code )
43+ . flatMap ( code => common . updatePreview$ ( code ) )
44+ . catch ( err => Observable . just ( { err } ) ) ;
4145 } )
42- . flatMap ( code => common . updatePreview$ ( code ) )
43- . catch ( err => Observable . just ( { err } ) )
4446 . subscribe (
4547 ( { err } ) => {
4648 if ( err ) {
47- return console . error ( err ) ;
49+ console . error ( err ) ;
50+ return common . updatePreview$ ( `
51+ <h1>${ err } </h1>
52+ ` ) . subscribe ( ( ) => { } ) ;
4853 }
4954 } ,
5055 err => console . error ( err )
@@ -57,15 +62,20 @@ $(document).ready(function() {
5762 common . editor . setValue ( common . replaceSafeTags ( common . seed ) ) ;
5863 } )
5964 . flatMap ( ( ) => {
60- return common . executeChallenge$ ( ) ;
65+ return common . executeChallenge$ ( )
66+ . catch ( err => Observable . just ( { err } ) ) ;
6167 } )
6268 . subscribe (
63- ( { output, original } ) => {
69+ ( { err, output, original } ) => {
70+ if ( err ) {
71+ console . error ( err ) ;
72+ return common . updateOutputDisplay ( '' + err ) ;
73+ }
6474 common . codeStorage . updateStorage ( challengeName , original ) ;
6575 common . updateOutputDisplay ( '' + output ) ;
6676 } ,
67- ( { err } ) => {
68- if ( err . stack ) {
77+ ( err ) => {
78+ if ( err ) {
6979 console . error ( err ) ;
7080 }
7181 common . updateOutputDisplay ( '' + err ) ;
@@ -83,7 +93,7 @@ $(document).ready(function() {
8393 const solved = tests . every ( test => ! test . err ) ;
8494 return { ...rest , tests, solved } ;
8595 } )
86- . catch ( err => Observable . just ( err ) ) ;
96+ . catch ( err => Observable . just ( { err } ) ) ;
8797 } )
8898 . subscribe (
8999 ( { err, solved, output, tests } ) => {
0 commit comments