1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| "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;
| };
|
|