paramsOf

tcmts.core.analyze.paramsOf · #ga272qws · term · runs anywhere

import type { DefSite } from "#codebase/tcmts/core/extract";
import { paramsSchema } from "#codebase/tcmts/core/schema";
import type { ParamsSchema } from "#codebase/tcmts/core/schema";
import type { TypeChecker } from "#codebase/tcmts/core/ts";

export function paramsOf(site: DefSite, checker: TypeChecker): ParamsSchema | undefined {
  if (site.kind !== "term" || site.isWatch || !site.nameNode) return undefined;
  const sym = checker.getSymbolAtLocation(site.nameNode);
  return sym ? paramsSchema(checker, checker.getTypeOfSymbolAtLocation(sym, site.nameNode)) : undefined;
}

uses

used by