diff --git a/packages/less/src/less/tree/debug-info.js b/packages/less/src/less/tree/debug-info.js index e23472190..804e71723 100644 --- a/packages/less/src/less/tree/debug-info.js +++ b/packages/less/src/less/tree/debug-info.js @@ -1,38 +1,37 @@ -class debugInfo { - constructor(context, ctx, lineSeparator) { - let result = ''; - if (context.dumpLineNumbers && !context.compress) { - switch (context.dumpLineNumbers) { - case 'comments': - result = debugInfo.asComment(ctx); - break; - case 'mediaquery': - result = debugInfo.asMediaQuery(ctx); - break; - case 'all': - result = debugInfo.asComment(ctx) + (lineSeparator || '') + debugInfo.asMediaQuery(ctx); - break; - } - } - return result; - } +function asComment(ctx) { + return `/* line ${ctx.debugInfo.lineNumber}, ${ctx.debugInfo.fileName} */\n`; +} - static asComment(ctx) { - return `/* line ${ctx.debugInfo.lineNumber}, ${ctx.debugInfo.fileName} */\n`; +function asMediaQuery(ctx) { + let filenameWithProtocol = ctx.debugInfo.fileName; + if (!/^[a-z]+:\/\//i.test(filenameWithProtocol)) { + filenameWithProtocol = `file://${filenameWithProtocol}`; } + return `@media -sass-debug-info{filename{font-family:${filenameWithProtocol.replace(/([.:\/\\])/g, function (a) { + if (a == '\\') { + a = '\/'; + } + return `\\${a}`; + })}}line{font-family:\\00003${ctx.debugInfo.lineNumber}}}\n`; +} - static asMediaQuery(ctx) { - let filenameWithProtocol = ctx.debugInfo.fileName; - if (!/^[a-z]+:\/\//i.test(filenameWithProtocol)) { - filenameWithProtocol = `file://${filenameWithProtocol}`; +function debugInfo(context, ctx, lineSeparator) { + let result = ''; + if (context.dumpLineNumbers && !context.compress) { + switch (context.dumpLineNumbers) { + case 'comments': + result = asComment(ctx); + break; + case 'mediaquery': + result = asMediaQuery(ctx); + break; + case 'all': + result = asComment(ctx) + (lineSeparator || '') + asMediaQuery(ctx); + break; } - return `@media -sass-debug-info{filename{font-family:${filenameWithProtocol.replace(/([.:\/\\])/g, function (a) { - if (a == '\\') { - a = '\/'; - } - return `\\${a}`; - })}}line{font-family:\\00003${ctx.debugInfo.lineNumber}}}\n`; } + return result; } export default debugInfo; +