758 lines
33 KiB
JSON
758 lines
33 KiB
JSON
{
|
|
"result": [
|
|
{
|
|
"scriptId": "521",
|
|
"url": "file:///workspace/dist/esm/index.js",
|
|
"functions": [
|
|
{
|
|
"functionName": "",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 0,
|
|
"endOffset": 9820,
|
|
"count": 1
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "numeric",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 1511,
|
|
"endOffset": 1600,
|
|
"count": 257
|
|
},
|
|
{
|
|
"startOffset": 1558,
|
|
"endOffset": 1577,
|
|
"count": 195
|
|
},
|
|
{
|
|
"startOffset": 1578,
|
|
"endOffset": 1597,
|
|
"count": 62
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "escapeBraces",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 1601,
|
|
"endOffset": 1852,
|
|
"count": 188
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "unescapeBraces",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 1853,
|
|
"endOffset": 2097,
|
|
"count": 151700
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "parseCommaParts",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 2267,
|
|
"endOffset": 2777,
|
|
"count": 59757
|
|
},
|
|
{
|
|
"startOffset": 2313,
|
|
"endOffset": 2341,
|
|
"count": 9
|
|
},
|
|
{
|
|
"startOffset": 2341,
|
|
"endOffset": 2415,
|
|
"count": 59748
|
|
},
|
|
{
|
|
"startOffset": 2415,
|
|
"endOffset": 2453,
|
|
"count": 59707
|
|
},
|
|
{
|
|
"startOffset": 2453,
|
|
"endOffset": 2626,
|
|
"count": 41
|
|
},
|
|
{
|
|
"startOffset": 2626,
|
|
"endOffset": 2725,
|
|
"count": 32
|
|
},
|
|
{
|
|
"startOffset": 2725,
|
|
"endOffset": 2776,
|
|
"count": 41
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "expand",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 2785,
|
|
"endOffset": 3501,
|
|
"count": 189
|
|
},
|
|
{
|
|
"startOffset": 2836,
|
|
"endOffset": 2862,
|
|
"count": 1
|
|
},
|
|
{
|
|
"startOffset": 2862,
|
|
"endOffset": 3372,
|
|
"count": 188
|
|
},
|
|
{
|
|
"startOffset": 3372,
|
|
"endOffset": 3418,
|
|
"count": 5
|
|
},
|
|
{
|
|
"startOffset": 3418,
|
|
"endOffset": 3500,
|
|
"count": 188
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "embrace",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 3502,
|
|
"endOffset": 3555,
|
|
"count": 24
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "isPadded",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 3556,
|
|
"endOffset": 3611,
|
|
"count": 236
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "lte",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 3612,
|
|
"endOffset": 3653,
|
|
"count": 978
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "gte",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 3654,
|
|
"endOffset": 3695,
|
|
"count": 374
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "combine",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 4043,
|
|
"endOffset": 4781,
|
|
"count": 179356
|
|
},
|
|
{
|
|
"startOffset": 4190,
|
|
"endOffset": 4763,
|
|
"count": 46941634
|
|
},
|
|
{
|
|
"startOffset": 4240,
|
|
"endOffset": 4757,
|
|
"count": 94223357
|
|
},
|
|
{
|
|
"startOffset": 4293,
|
|
"endOffset": 4304,
|
|
"count": 134
|
|
},
|
|
{
|
|
"startOffset": 4304,
|
|
"endOffset": 4551,
|
|
"count": 94223223
|
|
},
|
|
{
|
|
"startOffset": 4551,
|
|
"endOffset": 4564,
|
|
"count": 46530
|
|
},
|
|
{
|
|
"startOffset": 4582,
|
|
"endOffset": 4591,
|
|
"count": 3
|
|
},
|
|
{
|
|
"startOffset": 4591,
|
|
"endOffset": 4663,
|
|
"count": 94223220
|
|
},
|
|
{
|
|
"startOffset": 4663,
|
|
"endOffset": 4674,
|
|
"count": 59396
|
|
},
|
|
{
|
|
"startOffset": 4674,
|
|
"endOffset": 4757,
|
|
"count": 94163824
|
|
},
|
|
{
|
|
"startOffset": 4757,
|
|
"endOffset": 4763,
|
|
"count": 46882104
|
|
},
|
|
{
|
|
"startOffset": 4763,
|
|
"endOffset": 4780,
|
|
"count": 119826
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "expandSequence",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 4879,
|
|
"endOffset": 6288,
|
|
"count": 110
|
|
},
|
|
{
|
|
"startOffset": 5164,
|
|
"endOffset": 5189,
|
|
"count": 0
|
|
},
|
|
{
|
|
"startOffset": 5357,
|
|
"endOffset": 5378,
|
|
"count": 37
|
|
},
|
|
{
|
|
"startOffset": 5379,
|
|
"endOffset": 5425,
|
|
"count": 37
|
|
},
|
|
{
|
|
"startOffset": 5434,
|
|
"endOffset": 5437,
|
|
"count": 73
|
|
},
|
|
{
|
|
"startOffset": 5503,
|
|
"endOffset": 5550,
|
|
"count": 32
|
|
},
|
|
{
|
|
"startOffset": 5616,
|
|
"endOffset": 5633,
|
|
"count": 1243
|
|
},
|
|
{
|
|
"startOffset": 5646,
|
|
"endOffset": 6272,
|
|
"count": 1242
|
|
},
|
|
{
|
|
"startOffset": 5692,
|
|
"endOffset": 5811,
|
|
"count": 479
|
|
},
|
|
{
|
|
"startOffset": 5762,
|
|
"endOffset": 5801,
|
|
"count": 11
|
|
},
|
|
{
|
|
"startOffset": 5811,
|
|
"endOffset": 6247,
|
|
"count": 763
|
|
},
|
|
{
|
|
"startOffset": 5875,
|
|
"endOffset": 6237,
|
|
"count": 298
|
|
},
|
|
{
|
|
"startOffset": 5954,
|
|
"endOffset": 6223,
|
|
"count": 291
|
|
},
|
|
{
|
|
"startOffset": 6048,
|
|
"endOffset": 6121,
|
|
"count": 24
|
|
},
|
|
{
|
|
"startOffset": 6121,
|
|
"endOffset": 6205,
|
|
"count": 267
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
},
|
|
{
|
|
"functionName": "expand_",
|
|
"ranges": [
|
|
{
|
|
"startOffset": 6289,
|
|
"endOffset": 9786,
|
|
"count": 119653
|
|
},
|
|
{
|
|
"startOffset": 7174,
|
|
"endOffset": 9768,
|
|
"count": 179389
|
|
},
|
|
{
|
|
"startOffset": 7300,
|
|
"endOffset": 7384,
|
|
"count": 119462
|
|
},
|
|
{
|
|
"startOffset": 7384,
|
|
"endOffset": 7523,
|
|
"count": 59927
|
|
},
|
|
{
|
|
"startOffset": 7523,
|
|
"endOffset": 7780,
|
|
"count": 12
|
|
},
|
|
{
|
|
"startOffset": 7616,
|
|
"endOffset": 7633,
|
|
"count": 2
|
|
},
|
|
{
|
|
"startOffset": 7716,
|
|
"endOffset": 7722,
|
|
"count": 3
|
|
},
|
|
{
|
|
"startOffset": 7722,
|
|
"endOffset": 7780,
|
|
"count": 9
|
|
},
|
|
{
|
|
"startOffset": 7780,
|
|
"endOffset": 7992,
|
|
"count": 59915
|
|
},
|
|
{
|
|
"startOffset": 7992,
|
|
"endOffset": 8010,
|
|
"count": 59836
|
|
},
|
|
{
|
|
"startOffset": 8088,
|
|
"endOffset": 8101,
|
|
"count": 59805
|
|
},
|
|
{
|
|
"startOffset": 8103,
|
|
"endOffset": 8498,
|
|
"count": 89
|
|
},
|
|
{
|
|
"startOffset": 8171,
|
|
"endOffset": 8306,
|
|
"count": 33
|
|
},
|
|
{
|
|
"startOffset": 8306,
|
|
"endOffset": 8498,
|
|
"count": 56
|
|
},
|
|
{
|
|
"startOffset": 8498,
|
|
"endOffset": 8523,
|
|
"count": 59826
|
|
},
|
|
{
|
|
"startOffset": 8523,
|
|
"endOffset": 8614,
|
|
"count": 184
|
|
},
|
|
{
|
|
"startOffset": 8557,
|
|
"endOffset": 8571,
|
|
"count": 149
|
|
},
|
|
{
|
|
"startOffset": 8614,
|
|
"endOffset": 8659,
|
|
"count": 59826
|
|
},
|
|
{
|
|
"startOffset": 8659,
|
|
"endOffset": 8737,
|
|
"count": 110
|
|
},
|
|
{
|
|
"startOffset": 8737,
|
|
"endOffset": 9605,
|
|
"count": 59716
|
|
},
|
|
{
|
|
"startOffset": 8829,
|
|
"endOffset": 8850,
|
|
"count": 10
|
|
},
|
|
{
|
|
"startOffset": 8852,
|
|
"endOffset": 9426,
|
|
"count": 10
|
|
},
|
|
{
|
|
"startOffset": 9116,
|
|
"endOffset": 9375,
|
|
"count": 0
|
|
},
|
|
{
|
|
"startOffset": 9499,
|
|
"endOffset": 9595,
|
|
"count": 119455
|
|
},
|
|
{
|
|
"startOffset": 9605,
|
|
"endOffset": 9674,
|
|
"count": 59826
|
|
},
|
|
{
|
|
"startOffset": 9674,
|
|
"endOffset": 9691,
|
|
"count": 59664
|
|
},
|
|
{
|
|
"startOffset": 9734,
|
|
"endOffset": 9740,
|
|
"count": 132
|
|
},
|
|
{
|
|
"startOffset": 9740,
|
|
"endOffset": 9768,
|
|
"count": 59694
|
|
},
|
|
{
|
|
"startOffset": 9768,
|
|
"endOffset": 9785,
|
|
"count": 135
|
|
}
|
|
],
|
|
"isBlockCoverage": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timestamp": 2450.940484,
|
|
"source-map-cache": {
|
|
"file:///workspace/dist/esm/index.js": {
|
|
"lineLengths": [
|
|
42,
|
|
50,
|
|
48,
|
|
50,
|
|
50,
|
|
52,
|
|
50,
|
|
48,
|
|
50,
|
|
50,
|
|
52,
|
|
29,
|
|
27,
|
|
28,
|
|
28,
|
|
30,
|
|
37,
|
|
76,
|
|
75,
|
|
73,
|
|
74,
|
|
77,
|
|
70,
|
|
76,
|
|
74,
|
|
72,
|
|
49,
|
|
46,
|
|
23,
|
|
63,
|
|
1,
|
|
28,
|
|
14,
|
|
40,
|
|
38,
|
|
40,
|
|
40,
|
|
43,
|
|
1,
|
|
30,
|
|
14,
|
|
39,
|
|
37,
|
|
38,
|
|
38,
|
|
40,
|
|
1,
|
|
3,
|
|
52,
|
|
56,
|
|
50,
|
|
3,
|
|
31,
|
|
15,
|
|
20,
|
|
5,
|
|
21,
|
|
38,
|
|
13,
|
|
30,
|
|
5,
|
|
34,
|
|
29,
|
|
40,
|
|
44,
|
|
22,
|
|
9,
|
|
45,
|
|
35,
|
|
5,
|
|
31,
|
|
17,
|
|
1,
|
|
43,
|
|
15,
|
|
18,
|
|
5,
|
|
78,
|
|
56,
|
|
72,
|
|
74,
|
|
49,
|
|
72,
|
|
67,
|
|
35,
|
|
38,
|
|
5,
|
|
80,
|
|
1,
|
|
23,
|
|
27,
|
|
1,
|
|
23,
|
|
29,
|
|
1,
|
|
20,
|
|
18,
|
|
1,
|
|
20,
|
|
18,
|
|
1,
|
|
74,
|
|
80,
|
|
75,
|
|
80,
|
|
33,
|
|
65,
|
|
19,
|
|
19,
|
|
42,
|
|
49,
|
|
34,
|
|
27,
|
|
55,
|
|
85,
|
|
75,
|
|
42,
|
|
25,
|
|
54,
|
|
27,
|
|
32,
|
|
39,
|
|
9,
|
|
5,
|
|
15,
|
|
1,
|
|
78,
|
|
17,
|
|
53,
|
|
33,
|
|
17,
|
|
78,
|
|
23,
|
|
25,
|
|
51,
|
|
17,
|
|
5,
|
|
24,
|
|
28,
|
|
28,
|
|
53,
|
|
53,
|
|
44,
|
|
12,
|
|
19,
|
|
26,
|
|
18,
|
|
19,
|
|
19,
|
|
5,
|
|
33,
|
|
62,
|
|
14,
|
|
30,
|
|
39,
|
|
29,
|
|
23,
|
|
13,
|
|
9,
|
|
14,
|
|
26,
|
|
22,
|
|
46,
|
|
31,
|
|
60,
|
|
32,
|
|
49,
|
|
21,
|
|
26,
|
|
34,
|
|
21,
|
|
17,
|
|
13,
|
|
9,
|
|
18,
|
|
5,
|
|
13,
|
|
1,
|
|
46,
|
|
77,
|
|
81,
|
|
80,
|
|
78,
|
|
76,
|
|
52,
|
|
19,
|
|
79,
|
|
79,
|
|
80,
|
|
57,
|
|
28,
|
|
26,
|
|
14,
|
|
42,
|
|
64,
|
|
17,
|
|
72,
|
|
9,
|
|
81,
|
|
26,
|
|
30,
|
|
110,
|
|
31,
|
|
31,
|
|
22,
|
|
25,
|
|
21,
|
|
9,
|
|
80,
|
|
84,
|
|
64,
|
|
51,
|
|
40,
|
|
21,
|
|
45,
|
|
63,
|
|
29,
|
|
25,
|
|
13,
|
|
78,
|
|
102,
|
|
9,
|
|
25,
|
|
47,
|
|
31,
|
|
9,
|
|
19,
|
|
25,
|
|
66,
|
|
9,
|
|
14,
|
|
44,
|
|
55,
|
|
44,
|
|
70,
|
|
71,
|
|
37,
|
|
37,
|
|
104,
|
|
39,
|
|
30,
|
|
33,
|
|
29,
|
|
17,
|
|
36,
|
|
13,
|
|
24,
|
|
48,
|
|
80,
|
|
13,
|
|
9,
|
|
87,
|
|
27,
|
|
18,
|
|
21,
|
|
5,
|
|
15,
|
|
1,
|
|
33
|
|
],
|
|
"data": {
|
|
"version": 3,
|
|
"file": "index.js",
|
|
"sourceRoot": "",
|
|
"sources": [
|
|
"file:///workspace/src/index.ts"
|
|
],
|
|
"names": [],
|
|
"mappings": "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",
|
|
"sourcesContent": [
|
|
"import { balanced } from 'balanced-match'\n\nconst escSlash = '\\0SLASH' + Math.random() + '\\0'\nconst escOpen = '\\0OPEN' + Math.random() + '\\0'\nconst escClose = '\\0CLOSE' + Math.random() + '\\0'\nconst escComma = '\\0COMMA' + Math.random() + '\\0'\nconst escPeriod = '\\0PERIOD' + Math.random() + '\\0'\nconst escSlashPattern = new RegExp(escSlash, 'g')\nconst escOpenPattern = new RegExp(escOpen, 'g')\nconst escClosePattern = new RegExp(escClose, 'g')\nconst escCommaPattern = new RegExp(escComma, 'g')\nconst escPeriodPattern = new RegExp(escPeriod, 'g')\nconst slashPattern = /\\\\\\\\/g\nconst openPattern = /\\\\{/g\nconst closePattern = /\\\\}/g\nconst commaPattern = /\\\\,/g\nconst periodPattern = /\\\\\\./g\n\nexport const EXPANSION_MAX = 100_000\n\n// `EXPANSION_MAX` caps the *number* of expansions, but not their length. An\n// input like `'{a,b}'.repeat(1500)` stays under that count - its output is\n// truncated to 100k results - while making every result ~1500 characters\n// long. The result set, and the intermediate arrays built while combining\n// brace sets, then grow large enough to exhaust memory and crash the process\n// (CVE-2026-14257). `EXPANSION_MAX_LENGTH` bounds the total number of\n// characters the accumulator may hold at any point, so memory stays flat no\n// matter how many brace groups are chained. The limit sits well above any\n// realistic expansion (100k results hitting `EXPANSION_MAX` measure ~1M\n// characters) so legitimate input is unaffected.\nexport const EXPANSION_MAX_LENGTH = 4_000_000\n\nfunction numeric(str: string) {\n return !isNaN(str as any) ? parseInt(str, 10) : str.charCodeAt(0)\n}\n\nfunction escapeBraces(str: string) {\n return str\n .replace(slashPattern, escSlash)\n .replace(openPattern, escOpen)\n .replace(closePattern, escClose)\n .replace(commaPattern, escComma)\n .replace(periodPattern, escPeriod)\n}\n\nfunction unescapeBraces(str: string) {\n return str\n .replace(escSlashPattern, '\\\\')\n .replace(escOpenPattern, '{')\n .replace(escClosePattern, '}')\n .replace(escCommaPattern, ',')\n .replace(escPeriodPattern, '.')\n}\n\n/**\n * Basically just str.split(\",\"), but handling cases\n * where we have nested braced sections, which should be\n * treated as individual members, like {a,{b,c},d}\n */\nfunction parseCommaParts(str: string) {\n if (!str) {\n return ['']\n }\n\n const parts: string[] = []\n const m = balanced('{', '}', str)\n\n if (!m) {\n return str.split(',')\n }\n\n const { pre, body, post } = m\n const p = pre.split(',')\n\n p[p.length - 1] += '{' + body + '}'\n const postParts = parseCommaParts(post)\n if (post.length) {\n ;(p[p.length - 1] as string) += postParts.shift()\n p.push.apply(p, postParts)\n }\n\n parts.push.apply(parts, p)\n\n return parts\n}\n\nexport type BraceExpansionOptions = {\n max?: number\n maxLength?: number\n}\n\nexport function expand(str: string, options: BraceExpansionOptions = {}) {\n if (!str) {\n return []\n }\n\n const { max = EXPANSION_MAX, maxLength = EXPANSION_MAX_LENGTH } = options\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.slice(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.slice(2)\n }\n\n return expand_(escapeBraces(str), max, maxLength, true).map(unescapeBraces)\n}\n\nfunction embrace(str: string) {\n return '{' + str + '}'\n}\n\nfunction isPadded(el: string) {\n return /^-?0\\d/.test(el)\n}\n\nfunction lte(i: number, y: number) {\n return i <= y\n}\n\nfunction gte(i: number, y: number) {\n return i >= y\n}\n\n// Build `{ acc[a] + pre + values[v] }` for every combination, capping the\n// number of results at `max` and the total number of characters at `maxLength`.\n// This is the one place output grows, so bounding it here keeps the single\n// accumulator - and therefore memory - flat regardless of how many brace groups\n// are combined (CVE-2026-14257).\nfunction combine(\n acc: string[],\n pre: string,\n values: string[],\n max: number,\n maxLength: number,\n dropEmpties: boolean,\n): string[] {\n const out: string[] = []\n let length = 0\n for (let a = 0; a < acc.length; a++) {\n for (let v = 0; v < values.length; v++) {\n if (out.length >= max) return out\n const expansion = (acc[a] as string) + pre + values[v]\n // Bash drops empty results at the top level. Skip them before they count\n // against `max`, so `max` bounds the number of *kept* results.\n if (dropEmpties && !expansion) continue\n if (length + expansion.length > maxLength) return out\n out.push(expansion)\n length += expansion.length\n }\n }\n return out\n}\n\n// The expansion values of a single numeric (`1..5`) or alphabetic (`a..e..2`)\n// sequence body.\nfunction expandSequence(\n body: string,\n isAlphaSequence: boolean,\n max: number,\n): string[] {\n const n = body.split(/\\.\\./)\n const N: string[] = []\n // A sequence body always splits into two or three parts, but the compiler\n // can't know that.\n /* c8 ignore start */\n if (n[0] === undefined || n[1] === undefined) {\n return N\n }\n /* c8 ignore stop */\n const x = numeric(n[0])\n const y = numeric(n[1])\n const width = Math.max(n[0].length, n[1].length)\n let incr =\n n.length === 3 && n[2] !== undefined ?\n Math.max(Math.abs(numeric(n[2])), 1)\n : 1\n let test = lte\n const reverse = y < x\n if (reverse) {\n incr *= -1\n test = gte\n }\n const pad = n.some(isPadded)\n\n for (let i = x; test(i, y) && N.length < max; i += incr) {\n let c\n if (isAlphaSequence) {\n c = String.fromCharCode(i)\n if (c === '\\\\') {\n c = ''\n }\n } else {\n c = String(i)\n if (pad) {\n const need = width - c.length\n if (need > 0) {\n const z = new Array(need + 1).join('0')\n if (i < 0) {\n c = '-' + z + c.slice(1)\n } else {\n c = z + c\n }\n }\n }\n }\n N.push(c)\n }\n return N\n}\n\nfunction expand_(\n str: string,\n max: number,\n maxLength: number,\n isTop: boolean,\n): string[] {\n // Consume the string's top-level brace groups left to right, threading a\n // running set of combined prefixes (`acc`). Expanding the tail iteratively -\n // rather than recursing on `m.post` once per group - keeps the native stack\n // depth constant, so deeply chained input (`'{a,b}'.repeat(3000)`) can no\n // longer overflow the stack, and leaves a single accumulator whose size\n // `maxLength` bounds directly (CVE-2026-14257).\n let acc: string[] = ['']\n\n // Bash drops empty results, but only when the *first* top-level group is a\n // comma set - a sequence like `{a..\\}` may legitimately yield ''. The drop\n // is on the final strings, so it is applied to whichever `combine` produces\n // them (the one with no brace set left in the tail).\n let dropEmpties = false\n let firstGroup = true\n\n for (;;) {\n const m = balanced('{', '}', str)\n\n // No brace set left: the rest of the string is literal.\n if (!m) {\n return combine(acc, str, [''], max, maxLength, dropEmpties)\n }\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n const pre = m.pre\n\n if (/\\$$/.test(pre)) {\n acc = combine(\n acc,\n pre + '{' + m.body + '}',\n [''],\n max,\n maxLength,\n dropEmpties && !m.post.length,\n )\n firstGroup = false\n if (!m.post.length) break\n str = m.post\n continue\n }\n\n const isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body)\n const isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(\n m.body,\n )\n const isSequence = isNumericSequence || isAlphaSequence\n const isOptions = m.body.indexOf(',') >= 0\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,(?!,).*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post\n isTop = true\n continue\n }\n // Nothing here expands, so the whole remaining string is literal.\n return combine(\n acc,\n pre + '{' + m.body + '}' + m.post,\n [''],\n max,\n maxLength,\n dropEmpties,\n )\n }\n\n if (firstGroup) {\n dropEmpties = isTop && !isSequence\n firstGroup = false\n }\n\n let values: string[]\n if (isSequence) {\n values = expandSequence(m.body, isAlphaSequence, max)\n } else {\n let n = parseCommaParts(m.body)\n if (n.length === 1 && n[0] !== undefined) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand_(n[0], max, maxLength, false).map(embrace)\n //XXX is this necessary? Can't seem to hit it in tests.\n /* c8 ignore start */\n if (n.length === 1) {\n acc = combine(\n acc,\n pre + n[0],\n [''],\n max,\n maxLength,\n dropEmpties && !m.post.length,\n )\n if (!m.post.length) break\n str = m.post\n continue\n }\n /* c8 ignore stop */\n }\n\n values = []\n for (let j = 0; j < n.length; j++) {\n values.push.apply(values, expand_(n[j] as string, max, maxLength, false))\n }\n }\n\n acc = combine(acc, pre, values, max, maxLength, dropEmpties && !m.post.length)\n if (!m.post.length) break\n str = m.post\n }\n\n return acc\n}\n"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|