UNPKG

nav-new-publication-cli

Version:

Add new publication to the navigator web project

33 lines (23 loc) 1.14 kB
import {urlRegex, arnRegex} from './constants'; export const stripSpace = (str: string): string => str.replace(/\s/, '').toLowerCase(); export const checkNotEmpty = (value: string): string | true => value === '' ? 'Cannot be empty' : true; export const checkArn = (value: string): string | true => { const empty = checkNotEmpty(value); if(empty !== true) return empty; return arnRegex.test(value) ? true : 'Invalid certificateArn'; }; export const checkName = (existingPublications: { title: string }[]) => (value: string): string | true => { const pubCheck = existingPublications.reduce((check: boolean, {title}: {title: string}) => { return stripSpace(title) === stripSpace(value) }, false); if(pubCheck) return 'This publication already exists, please check before proceeding'; return checkNotEmpty(value); } export const checkDomain = (value: string): string | true => { const empty = checkNotEmpty(value); if(empty !== true) return empty; if(value.includes('http://') || value.includes("www.")) return 'should not include http or www'; return urlRegex.test(value) ? true : 'Invalid domain'; }