1 | export 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 | }
|