nl_tokens: returns the line column and filename mapped from a source map appropriately handles cases where some information is missing
pl_tokens: function getMappedSourceInfo ( sourceMapConsumer , originalFilePath , originalLine , originalColumn , originalFunctionName ) { var sourceMapInfo = sourceMapConsumer . originalPositionFor ( { line : originalLine , column : originalColumn || 0 } ) // the 0 is for browsers (like firefox) that don't output column numbers var line = sourceMapInfo . line var column = sourceMapInfo . column var fn = sourceMapInfo . <mask> if ( sourceMapInfo . source !== null ) { var relative = isRelative ( sourceMapInfo . source ) /* I don't think this is needed any longer, and probably isn't correct - this was working around an issue in webpack: See https://github.com/webpack/webpack/issues/559 and https://github.com/webpack/webpack/issues/238
              if(sourceMapConsumer.sourceRoot !== null) {
                  sourceMapInfo.source = sourceMapInfo.source.replace(sourceMapConsumer.sourceRoot, '') // remove sourceRoot
              }*/ if ( relative ) { var file = Url . resolve ( originalFilePath , path . basename ( sourceMapInfo . source ) ) } else { var file = sourceMapInfo . source } var originalFile = true } else { var file = originalFilePath var originalFile = false } if ( fn === null || ! originalFile ) { fn = originalFunctionName } if ( line === null || ! originalFile ) { line = originalLine column = originalColumn } if ( column === null ) { column = undefined } if ( file != undefined && sourceMapConsumer . sourcesContent != undefined ) { // intentional single != var index = sourceMapConsumer . sources . indexOf ( file ) var sourceLines = sourceMapConsumer . sourcesContent [ index ] if ( sourceLines !== undefined ) sourceLines = sourceLines . split ( '\n' ) } return { file : file , function : fn , line : line , column : column , usingOriginalFile : originalFile , sourceLines : sourceLines } }