UNPKG

875 BJavaScriptView Raw
1export function splitEvery(value, delimiter, numDelimiters) {
2 if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {
3 throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery.");
4 }
5 var segments = value.split(delimiter);
6 if (numDelimiters === 1) {
7 return segments;
8 }
9 var compoundSegments = [];
10 var currentSegment = "";
11 for (var i = 0; i < segments.length; i++) {
12 if (currentSegment === "") {
13 currentSegment = segments[i];
14 }
15 else {
16 currentSegment += delimiter + segments[i];
17 }
18 if ((i + 1) % numDelimiters === 0) {
19 compoundSegments.push(currentSegment);
20 currentSegment = "";
21 }
22 }
23 if (currentSegment !== "") {
24 compoundSegments.push(currentSegment);
25 }
26 return compoundSegments;
27}