Skip to content

Function: splitPartArg() ​

ts
function splitPartArg(rest): object;

Defined in: packages/core/src/grammar.ts:745

Parse a @part argument into its selector, derived name, and optional description. Handles class (.foo), attribute ([foo="bar"]), ID (#foo), :host, :host-context(…), descendant chains (A > B > C), and an optional author alias. For chained selectors the derived name comes from the final compound.

Parameters ​

rest ​

string

Returns ​

object

description? ​

ts
optional description?: string;

name ​

ts
name: string;

selector ​

ts
selector: string;

Examples ​

ts
`@part [data-layout="x"] container — Desc` → `{ selector: "[data-layout=\"x\"]", name: "container", description: "Desc" }`
ts
`@part [data-layout="x"] — Desc`            → `{ selector: "[data-layout=\"x\"]", name: "data-layout", description: "Desc" }`
ts
`@part .item — Desc`                         → `{ selector: ".item", name: "item", description: "Desc" }`
ts
`@part A > B > C alias — Desc`               → `{ selector: "A > B > C", name: "alias", description: "Desc" }`
ts
`@part A > B > C — Desc`                     → `{ selector: "A > B > C", name: "<derived from C>", description: "Desc" }`

Released under the MIT License