kindOf

tcmts.cli.package_pages.kindOf · #d2icladh · term · runs anywhere

import type { ApiEntry } from "#codebase/tcmts/cli/package_pages";
import { SymbolFlags as ts_SymbolFlags } from "typescript/sync";
import type { Symbol as ts_Symbol } from "typescript/sync";

export function kindOf(s: ts_Symbol): ApiEntry["kind"] {
  const f = s.flags;
  if (f & ts_SymbolFlags.Class) return "class";
  if (f & ts_SymbolFlags.Function) return "function";
  if (f & ts_SymbolFlags.Interface) return "interface";
  if (f & ts_SymbolFlags.TypeAlias) return "type";
  if (f & ts_SymbolFlags.Enum) return "enum";
  if (f & (ts_SymbolFlags.Variable | ts_SymbolFlags.Property)) return "value";
  if (f & ts_SymbolFlags.Module) return "namespace";
  return "value";
}

uses

used by