summaryrefslogtreecommitdiffstats
path: root/yql/essentials/utils/docs/verification.h
diff options
context:
space:
mode:
authorvitya-smirnov <[email protected]>2025-07-30 11:26:26 +0300
committervitya-smirnov <[email protected]>2025-07-30 11:38:37 +0300
commitcf9f591e5c90bf964bb922c0f6c3716045972b02 (patch)
tree36d4eb0816606653836399ac32ea58d2eca08b53 /yql/essentials/utils/docs/verification.h
parentada885655c2e21f6b55e2d3d724e57c9a1fdb843 (diff)
YQL-20112: Improve dramatically yql/utils/docs
Introduced `links.json` format to link names to documentation sections. Implement general links verification framework. Also fixed two small typos. Extended Description: https://nda.ya.ru/t/zR4voivb7GzD9r. commit_hash:e72db0e202b4ff612374c73fa384f70d029f0ef0
Diffstat (limited to 'yql/essentials/utils/docs/verification.h')
-rw-r--r--yql/essentials/utils/docs/verification.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/yql/essentials/utils/docs/verification.h b/yql/essentials/utils/docs/verification.h
new file mode 100644
index 00000000000..4eac54017f8
--- /dev/null
+++ b/yql/essentials/utils/docs/verification.h
@@ -0,0 +1,33 @@
+#pragma once
+
+#include "page.h"
+#include "link.h"
+
+#include <util/generic/map.h>
+#include <util/generic/set.h>
+
+namespace NYql::NDocs {
+
+ enum class EFame {
+ BadLinked,
+ Unknown,
+ Mentioned,
+ Documented,
+ };
+
+ using TStatusesByName = TMap<TString, TString>;
+
+ using TFameReport = THashMap<EFame, TStatusesByName>;
+
+ struct TVerificationInput {
+ TLinks Links;
+ TPages Pages;
+ TSet<TString> Names;
+ TMap<TString, TString> ShortHands;
+ };
+
+ TFameReport Verify(TVerificationInput input);
+
+ double Coverage(const TFameReport& report, const TVector<TString>& names);
+
+} // namespace NYql::NDocs