@gouvfr-anct/lieux-de-mediation-numerique
Version:
📚 Bibliothèque pour la modélisation des lieux de médiation numérique respectant le standard du schéma de données des lieux de médiation numériques
8 lines (7 loc) • 370 B
JavaScript
import { UrlError } from './errors';
const URL_REGEXP = /^[A-Za-z]{3,9}:(?:\/\/)?(?:[;:&=+$,\w-]+@)?[A-Za-z0-9.-]+(?:(?:\/[+~,%@/.\w_-]*)?\??[-+=&;%@.\w_]*#?[.!/\\\w]*)?$/u;
const throwUrlError = (url) => {
throw new UrlError(url);
};
export const isValidUrl = (url) => URL_REGEXP.test(url);
export const Url = (url) => (isValidUrl(url) ? url : throwUrlError(url));