mirror of
				https://github.com/JuanCanham/HackMyResume.git
				synced 2025-10-30 20:57:26 +00:00 
			
		
		
		
	Always use JSONLint for SyntaxError post-processing.
Remove the check for SyntaxError's built-in line and character indicators and always re-parse on error to grab the line/column.
This commit is contained in:
		| @@ -11,31 +11,25 @@ Definition of the SyntaxErrorEx class. | ||||
|   Represents a SyntaxError exception with line and column info. | ||||
|   Collect syntax error information from the provided exception object. The | ||||
|   JavaScript `SyntaxError` exception isn't interpreted uniformly across environ- | ||||
|   ments, so we first check for a .lineNumber and .columnNumber and, if that's | ||||
|   not present, fall back to the JSONLint library, which provides that info. | ||||
|   ments, so we reparse on error to grab the line and column. | ||||
|   See: http://stackoverflow.com/q/13323356 | ||||
|   @class SyntaxErrorEx | ||||
|   */ | ||||
|  | ||||
|   module.exports = function SyntaxErrorEx( ex, rawData ) { | ||||
|   function SyntaxErrorEx( ex, rawData ) { | ||||
|  | ||||
|     var lineNum = null, colNum = null; | ||||
|     if( ex.lineNumber !== undefined && ex.lineNumber !== null ) { | ||||
|       lineNum = ex.lineNumber; | ||||
|     } | ||||
|     if( ex.columnNumber !== undefined && ex.columnNumber !== null ) { | ||||
|       colNum = ex.columnNumber; | ||||
|     } | ||||
|     if( lineNum === null || colNum === null ) { | ||||
|       var JSONLint = require('json-lint'); // TODO: json-lint or is-my-json-valid? | ||||
|       var lint = JSONLint( rawData, { comments: false } ); | ||||
|       if( lineNum === null ) lineNum = (lint.error ? lint.line : '???'); | ||||
|       if( colNum === null ) colNum = (lint.error ? lint.character : '???'); | ||||
|     } | ||||
|     this.line = lineNum; | ||||
|     this.col = colNum; | ||||
|     var JSONLint = require('json-lint'); | ||||
|     var lint = JSONLint( rawData, { comments: false } ); | ||||
|     this.line = (lint.error ? lint.line : '???'); | ||||
|     this.col =  (lint.error ? lint.character : '???'); | ||||
|  | ||||
|   } | ||||
|  | ||||
|   SyntaxErrorEx.is = function( ex ) { | ||||
|     return ex instanceof SyntaxError; | ||||
|   }; | ||||
|  | ||||
|   module.exports = SyntaxErrorEx; | ||||
|  | ||||
| }()); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user