import R from 'ramda';
import forbiddenAddresses from './forbiddenAddresses';
import { checkSingle, checkMultiple } from './common';
import errorMessages from './errorMessages';
const checkOfficialAddress = (value) => {
return !forbiddenAddresses.some((subString) => value.toLowerCase().includes(subString));
};
const hasForbiddenChars = (value) => {
const forbiddenCharacters = [ '[at]', '(at)', '@' ];
return !forbiddenCharacters.some((subString) => value.toLowerCase().includes(subString));
};
const checkForAbsoluteUrl = (value) => {
if (!value) {
return true;
}
return R.or(value.startsWith('http://'), value.startsWith('https://'));
};
export const isOfficialAddress = checkSingle(checkOfficialAddress, errorMessages.unofficialWebsite);
export const isValidAddress = checkSingle(hasForbiddenChars, errorMessages.notValidWebsite);
export const isAbsoluteUrl = checkSingle(checkForAbsoluteUrl, errorMessages.notAbsoluteUrl);
export const websiteSchema = checkMultiple([
isOfficialAddress(),
isValidAddress(),
isAbsoluteUrl()
]);
|