| 66 | } |
| 67 | |
| 68 | const basicString = <T = string>(regex?: RegExp, cb?: (i: string) => boolean, convert?: (i: string) => T) => [ |
| 69 | convert || ((v) => v.toString()), |
| 70 | (v) => { |
| 71 | const res = v.toString(); |
| 72 | if (regex && !regex.test(res)) return false; |
| 73 | if (cb && !cb(res)) return false; |
| 74 | return !!res.length; |
| 75 | }, |
| 76 | ] as [(v) => string, (v) => boolean]; |
| 77 | const saslprepString = <T = string>(regex?: RegExp, cb?: (i: string) => boolean, convert?: (i: string) => T) => [ |
| 78 | convert || ((v) => saslprep(v.toString().trim())), |
| 79 | (v) => { |