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

Function getClassFacts

test/fixtures/snapshot/typescript.js:92019–92039  ·  view source on GitHub ↗
(node, staticProperties)

Source from the content-addressed store, hash-verified

92017 return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict));
92018 }
92019 function getClassFacts(node, staticProperties) {
92020 var facts = 0 /* ClassFacts.None */;
92021 if (ts.some(staticProperties))
92022 facts |= 1 /* ClassFacts.HasStaticInitializedProperties */;
92023 var extendsClauseElement = ts.getEffectiveBaseTypeNode(node);
92024 if (extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */)
92025 facts |= 64 /* ClassFacts.IsDerivedClass */;
92026 if (ts.classOrConstructorParameterIsDecorated(node))
92027 facts |= 2 /* ClassFacts.HasConstructorDecorators */;
92028 if (ts.childIsDecorated(node))
92029 facts |= 4 /* ClassFacts.HasMemberDecorators */;
92030 if (isExportOfNamespace(node))
92031 facts |= 8 /* ClassFacts.IsExportOfNamespace */;
92032 else if (isDefaultExternalModuleExport(node))
92033 facts |= 32 /* ClassFacts.IsDefaultExternalExport */;
92034 else if (isNamedExternalModuleExport(node))
92035 facts |= 16 /* ClassFacts.IsNamedExternalExport */;
92036 if (languageVersion <= 1 /* ScriptTarget.ES5 */ && (facts & 7 /* ClassFacts.MayNeedImmediatelyInvokedFunctionExpression */))
92037 facts |= 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */;
92038 return facts;
92039 }
92040 function hasTypeScriptClassSyntax(node) {
92041 return !!(node.transformFlags & 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */);
92042 }

Callers 2

visitClassDeclarationFunction · 0.85
visitClassExpressionFunction · 0.85

Calls 4

isExportOfNamespaceFunction · 0.85
someMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…