type CustomSQLiteSerializer<TOutput, TSQLite> = Partial<{ [Key in keyof TOutput]: (value: TOutput[Key]) => Key extends keyof TSQLite ? TSQLite[Key] : never }>;
type CustomSQLiteSerializer<TOutput, TSQLite> = Partial<{ [Key in keyof TOutput]: (value: TOutput[Key]) => Key extends keyof TSQLite ? TSQLite[Key] : never }>;
Defined in: definitions.ts:52
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.
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),
};
const serializer: CustomSQLiteSerializer<MyRowType, MySQLiteType> = {
createdAt: (date) => date.toISOString(),
status: (status) => status ? 1 : 0,
meta: (meta) => JSON.stringify(meta),
};
TOutput extends Record<string, unknown>
TSQLite extends Record<string, unknown>
Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.
Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.
