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

Function checkAmbientInitializer

test/fixtures/snapshot/typescript.js:88754–88774  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

88752 }
88753 }
88754 function checkAmbientInitializer(node) {
88755 var initializer = node.initializer;
88756 if (initializer) {
88757 var isInvalidInitializer = !(isStringOrNumberLiteralExpression(initializer) ||
88758 isSimpleLiteralEnumReference(initializer) ||
88759 initializer.kind === 110 /* SyntaxKind.TrueKeyword */ || initializer.kind === 95 /* SyntaxKind.FalseKeyword */ ||
88760 isBigIntLiteralExpression(initializer));
88761 var isConstOrReadonly = ts.isDeclarationReadonly(node) || ts.isVariableDeclaration(node) && ts.isVarConst(node);
88762 if (isConstOrReadonly && !node.type) {
88763 if (isInvalidInitializer) {
88764 return grammarErrorOnNode(initializer, ts.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);
88765 }
88766 }
88767 else {
88768 return grammarErrorOnNode(initializer, ts.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);
88769 }
88770 if (!isConstOrReadonly || isInvalidInitializer) {
88771 return grammarErrorOnNode(initializer, ts.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);
88772 }
88773 }
88774 }
88775 function checkGrammarVariableDeclaration(node) {
88776 if (node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */ && node.parent.parent.kind !== 244 /* SyntaxKind.ForOfStatement */) {
88777 if (node.flags & 16777216 /* NodeFlags.Ambient */) {

Callers 2

checkGrammarPropertyFunction · 0.85

Calls 4

grammarErrorOnNodeFunction · 0.85

Tested by

no test coverage detected