Get real nit picky
This commit is contained in:
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
import {describe, expect, it} from '@jest/globals'
|
import {describe, expect, it} from '@jest/globals'
|
||||||
import tldts from 'tldts'
|
import tldts from 'tldts'
|
||||||
|
|
||||||
import {emailTypoCheck} from '#/lib/strings/email-typo'
|
import {isEmailMaybeInvalid} from '#/lib/strings/email'
|
||||||
|
|
||||||
describe('emailTypoChecker', () => {
|
describe('emailTypoChecker', () => {
|
||||||
const invalidCases = [
|
const invalidCases = [
|
||||||
@@ -73,10 +73,10 @@ describe('emailTypoChecker', () => {
|
|||||||
]
|
]
|
||||||
|
|
||||||
it.each(invalidCases)(`should be invalid: abcde@%s`, domain => {
|
it.each(invalidCases)(`should be invalid: abcde@%s`, domain => {
|
||||||
expect(emailTypoCheck(`abcde@${domain}`, tldts)).toEqual(true)
|
expect(isEmailMaybeInvalid(`abcde@${domain}`, tldts)).toEqual(true)
|
||||||
})
|
})
|
||||||
|
|
||||||
it.each(validCases)(`should be valid: abcde@%s`, domain => {
|
it.each(validCases)(`should be valid: abcde@%s`, domain => {
|
||||||
expect(emailTypoCheck(`abcde@${domain}`, tldts)).toEqual(false)
|
expect(isEmailMaybeInvalid(`abcde@${domain}`, tldts)).toEqual(false)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -3,7 +3,7 @@ import type tldts from 'tldts'
|
|||||||
const COMMON_ERROR_PATTERN =
|
const COMMON_ERROR_PATTERN =
|
||||||
/([a-zA-Z0-9._%+-]+)@(gnail\.(co|com)|gmaill\.(co|com)|gmai\.(co|com)|gmail\.co|gmal\.(co|com)|iclod\.(co|com)|icloud\.co|outllok\.(co|com)|outlok\.(co|com)|outlook\.co|yaoo\.(co|com)|yaho\.(co|com)|yahoo\.co|yahooo\.(co|com))$/
|
/([a-zA-Z0-9._%+-]+)@(gnail\.(co|com)|gmaill\.(co|com)|gmai\.(co|com)|gmail\.co|gmal\.(co|com)|iclod\.(co|com)|icloud\.co|outllok\.(co|com)|outlok\.(co|com)|outlook\.co|yaoo\.(co|com)|yaho\.(co|com)|yahoo\.co|yahooo\.(co|com))$/
|
||||||
|
|
||||||
export function emailTypoCheck(email: string, dynamicTldts: typeof tldts) {
|
export function isEmailMaybeInvalid(email: string, dynamicTldts: typeof tldts) {
|
||||||
const isIcann = dynamicTldts.parse(email).isIcann
|
const isIcann = dynamicTldts.parse(email).isIcann
|
||||||
return !isIcann || COMMON_ERROR_PATTERN.test(email)
|
return !isIcann || COMMON_ERROR_PATTERN.test(email)
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,7 @@ import type tldts from 'tldts'
|
|||||||
|
|
||||||
import {logEvent} from '#/lib/statsig/statsig'
|
import {logEvent} from '#/lib/statsig/statsig'
|
||||||
import {logger} from '#/logger'
|
import {logger} from '#/logger'
|
||||||
import {emailTypoCheck} from 'lib/strings/email-typo'
|
import {isEmailMaybeInvalid} from 'lib/strings/email'
|
||||||
import {ScreenTransition} from '#/screens/Login/ScreenTransition'
|
import {ScreenTransition} from '#/screens/Login/ScreenTransition'
|
||||||
import {is13, is18, useSignupContext} from '#/screens/Signup/state'
|
import {is13, is18, useSignupContext} from '#/screens/Signup/state'
|
||||||
import {Policies} from '#/screens/Signup/StepInfo/Policies'
|
import {Policies} from '#/screens/Signup/StepInfo/Policies'
|
||||||
@@ -68,7 +68,7 @@ export function StepInfo({
|
|||||||
const password = passwordValueRef.current
|
const password = passwordValueRef.current
|
||||||
|
|
||||||
if (emailChanged && tldtsRef.current) {
|
if (emailChanged && tldtsRef.current) {
|
||||||
if (emailTypoCheck(email, tldtsRef.current)) {
|
if (isEmailMaybeInvalid(email, tldtsRef.current)) {
|
||||||
prevEmailValueRef.current = email
|
prevEmailValueRef.current = email
|
||||||
setHasWarnedEmail(true)
|
setHasWarnedEmail(true)
|
||||||
return dispatch({
|
return dispatch({
|
||||||
|
|||||||
Reference in New Issue
Block a user