diff --git a/CHANGELOG.md b/CHANGELOG.md index b3d3bf3..b07daff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.0 (unreleased) + +- Switched to ESM +- Dropped support for Node < 20 + ## 0.2.1 (2025-05-20) - Improved support for migrations with Sequelize diff --git a/package.json b/package.json index 484b570..0063c63 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "type": "git", "url": "https://github.com/pgvector/pgvector-node" }, + "type": "module", "exports": { ".": { "types": "./types/index.d.ts", @@ -86,7 +87,7 @@ "types" ], "engines": { - "node": ">=18" + "node": ">=20" }, "scripts": { "build": "tsc", diff --git a/src/index.js b/src/index.js index a2f55f3..3431301 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,5 @@ -const { fromSql, toSql, SparseVector } = require('./utils'); +import { fromSql, toSql, SparseVector } from './utils/index.js'; -module.exports = {fromSql, toSql, SparseVector}; +export { fromSql, toSql, SparseVector }; + +export default { fromSql, toSql }; diff --git a/src/knex/index.js b/src/knex/index.js index 88db82d..7902684 100644 --- a/src/knex/index.js +++ b/src/knex/index.js @@ -1,5 +1,5 @@ -const knex = require('knex'); -const { fromSql, toSql, vectorType, halfvecType, sparsevecType } = require('../utils'); +import knex from 'knex'; +import { fromSql, toSql, vectorType, halfvecType, sparsevecType } from '../utils/index.js'; knex.SchemaBuilder.extend('enableExtension', function (name) { return this.raw('CREATE EXTENSION IF NOT EXISTS ??', [name]); @@ -44,4 +44,6 @@ knex.QueryBuilder.extend('jaccardDistance', function (column, value) { return this.client.raw('?? <%> ?', [column, value]); }); -module.exports = {fromSql, toSql}; +export { fromSql, toSql }; + +export default { fromSql, toSql }; diff --git a/src/kysely/index.js b/src/kysely/index.js index 036d27e..5c1aabb 100644 --- a/src/kysely/index.js +++ b/src/kysely/index.js @@ -1,37 +1,30 @@ -const { sql } = require('kysely'); -const { fromSql, toSql } = require('..'); +import { sql } from 'kysely'; +import { fromSql, toSql } from '../utils/index.js'; -function l2Distance(column, value) { +export function l2Distance(column, value) { return sql`${sql.ref(column)} <-> ${toSql(value)}`; } -function maxInnerProduct(column, value) { +export function maxInnerProduct(column, value) { return sql`${sql.ref(column)} <#> ${toSql(value)}`; } -function cosineDistance(column, value) { +export function cosineDistance(column, value) { return sql`${sql.ref(column)} <=> ${toSql(value)}`; } -function l1Distance(column, value) { +export function l1Distance(column, value) { return sql`${sql.ref(column)} <+> ${toSql(value)}`; } -function hammingDistance(column, value) { +export function hammingDistance(column, value) { return sql`${sql.ref(column)} <~> ${value}`; } -function jaccardDistance(column, value) { +export function jaccardDistance(column, value) { return sql`${sql.ref(column)} <%> ${value}`; } -module.exports = { - fromSql, - toSql, - l2Distance, - maxInnerProduct, - cosineDistance, - l1Distance, - hammingDistance, - jaccardDistance -}; +export { fromSql, toSql }; + +export default { fromSql, toSql }; diff --git a/src/mikro-orm/bit.js b/src/mikro-orm/bit.js index 2ef20e3..4e3e491 100644 --- a/src/mikro-orm/bit.js +++ b/src/mikro-orm/bit.js @@ -1,10 +1,8 @@ -const { Type } = require('@mikro-orm/core'); -const utils = require('../utils'); +import { Type } from '@mikro-orm/core'; +import { bitType } from '../utils/index.js'; -class BitType extends Type { +export class BitType extends Type { getColumnType(prop, platform) { - return utils.bitType(prop.length); + return bitType(prop.length); } } - -module.exports = {BitType}; diff --git a/src/mikro-orm/halfvec.js b/src/mikro-orm/halfvec.js index c654b7e..8321604 100644 --- a/src/mikro-orm/halfvec.js +++ b/src/mikro-orm/halfvec.js @@ -1,24 +1,22 @@ -const { Type } = require('@mikro-orm/core'); -const utils = require('../utils'); +import { Type } from '@mikro-orm/core'; +import { halfvecFromSql, halfvecToSql, halfvecType } from '../utils/index.js'; -class HalfvecType extends Type { +export class HalfvecType extends Type { convertToDatabaseValue(value, platform) { if (value === null) { return null; } - return utils.halfvecToSql(value); + return halfvecToSql(value); } convertToJSValue(value, platform) { if (value === null) { return null; } - return utils.halfvecFromSql(value); + return halfvecFromSql(value); } getColumnType(prop, platform) { - return utils.halfvecType(prop.dimensions); + return halfvecType(prop.dimensions); } } - -module.exports = {HalfvecType}; diff --git a/src/mikro-orm/index.js b/src/mikro-orm/index.js index 5d1e081..432fd79 100644 --- a/src/mikro-orm/index.js +++ b/src/mikro-orm/index.js @@ -1,9 +1,10 @@ -const { raw } = require('@mikro-orm/core'); -const { BitType } = require('./bit'); -const { HalfvecType } = require('./halfvec'); -const { SparsevecType } = require('./sparsevec'); -const { VectorType } = require('./vector'); -const { toSql } = require('../utils'); +import { raw } from '@mikro-orm/core'; +import { toSql } from '../utils/index.js'; + +export { BitType } from './bit.js'; +export { HalfvecType } from './halfvec.js'; +export { SparsevecType } from './sparsevec.js'; +export { VectorType } from './vector.js'; function distance(op, column, value, em, binary) { if (raw) { @@ -13,39 +14,26 @@ function distance(op, column, value, em, binary) { } } -function l2Distance(column, value, em) { +export function l2Distance(column, value, em) { return distance('<->', column, value, em); } -function maxInnerProduct(column, value, em) { +export function maxInnerProduct(column, value, em) { return distance('<#>', column, value, em); } -function cosineDistance(column, value, em) { +export function cosineDistance(column, value, em) { return distance('<=>', column, value, em); } -function l1Distance(column, value, em) { +export function l1Distance(column, value, em) { return distance('<+>', column, value, em); } -function hammingDistance(column, value, em) { +export function hammingDistance(column, value, em) { return distance('<~>', column, value, em, true); } -function jaccardDistance(column, value, em) { +export function jaccardDistance(column, value, em) { return distance('<%>', column, value, em, true); } - -module.exports = { - VectorType, - HalfvecType, - BitType, - SparsevecType, - l2Distance, - maxInnerProduct, - cosineDistance, - l1Distance, - hammingDistance, - jaccardDistance -}; diff --git a/src/mikro-orm/sparsevec.js b/src/mikro-orm/sparsevec.js index 7633aba..9f29243 100644 --- a/src/mikro-orm/sparsevec.js +++ b/src/mikro-orm/sparsevec.js @@ -1,24 +1,22 @@ -const { Type } = require('@mikro-orm/core'); -const utils = require('../utils'); +import { Type } from '@mikro-orm/core'; +import { sparsevecFromSql, sparsevecToSql, sparsevecType } from '../utils/index.js'; -class SparsevecType extends Type { +export class SparsevecType extends Type { convertToDatabaseValue(value, platform) { if (value === null) { return null; } - return utils.sparsevecToSql(value); + return sparsevecToSql(value); } convertToJSValue(value, platform) { if (value === null) { return null; } - return utils.sparsevecFromSql(value); + return sparsevecFromSql(value); } getColumnType(prop, platform) { - return utils.sparsevecType(prop.dimensions); + return sparsevecType(prop.dimensions); } } - -module.exports = {SparsevecType}; diff --git a/src/mikro-orm/vector.js b/src/mikro-orm/vector.js index ce60563..6ae172e 100644 --- a/src/mikro-orm/vector.js +++ b/src/mikro-orm/vector.js @@ -1,24 +1,22 @@ -const { Type } = require('@mikro-orm/core'); -const utils = require('../utils'); +import { Type } from '@mikro-orm/core'; +import { vectorFromSql, vectorToSql, vectorType } from '../utils/index.js'; -class VectorType extends Type { +export class VectorType extends Type { convertToDatabaseValue(value, platform) { if (value === null) { return null; } - return utils.vectorToSql(value); + return vectorToSql(value); } convertToJSValue(value, platform) { if (value === null) { return null; } - return utils.vectorFromSql(value); + return vectorFromSql(value); } getColumnType(prop, platform) { - return utils.vectorType(prop.dimensions); + return vectorType(prop.dimensions); } } - -module.exports = {VectorType}; diff --git a/src/objection/index.js b/src/objection/index.js index e0205a3..ceae913 100644 --- a/src/objection/index.js +++ b/src/objection/index.js @@ -1,37 +1,31 @@ -const { fromSql, toSql } = require('../knex'); -const { raw } = require('objection'); +import { fromSql, toSql } from '../utils/index.js'; +import { raw } from 'objection'; +import '../knex/index.js'; -function l2Distance(column, value) { +export function l2Distance(column, value) { return raw('?? <-> ?', [column, toSql(value)]); } -function maxInnerProduct(column, value) { +export function maxInnerProduct(column, value) { return raw('?? <#> ?', [column, toSql(value)]); } -function cosineDistance(column, value) { +export function cosineDistance(column, value) { return raw('?? <=> ?', [column, toSql(value)]); } -function l1Distance(column, value) { +export function l1Distance(column, value) { return raw('?? <+> ?', [column, toSql(value)]); } -function hammingDistance(column, value) { +export function hammingDistance(column, value) { return raw('?? <~> ?', [column, value]); } -function jaccardDistance(column, value) { +export function jaccardDistance(column, value) { return raw('?? <%> ?', [column, value]); } -module.exports = { - fromSql, - toSql, - l2Distance, - maxInnerProduct, - cosineDistance, - l1Distance, - hammingDistance, - jaccardDistance -}; +export { fromSql, toSql }; + +export default { fromSql, toSql }; diff --git a/src/pg-promise/index.js b/src/pg-promise/index.js index 4a40432..9436db5 100644 --- a/src/pg-promise/index.js +++ b/src/pg-promise/index.js @@ -1,3 +1 @@ -const { registerType, registerTypes, toSql } = require('../pg'); - -module.exports = {registerType, registerTypes, toSql}; +export { default } from '../pg/index.js'; diff --git a/src/pg/index.js b/src/pg/index.js index a7f78bc..982d7b7 100644 --- a/src/pg/index.js +++ b/src/pg/index.js @@ -1,5 +1,4 @@ -const utils = require('../utils'); -const { toSql } = require('../utils'); +import { toSql, vectorFromSql, halfvecFromSql, sparsevecFromSql } from '../utils/index.js'; async function registerTypes(client) { const result = await client.query('SELECT typname, oid FROM pg_type WHERE typname IN ($1, $2, $3)', ['vector', 'halfvec', 'sparsevec']); @@ -14,22 +13,24 @@ async function registerTypes(client) { } client.setTypeParser(vector.oid, 'text', function (value) { - return utils.vectorFromSql(value); + return vectorFromSql(value); }); if (halfvec) { client.setTypeParser(halfvec.oid, 'text', function (value) { - return utils.halfvecFromSql(value); + return halfvecFromSql(value); }); } if (sparsevec) { client.setTypeParser(sparsevec.oid, 'text', function (value) { - return utils.sparsevecFromSql(value); + return sparsevecFromSql(value); }); } } const registerType = registerTypes; -module.exports = {registerType, registerTypes, toSql}; +export { registerType, registerTypes, toSql }; + +export default { registerType, registerTypes, toSql }; diff --git a/src/sequelize/halfvec.js b/src/sequelize/halfvec.js index ded4470..2d96003 100644 --- a/src/sequelize/halfvec.js +++ b/src/sequelize/halfvec.js @@ -1,7 +1,7 @@ -const util = require('node:util'); -const utils = require('../utils'); +import util from 'node:util'; +import { halfvecType, halfvecToSql, halfvecFromSql } from '../utils/index.js'; -function registerHalfvec(Sequelize) { +export function registerHalfvec(Sequelize) { const DataTypes = Sequelize.DataTypes; const PgTypes = DataTypes.postgres; const ABSTRACT = DataTypes.ABSTRACT.prototype.constructor; @@ -13,15 +13,15 @@ function registerHalfvec(Sequelize) { } toSql() { - return utils.halfvecType(this._dimensions).toUpperCase(); + return halfvecType(this._dimensions).toUpperCase(); } _stringify(value) { - return utils.halfvecToSql(value); + return halfvecToSql(value); } static parse(value) { - return utils.halfvecFromSql(value); + return halfvecFromSql(value); } } @@ -44,5 +44,3 @@ function registerHalfvec(Sequelize) { // for migrations Sequelize.HALFVEC ??= DataTypes.HALFVEC; } - -module.exports = {registerHalfvec}; diff --git a/src/sequelize/index.js b/src/sequelize/index.js index 499a70e..019232c 100644 --- a/src/sequelize/index.js +++ b/src/sequelize/index.js @@ -1,8 +1,8 @@ -const { toSql } = require('../utils'); -const { Utils } = require('sequelize'); -const { registerHalfvec } = require('./halfvec'); -const { registerSparsevec } = require('./sparsevec'); -const { registerVector } = require('./vector'); +import { toSql } from '../utils/index.js'; +import { Utils } from 'sequelize'; +import { registerHalfvec } from './halfvec.js'; +import { registerSparsevec } from './sparsevec.js'; +import { registerVector } from './vector.js'; function registerTypes(Sequelize) { registerVector(Sequelize); @@ -16,39 +16,32 @@ function distance(op, column, value, sequelize, binary) { return sequelize.literal(`${quotedColumn} ${op} ${escapedValue}`); } -function l2Distance(column, value, sequelize) { +export function l2Distance(column, value, sequelize) { return distance('<->', column, value, sequelize); } -function maxInnerProduct(column, value, sequelize) { +export function maxInnerProduct(column, value, sequelize) { return distance('<#>', column, value, sequelize); } -function cosineDistance(column, value, sequelize) { +export function cosineDistance(column, value, sequelize) { return distance('<=>', column, value, sequelize); } -function l1Distance(column, value, sequelize) { +export function l1Distance(column, value, sequelize) { return distance('<+>', column, value, sequelize); } -function hammingDistance(column, value, sequelize) { +export function hammingDistance(column, value, sequelize) { return distance('<~>', column, value, sequelize, true); } -function jaccardDistance(column, value, sequelize) { +export function jaccardDistance(column, value, sequelize) { return distance('<%>', column, value, sequelize, true); } const registerType = registerTypes; -module.exports = { - registerType, - registerTypes, - l2Distance, - maxInnerProduct, - cosineDistance, - l1Distance, - hammingDistance, - jaccardDistance -}; +export { registerType, registerTypes }; + +export default { registerType, registerTypes }; diff --git a/src/sequelize/sparsevec.js b/src/sequelize/sparsevec.js index bb4448e..babd3cd 100644 --- a/src/sequelize/sparsevec.js +++ b/src/sequelize/sparsevec.js @@ -1,7 +1,7 @@ -const util = require('node:util'); -const utils = require('../utils'); +import util from 'node:util'; +import { sparsevecType, sparsevecToSql, sparsevecFromSql } from '../utils/index.js'; -function registerSparsevec(Sequelize) { +export function registerSparsevec(Sequelize) { const DataTypes = Sequelize.DataTypes; const PgTypes = DataTypes.postgres; const ABSTRACT = DataTypes.ABSTRACT.prototype.constructor; @@ -13,15 +13,15 @@ function registerSparsevec(Sequelize) { } toSql() { - return utils.sparsevecType(this._dimensions).toUpperCase(); + return sparsevecType(this._dimensions).toUpperCase(); } _stringify(value) { - return utils.sparsevecToSql(value); + return sparsevecToSql(value); } static parse(value) { - return utils.sparsevecFromSql(value); + return sparsevecFromSql(value); } } @@ -44,5 +44,3 @@ function registerSparsevec(Sequelize) { // for migrations Sequelize.SPARSEVEC ??= DataTypes.SPARSEVEC; } - -module.exports = {registerSparsevec}; diff --git a/src/sequelize/vector.js b/src/sequelize/vector.js index 93bc68b..221d663 100644 --- a/src/sequelize/vector.js +++ b/src/sequelize/vector.js @@ -1,7 +1,7 @@ -const util = require('node:util'); -const utils = require('../utils'); +import util from 'node:util'; +import { vectorType, vectorToSql, vectorFromSql } from '../utils/index.js'; -function registerVector(Sequelize) { +export function registerVector(Sequelize) { const DataTypes = Sequelize.DataTypes; const PgTypes = DataTypes.postgres; const ABSTRACT = DataTypes.ABSTRACT.prototype.constructor; @@ -13,15 +13,15 @@ function registerVector(Sequelize) { } toSql() { - return utils.vectorType(this._dimensions).toUpperCase(); + return vectorType(this._dimensions).toUpperCase(); } _stringify(value) { - return utils.vectorToSql(value); + return vectorToSql(value); } static parse(value) { - return utils.vectorFromSql(value); + return vectorFromSql(value); } } @@ -44,5 +44,3 @@ function registerVector(Sequelize) { // for migrations Sequelize.VECTOR ??= DataTypes.VECTOR; } - -module.exports = {registerVector}; diff --git a/src/utils/index.js b/src/utils/index.js index cbee2f5..b525f02 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -1,38 +1,40 @@ -const util = require('node:util'); -const { SparseVector } = require('./sparse-vector'); +import util from 'node:util'; +import { SparseVector } from './sparse-vector.js'; -function vectorFromSql(value) { +export { SparseVector } from './sparse-vector.js'; + +export function vectorFromSql(value) { if (value === null) { return null; } return value.substring(1, value.length - 1).split(',').map((v) => parseFloat(v)); } -function vectorToSql(value) { +export function vectorToSql(value) { if (Array.isArray(value)) { return JSON.stringify(value.map((v) => Number(v))); } return value; } -const halfvecFromSql = vectorFromSql; -const halfvecToSql = vectorToSql; +export { vectorFromSql as halfvecFromSql }; +export { vectorToSql as halfvecToSql }; -function sparsevecFromSql(value) { +export function sparsevecFromSql(value) { if (value === null) { return null; } return new SparseVector(value); } -function sparsevecToSql(value) { +export function sparsevecToSql(value) { if (value instanceof SparseVector) { return value.toPostgres(); } return value; } -function fromSql(value) { +export function fromSql(value) { if (value === null) { return null; } else if (value[0] == '[') { @@ -44,7 +46,7 @@ function fromSql(value) { } } -function toSql(value) { +export function toSql(value) { if (value === null) { return null; } else if (Array.isArray(value)) { @@ -68,38 +70,23 @@ function typeWithDimensions(name, dimensions) { return util.format('%s(%d)', name, dimensions); } -function vectorType(dimensions) { +export function vectorType(dimensions) { return typeWithDimensions('vector', dimensions); } -function halfvecType(dimensions) { +export function halfvecType(dimensions) { return typeWithDimensions('halfvec', dimensions); } -function bitType(dimensions) { +export function bitType(dimensions) { return typeWithDimensions('bit', dimensions); } -function sparsevecType(dimensions) { +export function sparsevecType(dimensions) { return typeWithDimensions('sparsevec', dimensions); } // for backwards compatibility -const sqlType = vectorType; - -module.exports = { - fromSql, - toSql, - vectorFromSql, - vectorToSql, - halfvecFromSql, - halfvecToSql, - sparsevecFromSql, - sparsevecToSql, - sqlType, - vectorType, - halfvecType, - bitType, - sparsevecType, - SparseVector -}; +export const sqlType = vectorType; + +export default { fromSql, toSql, sqlType }; diff --git a/src/utils/sparse-vector.js b/src/utils/sparse-vector.js index 570fa72..d37d1bb 100644 --- a/src/utils/sparse-vector.js +++ b/src/utils/sparse-vector.js @@ -1,6 +1,6 @@ -const util = require('node:util'); +import util from 'node:util'; -class SparseVector { +export class SparseVector { constructor(value, dimensions) { if (typeof value === 'string') { this.#fromSql(value); @@ -73,5 +73,3 @@ class SparseVector { } } } - -module.exports = {SparseVector}; diff --git a/tests/drizzle-orm.test.mjs b/tests/drizzle-orm.test.js similarity index 100% rename from tests/drizzle-orm.test.mjs rename to tests/drizzle-orm.test.js diff --git a/tests/knex.test.mjs b/tests/knex.test.js similarity index 100% rename from tests/knex.test.mjs rename to tests/knex.test.js diff --git a/tests/kysely.test.mjs b/tests/kysely.test.js similarity index 100% rename from tests/kysely.test.mjs rename to tests/kysely.test.js diff --git a/tests/mikro-orm.test.mjs b/tests/mikro-orm.test.js similarity index 100% rename from tests/mikro-orm.test.mjs rename to tests/mikro-orm.test.js diff --git a/tests/objection.test.mjs b/tests/objection.test.js similarity index 100% rename from tests/objection.test.mjs rename to tests/objection.test.js diff --git a/tests/pg-promise.test.mjs b/tests/pg-promise.test.js similarity index 100% rename from tests/pg-promise.test.mjs rename to tests/pg-promise.test.js diff --git a/tests/pg.test.mjs b/tests/pg.test.js similarity index 100% rename from tests/pg.test.mjs rename to tests/pg.test.js diff --git a/tests/postgres.test.mjs b/tests/postgres.test.js similarity index 100% rename from tests/postgres.test.mjs rename to tests/postgres.test.js diff --git a/tests/prisma.test.mjs b/tests/prisma.test.js similarity index 100% rename from tests/prisma.test.mjs rename to tests/prisma.test.js diff --git a/tests/sequelize.test.mjs b/tests/sequelize.test.js similarity index 100% rename from tests/sequelize.test.mjs rename to tests/sequelize.test.js diff --git a/tests/slonik.test.mjs b/tests/slonik.test.js similarity index 100% rename from tests/slonik.test.mjs rename to tests/slonik.test.js diff --git a/tests/sparse-vector.test.mjs b/tests/sparse-vector.test.js similarity index 100% rename from tests/sparse-vector.test.mjs rename to tests/sparse-vector.test.js diff --git a/tests/typeorm.test.mjs b/tests/typeorm.test.js similarity index 100% rename from tests/typeorm.test.mjs rename to tests/typeorm.test.js diff --git a/tests/utils.test.mjs b/tests/utils.test.js similarity index 100% rename from tests/utils.test.mjs rename to tests/utils.test.js diff --git a/types/index.d.ts b/types/index.d.ts index 6975fb0..f97eb38 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,4 +1,9 @@ -import { fromSql } from "./utils"; -import { toSql } from "./utils"; -import { SparseVector } from "./utils"; +declare namespace _default { + export { fromSql }; + export { toSql }; +} +export default _default; +import { fromSql } from './utils/index.js'; +import { toSql } from './utils/index.js'; +import { SparseVector } from './utils/index.js'; export { fromSql, toSql, SparseVector }; diff --git a/types/knex/index.d.ts b/types/knex/index.d.ts index 5e00b5a..aa95e69 100644 --- a/types/knex/index.d.ts +++ b/types/knex/index.d.ts @@ -1,3 +1,8 @@ -import { fromSql } from "../utils"; -import { toSql } from "../utils"; +declare namespace _default { + export { fromSql }; + export { toSql }; +} +export default _default; +import { fromSql } from '../utils/index.js'; +import { toSql } from '../utils/index.js'; export { fromSql, toSql }; diff --git a/types/kysely/index.d.ts b/types/kysely/index.d.ts index c0f1a75..f29f408 100644 --- a/types/kysely/index.d.ts +++ b/types/kysely/index.d.ts @@ -1,9 +1,14 @@ -import { fromSql } from ".."; -import { toSql } from ".."; export function l2Distance(column: any, value: any): import("kysely").RawBuilder; export function maxInnerProduct(column: any, value: any): import("kysely").RawBuilder; export function cosineDistance(column: any, value: any): import("kysely").RawBuilder; export function l1Distance(column: any, value: any): import("kysely").RawBuilder; export function hammingDistance(column: any, value: any): import("kysely").RawBuilder; export function jaccardDistance(column: any, value: any): import("kysely").RawBuilder; +declare namespace _default { + export { fromSql }; + export { toSql }; +} +export default _default; +import { fromSql } from '../utils/index.js'; +import { toSql } from '../utils/index.js'; export { fromSql, toSql }; diff --git a/types/mikro-orm/bit.d.ts b/types/mikro-orm/bit.d.ts index 7f2dfd8..2764692 100644 --- a/types/mikro-orm/bit.d.ts +++ b/types/mikro-orm/bit.d.ts @@ -2,4 +2,4 @@ export class BitType extends Type { constructor(); getColumnType(prop: any, platform: any): any; } -import { Type } from "@mikro-orm/core/types"; +import { Type } from '@mikro-orm/core'; diff --git a/types/mikro-orm/halfvec.d.ts b/types/mikro-orm/halfvec.d.ts index 61bc957..c523c60 100644 --- a/types/mikro-orm/halfvec.d.ts +++ b/types/mikro-orm/halfvec.d.ts @@ -4,4 +4,4 @@ export class HalfvecType extends Type { convertToJSValue(value: any, platform: any): any; getColumnType(prop: any, platform: any): any; } -import { Type } from "@mikro-orm/core/types"; +import { Type } from '@mikro-orm/core'; diff --git a/types/mikro-orm/index.d.ts b/types/mikro-orm/index.d.ts index ae14f9c..178b920 100644 --- a/types/mikro-orm/index.d.ts +++ b/types/mikro-orm/index.d.ts @@ -1,11 +1,10 @@ -import { VectorType } from "./vector"; -import { HalfvecType } from "./halfvec"; -import { BitType } from "./bit"; -import { SparsevecType } from "./sparsevec"; export function l2Distance(column: any, value: any, em: any): any; export function maxInnerProduct(column: any, value: any, em: any): any; export function cosineDistance(column: any, value: any, em: any): any; export function l1Distance(column: any, value: any, em: any): any; export function hammingDistance(column: any, value: any, em: any): any; export function jaccardDistance(column: any, value: any, em: any): any; -export { VectorType, HalfvecType, BitType, SparsevecType }; +export { BitType } from "./bit.js"; +export { HalfvecType } from "./halfvec.js"; +export { SparsevecType } from "./sparsevec.js"; +export { VectorType } from "./vector.js"; diff --git a/types/mikro-orm/sparsevec.d.ts b/types/mikro-orm/sparsevec.d.ts index 33cb2c1..d5378b4 100644 --- a/types/mikro-orm/sparsevec.d.ts +++ b/types/mikro-orm/sparsevec.d.ts @@ -1,8 +1,7 @@ export class SparsevecType extends Type { constructor(); convertToDatabaseValue(value: any, platform: any): any; - convertToJSValue(value: any, platform: any): utils.SparseVector; + convertToJSValue(value: any, platform: any): import("../utils/sparse-vector.js").SparseVector; getColumnType(prop: any, platform: any): any; } -import { Type } from "@mikro-orm/core/types"; -import utils = require("../utils"); +import { Type } from '@mikro-orm/core'; diff --git a/types/mikro-orm/vector.d.ts b/types/mikro-orm/vector.d.ts index 036d533..31ae47c 100644 --- a/types/mikro-orm/vector.d.ts +++ b/types/mikro-orm/vector.d.ts @@ -4,4 +4,4 @@ export class VectorType extends Type { convertToJSValue(value: any, platform: any): any; getColumnType(prop: any, platform: any): any; } -import { Type } from "@mikro-orm/core/types"; +import { Type } from '@mikro-orm/core'; diff --git a/types/objection/index.d.ts b/types/objection/index.d.ts index 5a5a848..e399c17 100644 --- a/types/objection/index.d.ts +++ b/types/objection/index.d.ts @@ -1,9 +1,14 @@ -import { fromSql } from "../knex"; -import { toSql } from "../knex"; export function l2Distance(column: any, value: any): import("objection").RawBuilder; export function maxInnerProduct(column: any, value: any): import("objection").RawBuilder; export function cosineDistance(column: any, value: any): import("objection").RawBuilder; export function l1Distance(column: any, value: any): import("objection").RawBuilder; export function hammingDistance(column: any, value: any): import("objection").RawBuilder; export function jaccardDistance(column: any, value: any): import("objection").RawBuilder; +declare namespace _default { + export { fromSql }; + export { toSql }; +} +export default _default; +import { fromSql } from '../utils/index.js'; +import { toSql } from '../utils/index.js'; export { fromSql, toSql }; diff --git a/types/pg-promise/index.d.ts b/types/pg-promise/index.d.ts index ec4eb33..1f391e1 100644 --- a/types/pg-promise/index.d.ts +++ b/types/pg-promise/index.d.ts @@ -1,4 +1 @@ -import { registerType } from "../pg"; -import { registerTypes } from "../pg"; -import { toSql } from "../pg"; -export { registerType, registerTypes, toSql }; +export { default } from "../pg/index.js"; diff --git a/types/pg/index.d.ts b/types/pg/index.d.ts index cffdb62..58e1581 100644 --- a/types/pg/index.d.ts +++ b/types/pg/index.d.ts @@ -1,4 +1,10 @@ +declare namespace _default { + export { registerType }; + export { registerTypes }; + export { toSql }; +} +export default _default; export function registerType(client: any): Promise; export function registerTypes(client: any): Promise; -import { toSql } from "../utils"; +import { toSql } from '../utils/index.js'; export { toSql }; diff --git a/types/sequelize/index.d.ts b/types/sequelize/index.d.ts index 38107a9..7b0ec47 100644 --- a/types/sequelize/index.d.ts +++ b/types/sequelize/index.d.ts @@ -1,8 +1,13 @@ -export function registerType(Sequelize: any): void; -export function registerTypes(Sequelize: any): void; export function l2Distance(column: any, value: any, sequelize: any): any; export function maxInnerProduct(column: any, value: any, sequelize: any): any; export function cosineDistance(column: any, value: any, sequelize: any): any; export function l1Distance(column: any, value: any, sequelize: any): any; export function hammingDistance(column: any, value: any, sequelize: any): any; export function jaccardDistance(column: any, value: any, sequelize: any): any; +declare namespace _default { + export { registerType }; + export { registerTypes }; +} +export default _default; +export function registerType(Sequelize: any): void; +export function registerTypes(Sequelize: any): void; diff --git a/types/utils/index.d.ts b/types/utils/index.d.ts index 4d610ad..d1f3751 100644 --- a/types/utils/index.d.ts +++ b/types/utils/index.d.ts @@ -1,15 +1,20 @@ -export function fromSql(value: any): any; -export function toSql(value: any): any; export function vectorFromSql(value: any): any; export function vectorToSql(value: any): any; -export function halfvecFromSql(value: any): any; -export function halfvecToSql(value: any): any; export function sparsevecFromSql(value: any): SparseVector; export function sparsevecToSql(value: any): any; -export function sqlType(dimensions: any): any; +export function fromSql(value: any): any; +export function toSql(value: any): any; export function vectorType(dimensions: any): any; export function halfvecType(dimensions: any): any; export function bitType(dimensions: any): any; export function sparsevecType(dimensions: any): any; -import { SparseVector } from "./sparse-vector"; -export { SparseVector }; +export { SparseVector } from "./sparse-vector.js"; +export function sqlType(dimensions: any): any; +declare namespace _default { + export { fromSql }; + export { toSql }; + export { sqlType }; +} +export default _default; +import { SparseVector } from './sparse-vector.js'; +export { vectorFromSql as halfvecFromSql, vectorToSql as halfvecToSql };