You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
694 B

"use strict";
/**
* protocols
* Returns the protocols of an input url.
*
* @name protocols
* @function
* @param {String} input The input url.
* @param {Boolean|Number} first If `true`, the first protocol will be returned. If number, it will represent the zero-based index of the protocols array.
* @return {Array|String} The array of protocols or the specified protocol.
*/
module.exports = function protocols(input, first) {
if (first === true) {
first = 0;
}
var index = input.indexOf("://"),
splits = input.substring(0, index).split("+").filter(Boolean);
if (typeof first === "number") {
return splits[first];
}
return splits;
};