#pragma once #include #include #include #include namespace NYql { namespace NFastCheck { const TSet& ListChecks(); enum class ESyntax { SExpr, YQL, PG }; enum class EMode { Default, Main, Library, View }; struct TCheckFilter { bool Include = true; TString CheckNameGlob; }; struct TChecksRequest { TString Program; TString File; THashMap ClusterMapping; ESyntax Syntax = ESyntax::YQL; ui16 SyntaxVersion = 1; bool IsAnsiLexer = false; EMode Mode = EMode::Default; TMaybe> Filters; }; struct TCheckResponse { TString CheckName; bool Success = false; TIssues Issues; }; struct TChecksResponse { TVector Checks; }; TChecksResponse RunChecks(const TChecksRequest& request); } }