본문으로 건너뛰기

타입 별칭: 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&lt;string, unknown>

TSQLite

TSQLite extends Record&lt;string, unknown>