diff options
author | vvvv <[email protected]> | 2025-10-06 11:26:09 +0300 |
---|---|---|
committer | vvvv <[email protected]> | 2025-10-06 11:53:26 +0300 |
commit | 60f45e69a4d7dbc6131208e16c45faf35aa5a985 (patch) | |
tree | 4daa45b52c295a178c7620e4c93921465fcf7950 /yql/essentials/utils/docs/resource.cpp | |
parent | 1bded1a65a7e6e9171418f3e1c691d390125b64e (diff) |
YQL-20086 utils
init
commit_hash:54feccd520ebd0ab23612bc0cb830914dff9d0e8
Diffstat (limited to 'yql/essentials/utils/docs/resource.cpp')
-rw-r--r-- | yql/essentials/utils/docs/resource.cpp | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/yql/essentials/utils/docs/resource.cpp b/yql/essentials/utils/docs/resource.cpp index 8ca724c432e..f453fe8975c 100644 --- a/yql/essentials/utils/docs/resource.cpp +++ b/yql/essentials/utils/docs/resource.cpp @@ -6,38 +6,38 @@ namespace NYql::NDocs { - bool IsMatching(const TResourceFilter& filter, TStringBuf key) { - return key.Contains(filter.BaseDirectorySuffix) && - key.EndsWith(filter.CutSuffix); - } - - TStringBuf RelativePath(const TResourceFilter& filter, TStringBuf key Y_LIFETIME_BOUND) { - size_t pos = key.find(filter.BaseDirectorySuffix); - YQL_ENSURE(pos != TString::npos); - pos += filter.BaseDirectorySuffix.size(); - - TStringBuf tail = TStringBuf(key).SubStr(pos); - tail.remove_suffix(filter.CutSuffix.size()); - return tail; - } - - TResourcesByRelativePath FindResources(const TResourceFilter& filter) { - YQL_ENSURE( - filter.BaseDirectorySuffix.EndsWith('/'), - "BaseDirectory should end with '/', but got '" << filter.BaseDirectorySuffix << "'"); - - TResourcesByRelativePath resources; - for (TStringBuf key : NResource::ListAllKeys()) { - if (!key.StartsWith("resfs/file/") || !IsMatching(filter, key)) { - continue; - } +bool IsMatching(const TResourceFilter& filter, TStringBuf key) { + return key.Contains(filter.BaseDirectorySuffix) && + key.EndsWith(filter.CutSuffix); +} + +TStringBuf RelativePath(const TResourceFilter& filter, TStringBuf key Y_LIFETIME_BOUND) { + size_t pos = key.find(filter.BaseDirectorySuffix); + YQL_ENSURE(pos != TString::npos); + pos += filter.BaseDirectorySuffix.size(); + + TStringBuf tail = TStringBuf(key).SubStr(pos); + tail.remove_suffix(filter.CutSuffix.size()); + return tail; +} + +TResourcesByRelativePath FindResources(const TResourceFilter& filter) { + YQL_ENSURE( + filter.BaseDirectorySuffix.EndsWith('/'), + "BaseDirectory should end with '/', but got '" << filter.BaseDirectorySuffix << "'"); + + TResourcesByRelativePath resources; + for (TStringBuf key : NResource::ListAllKeys()) { + if (!key.StartsWith("resfs/file/") || !IsMatching(filter, key)) { + continue; + } - TStringBuf path = RelativePath(filter, key); - YQL_ENSURE(!resources.contains(path)); + TStringBuf path = RelativePath(filter, key); + YQL_ENSURE(!resources.contains(path)); - resources[path] = NResource::Find(key); - } - return resources; + resources[path] = NResource::Find(key); } + return resources; +} } // namespace NYql::NDocs |