@jsvision/ui / findDuplicateAccelerators
Function: findDuplicateAccelerators()
findDuplicateAccelerators(
chars):DuplicateAccelerator[]
Defined in: ui/src/menu/accelerators.ts:36
Find every accelerator character claimed by more than one entry, case-insensitively. Pure — no view or reactive dependency, so it is directly unit-testable.
Pass one accelerator char (or '') per scope entry, in scope order: ''/absent entries (menu separators, items with no ~X~) are ignored and never grouped. Each returned group lists the claiming indices in order; only chars claimed twice or more appear, in first-appearance order.
Parameters
chars
readonly string[]
One accelerator char (lowercase or any case) or '' per scope entry, in scope order.
Returns
The collisions, one group per over-claimed char; [] when every char is unique.
Example
ts
import { findDuplicateAccelerators } from '@jsvision/ui';
findDuplicateAccelerators(['f', 'e', 'o']); // [] — all distinct
findDuplicateAccelerators(['x', '', 'X']); // [{ char: 'x', indices: [0, 2] }]