All files / src/helpers/validators protocolValidator.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            9x 6x 1x     5x 1x      
/**
 * Validates a given protocol to match the following conditions:
 * - protocol is required
 * - protocol is valid (http|https|ftp|ftps)
 * @param {string} host
 */
export const protocolValidator = (protocol) => {
	if (!protocol) {
		throw new Error("Missing required parameter: protocol");
	}
 
	if (!new RegExp("^(https?|s?ftp)$").test(protocol)) {
		throw new Error(`Invalid value for parameter protocol: ${protocol}`);
	}
};