summaryrefslogtreecommitdiffstats
path: root/yql/essentials/utils/docs/name.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-10-06 11:26:09 +0300
committervvvv <[email protected]>2025-10-06 11:53:26 +0300
commit60f45e69a4d7dbc6131208e16c45faf35aa5a985 (patch)
tree4daa45b52c295a178c7620e4c93921465fcf7950 /yql/essentials/utils/docs/name.cpp
parent1bded1a65a7e6e9171418f3e1c691d390125b64e (diff)
YQL-20086 utils
init commit_hash:54feccd520ebd0ab23612bc0cb830914dff9d0e8
Diffstat (limited to 'yql/essentials/utils/docs/name.cpp')
-rw-r--r--yql/essentials/utils/docs/name.cpp56
1 files changed, 28 insertions, 28 deletions
diff --git a/yql/essentials/utils/docs/name.cpp b/yql/essentials/utils/docs/name.cpp
index 570bf23f313..9ebf04d06bd 100644
--- a/yql/essentials/utils/docs/name.cpp
+++ b/yql/essentials/utils/docs/name.cpp
@@ -7,43 +7,43 @@
namespace NYql::NDocs {
- const RE2 NormalizedNameRegex(R"re([a-z_]{1,2}[a-z0-9]*)re");
+const RE2 NormalizedNameRegex(R"re([a-z_]{1,2}[a-z0-9]*)re");
- bool IsNormalizedName(TStringBuf name) {
- return RE2::FullMatch(name, NormalizedNameRegex);
+bool IsNormalizedName(TStringBuf name) {
+ return RE2::FullMatch(name, NormalizedNameRegex);
+}
+
+TMaybe<TString> NormalizedName(TString name) {
+ if (TMaybe<TIssue> issue = NormalizeName(TPosition(), name)) {
+ return Nothing();
}
- TMaybe<TString> NormalizedName(TString name) {
- if (TMaybe<TIssue> issue = NormalizeName(TPosition(), name)) {
- return Nothing();
- }
+ if (!IsNormalizedName(name)) {
+ return Nothing();
+ }
- if (!IsNormalizedName(name)) {
- return Nothing();
- }
+ return name;
+}
- return name;
- }
+bool IsUDF(TStringBuf name) {
+ return name.Contains("::");
+}
- bool IsUDF(TStringBuf name) {
- return name.Contains("::");
+TMaybe<std::pair<TString, TString>> SplitUDF(TString name) {
+ if (!IsUDF(name)) {
+ return Nothing();
}
- TMaybe<std::pair<TString, TString>> SplitUDF(TString name) {
- if (!IsUDF(name)) {
- return Nothing();
- }
+ TVector<TString> words;
+ words.reserve(2);
+ StringSplitter(name).SplitByString("::").Collect(&words);
+ YQL_ENSURE(words.size() == 2, "Invalid UDF pattern: " << name);
- TVector<TString> words;
- words.reserve(2);
- StringSplitter(name).SplitByString("::").Collect(&words);
- YQL_ENSURE(words.size() == 2, "Invalid UDF pattern: " << name);
+ TMaybe<TString> module = NormalizedName(std::move(words[0]));
+ TMaybe<TString> function = NormalizedName(std::move(words[1]));
+ YQL_ENSURE(module && function, "Unable to normalize " << name);
- TMaybe<TString> module = NormalizedName(std::move(words[0]));
- TMaybe<TString> function = NormalizedName(std::move(words[1]));
- YQL_ENSURE(module && function, "Unable to normalize " << name);
-
- return std::make_pair(*module, *function);
- }
+ return std::make_pair(*module, *function);
+}
} // namespace NYql::NDocs