|
1 | | -class debugInfo { |
2 | | - constructor(context, ctx, lineSeparator) { |
3 | | - let result = ''; |
4 | | - if (context.dumpLineNumbers && !context.compress) { |
5 | | - switch (context.dumpLineNumbers) { |
6 | | - case 'comments': |
7 | | - result = debugInfo.asComment(ctx); |
8 | | - break; |
9 | | - case 'mediaquery': |
10 | | - result = debugInfo.asMediaQuery(ctx); |
11 | | - break; |
12 | | - case 'all': |
13 | | - result = debugInfo.asComment(ctx) + (lineSeparator || '') + debugInfo.asMediaQuery(ctx); |
14 | | - break; |
15 | | - } |
16 | | - } |
17 | | - return result; |
18 | | - } |
| 1 | +function asComment(ctx) { |
| 2 | + return `/* line ${ctx.debugInfo.lineNumber}, ${ctx.debugInfo.fileName} */\n`; |
| 3 | +} |
19 | 4 |
|
20 | | - static asComment(ctx) { |
21 | | - return `/* line ${ctx.debugInfo.lineNumber}, ${ctx.debugInfo.fileName} */\n`; |
| 5 | +function asMediaQuery(ctx) { |
| 6 | + let filenameWithProtocol = ctx.debugInfo.fileName; |
| 7 | + if (!/^[a-z]+:\/\//i.test(filenameWithProtocol)) { |
| 8 | + filenameWithProtocol = `file://${filenameWithProtocol}`; |
22 | 9 | } |
| 10 | + return `@media -sass-debug-info{filename{font-family:${filenameWithProtocol.replace(/([.:\/\\])/g, function (a) { |
| 11 | + if (a == '\\') { |
| 12 | + a = '\/'; |
| 13 | + } |
| 14 | + return `\\${a}`; |
| 15 | + })}}line{font-family:\\00003${ctx.debugInfo.lineNumber}}}\n`; |
| 16 | +} |
23 | 17 |
|
24 | | - static asMediaQuery(ctx) { |
25 | | - let filenameWithProtocol = ctx.debugInfo.fileName; |
26 | | - if (!/^[a-z]+:\/\//i.test(filenameWithProtocol)) { |
27 | | - filenameWithProtocol = `file://${filenameWithProtocol}`; |
| 18 | +function debugInfo(context, ctx, lineSeparator) { |
| 19 | + let result = ''; |
| 20 | + if (context.dumpLineNumbers && !context.compress) { |
| 21 | + switch (context.dumpLineNumbers) { |
| 22 | + case 'comments': |
| 23 | + result = asComment(ctx); |
| 24 | + break; |
| 25 | + case 'mediaquery': |
| 26 | + result = asMediaQuery(ctx); |
| 27 | + break; |
| 28 | + case 'all': |
| 29 | + result = asComment(ctx) + (lineSeparator || '') + asMediaQuery(ctx); |
| 30 | + break; |
28 | 31 | } |
29 | | - return `@media -sass-debug-info{filename{font-family:${filenameWithProtocol.replace(/([.:\/\\])/g, function (a) { |
30 | | - if (a == '\\') { |
31 | | - a = '\/'; |
32 | | - } |
33 | | - return `\\${a}`; |
34 | | - })}}line{font-family:\\00003${ctx.debugInfo.lineNumber}}}\n`; |
35 | 32 | } |
| 33 | + return result; |
36 | 34 | } |
37 | 35 |
|
38 | 36 | export default debugInfo; |
| 37 | + |
0 commit comments