type CustomSQLiteSerializer<TOutput, TSQLite> = Partial<{ [Key in keyof TOutput]: (value: TOutput[Key]) => Key extends keyof TSQLite ? TSQLite[Key] : never }>;Defined in: definitions.ts:54
A mapping type for custom serialization of object properties to SQLite-compatible values.
This type allows you to override, for keys in the input object (TOutput), a function that transforms the value to the corresponding SQLite type (TSQLite). Keys not specified will use the default SQLite serialization.
TOutput: The input object type, representing the row data to be serialized.
TSQLite: The target SQLite-compatible type for each property, typically inferred from the table schema.
Use this type to define a map of serialization functions for specific keys when you need custom handling (e.g., converting complex objects, formatting dates, or handling enums).
Example:
const serializer: CustomSQLiteSerializer<MyRowType, MySQLiteType> = {
createdAt: (date) => date.toISOString(),
status: (status) => status ? 1 : 0,
meta: (meta) => JSON.stringify(meta),
};Each key maps to a function that receives the value and returns the SQLite-compatible value.
Used by serializeForSQLite to override default serialization for specific columns.
TOutput extends Record\<`string`, `unknown`\>
TSQLite extends Record\<`string`, `unknown`\>