fix(user): display name may omit hyphenated given name parts
This commit is contained in:
parent
97f94f65f8
commit
ddb1a15c18
@ -22,16 +22,17 @@ validDisplayName (fmap Text.strip -> mTitle) (Text.strip -> fName) (Text.strip -
|
||||
, dNameLetters `Set.isSubsetOf` Set.unions [titleLetters, fNameLetters, sNameLetters, addLetters]
|
||||
]
|
||||
where
|
||||
titleFrags = MultiSet.fromList $ maybe [] Text.words mTitle
|
||||
fNameFrags = MultiSet.fromList $ Text.words fName
|
||||
sNameFrags = MultiSet.fromList $ Text.words sName
|
||||
dNameFrags = MultiSet.fromList $ stripAdd <$> Text.words dName
|
||||
titleFrags = foldMap makeMultiSet mTitle
|
||||
dNameFrags = makeMultiSet dName
|
||||
fNameFrags = makeMultiSet fName
|
||||
sNameFrags = makeMultiSet sName
|
||||
|
||||
titleLetters = Set.fromList $ maybe [] unpack mTitle
|
||||
fNameLetters = Set.fromList $ unpack fName
|
||||
sNameLetters = Set.fromList $ unpack sName
|
||||
dNameLetters = Set.fromList $ unpack dName
|
||||
addLetters = Set.fromList [' ', ',', '.']
|
||||
titleLetters = foldMap (Set.fromList . unpack) mTitle
|
||||
fNameLetters = Set.fromList $ unpack fName
|
||||
sNameLetters = Set.fromList $ unpack sName
|
||||
dNameLetters = Set.fromList $ unpack dName
|
||||
addLetters = Set.fromList [' ', ',', '.', '-']
|
||||
|
||||
isAdd = (`Set.member` addLetters)
|
||||
stripAdd = Text.dropWhileEnd isAdd -- ? Text.dropAround isAdd
|
||||
splitAdd = Text.split isAdd
|
||||
makeMultiSet = MultiSet.fromList . filter (not . Text.null) . splitAdd
|
||||
|
||||
Loading…
Reference in New Issue
Block a user