@@ -147,44 +147,51 @@ export default function Modal({
147147 ast = parser . astify ( importSource . src , {
148148 database : database === DB . GENERIC ? importDb : database ,
149149 } ) ;
150- } catch ( err ) {
151- let message = err . message ;
152- if ( err . location ) {
153- message = err . name + " [Ln " + err . location . start . line + ", Col " + err . location . start . column + "]: " + err . message ;
154- }
155-
156- setError ( {
157- type : STATUS . ERROR ,
158- message
159- } ) ;
150+ } catch ( error ) {
151+ const message = error . location
152+ ? `${ error . name } [Ln ${ error . location . start . line } , Col ${ error . location . start . column } ]: ${ error . message } `
153+ : error . message ;
160154
155+ setError ( { type : STATUS . ERROR , message } ) ;
161156 return ;
162157 }
163158
164- const d = importSQL (
165- ast ,
166- database === DB . GENERIC ? importDb : database ,
167- database ,
168- ) ;
169- if ( importSource . overwrite ) {
170- setTables ( d . tables ) ;
171- setRelationships ( d . relationships ) ;
172- setTransform ( ( prev ) => ( { ...prev , pan : { x : 0 , y : 0 } } ) ) ;
173- setNotes ( [ ] ) ;
174- setAreas ( [ ] ) ;
175- if ( databases [ database ] . hasTypes ) setTypes ( d . types ?? [ ] ) ;
176- if ( databases [ database ] . hasEnums ) setEnums ( d . enums ?? [ ] ) ;
177- setUndoStack ( [ ] ) ;
178- setRedoStack ( [ ] ) ;
179- } else {
180- setTables ( ( prev ) =>
181- [ ...prev , ...d . tables ] . map ( ( t , i ) => ( { ...t , id : i } ) ) ,
182- ) ;
183- setRelationships ( ( prev ) =>
184- [ ...prev , ...d . relationships ] . map ( ( r , i ) => ( { ...r , id : i } ) ) ,
159+ try {
160+ const diagramData = importSQL (
161+ ast ,
162+ database === DB . GENERIC ? importDb : database ,
163+ database ,
185164 ) ;
165+
166+ if ( importSource . overwrite ) {
167+ setTables ( diagramData . tables ) ;
168+ setRelationships ( diagramData . relationships ) ;
169+ setTransform ( ( prev ) => ( { ...prev , pan : { x : 0 , y : 0 } } ) ) ;
170+ setNotes ( [ ] ) ;
171+ setAreas ( [ ] ) ;
172+ if ( databases [ database ] . hasTypes ) setTypes ( diagramData . types ?? [ ] ) ;
173+ if ( databases [ database ] . hasEnums ) setEnums ( diagramData . enums ?? [ ] ) ;
174+ setUndoStack ( [ ] ) ;
175+ setRedoStack ( [ ] ) ;
176+ } else {
177+ setTables ( ( prev ) =>
178+ [ ...prev , ...diagramData . tables ] . map ( ( t , i ) => ( { ...t , id : i } ) ) ,
179+ ) ;
180+ setRelationships ( ( prev ) =>
181+ [ ...prev , ...diagramData . relationships ] . map ( ( r , i ) => ( {
182+ ...r ,
183+ id : i ,
184+ } ) ) ,
185+ ) ;
186+ }
187+
188+ setModal ( MODAL . NONE ) ;
189+ } catch ( error ) {
190+ setError ( {
191+ type : STATUS . ERROR ,
192+ message : `Please check for syntax errors or let us know about the error.` ,
193+ } ) ;
186194 }
187- setModal ( MODAL . NONE ) ;
188195 } ;
189196
190197 const createNewDiagram = ( id ) => {
0 commit comments