#pragma once #include #include #include #include namespace NYql { namespace NFastCheck { 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; }; TVector ParseChecks(const TString& checks); TSet ListChecks(const TMaybe>& filters = Nothing()); TChecksResponse RunChecks(const TChecksRequest& request); } }