ts-simple-ast
Version:
TypeScript compiler wrapper for static analysis and code manipulation.
578 lines (577 loc) • 36.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/* tslint:disable */
/*
* TypeScript Compiler Declaration File
* ====================================
* DO NOT EDIT - This file is automatically generated by createCompilerApiLayer.ts
*
* This file contains the TypeScript compiler declarations slightly modified.
* Note: The TypeScript compiler is licensed under the Apache 2.0 license.
*/
var tsCompiler = require("typescript");
var ObjectUtils_1 = require("../utils/ObjectUtils");
var ts;
(function (ts) {
var NodeFlags;
(function (NodeFlags) {
NodeFlags[NodeFlags["None"] = 0] = "None";
NodeFlags[NodeFlags["Let"] = 1] = "Let";
NodeFlags[NodeFlags["Const"] = 2] = "Const";
NodeFlags[NodeFlags["NestedNamespace"] = 4] = "NestedNamespace";
NodeFlags[NodeFlags["Synthesized"] = 8] = "Synthesized";
NodeFlags[NodeFlags["Namespace"] = 16] = "Namespace";
NodeFlags[NodeFlags["ExportContext"] = 32] = "ExportContext";
NodeFlags[NodeFlags["ContainsThis"] = 64] = "ContainsThis";
NodeFlags[NodeFlags["HasImplicitReturn"] = 128] = "HasImplicitReturn";
NodeFlags[NodeFlags["HasExplicitReturn"] = 256] = "HasExplicitReturn";
NodeFlags[NodeFlags["GlobalAugmentation"] = 512] = "GlobalAugmentation";
NodeFlags[NodeFlags["HasAsyncFunctions"] = 1024] = "HasAsyncFunctions";
NodeFlags[NodeFlags["DisallowInContext"] = 2048] = "DisallowInContext";
NodeFlags[NodeFlags["YieldContext"] = 4096] = "YieldContext";
NodeFlags[NodeFlags["DecoratorContext"] = 8192] = "DecoratorContext";
NodeFlags[NodeFlags["AwaitContext"] = 16384] = "AwaitContext";
NodeFlags[NodeFlags["ThisNodeHasError"] = 32768] = "ThisNodeHasError";
NodeFlags[NodeFlags["JavaScriptFile"] = 65536] = "JavaScriptFile";
NodeFlags[NodeFlags["ThisNodeOrAnySubNodesHasError"] = 131072] = "ThisNodeOrAnySubNodesHasError";
NodeFlags[NodeFlags["HasAggregatedChildData"] = 262144] = "HasAggregatedChildData";
NodeFlags[NodeFlags["JSDoc"] = 2097152] = "JSDoc";
NodeFlags[NodeFlags["JsonFile"] = 16777216] = "JsonFile";
NodeFlags[NodeFlags["BlockScoped"] = 3] = "BlockScoped";
NodeFlags[NodeFlags["ReachabilityCheckFlags"] = 384] = "ReachabilityCheckFlags";
NodeFlags[NodeFlags["ReachabilityAndEmitFlags"] = 1408] = "ReachabilityAndEmitFlags";
NodeFlags[NodeFlags["ContextFlags"] = 12679168] = "ContextFlags";
NodeFlags[NodeFlags["TypeExcludesFlags"] = 20480] = "TypeExcludesFlags";
})(NodeFlags = ts.NodeFlags || (ts.NodeFlags = {}));
var ModifierFlags;
(function (ModifierFlags) {
ModifierFlags[ModifierFlags["None"] = 0] = "None";
ModifierFlags[ModifierFlags["Export"] = 1] = "Export";
ModifierFlags[ModifierFlags["Ambient"] = 2] = "Ambient";
ModifierFlags[ModifierFlags["Public"] = 4] = "Public";
ModifierFlags[ModifierFlags["Private"] = 8] = "Private";
ModifierFlags[ModifierFlags["Protected"] = 16] = "Protected";
ModifierFlags[ModifierFlags["Static"] = 32] = "Static";
ModifierFlags[ModifierFlags["Readonly"] = 64] = "Readonly";
ModifierFlags[ModifierFlags["Abstract"] = 128] = "Abstract";
ModifierFlags[ModifierFlags["Async"] = 256] = "Async";
ModifierFlags[ModifierFlags["Default"] = 512] = "Default";
ModifierFlags[ModifierFlags["Const"] = 2048] = "Const";
ModifierFlags[ModifierFlags["HasComputedFlags"] = 536870912] = "HasComputedFlags";
ModifierFlags[ModifierFlags["AccessibilityModifier"] = 28] = "AccessibilityModifier";
ModifierFlags[ModifierFlags["ParameterPropertyModifier"] = 92] = "ParameterPropertyModifier";
ModifierFlags[ModifierFlags["NonPublicAccessibilityModifier"] = 24] = "NonPublicAccessibilityModifier";
ModifierFlags[ModifierFlags["TypeScriptModifier"] = 2270] = "TypeScriptModifier";
ModifierFlags[ModifierFlags["ExportDefault"] = 513] = "ExportDefault";
ModifierFlags[ModifierFlags["All"] = 3071] = "All";
})(ModifierFlags = ts.ModifierFlags || (ts.ModifierFlags = {}));
var JsxFlags;
(function (JsxFlags) {
JsxFlags[JsxFlags["None"] = 0] = "None";
/**
* An element from a named property of the JSX.IntrinsicElements interface
*/
JsxFlags[JsxFlags["IntrinsicNamedElement"] = 1] = "IntrinsicNamedElement";
/**
* An element inferred from the string index signature of the JSX.IntrinsicElements interface
*/
JsxFlags[JsxFlags["IntrinsicIndexedElement"] = 2] = "IntrinsicIndexedElement";
JsxFlags[JsxFlags["IntrinsicElement"] = 3] = "IntrinsicElement";
})(JsxFlags = ts.JsxFlags || (ts.JsxFlags = {}));
var FlowFlags;
(function (FlowFlags) {
FlowFlags[FlowFlags["Unreachable"] = 1] = "Unreachable";
FlowFlags[FlowFlags["Start"] = 2] = "Start";
FlowFlags[FlowFlags["BranchLabel"] = 4] = "BranchLabel";
FlowFlags[FlowFlags["LoopLabel"] = 8] = "LoopLabel";
FlowFlags[FlowFlags["Assignment"] = 16] = "Assignment";
FlowFlags[FlowFlags["TrueCondition"] = 32] = "TrueCondition";
FlowFlags[FlowFlags["FalseCondition"] = 64] = "FalseCondition";
FlowFlags[FlowFlags["SwitchClause"] = 128] = "SwitchClause";
FlowFlags[FlowFlags["ArrayMutation"] = 256] = "ArrayMutation";
FlowFlags[FlowFlags["Referenced"] = 512] = "Referenced";
FlowFlags[FlowFlags["Shared"] = 1024] = "Shared";
FlowFlags[FlowFlags["PreFinally"] = 2048] = "PreFinally";
FlowFlags[FlowFlags["AfterFinally"] = 4096] = "AfterFinally";
FlowFlags[FlowFlags["Label"] = 12] = "Label";
FlowFlags[FlowFlags["Condition"] = 96] = "Condition";
})(FlowFlags = ts.FlowFlags || (ts.FlowFlags = {}));
var ExitStatus;
(function (ExitStatus) {
ExitStatus[ExitStatus["Success"] = 0] = "Success";
ExitStatus[ExitStatus["DiagnosticsPresent_OutputsSkipped"] = 1] = "DiagnosticsPresent_OutputsSkipped";
ExitStatus[ExitStatus["DiagnosticsPresent_OutputsGenerated"] = 2] = "DiagnosticsPresent_OutputsGenerated";
})(ExitStatus = ts.ExitStatus || (ts.ExitStatus = {}));
var NodeBuilderFlags;
(function (NodeBuilderFlags) {
NodeBuilderFlags[NodeBuilderFlags["None"] = 0] = "None";
NodeBuilderFlags[NodeBuilderFlags["NoTruncation"] = 1] = "NoTruncation";
NodeBuilderFlags[NodeBuilderFlags["WriteArrayAsGenericType"] = 2] = "WriteArrayAsGenericType";
NodeBuilderFlags[NodeBuilderFlags["GenerateNamesForShadowedTypeParams"] = 4] = "GenerateNamesForShadowedTypeParams";
NodeBuilderFlags[NodeBuilderFlags["UseStructuralFallback"] = 8] = "UseStructuralFallback";
NodeBuilderFlags[NodeBuilderFlags["ForbidIndexedAccessSymbolReferences"] = 16] = "ForbidIndexedAccessSymbolReferences";
NodeBuilderFlags[NodeBuilderFlags["WriteTypeArgumentsOfSignature"] = 32] = "WriteTypeArgumentsOfSignature";
NodeBuilderFlags[NodeBuilderFlags["UseFullyQualifiedType"] = 64] = "UseFullyQualifiedType";
NodeBuilderFlags[NodeBuilderFlags["UseOnlyExternalAliasing"] = 128] = "UseOnlyExternalAliasing";
NodeBuilderFlags[NodeBuilderFlags["SuppressAnyReturnType"] = 256] = "SuppressAnyReturnType";
NodeBuilderFlags[NodeBuilderFlags["WriteTypeParametersInQualifiedName"] = 512] = "WriteTypeParametersInQualifiedName";
NodeBuilderFlags[NodeBuilderFlags["MultilineObjectLiterals"] = 1024] = "MultilineObjectLiterals";
NodeBuilderFlags[NodeBuilderFlags["WriteClassExpressionAsTypeLiteral"] = 2048] = "WriteClassExpressionAsTypeLiteral";
NodeBuilderFlags[NodeBuilderFlags["UseTypeOfFunction"] = 4096] = "UseTypeOfFunction";
NodeBuilderFlags[NodeBuilderFlags["OmitParameterModifiers"] = 8192] = "OmitParameterModifiers";
NodeBuilderFlags[NodeBuilderFlags["UseAliasDefinedOutsideCurrentScope"] = 16384] = "UseAliasDefinedOutsideCurrentScope";
NodeBuilderFlags[NodeBuilderFlags["AllowThisInObjectLiteral"] = 32768] = "AllowThisInObjectLiteral";
NodeBuilderFlags[NodeBuilderFlags["AllowQualifedNameInPlaceOfIdentifier"] = 65536] = "AllowQualifedNameInPlaceOfIdentifier";
NodeBuilderFlags[NodeBuilderFlags["AllowAnonymousIdentifier"] = 131072] = "AllowAnonymousIdentifier";
NodeBuilderFlags[NodeBuilderFlags["AllowEmptyUnionOrIntersection"] = 262144] = "AllowEmptyUnionOrIntersection";
NodeBuilderFlags[NodeBuilderFlags["AllowEmptyTuple"] = 524288] = "AllowEmptyTuple";
NodeBuilderFlags[NodeBuilderFlags["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType";
NodeBuilderFlags[NodeBuilderFlags["AllowEmptyIndexInfoType"] = 2097152] = "AllowEmptyIndexInfoType";
NodeBuilderFlags[NodeBuilderFlags["IgnoreErrors"] = 3112960] = "IgnoreErrors";
NodeBuilderFlags[NodeBuilderFlags["InObjectTypeLiteral"] = 4194304] = "InObjectTypeLiteral";
NodeBuilderFlags[NodeBuilderFlags["InTypeAlias"] = 8388608] = "InTypeAlias";
NodeBuilderFlags[NodeBuilderFlags["InInitialEntityName"] = 16777216] = "InInitialEntityName";
NodeBuilderFlags[NodeBuilderFlags["InReverseMappedType"] = 33554432] = "InReverseMappedType";
})(NodeBuilderFlags = ts.NodeBuilderFlags || (ts.NodeBuilderFlags = {}));
var SymbolFormatFlags;
(function (SymbolFormatFlags) {
SymbolFormatFlags[SymbolFormatFlags["None"] = 0] = "None";
SymbolFormatFlags[SymbolFormatFlags["WriteTypeParametersOrArguments"] = 1] = "WriteTypeParametersOrArguments";
SymbolFormatFlags[SymbolFormatFlags["UseOnlyExternalAliasing"] = 2] = "UseOnlyExternalAliasing";
SymbolFormatFlags[SymbolFormatFlags["AllowAnyNodeKind"] = 4] = "AllowAnyNodeKind";
SymbolFormatFlags[SymbolFormatFlags["UseAliasDefinedOutsideCurrentScope"] = 8] = "UseAliasDefinedOutsideCurrentScope";
})(SymbolFormatFlags = ts.SymbolFormatFlags || (ts.SymbolFormatFlags = {}));
var TypePredicateKind;
(function (TypePredicateKind) {
TypePredicateKind[TypePredicateKind["This"] = 0] = "This";
TypePredicateKind[TypePredicateKind["Identifier"] = 1] = "Identifier";
})(TypePredicateKind = ts.TypePredicateKind || (ts.TypePredicateKind = {}));
var InternalSymbolName;
(function (InternalSymbolName) {
InternalSymbolName["Call"] = "__call";
InternalSymbolName["Constructor"] = "__constructor";
InternalSymbolName["New"] = "__new";
InternalSymbolName["Index"] = "__index";
InternalSymbolName["ExportStar"] = "__export";
InternalSymbolName["Global"] = "__global";
InternalSymbolName["Missing"] = "__missing";
InternalSymbolName["Type"] = "__type";
InternalSymbolName["Object"] = "__object";
InternalSymbolName["JSXAttributes"] = "__jsxAttributes";
InternalSymbolName["Class"] = "__class";
InternalSymbolName["Function"] = "__function";
InternalSymbolName["Computed"] = "__computed";
InternalSymbolName["Resolving"] = "__resolving__";
InternalSymbolName["ExportEquals"] = "export=";
InternalSymbolName["Default"] = "default";
})(InternalSymbolName = ts.InternalSymbolName || (ts.InternalSymbolName = {}));
var SignatureKind;
(function (SignatureKind) {
SignatureKind[SignatureKind["Call"] = 0] = "Call";
SignatureKind[SignatureKind["Construct"] = 1] = "Construct";
})(SignatureKind = ts.SignatureKind || (ts.SignatureKind = {}));
var IndexKind;
(function (IndexKind) {
IndexKind[IndexKind["String"] = 0] = "String";
IndexKind[IndexKind["Number"] = 1] = "Number";
})(IndexKind = ts.IndexKind || (ts.IndexKind = {}));
var InferencePriority;
(function (InferencePriority) {
InferencePriority[InferencePriority["NakedTypeVariable"] = 1] = "NakedTypeVariable";
InferencePriority[InferencePriority["HomomorphicMappedType"] = 2] = "HomomorphicMappedType";
InferencePriority[InferencePriority["MappedTypeConstraint"] = 4] = "MappedTypeConstraint";
InferencePriority[InferencePriority["ReturnType"] = 8] = "ReturnType";
InferencePriority[InferencePriority["LiteralKeyof"] = 16] = "LiteralKeyof";
InferencePriority[InferencePriority["NoConstraints"] = 32] = "NoConstraints";
InferencePriority[InferencePriority["AlwaysStrict"] = 64] = "AlwaysStrict";
InferencePriority[InferencePriority["PriorityImpliesCombination"] = 28] = "PriorityImpliesCombination";
})(InferencePriority = ts.InferencePriority || (ts.InferencePriority = {}));
var WatchDirectoryFlags;
(function (WatchDirectoryFlags) {
WatchDirectoryFlags[WatchDirectoryFlags["None"] = 0] = "None";
WatchDirectoryFlags[WatchDirectoryFlags["Recursive"] = 1] = "Recursive";
})(WatchDirectoryFlags = ts.WatchDirectoryFlags || (ts.WatchDirectoryFlags = {}));
var Extension;
(function (Extension) {
Extension["Ts"] = ".ts";
Extension["Tsx"] = ".tsx";
Extension["Dts"] = ".d.ts";
Extension["Js"] = ".js";
Extension["Jsx"] = ".jsx";
Extension["Json"] = ".json";
})(Extension = ts.Extension || (ts.Extension = {}));
var EmitFlags;
(function (EmitFlags) {
EmitFlags[EmitFlags["SingleLine"] = 1] = "SingleLine";
EmitFlags[EmitFlags["AdviseOnEmitNode"] = 2] = "AdviseOnEmitNode";
EmitFlags[EmitFlags["NoSubstitution"] = 4] = "NoSubstitution";
EmitFlags[EmitFlags["CapturesThis"] = 8] = "CapturesThis";
EmitFlags[EmitFlags["NoLeadingSourceMap"] = 16] = "NoLeadingSourceMap";
EmitFlags[EmitFlags["NoTrailingSourceMap"] = 32] = "NoTrailingSourceMap";
EmitFlags[EmitFlags["NoSourceMap"] = 48] = "NoSourceMap";
EmitFlags[EmitFlags["NoNestedSourceMaps"] = 64] = "NoNestedSourceMaps";
EmitFlags[EmitFlags["NoTokenLeadingSourceMaps"] = 128] = "NoTokenLeadingSourceMaps";
EmitFlags[EmitFlags["NoTokenTrailingSourceMaps"] = 256] = "NoTokenTrailingSourceMaps";
EmitFlags[EmitFlags["NoTokenSourceMaps"] = 384] = "NoTokenSourceMaps";
EmitFlags[EmitFlags["NoLeadingComments"] = 512] = "NoLeadingComments";
EmitFlags[EmitFlags["NoTrailingComments"] = 1024] = "NoTrailingComments";
EmitFlags[EmitFlags["NoComments"] = 1536] = "NoComments";
EmitFlags[EmitFlags["NoNestedComments"] = 2048] = "NoNestedComments";
EmitFlags[EmitFlags["HelperName"] = 4096] = "HelperName";
EmitFlags[EmitFlags["ExportName"] = 8192] = "ExportName";
EmitFlags[EmitFlags["LocalName"] = 16384] = "LocalName";
EmitFlags[EmitFlags["InternalName"] = 32768] = "InternalName";
EmitFlags[EmitFlags["Indented"] = 65536] = "Indented";
EmitFlags[EmitFlags["NoIndentation"] = 131072] = "NoIndentation";
EmitFlags[EmitFlags["AsyncFunctionBody"] = 262144] = "AsyncFunctionBody";
EmitFlags[EmitFlags["ReuseTempVariableScope"] = 524288] = "ReuseTempVariableScope";
EmitFlags[EmitFlags["CustomPrologue"] = 1048576] = "CustomPrologue";
EmitFlags[EmitFlags["NoHoisting"] = 2097152] = "NoHoisting";
EmitFlags[EmitFlags["HasEndOfDeclarationMarker"] = 4194304] = "HasEndOfDeclarationMarker";
EmitFlags[EmitFlags["Iterator"] = 8388608] = "Iterator";
EmitFlags[EmitFlags["NoAsciiEscaping"] = 16777216] = "NoAsciiEscaping";
})(EmitFlags = ts.EmitFlags || (ts.EmitFlags = {}));
var ListFormat;
(function (ListFormat) {
ListFormat[ListFormat["None"] = 0] = "None";
ListFormat[ListFormat["SingleLine"] = 0] = "SingleLine";
ListFormat[ListFormat["MultiLine"] = 1] = "MultiLine";
ListFormat[ListFormat["PreserveLines"] = 2] = "PreserveLines";
ListFormat[ListFormat["LinesMask"] = 3] = "LinesMask";
ListFormat[ListFormat["NotDelimited"] = 0] = "NotDelimited";
ListFormat[ListFormat["BarDelimited"] = 4] = "BarDelimited";
ListFormat[ListFormat["AmpersandDelimited"] = 8] = "AmpersandDelimited";
ListFormat[ListFormat["CommaDelimited"] = 16] = "CommaDelimited";
ListFormat[ListFormat["DelimitersMask"] = 28] = "DelimitersMask";
ListFormat[ListFormat["AllowTrailingComma"] = 32] = "AllowTrailingComma";
ListFormat[ListFormat["Indented"] = 64] = "Indented";
ListFormat[ListFormat["SpaceBetweenBraces"] = 128] = "SpaceBetweenBraces";
ListFormat[ListFormat["SpaceBetweenSiblings"] = 256] = "SpaceBetweenSiblings";
ListFormat[ListFormat["Braces"] = 512] = "Braces";
ListFormat[ListFormat["Parenthesis"] = 1024] = "Parenthesis";
ListFormat[ListFormat["AngleBrackets"] = 2048] = "AngleBrackets";
ListFormat[ListFormat["SquareBrackets"] = 4096] = "SquareBrackets";
ListFormat[ListFormat["BracketsMask"] = 7680] = "BracketsMask";
ListFormat[ListFormat["OptionalIfUndefined"] = 8192] = "OptionalIfUndefined";
ListFormat[ListFormat["OptionalIfEmpty"] = 16384] = "OptionalIfEmpty";
ListFormat[ListFormat["Optional"] = 24576] = "Optional";
ListFormat[ListFormat["PreferNewLine"] = 32768] = "PreferNewLine";
ListFormat[ListFormat["NoTrailingNewLine"] = 65536] = "NoTrailingNewLine";
ListFormat[ListFormat["NoInterveningComments"] = 131072] = "NoInterveningComments";
ListFormat[ListFormat["NoSpaceIfEmpty"] = 262144] = "NoSpaceIfEmpty";
ListFormat[ListFormat["SingleElement"] = 524288] = "SingleElement";
ListFormat[ListFormat["Modifiers"] = 131328] = "Modifiers";
ListFormat[ListFormat["HeritageClauses"] = 256] = "HeritageClauses";
ListFormat[ListFormat["SingleLineTypeLiteralMembers"] = 384] = "SingleLineTypeLiteralMembers";
ListFormat[ListFormat["MultiLineTypeLiteralMembers"] = 16449] = "MultiLineTypeLiteralMembers";
ListFormat[ListFormat["TupleTypeElements"] = 272] = "TupleTypeElements";
ListFormat[ListFormat["UnionTypeConstituents"] = 260] = "UnionTypeConstituents";
ListFormat[ListFormat["IntersectionTypeConstituents"] = 264] = "IntersectionTypeConstituents";
ListFormat[ListFormat["ObjectBindingPatternElements"] = 262576] = "ObjectBindingPatternElements";
ListFormat[ListFormat["ArrayBindingPatternElements"] = 262448] = "ArrayBindingPatternElements";
ListFormat[ListFormat["ObjectLiteralExpressionProperties"] = 263122] = "ObjectLiteralExpressionProperties";
ListFormat[ListFormat["ArrayLiteralExpressionElements"] = 4466] = "ArrayLiteralExpressionElements";
ListFormat[ListFormat["CommaListElements"] = 272] = "CommaListElements";
ListFormat[ListFormat["CallExpressionArguments"] = 1296] = "CallExpressionArguments";
ListFormat[ListFormat["NewExpressionArguments"] = 9488] = "NewExpressionArguments";
ListFormat[ListFormat["TemplateExpressionSpans"] = 131072] = "TemplateExpressionSpans";
ListFormat[ListFormat["SingleLineBlockStatements"] = 384] = "SingleLineBlockStatements";
ListFormat[ListFormat["MultiLineBlockStatements"] = 65] = "MultiLineBlockStatements";
ListFormat[ListFormat["VariableDeclarationList"] = 272] = "VariableDeclarationList";
ListFormat[ListFormat["SingleLineFunctionBodyStatements"] = 384] = "SingleLineFunctionBodyStatements";
ListFormat[ListFormat["MultiLineFunctionBodyStatements"] = 1] = "MultiLineFunctionBodyStatements";
ListFormat[ListFormat["ClassHeritageClauses"] = 0] = "ClassHeritageClauses";
ListFormat[ListFormat["ClassMembers"] = 65] = "ClassMembers";
ListFormat[ListFormat["InterfaceMembers"] = 65] = "InterfaceMembers";
ListFormat[ListFormat["EnumMembers"] = 81] = "EnumMembers";
ListFormat[ListFormat["CaseBlockClauses"] = 65] = "CaseBlockClauses";
ListFormat[ListFormat["NamedImportsOrExportsElements"] = 262576] = "NamedImportsOrExportsElements";
ListFormat[ListFormat["JsxElementOrFragmentChildren"] = 131072] = "JsxElementOrFragmentChildren";
ListFormat[ListFormat["JsxElementAttributes"] = 131328] = "JsxElementAttributes";
ListFormat[ListFormat["CaseOrDefaultClauseStatements"] = 81985] = "CaseOrDefaultClauseStatements";
ListFormat[ListFormat["HeritageClauseTypes"] = 272] = "HeritageClauseTypes";
ListFormat[ListFormat["SourceFileStatements"] = 65537] = "SourceFileStatements";
ListFormat[ListFormat["Decorators"] = 24577] = "Decorators";
ListFormat[ListFormat["TypeArguments"] = 26896] = "TypeArguments";
ListFormat[ListFormat["TypeParameters"] = 26896] = "TypeParameters";
ListFormat[ListFormat["Parameters"] = 1296] = "Parameters";
ListFormat[ListFormat["IndexSignatureParameters"] = 4432] = "IndexSignatureParameters";
})(ListFormat = ts.ListFormat || (ts.ListFormat = {}));
var FileWatcherEventKind;
(function (FileWatcherEventKind) {
FileWatcherEventKind[FileWatcherEventKind["Created"] = 0] = "Created";
FileWatcherEventKind[FileWatcherEventKind["Changed"] = 1] = "Changed";
FileWatcherEventKind[FileWatcherEventKind["Deleted"] = 2] = "Deleted";
})(FileWatcherEventKind = ts.FileWatcherEventKind || (ts.FileWatcherEventKind = {}));
var HighlightSpanKind;
(function (HighlightSpanKind) {
HighlightSpanKind["none"] = "none";
HighlightSpanKind["definition"] = "definition";
HighlightSpanKind["reference"] = "reference";
HighlightSpanKind["writtenReference"] = "writtenReference";
})(HighlightSpanKind = ts.HighlightSpanKind || (ts.HighlightSpanKind = {}));
var SymbolDisplayPartKind;
(function (SymbolDisplayPartKind) {
SymbolDisplayPartKind[SymbolDisplayPartKind["aliasName"] = 0] = "aliasName";
SymbolDisplayPartKind[SymbolDisplayPartKind["className"] = 1] = "className";
SymbolDisplayPartKind[SymbolDisplayPartKind["enumName"] = 2] = "enumName";
SymbolDisplayPartKind[SymbolDisplayPartKind["fieldName"] = 3] = "fieldName";
SymbolDisplayPartKind[SymbolDisplayPartKind["interfaceName"] = 4] = "interfaceName";
SymbolDisplayPartKind[SymbolDisplayPartKind["keyword"] = 5] = "keyword";
SymbolDisplayPartKind[SymbolDisplayPartKind["lineBreak"] = 6] = "lineBreak";
SymbolDisplayPartKind[SymbolDisplayPartKind["numericLiteral"] = 7] = "numericLiteral";
SymbolDisplayPartKind[SymbolDisplayPartKind["stringLiteral"] = 8] = "stringLiteral";
SymbolDisplayPartKind[SymbolDisplayPartKind["localName"] = 9] = "localName";
SymbolDisplayPartKind[SymbolDisplayPartKind["methodName"] = 10] = "methodName";
SymbolDisplayPartKind[SymbolDisplayPartKind["moduleName"] = 11] = "moduleName";
SymbolDisplayPartKind[SymbolDisplayPartKind["operator"] = 12] = "operator";
SymbolDisplayPartKind[SymbolDisplayPartKind["parameterName"] = 13] = "parameterName";
SymbolDisplayPartKind[SymbolDisplayPartKind["propertyName"] = 14] = "propertyName";
SymbolDisplayPartKind[SymbolDisplayPartKind["punctuation"] = 15] = "punctuation";
SymbolDisplayPartKind[SymbolDisplayPartKind["space"] = 16] = "space";
SymbolDisplayPartKind[SymbolDisplayPartKind["text"] = 17] = "text";
SymbolDisplayPartKind[SymbolDisplayPartKind["typeParameterName"] = 18] = "typeParameterName";
SymbolDisplayPartKind[SymbolDisplayPartKind["enumMemberName"] = 19] = "enumMemberName";
SymbolDisplayPartKind[SymbolDisplayPartKind["functionName"] = 20] = "functionName";
SymbolDisplayPartKind[SymbolDisplayPartKind["regularExpressionLiteral"] = 21] = "regularExpressionLiteral";
})(SymbolDisplayPartKind = ts.SymbolDisplayPartKind || (ts.SymbolDisplayPartKind = {}));
var OutliningSpanKind;
(function (OutliningSpanKind) {
/**
* Single or multi-line comments
*/
OutliningSpanKind["Comment"] = "comment";
/**
* Sections marked by '// #region' and '// #endregion' comments
*/
OutliningSpanKind["Region"] = "region";
/**
* Declarations and expressions
*/
OutliningSpanKind["Code"] = "code";
/**
* Contiguous blocks of import declarations
*/
OutliningSpanKind["Imports"] = "imports";
})(OutliningSpanKind = ts.OutliningSpanKind || (ts.OutliningSpanKind = {}));
var OutputFileType;
(function (OutputFileType) {
OutputFileType[OutputFileType["JavaScript"] = 0] = "JavaScript";
OutputFileType[OutputFileType["SourceMap"] = 1] = "SourceMap";
OutputFileType[OutputFileType["Declaration"] = 2] = "Declaration";
})(OutputFileType = ts.OutputFileType || (ts.OutputFileType = {}));
var EndOfLineState;
(function (EndOfLineState) {
EndOfLineState[EndOfLineState["None"] = 0] = "None";
EndOfLineState[EndOfLineState["InMultiLineCommentTrivia"] = 1] = "InMultiLineCommentTrivia";
EndOfLineState[EndOfLineState["InSingleQuoteStringLiteral"] = 2] = "InSingleQuoteStringLiteral";
EndOfLineState[EndOfLineState["InDoubleQuoteStringLiteral"] = 3] = "InDoubleQuoteStringLiteral";
EndOfLineState[EndOfLineState["InTemplateHeadOrNoSubstitutionTemplate"] = 4] = "InTemplateHeadOrNoSubstitutionTemplate";
EndOfLineState[EndOfLineState["InTemplateMiddleOrTail"] = 5] = "InTemplateMiddleOrTail";
EndOfLineState[EndOfLineState["InTemplateSubstitutionPosition"] = 6] = "InTemplateSubstitutionPosition";
})(EndOfLineState = ts.EndOfLineState || (ts.EndOfLineState = {}));
var TokenClass;
(function (TokenClass) {
TokenClass[TokenClass["Punctuation"] = 0] = "Punctuation";
TokenClass[TokenClass["Keyword"] = 1] = "Keyword";
TokenClass[TokenClass["Operator"] = 2] = "Operator";
TokenClass[TokenClass["Comment"] = 3] = "Comment";
TokenClass[TokenClass["Whitespace"] = 4] = "Whitespace";
TokenClass[TokenClass["Identifier"] = 5] = "Identifier";
TokenClass[TokenClass["NumberLiteral"] = 6] = "NumberLiteral";
TokenClass[TokenClass["StringLiteral"] = 7] = "StringLiteral";
TokenClass[TokenClass["RegExpLiteral"] = 8] = "RegExpLiteral";
})(TokenClass = ts.TokenClass || (ts.TokenClass = {}));
var ScriptElementKind;
(function (ScriptElementKind) {
ScriptElementKind["unknown"] = "";
ScriptElementKind["warning"] = "warning";
/**
* predefined type (void) or keyword (class)
*/
ScriptElementKind["keyword"] = "keyword";
/**
* top level script node
*/
ScriptElementKind["scriptElement"] = "script";
/**
* module foo {}
*/
ScriptElementKind["moduleElement"] = "module";
/**
* class X {}
*/
ScriptElementKind["classElement"] = "class";
/**
* var x = class X {}
*/
ScriptElementKind["localClassElement"] = "local class";
/**
* interface Y {}
*/
ScriptElementKind["interfaceElement"] = "interface";
/**
* type T = ...
*/
ScriptElementKind["typeElement"] = "type";
/**
* enum E
*/
ScriptElementKind["enumElement"] = "enum";
ScriptElementKind["enumMemberElement"] = "enum member";
/**
* Inside module and script only
* const v = ..
*/
ScriptElementKind["variableElement"] = "var";
/**
* Inside function
*/
ScriptElementKind["localVariableElement"] = "local var";
/**
* Inside module and script only
* function f() { }
*/
ScriptElementKind["functionElement"] = "function";
/**
* Inside function
*/
ScriptElementKind["localFunctionElement"] = "local function";
/**
* foo() {} }
*/
ScriptElementKind["memberFunctionElement"] = "method";
/**
* [get|set] foo:number; }
*/
ScriptElementKind["memberGetAccessorElement"] = "getter";
ScriptElementKind["memberSetAccessorElement"] = "setter";
/**
* class X { [public|private]* foo:number; }
* interface Y { foo:number; }
*/
ScriptElementKind["memberVariableElement"] = "property";
/**
* class X { constructor() { } }
*/
ScriptElementKind["constructorImplementationElement"] = "constructor";
/**
* interface Y { ():number; }
*/
ScriptElementKind["callSignatureElement"] = "call";
/**
* interface Y { []:number; }
*/
ScriptElementKind["indexSignatureElement"] = "index";
/**
* interface Y { new():Y; }
*/
ScriptElementKind["constructSignatureElement"] = "construct";
/**
* Y*: string)
*/
ScriptElementKind["parameterElement"] = "parameter";
ScriptElementKind["typeParameterElement"] = "type parameter";
ScriptElementKind["primitiveType"] = "primitive type";
ScriptElementKind["label"] = "label";
ScriptElementKind["alias"] = "alias";
ScriptElementKind["constElement"] = "const";
ScriptElementKind["letElement"] = "let";
ScriptElementKind["directory"] = "directory";
ScriptElementKind["externalModuleName"] = "external module name";
/**
* <JsxTagName attribute1 attribute2={0} />
*/
ScriptElementKind["jsxAttribute"] = "JSX attribute";
/**
* String literal
*/
ScriptElementKind["string"] = "string";
})(ScriptElementKind = ts.ScriptElementKind || (ts.ScriptElementKind = {}));
var ScriptElementKindModifier;
(function (ScriptElementKindModifier) {
ScriptElementKindModifier["none"] = "";
ScriptElementKindModifier["publicMemberModifier"] = "public";
ScriptElementKindModifier["privateMemberModifier"] = "private";
ScriptElementKindModifier["protectedMemberModifier"] = "protected";
ScriptElementKindModifier["exportedModifier"] = "export";
ScriptElementKindModifier["ambientModifier"] = "declare";
ScriptElementKindModifier["staticModifier"] = "static";
ScriptElementKindModifier["abstractModifier"] = "abstract";
ScriptElementKindModifier["optionalModifier"] = "optional";
})(ScriptElementKindModifier = ts.ScriptElementKindModifier || (ts.ScriptElementKindModifier = {}));
var ClassificationTypeNames;
(function (ClassificationTypeNames) {
ClassificationTypeNames["comment"] = "comment";
ClassificationTypeNames["identifier"] = "identifier";
ClassificationTypeNames["keyword"] = "keyword";
ClassificationTypeNames["numericLiteral"] = "number";
ClassificationTypeNames["operator"] = "operator";
ClassificationTypeNames["stringLiteral"] = "string";
ClassificationTypeNames["whiteSpace"] = "whitespace";
ClassificationTypeNames["text"] = "text";
ClassificationTypeNames["punctuation"] = "punctuation";
ClassificationTypeNames["className"] = "class name";
ClassificationTypeNames["enumName"] = "enum name";
ClassificationTypeNames["interfaceName"] = "interface name";
ClassificationTypeNames["moduleName"] = "module name";
ClassificationTypeNames["typeParameterName"] = "type parameter name";
ClassificationTypeNames["typeAliasName"] = "type alias name";
ClassificationTypeNames["parameterName"] = "parameter name";
ClassificationTypeNames["docCommentTagName"] = "doc comment tag name";
ClassificationTypeNames["jsxOpenTagName"] = "jsx open tag name";
ClassificationTypeNames["jsxCloseTagName"] = "jsx close tag name";
ClassificationTypeNames["jsxSelfClosingTagName"] = "jsx self closing tag name";
ClassificationTypeNames["jsxAttribute"] = "jsx attribute";
ClassificationTypeNames["jsxText"] = "jsx text";
ClassificationTypeNames["jsxAttributeStringLiteralValue"] = "jsx attribute string literal value";
})(ClassificationTypeNames = ts.ClassificationTypeNames || (ts.ClassificationTypeNames = {}));
var ClassificationType;
(function (ClassificationType) {
ClassificationType[ClassificationType["comment"] = 1] = "comment";
ClassificationType[ClassificationType["identifier"] = 2] = "identifier";
ClassificationType[ClassificationType["keyword"] = 3] = "keyword";
ClassificationType[ClassificationType["numericLiteral"] = 4] = "numericLiteral";
ClassificationType[ClassificationType["operator"] = 5] = "operator";
ClassificationType[ClassificationType["stringLiteral"] = 6] = "stringLiteral";
ClassificationType[ClassificationType["regularExpressionLiteral"] = 7] = "regularExpressionLiteral";
ClassificationType[ClassificationType["whiteSpace"] = 8] = "whiteSpace";
ClassificationType[ClassificationType["text"] = 9] = "text";
ClassificationType[ClassificationType["punctuation"] = 10] = "punctuation";
ClassificationType[ClassificationType["className"] = 11] = "className";
ClassificationType[ClassificationType["enumName"] = 12] = "enumName";
ClassificationType[ClassificationType["interfaceName"] = 13] = "interfaceName";
ClassificationType[ClassificationType["moduleName"] = 14] = "moduleName";
ClassificationType[ClassificationType["typeParameterName"] = 15] = "typeParameterName";
ClassificationType[ClassificationType["typeAliasName"] = 16] = "typeAliasName";
ClassificationType[ClassificationType["parameterName"] = 17] = "parameterName";
ClassificationType[ClassificationType["docCommentTagName"] = 18] = "docCommentTagName";
ClassificationType[ClassificationType["jsxOpenTagName"] = 19] = "jsxOpenTagName";
ClassificationType[ClassificationType["jsxCloseTagName"] = 20] = "jsxCloseTagName";
ClassificationType[ClassificationType["jsxSelfClosingTagName"] = 21] = "jsxSelfClosingTagName";
ClassificationType[ClassificationType["jsxAttribute"] = 22] = "jsxAttribute";
ClassificationType[ClassificationType["jsxText"] = 23] = "jsxText";
ClassificationType[ClassificationType["jsxAttributeStringLiteralValue"] = 24] = "jsxAttributeStringLiteralValue";
})(ClassificationType = ts.ClassificationType || (ts.ClassificationType = {}));
// overwrite this namespace with the TypeScript compiler
ObjectUtils_1.ObjectUtils.assign(ts, tsCompiler);
})(ts = exports.ts || (exports.ts = {}));
// this is a trick to get the enums defined in the local scope by their name, but have the compiler
// understand this as exporting the ambient declarations above (so it works at compile time and run time)
// @ts-ignore: Implicit use of this.
var tempThis = this;
tempThis["SyntaxKind"] = tsCompiler.SyntaxKind;
tempThis["TypeFormatFlags"] = tsCompiler.TypeFormatFlags;
tempThis["SymbolFlags"] = tsCompiler.SymbolFlags;
tempThis["TypeFlags"] = tsCompiler.TypeFlags;
tempThis["ObjectFlags"] = tsCompiler.ObjectFlags;
tempThis["DiagnosticCategory"] = tsCompiler.DiagnosticCategory;
tempThis["ModuleResolutionKind"] = tsCompiler.ModuleResolutionKind;
tempThis["ModuleKind"] = tsCompiler.ModuleKind;
tempThis["JsxEmit"] = tsCompiler.JsxEmit;
tempThis["NewLineKind"] = tsCompiler.NewLineKind;
tempThis["ScriptKind"] = tsCompiler.ScriptKind;
tempThis["ScriptTarget"] = tsCompiler.ScriptTarget;
tempThis["LanguageVariant"] = tsCompiler.LanguageVariant;
tempThis["EmitHint"] = tsCompiler.EmitHint;
tempThis["IndentStyle"] = tsCompiler.IndentStyle;