SLOTS

tcmts.core.slots.SLOTS · #2bxyrsbs · term · runs anywhere

export const SLOTS: Readonly<Record<string, readonly string[]>> = {
  ArrayBindingPattern: ["elements"],
  ArrayLiteralExpression: ["elements"],
  ArrayType: ["elementType"],
  ArrowFunction: ["modifiers", "typeParameters", "parameters", "type", "equalsGreaterThanToken", "body"],
  AsExpression: ["expression", "type"],
  AwaitExpression: ["expression"],
  BinaryExpression: ["modifiers", "left", "type", "operatorToken", "right"],
  BindingElement: ["dotDotDotToken", "propertyName", "name", "initializer"],
  Block: ["statements"],
  BreakStatement: ["label"],
  CallExpression: ["expression", "questionDotToken", "typeArguments", "arguments"],
  CallSignature: ["typeParameters", "parameters", "type"],
  CaseBlock: ["clauses"],
  CaseClause: ["expression", "statements"],
  CatchClause: ["variableDeclaration", "block"],
  ClassDeclaration: ["modifiers", "name", "typeParameters", "heritageClauses", "members"],
  ClassExpression: ["modifiers", "name", "typeParameters", "heritageClauses", "members"],
  ClassStaticBlockDeclaration: ["modifiers", "body"],
  ComputedPropertyName: ["expression"],
  ConditionalExpression: ["condition", "questionToken", "whenTrue", "colonToken", "whenFalse"],
  ConditionalType: ["checkType", "extendsType", "trueType", "falseType"],
  ConstructSignature: ["typeParameters", "parameters", "type"],
  Constructor: ["modifiers", "typeParameters", "parameters", "type", "body"],
  ConstructorType: ["modifiers", "typeParameters", "parameters", "type"],
  ContinueStatement: ["label"],
  Decorator: ["expression"],
  DefaultClause: ["expression", "statements"],
  DeleteExpression: ["expression"],
  DoStatement: ["statement", "expression"],
  ElementAccessExpression: ["expression", "questionDotToken", "argumentExpression"],
  EnumDeclaration: ["modifiers", "name", "members"],
  EnumMember: ["name", "initializer"],
  ExportAssignment: ["modifiers", "type", "expression"],
  ExportDeclaration: ["modifiers", "exportClause", "moduleSpecifier", "attributes"],
  ExportSpecifier: ["propertyName", "name"],
  ExpressionStatement: ["expression"],
  ExpressionWithTypeArguments: ["expression", "typeArguments"],
  ExternalModuleReference: ["expression"],
  ForInStatement: ["awaitModifier", "initializer", "expression", "statement"],
  ForOfStatement: ["awaitModifier", "initializer", "expression", "statement"],
  ForStatement: ["initializer", "condition", "incrementor", "statement"],
  FunctionDeclaration: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"],
  FunctionExpression: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"],
  FunctionType: ["typeParameters", "parameters", "type"],
  GetAccessor: ["modifiers", "name", "typeParameters", "parameters", "type", "body"],
  HeritageClause: ["types"],
  IfStatement: ["expression", "thenStatement", "elseStatement"],
  ImportAttribute: ["name", "value"],
  ImportAttributes: ["attributes"],
  ImportClause: ["name", "namedBindings"],
  ImportDeclaration: ["modifiers", "importClause", "moduleSpecifier", "attributes"],
  ImportEqualsDeclaration: ["modifiers", "name", "moduleReference"],
  ImportSpecifier: ["propertyName", "name"],
  ImportType: ["argument", "attributes", "qualifier", "typeArguments"],
  IndexSignature: ["modifiers", "parameters", "type"],
  IndexedAccessType: ["objectType", "indexType"],
  InferType: ["typeParameter"],
  InterfaceDeclaration: ["modifiers", "name", "typeParameters", "heritageClauses", "members"],
  IntersectionType: ["types"],
  JsxAttribute: ["name", "initializer"],
  JsxAttributes: ["properties"],
  JsxClosingElement: ["tagName"],
  JsxElement: ["openingElement", "children", "closingElement"],
  JsxExpression: ["dotDotDotToken", "expression"],
  JsxFragment: ["openingFragment", "children", "closingFragment"],
  JsxNamespacedName: ["namespace", "name"],
  JsxOpeningElement: ["tagName", "typeArguments", "attributes"],
  JsxSelfClosingElement: ["tagName", "typeArguments", "attributes"],
  JsxSpreadAttribute: ["expression"],
  LabeledStatement: ["label", "statement"],
  LiteralType: ["literal"],
  MappedType: ["readonlyToken", "typeParameter", "nameType", "questionToken", "type", "members"],
  MetaProperty: ["name"],
  MethodDeclaration: ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"],
  MethodSignature: ["modifiers", "name", "postfixToken", "typeParameters", "parameters", "type"],
  MissingDeclaration: ["modifiers"],
  ModuleBlock: ["statements"],
  ModuleDeclaration: ["modifiers", "name", "attributes", "body"],
  NamedExports: ["elements"],
  NamedImports: ["elements"],
  NamedTupleMember: ["dotDotDotToken", "name", "questionToken", "type"],
  NamespaceExport: ["name"],
  NamespaceExportDeclaration: ["modifiers", "name"],
  NamespaceImport: ["name"],
  NewExpression: ["expression", "typeArguments", "arguments"],
  NonNullExpression: ["expression"],
  ObjectBindingPattern: ["elements"],
  ObjectLiteralExpression: ["properties"],
  OptionalType: ["type"],
  Parameter: ["modifiers", "dotDotDotToken", "name", "questionToken", "type", "initializer"],
  ParenthesizedExpression: ["expression"],
  ParenthesizedType: ["type"],
  PostfixUnaryExpression: ["operand"],
  PrefixUnaryExpression: ["operand"],
  PropertyAccessExpression: ["expression", "questionDotToken", "name"],
  PropertyAssignment: ["modifiers", "name", "postfixToken", "type", "initializer"],
  PropertyDeclaration: ["modifiers", "name", "postfixToken", "type", "initializer"],
  PropertySignature: ["modifiers", "name", "postfixToken", "type", "initializer"],
  QualifiedName: ["left", "right"],
  RestType: ["type"],
  ReturnStatement: ["expression"],
  SatisfiesExpression: ["expression", "type"],
  SetAccessor: ["modifiers", "name", "typeParameters", "parameters", "type", "body"],
  ShorthandPropertyAssignment: ["modifiers", "name", "postfixToken", "type", "equalsToken", "objectAssignmentInitializer"],
  SourceFile: ["statements", "endOfFileToken"],
  SpreadAssignment: ["expression"],
  SpreadElement: ["expression"],
  SwitchStatement: ["expression", "caseBlock"],
  TaggedTemplateExpression: ["tag", "questionDotToken", "typeArguments", "template"],
  TemplateExpression: ["head", "templateSpans"],
  TemplateLiteralType: ["head", "templateSpans"],
  TemplateLiteralTypeSpan: ["type", "literal"],
  TemplateSpan: ["expression", "literal"],
  ThrowStatement: ["expression"],
  TryStatement: ["tryBlock", "catchClause", "finallyBlock"],
  TupleType: ["elements"],
  TypeAliasDeclaration: ["modifiers", "name", "typeParameters", "type"],
  TypeAssertionExpression: ["type", "expression"],
  TypeLiteral: ["members"],
  TypeOfExpression: ["expression"],
  TypeOperator: ["type"],
  TypeParameter: ["modifiers", "name", "constraint", "expression", "defaultType"],
  TypePredicate: ["assertsModifier", "parameterName", "type"],
  TypeQuery: ["exprName", "typeArguments"],
  TypeReference: ["typeName", "typeArguments"],
  UnionType: ["types"],
  VariableDeclaration: ["name", "exclamationToken", "type", "initializer"],
  VariableDeclarationList: ["declarations"],
  VariableStatement: ["modifiers", "declarationList"],
  VoidExpression: ["expression"],
  WhileStatement: ["expression", "statement"],
  WithStatement: ["expression", "statement"],
  YieldExpression: ["asteriskToken", "expression"],
}

used by