src/SyntaxErrorDataBuilder.ps1

param ($SyntaxErrors)
foreach ($_ in $SyntaxErrors) {
    $Extent = $_.Extent
    if ($Extent.StartLineNumber) {
        $LineStr = $Extent.StartLineNumber.ToString()
    }
    if ($Extent.StartLineNumber -ne $Extent.EndLineNumber) {
        $LineStr += "-$($Extent.EndLineNumber)"
    }
    if ($Extent.StartColumnNumber) {
        $ColumnStr = $Extent.StartColumnNumber.ToString()
    }
    if ($Extent.StartColumnNumber -ne $Extent.EndColumnNumber) {
        $ColumnStr += "-$($Extent.EndColumnNumber)"
    }
    $SpoceText = $Extent.StartLineNumber, $Extent.StartColumnNumber
    if($Extent.StartScriptPosition) {
        $FullText = $Extent.StartScriptPosition.GetFullScript()
    }
    @{
        Text = $FullText
        Message = $_.Message
        Spoce = @{
            Line = $Extent.StartLineNumber
            Column = $Extent.StartColumnNumber
            LineEnd = $Extent.EndLineNumber
            ColumnEnd = $Extent.EndColumnNumber
        }
        SpoceText = $SpoceText
        ErrorId = $_.ErrorId
    }
}