UNPKG

@cucumber/cucumber

Version:

The official JavaScript implementation of Cucumber.

28 lines 1.28 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDefinitionLineAndUri = getDefinitionLineAndUri; const node_path_1 = __importDefault(require("node:path")); const error_stack_parser_1 = __importDefault(require("error-stack-parser")); const filter_stack_trace_1 = require("../filter_stack_trace"); const value_checker_1 = require("../value_checker"); function getDefinitionLineAndUri(cwd, isExcluded = filter_stack_trace_1.isFileNameInCucumber) { let line; let uri; const stackframes = error_stack_parser_1.default.parse(new Error()); const stackframe = stackframes.find((frame) => frame.fileName !== __filename && !isExcluded(frame.fileName)); if (stackframe != null) { line = stackframe.getLineNumber(); uri = stackframe.getFileName(); if ((0, value_checker_1.doesHaveValue)(uri)) { uri = node_path_1.default.relative(cwd, uri); } } return { line: (0, value_checker_1.valueOrDefault)(line, 0), uri: (0, value_checker_1.valueOrDefault)(uri, 'unknown'), }; } //# sourceMappingURL=get_definition_line_and_uri.js.map