UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

30 lines (29 loc) 942 B
import { GROUP_COLUMN_PREFIX } from "@1771technologies/lytenyte-shared"; export function resolveColumn(c, errorRef, meta) { if (typeof c === "string") { if (c.startsWith(GROUP_COLUMN_PREFIX)) { return meta.columnsVisible.find((x) => x.id === c); } if (!meta.columnLookup.has(c)) { errorRef.current = true; console.error(`Invalid column ${c}`); } return c; } if (typeof c === "number") { const col = meta.columnsVisible.at(c); if (!col) { errorRef.current = true; console.error(`Invalid column at index ${c}`); } return col?.id; } if (c.id.startsWith(GROUP_COLUMN_PREFIX)) { return meta.columnsVisible.find((x) => x.id === c.id); } if (!meta.columnLookup.has(c.id)) { errorRef.current = true; console.error(`Invalid column ${c.id}`); } return c.id; }