def AaParse.alias.one
bend-osdev-apparmor@0.1.0.0 · parse.bend:1136
import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse
import Base
import bend-osdev-apparmor@0.1.0.0/text.bend as X
import bend-osdev-apparmor@0.1.0.0/glob.bend as G
import bend-osdev-apparmor@0.1.0.0/rule_file.bend as F
1136
1137def AaParse.alias.one(a: AaAlias, r: F.AaFileRule) -> List<&2, F.AaFileRule>:
1138 match a:
1139 case AaAlias{+from, +to}:
1140 match r:
1141 case F.AaFileRule{q, +text, g, p, e, tg}:
1142 Bool.pick(List<&2, F.AaFileRule>, Bool.and(Bool.not(X.AaText.is_nil(text)), X.AaText.prefix(text, from)), AaParse.alias.glob(G.AaGlob.parse(X.AaText.append(to, X.AaText.drop(X.AaText.len(from), text))), F.AaFileRule{q, X.AaText.append(to, X.AaText.drop(X.AaText.len(from), text)), g, p, e, tg}), Nil{})