Skip to main content
zerotal

Documentation


Documentation / zerotal / orm / Cast

Abstract Class: Cast<T>

Defined in: packages/orm/src/casts/Cast.ts:53

Base class for custom casts. Extend it, implement get/set, and reference an instance from a column: @column({ cast: new MoneyCast() }).

Example

// app/casts/MoneyCast.ts
export class MoneyCast extends Cast<number> {
  get(db: unknown) { return Number(db) / 100; } // cents → dollars
  set(v: number)   { return Math.round(v * 100); }
}

Extended by

Type Parameters

T

T = unknown

The model-side (deserialized) value type.

Implements

Constructors

Constructor

new Cast<T>(): Cast<T>

Returns

Cast<T>

Methods

get()

abstract get(dbValue): T

Defined in: packages/orm/src/casts/Cast.ts:54

DB value → model value (on read).

Parameters

dbValue

unknown

Returns

T

Implementation of

CastContract.get


set()

abstract set(value): unknown

Defined in: packages/orm/src/casts/Cast.ts:55

Model value → DB value (on write).

Parameters

value

T

Returns

unknown

Implementation of

CastContract.set