From 5d054950f3d4cba285df25ca23e8dff9a1a50533 Mon Sep 17 00:00:00 2001 From: "Supanat K." Date: Mon, 12 Jan 2026 14:32:57 +0700 Subject: [PATCH] fix: add TypeScript types for Sequelize DataTypes --- types/sequelize/index.d.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/types/sequelize/index.d.ts b/types/sequelize/index.d.ts index 38107a9..bd85efb 100644 --- a/types/sequelize/index.d.ts +++ b/types/sequelize/index.d.ts @@ -1,3 +1,38 @@ +import type { DataType } from 'sequelize'; + +// VECTOR data type constructor +export interface VectorDataTypeConstructor { + new (dimensions?: number): DataType; + (dimensions?: number): DataType; +} + +// HALFVEC data type constructor +export interface HalfvecDataTypeConstructor { + new (dimensions?: number): DataType; + (dimensions?: number): DataType; +} + +// SPARSEVEC data type constructor +export interface SparsevecDataTypeConstructor { + new (dimensions?: number): DataType; + (dimensions?: number): DataType; +} + +// Module augmentation to extend Sequelize DataTypes +declare module 'sequelize' { + namespace DataTypes { + const VECTOR: VectorDataTypeConstructor; + const HALFVEC: HalfvecDataTypeConstructor; + const SPARSEVEC: SparsevecDataTypeConstructor; + + namespace postgres { + const VECTOR: VectorDataTypeConstructor; + const HALFVEC: HalfvecDataTypeConstructor; + const SPARSEVEC: SparsevecDataTypeConstructor; + } + } +} + export function registerType(Sequelize: any): void; export function registerTypes(Sequelize: any): void; export function l2Distance(column: any, value: any, sequelize: any): any;