Buckets:
| /* | |
| MIT License http://www.opensource.org/licenses/mit-license.php | |
| Author Tobias Koppers @sokra | |
| */ | |
| ; | |
| const loaderFlag = "LOADER_EXECUTION"; | |
| const webpackOptionsFlag = "WEBPACK_OPTIONS"; | |
| /** | |
| * @param {string} stack stack trace | |
| * @param {string} flag flag to cut off | |
| * @returns {string} stack trace without the specified flag included | |
| */ | |
| const cutOffByFlag = (stack, flag) => { | |
| const errorStack = stack.split("\n"); | |
| for (let i = 0; i < errorStack.length; i++) { | |
| if (errorStack[i].includes(flag)) { | |
| errorStack.length = i; | |
| } | |
| } | |
| return errorStack.join("\n"); | |
| }; | |
| /** | |
| * @param {string} stack stack trace | |
| * @returns {string} stack trace without the loader execution flag included | |
| */ | |
| const cutOffLoaderExecution = (stack) => cutOffByFlag(stack, loaderFlag); | |
| /** | |
| * @param {string} stack stack trace | |
| * @returns {string} stack trace without the webpack options flag included | |
| */ | |
| const cutOffWebpackOptions = (stack) => cutOffByFlag(stack, webpackOptionsFlag); | |
| /** | |
| * @param {string} stack stack trace | |
| * @param {string} message error message | |
| * @returns {string} stack trace without the message included | |
| */ | |
| const cutOffMultilineMessage = (stack, message) => { | |
| const stackSplitByLines = stack.split("\n"); | |
| const messageSplitByLines = message.split("\n"); | |
| /** @type {string[]} */ | |
| const result = []; | |
| for (const [idx, line] of stackSplitByLines.entries()) { | |
| if (!line.includes(messageSplitByLines[idx])) result.push(line); | |
| } | |
| return result.join("\n"); | |
| }; | |
| /** | |
| * @param {string} stack stack trace | |
| * @param {string} message error message | |
| * @returns {string} stack trace without the message included | |
| */ | |
| const cutOffMessage = (stack, message) => { | |
| const nextLine = stack.indexOf("\n"); | |
| if (nextLine === -1) { | |
| return stack === message ? "" : stack; | |
| } | |
| const firstLine = stack.slice(0, nextLine); | |
| return firstLine === message ? stack.slice(nextLine + 1) : stack; | |
| }; | |
| /** | |
| * @param {string} stack stack trace | |
| * @param {string} message error message | |
| * @returns {string} stack trace without the loader execution flag and message included | |
| */ | |
| const cleanUp = (stack, message) => { | |
| stack = cutOffLoaderExecution(stack); | |
| stack = cutOffMessage(stack, message); | |
| return stack; | |
| }; | |
| /** | |
| * @param {string} stack stack trace | |
| * @param {string} message error message | |
| * @returns {string} stack trace without the webpack options flag and message included | |
| */ | |
| const cleanUpWebpackOptions = (stack, message) => { | |
| stack = cutOffWebpackOptions(stack); | |
| stack = cutOffMultilineMessage(stack, message); | |
| return stack; | |
| }; | |
| module.exports.cleanUp = cleanUp; | |
| module.exports.cleanUpWebpackOptions = cleanUpWebpackOptions; | |
| module.exports.cutOffByFlag = cutOffByFlag; | |
| module.exports.cutOffLoaderExecution = cutOffLoaderExecution; | |
| module.exports.cutOffMessage = cutOffMessage; | |
| module.exports.cutOffMultilineMessage = cutOffMultilineMessage; | |
| module.exports.cutOffWebpackOptions = cutOffWebpackOptions; | |
Xet Storage Details
- Size:
- 2.92 kB
- Xet hash:
- 9cd9fc7ee0f46b3db3d9dc6210c56f98463a22a552fb2db50011db8ad30e4c57
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.