Time
Time fields use x.time() for time values (no date component).
columnNameAliases
Adds alternate CSV header names for this field.
.columnNameAliases(aliases: string[])
aliaseslists header names that should map to this schema key.- Aliases are used during column matching alongside the field key and label. They do not change the output object key.
label
Sets the user-facing label shown in the importer.
.label(text: string)
textsets the label text.
description
Sets help text shown below the field.
.description(text: string)
textsets the description text.
optional
Allows the field to be empty.
.optional()
- Empty optional values are delivered as
null. - The row object still includes the field key, e.g.,
{ shiftStart: null }.
default
Available after .optional().
.default(defaultValue: unknown | (() => unknown | Promise<unknown>))
defaultValuecan be a static value or a function used when the field is empty.- Defaults apply to missing values,
null, empty strings, and whitespace-only strings. - When a default is used, it is returned directly instead of validating or refining the empty value.
precision
Sets the number of fractional-second digits.
.precision(precision: number, options?: { message?: string })
precisionsets the precision from0to9, e.g.,3.messageoverrides the validation error text, e.g.,"Time must include milliseconds".