타입 별칭: CustomSQLiteSerializer<TOutput, TSQLite>
type CustomSQLiteSerializer<TOutput, TSQLite> = Partial<{ [Key in keyof TOutput]: (value: TOutput[Key]) => Key extends keyof TSQLite ? TSQLite[Key] : never }>;
정의 위치: definitions.ts:54
객체 속성을 SQLite 호환 값으로 사용자 지정 직렬화하기 위한 매핑 타입입니다.
이 타입을 사용하면 입력 객체(TOutput)의 키에 대해 값을 해당 SQLite 타입(TSQLite)으로 변환하는 함수를 재정의할 수 있습니다. 지정하지 않은 키에는 기본 SQLite 직렬화가 사용됩니다.
제네릭
TOutput: 직렬화할 행 데이터를 나타내는 입력 객체 타입입니다.TSQLite: 각 속성의 SQLite 호환 대상 타입이며 일반적으로 테이블 스키마에서 추론됩니다.
사용법
사용자 지정 처리가 필요할 때 특정 키에 대한 직렬화 함수 맵을 정의하는 데 이 유형을 사용합니다. (예: 복합 객체 변환, 날짜 형식 지정 또는 열거형 처리).
예:
const serializer: CustomSQLiteSerializer<MyRowType, MySQLiteType> = {
createdAt: (date) => date.toISOString(),
status: (status) => status ? 1 : 0,
meta: (meta) => JSON.stringify(meta),
};
동작
- 각 키는 값을 받아 SQLite 호환 값을 반환하는 함수에 매핑됩니다.
- 특정 열의 기본 직렬화를 재정의하기 위해
serializeForSQLite에서 사용됩니다.
타입 매개변수
TOutput
TOutput extends Record<string, unknown>
TSQLite
TSQLite extends Record<string, unknown>