hyf

Context-aware query service for Radroots
git clone https://radroots.dev/git/hyf.git
Log | Files | Refs | README | LICENSE

namespace.mojo (1162B)


      1 from hyf_runtime.errors import raise_runtime_contract_error
      2 
      3 
      4 comptime _HYF_RUNTIME_NAMESPACE = "services/hyf"
      5 
      6 
      7 def hyf_runtime_namespace() -> String:
      8     return _HYF_RUNTIME_NAMESPACE
      9 
     10 
     11 def validate_runtime_namespace(namespace: String) raises:
     12     if namespace != _HYF_RUNTIME_NAMESPACE:
     13         raise_runtime_contract_error(
     14             "namespace must be '" + _HYF_RUNTIME_NAMESPACE + "'"
     15         )
     16 
     17 
     18 def _trim_trailing_slashes(path: String) -> String:
     19     var trimmed = String(String(path).strip())
     20     while trimmed.byte_length() > 1 and trimmed.endswith("/"):
     21         trimmed = String(trimmed[byte = 0 : trimmed.byte_length() - 1])
     22     return trimmed^
     23 
     24 
     25 def join_runtime_path(left: String, right: String) raises -> String:
     26     var normalized_left = _trim_trailing_slashes(left)
     27     var normalized_right = String(String(right).strip())
     28 
     29     if normalized_left == "":
     30         raise_runtime_contract_error("path root must not be empty")
     31     if normalized_right == "":
     32         raise_runtime_contract_error("path leaf must not be empty")
     33 
     34     if normalized_left == "/":
     35         return "/" + normalized_right
     36     return normalized_left + "/" + normalized_right