Available strategies:
'keep': Output rows as-is with their actual length
'pad' (all header keys present, missing values = undefined)'pad': Ensure all rows match header length
'strict': Enforce exact header length match
'truncate': Handle long rows only, keep short rows as-is
'pad'), missing values = undefinedDefault values:
'keep''pad'Headerless CSV behavior:
When no header is provided (header: undefined or header: []):
'keep'header: []), only 'keep' is allowed at runtime// Header: ['name', 'age', 'city']
// Input row: 'Alice,30'
// outputFormat: 'array'
// keep → ['Alice', '30'] (short row kept as-is)
// pad → ['Alice', '30', undefined] (padded to match header)
// strict → Error thrown (length mismatch)
// truncate → ['Alice', '30'] (short row kept as-is, only truncates long rows)
// Header: ['name', 'age', 'city']
// Input row: 'Alice,30'
// outputFormat: 'object'
// keep → { name: 'Alice', age: '30', city: undefined } (treated as 'pad')
// pad → { name: 'Alice', age: '30', city: undefined } (all keys present)
// strict → Error thrown (length mismatch)
// truncate → { name: 'Alice', age: '30', city: undefined } (all keys present)
Strategy for handling column count mismatches between header and data rows.