mwg API
    Preparing search index...

    Function typedRows

    • Reads a table's rows through its declared columns, so consumer code names fields instead of casting them. The columns need literal names and types for inference (as const, or the output of emitTableTypes); a widened MwlTableColumn[] (such as contentCatalog returns) yields a loose row. The cast is sound because coerceTableValue and MWL_TABLE validation own the values - this only names what they already guarantee.

      Type Parameters

      Parameters

      • table: { columns: Columns; rows: readonly Readonly<Record<string, unknown>>[] }

      Returns MwlTypedRow<Columns>[]

      import { typedRows } from '@datamoc/mwg/mwl';
      import type { MwlTableColumn } from '@datamoc/mwg/mwl';

      const columns = [{ name: 'cost', type: 'number' }] as const satisfies readonly MwlTableColumn[];
      const rows = typedRows({ columns, rows: [{ cost: 3 }] });
      console.log(rows[0]?.cost); // 3