export function createStringFromParserError()

in server/aws-lsp-partiql/src/server/error-parsing/parser-errors.ts [71:104]


export function createStringFromParserError(errorType: string, errorInfo?: ParserErrorInfo) {
    switch (errorType) {
        case 'SyntaxError':
            if (!isSyntaxErrorInfo(errorInfo))
                throw new Error('partiql error parsing error: SyntaxError unexpected format')
            return `Syntax Error: ${errorInfo.inner}.`

        case 'UnexpectedEndOfInput':
            return 'Unexpected end of input.'

        case 'UnexpectedToken':
            if (!isUnexptedTokenErrorInfo(errorInfo))
                throw new Error('partiql error parsing error: UnexpectedToken unexpected format')
            return `Unexpected token '${errorInfo.inner.token}'.`

        case 'LexicalError':
            if (!isLexicalErrorInfo(errorInfo))
                throw new Error('partiql error parsing error: LexicalError unexpected format')
            return convertObjectToLexerError(errorInfo.inner)

        case 'IllegalState':
            if (!isIllegalStateErrorInfo(errorInfo))
                throw new Error('partiql error parsing error: IllegalState unexpected format')
            return `Illegal State: ${errorInfo}.`

        case 'Unknown':
            'Unknown parse error.'

        default:
            // This code path is only reached when error type doesn't match any of the expected error types which
            // should never happen when triggered by the error parsing process.
            throw new Error('partiql error parsing error: unexpected parser error type')
    }
}