in src/SourcemapToolkit.SourcemapParser/MappingListParser.cs [42:92]
public MappingEntry ToMappingEntry(IReadOnlyList<string> names, IReadOnlyList<string> sources)
{
SourcePosition originalSourcePosition;
if (OriginalColumnNumber.HasValue && OriginalLineNumber.HasValue)
{
originalSourcePosition = new SourcePosition(
zeroBasedLineNumber: OriginalLineNumber.Value,
zeroBasedColumnNumber: OriginalColumnNumber.Value);
}
else
{
originalSourcePosition = SourcePosition.NotFound;
}
string originalName = null;
if (OriginalNameIndex.HasValue)
{
try
{
originalName = names[OriginalNameIndex.Value];
}
catch (IndexOutOfRangeException e)
{
throw new IndexOutOfRangeException("Source map contains original name index that is outside the range of the provided names array", e);
}
}
string originalFileName = null;
if (OriginalSourceFileIndex.HasValue)
{
try
{
originalFileName = sources[OriginalSourceFileIndex.Value];
}
catch (IndexOutOfRangeException e)
{
throw new IndexOutOfRangeException("Source map contains original source index that is outside the range of the provided sources array", e);
}
}
MappingEntry result = new MappingEntry(
generatedSourcePosition: new SourcePosition(
zeroBasedLineNumber: GeneratedLineNumber,
zeroBasedColumnNumber: GeneratedColumnNumber),
originalSourcePosition: originalSourcePosition,
originalName: originalName,
originalFileName: originalFileName);
return result;
}