MCPcopy Index your code
hub / github.com/nodejs/node / checkExternalEmitHelpers

Function checkExternalEmitHelpers

test/fixtures/snapshot/typescript.js:87606–87641  ·  view source on GitHub ↗
(location, helpers)

Source from the content-addressed store, hash-verified

87604 amalgamatedDuplicates = undefined;
87605 }
87606 function checkExternalEmitHelpers(location, helpers) {
87607 if ((requestedExternalEmitHelpers & helpers) !== helpers && compilerOptions.importHelpers) {
87608 var sourceFile = ts.getSourceFileOfNode(location);
87609 if (ts.isEffectiveExternalModule(sourceFile, compilerOptions) && !(location.flags & 16777216 /* NodeFlags.Ambient */)) {
87610 var helpersModule = resolveHelpersModule(sourceFile, location);
87611 if (helpersModule !== unknownSymbol) {
87612 var uncheckedHelpers = helpers & ~requestedExternalEmitHelpers;
87613 for (var helper = 1 /* ExternalEmitHelpers.FirstEmitHelper */; helper <= 4194304 /* ExternalEmitHelpers.LastEmitHelper */; helper <<= 1) {
87614 if (uncheckedHelpers & helper) {
87615 var name = getHelperName(helper);
87616 var symbol = getSymbol(helpersModule.exports, ts.escapeLeadingUnderscores(name), 111551 /* SymbolFlags.Value */);
87617 if (!symbol) {
87618 error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name);
87619 }
87620 else if (helper & 524288 /* ExternalEmitHelpers.ClassPrivateFieldGet */) {
87621 if (!ts.some(getSignaturesOfSymbol(symbol), function (signature) { return getParameterCount(signature) > 3; })) {
87622 error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name, 4);
87623 }
87624 }
87625 else if (helper & 1048576 /* ExternalEmitHelpers.ClassPrivateFieldSet */) {
87626 if (!ts.some(getSignaturesOfSymbol(symbol), function (signature) { return getParameterCount(signature) > 4; })) {
87627 error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name, 5);
87628 }
87629 }
87630 else if (helper & 1024 /* ExternalEmitHelpers.SpreadArray */) {
87631 if (!ts.some(getSignaturesOfSymbol(symbol), function (signature) { return getParameterCount(signature) > 2; })) {
87632 error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name, 3);
87633 }
87634 }
87635 }
87636 }
87637 }
87638 requestedExternalEmitHelpers |= helpers;
87639 }
87640 }
87641 }
87642 function getHelperName(helper) {
87643 switch (helper) {
87644 case 1 /* ExternalEmitHelpers.Extends */: return "__extends";

Calls 7

resolveHelpersModuleFunction · 0.85
getHelperNameFunction · 0.85
getSymbolFunction · 0.85
getSignaturesOfSymbolFunction · 0.85
getParameterCountFunction · 0.85
someMethod · 0.80
errorFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…