Έ߹ΘͤͯδΣωϨʔλΛ࡞ͬͯ…
let localEmail = allowedLocalCharacters
.proliferateNonEmpty
.suchThat({ $0[$0.index(before: $0.endIndex)] != "." })
.map { String($0) }
let hostname = Gen.one(of: [
lowerCaseLetters,
numeric,
Gen.pure("-"),
]).proliferateNonEmpty.map { String($0) }
let tld = lowerCaseLetters
.proliferateNonEmpty
.suchThat({ $0.count > 1 })
.map { String($0) }
let emailGen = glue([
localEmail,
Gen.pure("@"),
hostname,
Gen.pure("."),
tld
])
emailGen.generate // "q13vS#@s409pwr-plv90-w40--91-.ijtgmvoiljnticlggqlpw"
emailGen.generate // "!'
[email protected]"
emailGen.generate // "46n}ZmEDg760&4L4RR#.Q'b{}
[email protected]"
33