UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

40 lines 1.08 kB
import { entityKind } from "../../../entity.js"; import { getColumnNameAndConfig } from "../../../utils.js"; import { PgColumn, PgColumnBuilder } from "../common.js"; class PgHalfVectorBuilder extends PgColumnBuilder { static [entityKind] = "PgHalfVectorBuilder"; constructor(name, config) { super(name, "array", "PgHalfVector"); this.config.dimensions = config.dimensions; } /** @internal */ build(table) { return new PgHalfVector( table, this.config ); } } class PgHalfVector extends PgColumn { static [entityKind] = "PgHalfVector"; dimensions = this.config.dimensions; getSQLType() { return `halfvec(${this.dimensions})`; } mapToDriverValue(value) { return JSON.stringify(value); } mapFromDriverValue(value) { return value.slice(1, -1).split(",").map((v) => Number.parseFloat(v)); } } function halfvec(a, b) { const { name, config } = getColumnNameAndConfig(a, b); return new PgHalfVectorBuilder(name, config); } export { PgHalfVector, PgHalfVectorBuilder, halfvec }; //# sourceMappingURL=halfvec.js.map