(node)
| 111582 | return result; |
| 111583 | } |
| 111584 | function emitHelpers(node) { |
| 111585 | var helpersEmitted = false; |
| 111586 | var bundle = node.kind === 306 /* SyntaxKind.Bundle */ ? node : undefined; |
| 111587 | if (bundle && moduleKind === ts.ModuleKind.None) { |
| 111588 | return; |
| 111589 | } |
| 111590 | var numPrepends = bundle ? bundle.prepends.length : 0; |
| 111591 | var numNodes = bundle ? bundle.sourceFiles.length + numPrepends : 1; |
| 111592 | for (var i = 0; i < numNodes; i++) { |
| 111593 | var currentNode = bundle ? i < numPrepends ? bundle.prepends[i] : bundle.sourceFiles[i - numPrepends] : node; |
| 111594 | var sourceFile = ts.isSourceFile(currentNode) ? currentNode : ts.isUnparsedSource(currentNode) ? undefined : currentSourceFile; |
| 111595 | var shouldSkip = printerOptions.noEmitHelpers || (!!sourceFile && ts.hasRecordedExternalHelpers(sourceFile)); |
| 111596 | var shouldBundle = (ts.isSourceFile(currentNode) || ts.isUnparsedSource(currentNode)) && !isOwnFileEmit; |
| 111597 | var helpers = ts.isUnparsedSource(currentNode) ? currentNode.helpers : getSortedEmitHelpers(currentNode); |
| 111598 | if (helpers) { |
| 111599 | for (var _a = 0, helpers_6 = helpers; _a < helpers_6.length; _a++) { |
| 111600 | var helper = helpers_6[_a]; |
| 111601 | if (!helper.scoped) { |
| 111602 | // Skip the helper if it can be skipped and the noEmitHelpers compiler |
| 111603 | // option is set, or if it can be imported and the importHelpers compiler |
| 111604 | // option is set. |
| 111605 | if (shouldSkip) |
| 111606 | continue; |
| 111607 | // Skip the helper if it can be bundled but hasn't already been emitted and we |
| 111608 | // are emitting a bundled module. |
| 111609 | if (shouldBundle) { |
| 111610 | if (bundledHelpers.get(helper.name)) { |
| 111611 | continue; |
| 111612 | } |
| 111613 | bundledHelpers.set(helper.name, true); |
| 111614 | } |
| 111615 | } |
| 111616 | else if (bundle) { |
| 111617 | // Skip the helper if it is scoped and we are emitting bundled helpers |
| 111618 | continue; |
| 111619 | } |
| 111620 | var pos = getTextPosWithWriteLine(); |
| 111621 | if (typeof helper.text === "string") { |
| 111622 | writeLines(helper.text); |
| 111623 | } |
| 111624 | else { |
| 111625 | writeLines(helper.text(makeFileLevelOptimisticUniqueName)); |
| 111626 | } |
| 111627 | if (bundleFileInfo) |
| 111628 | bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "emitHelpers" /* BundleFileSectionKind.EmitHelpers */, data: helper.name }); |
| 111629 | helpersEmitted = true; |
| 111630 | } |
| 111631 | } |
| 111632 | } |
| 111633 | return helpersEmitted; |
| 111634 | } |
| 111635 | function getSortedEmitHelpers(node) { |
| 111636 | var helpers = ts.getEmitHelpers(node); |
| 111637 | return helpers && ts.stableSort(helpers, ts.compareEmitHelpers); |
no test coverage detected
searching dependent graphs…