Skip to main content

@Parse

@Parse sets a column's parse transform — run over a raw database value when reading rows. See Data Columns → parse / serialize for the full guide.

function Parse(fn: ColumnTransformFunction): PropertyDecorator;

type ColumnTransformFunction = (value: any, name: string) => any;

A property decorator, applicable to string-keyed properties only (throws You can define a Column for only string properties otherwise). It sets the same underlying metadata field as ColumnFieldOptions.parse (see ColumnFieldOptions) — calling @Parse on a property that has no @Column of its own yet still registers (an implicit) column field for it.

const GenderMap = { M: 'Male', F: 'Female' };

@Column(DataType.CHAR)
@Parse(v => GenderMap[v] || 'Unknown')
declare gender: string;

See also @Serialize, the inverse transform (JS value → database value).