def pascal

bend-lint-rules@0.2.0.0 · layout/case.bend:127

import bend-lint-rules@0.2.0.0/layout/case.bend as Case
import Base

127# `s` in PascalCase: `_` goes, and the character after it becomes a capital.
128def pascal(s: String, up: Bool, acc: String) -> String:
129  match s up:
130    case SNil{} _:
131      String.reverse(acc)
132    case SCon{'_', rest} _:
133      pascal(rest, True{}, acc)
134    case SCon{c, rest} True{}:
135      pascal(rest, False{}, SCon{Char.to_upper(c), acc})
136    case SCon{c, rest} False{}:
137      pascal(rest, False{}, SCon{c, acc})

Uses (8)

Used by (1)