# Function customType

- customType<T extends CustomTypeValues = CustomTypeValues>(
  customTypeParams: CustomTypeParams<T>,
  ): Equal<T["configRequired"], true> extends true
  ? {
  <TConfig extends Record<string, any>>(
  fieldConfig: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  }
  : {
  (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TConfig extends Record<string, any>>(
  fieldConfig?: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig?: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  }

  Custom sqlite database data type generator

  #### Type Parameters

  - T extends CustomTypeValues = CustomTypeValues

  #### Parameters

  - customTypeParams: CustomTypeParams<T>

  #### Returns Equal<T["configRequired"], true> extends true
  ? {
  <TConfig extends Record<string, any>>(
  fieldConfig: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  }
  : {
  (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TConfig extends Record<string, any>>(
  fieldConfig?: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig?: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  }

  - Defined in node_modules/.pnpm/drizzle-orm@0.44.6_@cloudflare+workers-types@4.20251014.0_@opentelemetry+api@1.9.0_@typ_31a6f5ca8f102af87864dd251ed08d88/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts:148