From ed54958b55c1330cb62b4e5b61da30359a7af326 Mon Sep 17 00:00:00 2001 From: Severin Ibarluzea Date: Mon, 23 Jun 2025 14:12:02 -0700 Subject: [PATCH] docs: add custom net selector example --- docs/guides/using-sel-references.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/guides/using-sel-references.mdx b/docs/guides/using-sel-references.mdx index 88499bd..f8729f8 100644 --- a/docs/guides/using-sel-references.mdx +++ b/docs/guides/using-sel-references.mdx @@ -209,6 +209,23 @@ selU2.custompin2 // Returns ".U2 > .custompin2" // selU2.doesnotexist // TypeScript error! ``` +### Generic Net Selectors + +You can also create custom net selectors using TypeScript generics: + +```tsx +import { sel } from "tscircuit" + +// Define custom net names using generics +const customNets = sel.net<"CUSTOMNET1" | "CUSTOMNET2">() + +customNets.CUSTOMNET1 // "net.CUSTOMNET1" +customNets.CUSTOMNET2 // "net.CUSTOMNET2" + +// TypeScript will error on non-existent nets! +// customNets.DOES_NOT_EXIST // TypeScript error! +``` + ### Dynamic Reference Designators You can call `sel` as a function to create selectors for any reference designator.