(name, exported, useSitesToUnqualify)
| 152370 | } |
| 152371 | // TODO: GH#22492 this will cause an error if a change has been made inside the body of the node. |
| 152372 | function convertExportsDotXEquals_replaceNode(name, exported, useSitesToUnqualify) { |
| 152373 | var modifiers = [ts.factory.createToken(93 /* SyntaxKind.ExportKeyword */)]; |
| 152374 | switch (exported.kind) { |
| 152375 | case 213 /* SyntaxKind.FunctionExpression */: { |
| 152376 | var expressionName = exported.name; |
| 152377 | if (expressionName && expressionName.text !== name) { |
| 152378 | // `exports.f = function g() {}` -> `export const f = function g() {}` |
| 152379 | return exportConst(); |
| 152380 | } |
| 152381 | } |
| 152382 | // falls through |
| 152383 | case 214 /* SyntaxKind.ArrowFunction */: |
| 152384 | // `exports.f = function() {}` --> `export function f() {}` |
| 152385 | return functionExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); |
| 152386 | case 226 /* SyntaxKind.ClassExpression */: |
| 152387 | // `exports.C = class {}` --> `export class C {}` |
| 152388 | return classExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); |
| 152389 | default: |
| 152390 | return exportConst(); |
| 152391 | } |
| 152392 | function exportConst() { |
| 152393 | // `exports.x = 0;` --> `export const x = 0;` |
| 152394 | return makeConst(modifiers, ts.factory.createIdentifier(name), replaceImportUseSites(exported, useSitesToUnqualify)); // TODO: GH#18217 |
| 152395 | } |
| 152396 | } |
| 152397 | function replaceImportUseSites(nodeOrNodes, useSitesToUnqualify) { |
| 152398 | if (!useSitesToUnqualify || !ts.some(ts.arrayFrom(useSitesToUnqualify.keys()), function (original) { return ts.rangeContainsRange(nodeOrNodes, original); })) { |
| 152399 | return nodeOrNodes; |
no test coverage detected