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

Function addResult

test/fixtures/snapshot/typescript.js:54537–54562  ·  view source on GitHub ↗
(node, additionalModifierFlags)

Source from the content-addressed store, hash-verified

54535 }
54536 // Prepends a `declare` and/or `export` modifier if the context requires it, and then adds `node` to `result` and returns `node`
54537 function addResult(node, additionalModifierFlags) {
54538 if (ts.canHaveModifiers(node)) {
54539 var newModifierFlags = 0 /* ModifierFlags.None */;
54540 var enclosingDeclaration_1 = context.enclosingDeclaration &&
54541 (ts.isJSDocTypeAlias(context.enclosingDeclaration) ? ts.getSourceFileOfNode(context.enclosingDeclaration) : context.enclosingDeclaration);
54542 if (additionalModifierFlags & 1 /* ModifierFlags.Export */ &&
54543 enclosingDeclaration_1 && (isExportingScope(enclosingDeclaration_1) || ts.isModuleDeclaration(enclosingDeclaration_1)) &&
54544 canHaveExportModifier(node)) {
54545 // Classes, namespaces, variables, functions, interfaces, and types should all be `export`ed in a module context if not private
54546 newModifierFlags |= 1 /* ModifierFlags.Export */;
54547 }
54548 if (addingDeclare && !(newModifierFlags & 1 /* ModifierFlags.Export */) &&
54549 (!enclosingDeclaration_1 || !(enclosingDeclaration_1.flags & 16777216 /* NodeFlags.Ambient */)) &&
54550 (ts.isEnumDeclaration(node) || ts.isVariableStatement(node) || ts.isFunctionDeclaration(node) || ts.isClassDeclaration(node) || ts.isModuleDeclaration(node))) {
54551 // Classes, namespaces, variables, enums, and functions all need `declare` modifiers to be valid in a declaration file top-level scope
54552 newModifierFlags |= 2 /* ModifierFlags.Ambient */;
54553 }
54554 if ((additionalModifierFlags & 512 /* ModifierFlags.Default */) && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isFunctionDeclaration(node))) {
54555 newModifierFlags |= 512 /* ModifierFlags.Default */;
54556 }
54557 if (newModifierFlags) {
54558 node = ts.factory.updateModifiers(node, newModifierFlags | ts.getEffectiveModifierFlags(node));
54559 }
54560 }
54561 results.push(node);
54562 }
54563 function serializeTypeAlias(symbol, symbolName, modifierFlags) {
54564 var _a;
54565 var aliasType = getDeclaredTypeOfTypeAlias(symbol);

Callers 13

serializeSymbolWorkerFunction · 0.85
serializeTypeAliasFunction · 0.85
serializeInterfaceFunction · 0.85
serializeModuleFunction · 0.85
serializeEnumFunction · 0.85
serializeAsClassFunction · 0.85
serializeAsAliasFunction · 0.85
serializeExportSpecifierFunction · 0.85

Calls 3

isExportingScopeFunction · 0.85
canHaveExportModifierFunction · 0.85
pushMethod · 0.45

Tested by

no test coverage detected