SerializerConfig

Type Alias: SerializerConfig<TOutput, TSQLite>

ts
type SerializerConfig<TOutput, TSQLite> = object;
type SerializerConfig<TOutput, TSQLite> = object;

Defined in: definitions.ts:61

Type Parameters

TOutput

TOutput extends Record<string, unknown>

TSQLite

TSQLite extends Record<string, unknown>

Properties

onDeserializationError()

ts
onDeserializationError: (error) => void;
onDeserializationError: (error) => void;

Defined in: definitions.ts:94

Application logic should ensure that incoming synced data is always valid. Failing to deserialize and apply incoming changes results in data inconsistency - which is a fatal error. Use this callback to react to deserialization errors.

Parameters

error

StandardSchemaV1.FailureResult

Returns

void


serializer?

ts
optional serializer: CustomSQLiteSerializer<TOutput, TSQLite>;
optional serializer: CustomSQLiteSerializer<TOutput, TSQLite>;

Defined in: definitions.ts:87

Optional partial serializer object for customizing how individual columns are serialized for SQLite.

This should be a partial map of column keys to serialization functions, following the CustomSQLiteSerializer type. Each function receives the column value and returns a value compatible with SQLite storage.

If not provided for a column, the default behavior is used:

  • TEXT: Strings are stored as-is; Dates are converted to ISO strings; other types are JSON-stringified.
  • INTEGER/REAL: Numbers are stored as-is; booleans are mapped to 1/0.

Use this option to override serialization for specific columns, such as formatting dates, handling enums, or serializing complex objects.

Example:

typescript
serializer: {
  createdAt: (date) => date.getTime(), // Store as timestamp
  meta: (meta) => JSON.stringify(meta), // Custom object serialization
}
serializer: {
  createdAt: (date) => date.getTime(), // Store as timestamp
  meta: (meta) => JSON.stringify(meta), // Custom object serialization
}
Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.

Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.