Add explanation comment

This commit is contained in:
CentreMetre
2026-06-14 17:00:35 +01:00
parent 59174d3c88
commit 026de5987b

View File

@@ -47,14 +47,15 @@ export abstract class Table<TRow extends Object> {
exampleObject: TRow, // Needed for runtime, since types don't exist in JS. exampleObject: TRow, // Needed for runtime, since types don't exist in JS.
displayNamesAndOrder?: Record<keyof TRow, string> displayNamesAndOrder?: Record<keyof TRow, string>
): Header<TRow>[] { ): Header<TRow>[] {
// Checks if display names and order was passed. If not, derives the keys to use for the header from the example object.
const keys = displayNamesAndOrder const keys = displayNamesAndOrder
? (Object.keys(displayNamesAndOrder) as (keyof TRow)[]) ? (Object.keys(displayNamesAndOrder) as (keyof TRow)[])
: (Object.keys(exampleObject) as (keyof TRow)[]); : (Object.keys(exampleObject) as (keyof TRow)[]);
return keys.map(key => ({ return keys.map(key => ({
key, key, // Raw property name from TRow
value: displayNamesAndOrder?.[key] ?? String(key), value: displayNamesAndOrder?.[key] ?? String(key), // The value of the th html element, with a nullish coalescing operator for if its null
type: typeof exampleObject[key], type: typeof exampleObject[key], // The type of the column
})); }));
} }