UNPKG

dts-jest

Version:

A preprocessor for Jest to snapshot test TypeScript declaration (.d.ts) files

51 lines (50 loc) 1.87 kB
"use strict"; exports.__esModule = true; var create_group_expression_1 = require("./create-group-expression"); exports.apply_grouping = function (line_contents, groups) { var grouped_line_contents = line_contents.slice(); if (groups.length === 0) { return grouped_line_contents; } var scopes = []; if (groups.length === 1) { var group = groups[0]; scopes.push({ group: group, start_line: group.line, end_line: line_contents.length - 1 }); } else { var last_group = groups[0]; for (var i = 1; i < groups.length; i++) { var group = groups[i]; scopes.push({ group: last_group, start_line: last_group.line, end_line: group.line }); last_group = group; } scopes.push({ group: last_group, start_line: last_group.line, end_line: line_contents.length - 1 }); } scopes .map(function (scope) { var _a = (create_group_expression_1.create_group_expression(scope.group, '\n') + ";").split('\n'), group_expression_left = _a[0], group_expression_right = _a[1]; grouped_line_contents[scope.start_line] = group_expression_left + grouped_line_contents[scope.start_line]; return { scope: scope, group_expression_right: group_expression_right }; }) .forEach(function (_a, index) { var scope = _a.scope, group_expression_right = _a.group_expression_right; grouped_line_contents[scope.end_line] = index === scopes.length - 1 ? grouped_line_contents[scope.end_line] + group_expression_right : group_expression_right + grouped_line_contents[scope.end_line]; }); return grouped_line_contents; };