forked from daren.hsu/line_push
27 lines
694 B
JavaScript
27 lines
694 B
JavaScript
"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;
|
|
}; |