All files / src/helpers/validators hostValidator.js

100% Statements 5/5
100% Branches 4/4
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20            9x 13x 1x     12x         6x      
/**
 * Validates a given host to match the following conditions:
 * - host is required
 * - host is a valid format
 * @param {string} host
 */
export const hostValidator = (host) => {
	if (!host) {
		throw new Error("Missing required parameter: host");
	}
 
	if (
		!new RegExp(
			"^(([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\\.)+([a-zA-Z]*[a-zA-Z])$"
		).test(host)
	) {
		throw new Error(`Invalid value for parameter host: ${host}`);
	}
};