UNPKG

testcafe-reporter-cucumber-json

Version:
76 lines 2.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stackFramesOf = exports.getAllFilesIn = exports.isNodeModuleOrIsNullOrUndefined = exports.getFileNameFrom = exports.getCurrentAppStackFramesFrom = exports.filterStackFramesIn = void 0; exports.filterStackFramesIn = function (callsite) { if (callsite) { ensureCallsiteAndStackFramesAreValid(callsite); var filteredStackFrames = exports.getCurrentAppStackFramesFrom(callsite); callsite.stackFrames = filteredStackFrames; callsite.callsiteFrameIdx = 0; } }; function ensureCallsiteAndStackFramesAreValid(callsite) { if (!Array.isArray(callsite.stackFrames)) { console.warn("testcafe-reporter-cucumber-json: cannot render errors because the callsite object has unexpected content"); console.warn("testcafe-reporter-cucumber-json: please provide the following log to github.com/hdorgeval/testcafe-reporter-cucumber-json :"); console.warn("testcafe-reporter-cucumber-json :", { callsite: callsite, stackFrames: callsite.stackFrames, }); } } exports.getCurrentAppStackFramesFrom = function (callsite) { var result = []; if (callsite && Array.isArray(callsite.stackFrames)) { callsite.stackFrames.map(function (stackFrame) { var filename = exports.getFileNameFrom(stackFrame); if (exports.isNodeModuleOrIsNullOrUndefined(filename)) { return; } result.push(stackFrame); }); } return result; }; exports.getFileNameFrom = function (stackFrame) { if (stackFrame && stackFrame.getFileName && typeof stackFrame.getFileName === 'function') { return stackFrame.getFileName(); } return undefined; }; exports.isNodeModuleOrIsNullOrUndefined = function (filePath) { if (filePath === undefined || filePath === null) { return true; } if (filePath.includes('node_modules')) { return true; } return false; }; exports.getAllFilesIn = function (callsite) { var currentFile = 'undefined'; var result = callsite.stackFrames .map(function (stackFrame) { return stackFrame.getFileName(); }) .filter(function (filepath) { if (filepath === undefined || filepath === null) { return false; } if (filepath === currentFile) { return false; } currentFile = filepath; return true; }); return result; }; exports.stackFramesOf = function (filename) { return { in: function (stackFrames) { var result = stackFrames.filter(function (stackFrame) { return filename === exports.getFileNameFrom(stackFrame); }); return result; }, }; }; //# sourceMappingURL=stack-frames-parser.js.map