drizzle-orm 0.30.10 → 0.31.0-c7963ca
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +5 -1
- package/column-builder.d.ts +5 -1
- package/column-builder.js.map +1 -1
- package/mysql-core/table.cjs +1 -0
- package/mysql-core/table.cjs.map +1 -1
- package/mysql-core/table.js +1 -0
- package/mysql-core/table.js.map +1 -1
- package/mysql-core/utils.d.cts +1 -1
- package/mysql-core/utils.d.ts +1 -1
- package/package.json +61 -1
- package/pg-core/columns/common.cjs +84 -0
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.d.cts +53 -0
- package/pg-core/columns/common.d.ts +53 -0
- package/pg-core/columns/common.js +82 -0
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/columns/index.cjs +9 -1
- package/pg-core/columns/index.cjs.map +1 -1
- package/pg-core/columns/index.d.cts +4 -0
- package/pg-core/columns/index.d.ts +4 -0
- package/pg-core/columns/index.js +4 -0
- package/pg-core/columns/index.js.map +1 -1
- package/pg-core/columns/vector_extension/bit.cjs +58 -0
- package/pg-core/columns/vector_extension/bit.cjs.map +1 -0
- package/pg-core/columns/vector_extension/bit.d.cts +29 -0
- package/pg-core/columns/vector_extension/bit.d.ts +29 -0
- package/pg-core/columns/vector_extension/bit.js +32 -0
- package/pg-core/columns/vector_extension/bit.js.map +1 -0
- package/pg-core/columns/vector_extension/halfvec.cjs +64 -0
- package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -0
- package/pg-core/columns/vector_extension/halfvec.d.cts +31 -0
- package/pg-core/columns/vector_extension/halfvec.d.ts +31 -0
- package/pg-core/columns/vector_extension/halfvec.js +38 -0
- package/pg-core/columns/vector_extension/halfvec.js.map +1 -0
- package/pg-core/columns/vector_extension/sparsevec.cjs +58 -0
- package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -0
- package/pg-core/columns/vector_extension/sparsevec.d.cts +29 -0
- package/pg-core/columns/vector_extension/sparsevec.d.ts +29 -0
- package/pg-core/columns/vector_extension/sparsevec.js +32 -0
- package/pg-core/columns/vector_extension/sparsevec.js.map +1 -0
- package/pg-core/columns/vector_extension/vector.cjs +61 -0
- package/pg-core/columns/vector_extension/vector.cjs.map +1 -0
- package/pg-core/columns/vector_extension/vector.d.cts +31 -0
- package/pg-core/columns/vector_extension/vector.d.ts +31 -0
- package/pg-core/columns/vector_extension/vector.js +35 -0
- package/pg-core/columns/vector_extension/vector.js.map +1 -0
- package/pg-core/dialect.cjs +3 -2
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +1 -1
- package/pg-core/dialect.d.ts +1 -1
- package/pg-core/dialect.js +3 -2
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/indexes.cjs +63 -22
- package/pg-core/indexes.cjs.map +1 -1
- package/pg-core/indexes.d.cts +29 -22
- package/pg-core/indexes.d.ts +29 -22
- package/pg-core/indexes.js +64 -23
- package/pg-core/indexes.js.map +1 -1
- package/pg-core/table.cjs +8 -0
- package/pg-core/table.cjs.map +1 -1
- package/pg-core/table.d.cts +2 -2
- package/pg-core/table.d.ts +2 -2
- package/pg-core/table.js +8 -0
- package/pg-core/table.js.map +1 -1
- package/pg-core/utils.cjs +1 -1
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +1 -1
- package/pg-core/utils.d.ts +1 -1
- package/pg-core/utils.js +1 -1
- package/pg-core/utils.js.map +1 -1
- package/relations.cjs +1 -1
- package/relations.cjs.map +1 -1
- package/relations.js +1 -1
- package/relations.js.map +1 -1
- package/sql/functions/index.cjs +3 -1
- package/sql/functions/index.cjs.map +1 -1
- package/sql/functions/index.d.cts +1 -0
- package/sql/functions/index.d.ts +1 -0
- package/sql/functions/index.js +1 -0
- package/sql/functions/index.js.map +1 -1
- package/sql/functions/vector.cjs +80 -0
- package/sql/functions/vector.cjs.map +1 -0
- package/sql/functions/vector.d.cts +120 -0
- package/sql/functions/vector.d.ts +120 -0
- package/sql/functions/vector.js +51 -0
- package/sql/functions/vector.js.map +1 -0
- package/sql/sql.cjs +3 -0
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +1 -0
- package/sql/sql.d.ts +1 -0
- package/sql/sql.js +3 -0
- package/sql/sql.js.map +1 -1
- package/sqlite-core/table.cjs +1 -0
- package/sqlite-core/table.cjs.map +1 -1
- package/sqlite-core/table.js +1 -0
- package/sqlite-core/table.js.map +1 -1
- package/sqlite-core/utils.d.cts +1 -1
- package/sqlite-core/utils.d.ts +1 -1
- package/table.cjs +6 -0
- package/table.cjs.map +1 -1
- package/table.js +5 -0
- package/table.js.map +1 -1
- package/version.cjs +2 -2
- package/version.cjs.map +1 -1
- package/version.d.cts +2 -2
- package/version.d.ts +2 -2
- package/version.js +2 -2
- package/version.js.map +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { entityKind } from "../../../entity.js";
|
|
2
|
+
import { PgColumn, PgColumnBuilder } from "../common.js";
|
|
3
|
+
class PgHalfVectorBuilder extends PgColumnBuilder {
|
|
4
|
+
static [entityKind] = "PgHalfVectorBuilder";
|
|
5
|
+
constructor(name, config) {
|
|
6
|
+
super(name, "array", "PgHalfVector");
|
|
7
|
+
this.config.dimensions = config.dimensions;
|
|
8
|
+
}
|
|
9
|
+
/** @internal */
|
|
10
|
+
build(table) {
|
|
11
|
+
return new PgHalfVector(
|
|
12
|
+
table,
|
|
13
|
+
this.config
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
class PgHalfVector extends PgColumn {
|
|
18
|
+
static [entityKind] = "PgHalfVector";
|
|
19
|
+
dimensions = this.config.dimensions;
|
|
20
|
+
getSQLType() {
|
|
21
|
+
return `halfvec(${this.dimensions})`;
|
|
22
|
+
}
|
|
23
|
+
mapToDriverValue(value) {
|
|
24
|
+
return JSON.stringify(value);
|
|
25
|
+
}
|
|
26
|
+
mapFromDriverValue(value) {
|
|
27
|
+
return value.slice(1, -1).split(",").map((v) => Number.parseFloat(v));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function halfvec(name, config) {
|
|
31
|
+
return new PgHalfVectorBuilder(name, config);
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
PgHalfVector,
|
|
35
|
+
PgHalfVectorBuilder,
|
|
36
|
+
halfvec
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=halfvec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/pg-core/columns/vector_extension/halfvec.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from '../common.ts';\n\nexport type PgHalfVectorBuilderInitial<TName extends string> = PgHalfVectorBuilder<{\n\tname: TName;\n\tdataType: 'array';\n\tcolumnType: 'PgHalfVector';\n\tdata: number[];\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgHalfVectorBuilder<T extends ColumnBuilderBaseConfig<'array', 'PgHalfVector'>> extends PgColumnBuilder<\n\tT,\n\t{ dimensions: number | undefined }\n> {\n\tstatic readonly [entityKind]: string = 'PgHalfVectorBuilder';\n\n\tconstructor(name: string, config: PgHalfVectorConfig) {\n\t\tsuper(name, 'array', 'PgHalfVector');\n\t\tthis.config.dimensions = config.dimensions;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgHalfVector<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgHalfVector<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgHalfVector<T extends ColumnBaseConfig<'array', 'PgHalfVector'>>\n\textends PgColumn<T, { dimensions: number | undefined }>\n{\n\tstatic readonly [entityKind]: string = 'PgHalfVector';\n\n\treadonly dimensions = this.config.dimensions;\n\n\tgetSQLType(): string {\n\t\treturn `halfvec(${this.dimensions})`;\n\t}\n\n\toverride mapToDriverValue(value: unknown): unknown {\n\t\treturn JSON.stringify(value);\n\t}\n\n\toverride mapFromDriverValue(value: string): unknown {\n\t\treturn value\n\t\t\t.slice(1, -1)\n\t\t\t.split(',')\n\t\t\t.map((v) => Number.parseFloat(v));\n\t}\n}\n\nexport interface PgHalfVectorConfig {\n\tdimensions: number;\n}\n\nexport function halfvec<TName extends string>(\n\tname: TName,\n\tconfig: PgHalfVectorConfig,\n): PgHalfVectorBuilderInitial<TName> {\n\treturn new PgHalfVectorBuilder(name, config);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAWnC,MAAM,4BAAwF,gBAGnG;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc,QAA4B;AACrD,UAAM,MAAM,SAAS,cAAc;AACnC,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,SACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAElC,aAAqB;AACpB,WAAO,WAAW,KAAK,UAAU;AAAA,EAClC;AAAA,EAES,iBAAiB,OAAyB;AAClD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AAAA,EAES,mBAAmB,OAAwB;AACnD,WAAO,MACL,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EACT,IAAI,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAAA,EAClC;AACD;AAMO,SAAS,QACf,MACA,QACoC;AACpC,SAAO,IAAI,oBAAoB,MAAM,MAAM;AAC5C;","names":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var sparsevec_exports = {};
|
|
20
|
+
__export(sparsevec_exports, {
|
|
21
|
+
PgSparseVector: () => PgSparseVector,
|
|
22
|
+
PgSparseVectorBuilder: () => PgSparseVectorBuilder,
|
|
23
|
+
sparsevec: () => sparsevec
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(sparsevec_exports);
|
|
26
|
+
var import_entity = require("../../../entity.cjs");
|
|
27
|
+
var import_common = require("../common.cjs");
|
|
28
|
+
class PgSparseVectorBuilder extends import_common.PgColumnBuilder {
|
|
29
|
+
static [import_entity.entityKind] = "PgSparseVectorBuilder";
|
|
30
|
+
constructor(name, config) {
|
|
31
|
+
super(name, "string", "PgSparseVector");
|
|
32
|
+
this.config.dimensions = config.dimensions;
|
|
33
|
+
}
|
|
34
|
+
/** @internal */
|
|
35
|
+
build(table) {
|
|
36
|
+
return new PgSparseVector(
|
|
37
|
+
table,
|
|
38
|
+
this.config
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
class PgSparseVector extends import_common.PgColumn {
|
|
43
|
+
static [import_entity.entityKind] = "PgSparseVector";
|
|
44
|
+
dimensions = this.config.dimensions;
|
|
45
|
+
getSQLType() {
|
|
46
|
+
return `sparsevec(${this.dimensions})`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function sparsevec(name, config) {
|
|
50
|
+
return new PgSparseVectorBuilder(name, config);
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
PgSparseVector,
|
|
55
|
+
PgSparseVectorBuilder,
|
|
56
|
+
sparsevec
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=sparsevec.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/pg-core/columns/vector_extension/sparsevec.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from '../common.ts';\n\nexport type PgSparseVectorBuilderInitial<TName extends string> = PgSparseVectorBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgSparseVector';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgSparseVectorBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgSparseVector'>>\n\textends PgColumnBuilder<\n\t\tT,\n\t\t{ dimensions: number | undefined }\n\t>\n{\n\tstatic readonly [entityKind]: string = 'PgSparseVectorBuilder';\n\n\tconstructor(name: string, config: PgSparseVectorConfig) {\n\t\tsuper(name, 'string', 'PgSparseVector');\n\t\tthis.config.dimensions = config.dimensions;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgSparseVector<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgSparseVector<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgSparseVector<T extends ColumnBaseConfig<'string', 'PgSparseVector'>>\n\textends PgColumn<T, { dimensions: number | undefined }>\n{\n\tstatic readonly [entityKind]: string = 'PgSparseVector';\n\n\treadonly dimensions = this.config.dimensions;\n\n\tgetSQLType(): string {\n\t\treturn `sparsevec(${this.dimensions})`;\n\t}\n}\n\nexport interface PgSparseVectorConfig {\n\tdimensions: number;\n}\n\nexport function sparsevec<TName extends string>(\n\tname: TName,\n\tconfig: PgSparseVectorConfig,\n): PgSparseVectorBuilderInitial<TName> {\n\treturn new PgSparseVectorBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAA0C;AAWnC,MAAM,8BACJ,8BAIT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAc,QAA8B;AACvD,UAAM,MAAM,UAAU,gBAAgB;AACtC,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,uBACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAElC,aAAqB;AACpB,WAAO,aAAa,KAAK,UAAU;AAAA,EACpC;AACD;AAMO,SAAS,UACf,MACA,QACsC;AACtC,SAAO,IAAI,sBAAsB,MAAM,MAAM;AAC9C;","names":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from "../../../column-builder.cjs";
|
|
2
|
+
import type { ColumnBaseConfig } from "../../../column.cjs";
|
|
3
|
+
import { entityKind } from "../../../entity.cjs";
|
|
4
|
+
import { PgColumn, PgColumnBuilder } from "../common.cjs";
|
|
5
|
+
export type PgSparseVectorBuilderInitial<TName extends string> = PgSparseVectorBuilder<{
|
|
6
|
+
name: TName;
|
|
7
|
+
dataType: 'string';
|
|
8
|
+
columnType: 'PgSparseVector';
|
|
9
|
+
data: string;
|
|
10
|
+
driverParam: string;
|
|
11
|
+
enumValues: undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare class PgSparseVectorBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgSparseVector'>> extends PgColumnBuilder<T, {
|
|
14
|
+
dimensions: number | undefined;
|
|
15
|
+
}> {
|
|
16
|
+
static readonly [entityKind]: string;
|
|
17
|
+
constructor(name: string, config: PgSparseVectorConfig);
|
|
18
|
+
}
|
|
19
|
+
export declare class PgSparseVector<T extends ColumnBaseConfig<'string', 'PgSparseVector'>> extends PgColumn<T, {
|
|
20
|
+
dimensions: number | undefined;
|
|
21
|
+
}> {
|
|
22
|
+
static readonly [entityKind]: string;
|
|
23
|
+
readonly dimensions: number | undefined;
|
|
24
|
+
getSQLType(): string;
|
|
25
|
+
}
|
|
26
|
+
export interface PgSparseVectorConfig {
|
|
27
|
+
dimensions: number;
|
|
28
|
+
}
|
|
29
|
+
export declare function sparsevec<TName extends string>(name: TName, config: PgSparseVectorConfig): PgSparseVectorBuilderInitial<TName>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from "../../../column-builder.js";
|
|
2
|
+
import type { ColumnBaseConfig } from "../../../column.js";
|
|
3
|
+
import { entityKind } from "../../../entity.js";
|
|
4
|
+
import { PgColumn, PgColumnBuilder } from "../common.js";
|
|
5
|
+
export type PgSparseVectorBuilderInitial<TName extends string> = PgSparseVectorBuilder<{
|
|
6
|
+
name: TName;
|
|
7
|
+
dataType: 'string';
|
|
8
|
+
columnType: 'PgSparseVector';
|
|
9
|
+
data: string;
|
|
10
|
+
driverParam: string;
|
|
11
|
+
enumValues: undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare class PgSparseVectorBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgSparseVector'>> extends PgColumnBuilder<T, {
|
|
14
|
+
dimensions: number | undefined;
|
|
15
|
+
}> {
|
|
16
|
+
static readonly [entityKind]: string;
|
|
17
|
+
constructor(name: string, config: PgSparseVectorConfig);
|
|
18
|
+
}
|
|
19
|
+
export declare class PgSparseVector<T extends ColumnBaseConfig<'string', 'PgSparseVector'>> extends PgColumn<T, {
|
|
20
|
+
dimensions: number | undefined;
|
|
21
|
+
}> {
|
|
22
|
+
static readonly [entityKind]: string;
|
|
23
|
+
readonly dimensions: number | undefined;
|
|
24
|
+
getSQLType(): string;
|
|
25
|
+
}
|
|
26
|
+
export interface PgSparseVectorConfig {
|
|
27
|
+
dimensions: number;
|
|
28
|
+
}
|
|
29
|
+
export declare function sparsevec<TName extends string>(name: TName, config: PgSparseVectorConfig): PgSparseVectorBuilderInitial<TName>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { entityKind } from "../../../entity.js";
|
|
2
|
+
import { PgColumn, PgColumnBuilder } from "../common.js";
|
|
3
|
+
class PgSparseVectorBuilder extends PgColumnBuilder {
|
|
4
|
+
static [entityKind] = "PgSparseVectorBuilder";
|
|
5
|
+
constructor(name, config) {
|
|
6
|
+
super(name, "string", "PgSparseVector");
|
|
7
|
+
this.config.dimensions = config.dimensions;
|
|
8
|
+
}
|
|
9
|
+
/** @internal */
|
|
10
|
+
build(table) {
|
|
11
|
+
return new PgSparseVector(
|
|
12
|
+
table,
|
|
13
|
+
this.config
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
class PgSparseVector extends PgColumn {
|
|
18
|
+
static [entityKind] = "PgSparseVector";
|
|
19
|
+
dimensions = this.config.dimensions;
|
|
20
|
+
getSQLType() {
|
|
21
|
+
return `sparsevec(${this.dimensions})`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function sparsevec(name, config) {
|
|
25
|
+
return new PgSparseVectorBuilder(name, config);
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
PgSparseVector,
|
|
29
|
+
PgSparseVectorBuilder,
|
|
30
|
+
sparsevec
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=sparsevec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/pg-core/columns/vector_extension/sparsevec.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from '../common.ts';\n\nexport type PgSparseVectorBuilderInitial<TName extends string> = PgSparseVectorBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgSparseVector';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgSparseVectorBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgSparseVector'>>\n\textends PgColumnBuilder<\n\t\tT,\n\t\t{ dimensions: number | undefined }\n\t>\n{\n\tstatic readonly [entityKind]: string = 'PgSparseVectorBuilder';\n\n\tconstructor(name: string, config: PgSparseVectorConfig) {\n\t\tsuper(name, 'string', 'PgSparseVector');\n\t\tthis.config.dimensions = config.dimensions;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgSparseVector<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgSparseVector<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgSparseVector<T extends ColumnBaseConfig<'string', 'PgSparseVector'>>\n\textends PgColumn<T, { dimensions: number | undefined }>\n{\n\tstatic readonly [entityKind]: string = 'PgSparseVector';\n\n\treadonly dimensions = this.config.dimensions;\n\n\tgetSQLType(): string {\n\t\treturn `sparsevec(${this.dimensions})`;\n\t}\n}\n\nexport interface PgSparseVectorConfig {\n\tdimensions: number;\n}\n\nexport function sparsevec<TName extends string>(\n\tname: TName,\n\tconfig: PgSparseVectorConfig,\n): PgSparseVectorBuilderInitial<TName> {\n\treturn new PgSparseVectorBuilder(name, config);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAWnC,MAAM,8BACJ,gBAIT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc,QAA8B;AACvD,UAAM,MAAM,UAAU,gBAAgB;AACtC,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,SACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAElC,aAAqB;AACpB,WAAO,aAAa,KAAK,UAAU;AAAA,EACpC;AACD;AAMO,SAAS,UACf,MACA,QACsC;AACtC,SAAO,IAAI,sBAAsB,MAAM,MAAM;AAC9C;","names":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var vector_exports = {};
|
|
20
|
+
__export(vector_exports, {
|
|
21
|
+
PgVector: () => PgVector,
|
|
22
|
+
PgVectorBuilder: () => PgVectorBuilder,
|
|
23
|
+
vector: () => vector
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(vector_exports);
|
|
26
|
+
var import_entity = require("../../../entity.cjs");
|
|
27
|
+
var import_common = require("../common.cjs");
|
|
28
|
+
class PgVectorBuilder extends import_common.PgColumnBuilder {
|
|
29
|
+
static [import_entity.entityKind] = "PgVectorBuilder";
|
|
30
|
+
constructor(name, config) {
|
|
31
|
+
super(name, "array", "PgVector");
|
|
32
|
+
this.config.dimensions = config.dimensions;
|
|
33
|
+
}
|
|
34
|
+
/** @internal */
|
|
35
|
+
build(table) {
|
|
36
|
+
return new PgVector(table, this.config);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
class PgVector extends import_common.PgColumn {
|
|
40
|
+
static [import_entity.entityKind] = "PgVector";
|
|
41
|
+
dimensions = this.config.dimensions;
|
|
42
|
+
getSQLType() {
|
|
43
|
+
return `vector(${this.dimensions})`;
|
|
44
|
+
}
|
|
45
|
+
mapToDriverValue(value) {
|
|
46
|
+
return JSON.stringify(value);
|
|
47
|
+
}
|
|
48
|
+
mapFromDriverValue(value) {
|
|
49
|
+
return value.slice(1, -1).split(",").map((v) => Number.parseFloat(v));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function vector(name, config) {
|
|
53
|
+
return new PgVectorBuilder(name, config);
|
|
54
|
+
}
|
|
55
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
+
0 && (module.exports = {
|
|
57
|
+
PgVector,
|
|
58
|
+
PgVectorBuilder,
|
|
59
|
+
vector
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=vector.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/pg-core/columns/vector_extension/vector.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from '../common.ts';\n\nexport type PgVectorBuilderInitial<TName extends string> = PgVectorBuilder<{\n\tname: TName;\n\tdataType: 'array';\n\tcolumnType: 'PgVector';\n\tdata: number[];\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgVectorBuilder<T extends ColumnBuilderBaseConfig<'array', 'PgVector'>> extends PgColumnBuilder<\n\tT,\n\t{ dimensions: number | undefined }\n> {\n\tstatic readonly [entityKind]: string = 'PgVectorBuilder';\n\n\tconstructor(name: string, config: PgVectorConfig) {\n\t\tsuper(name, 'array', 'PgVector');\n\t\tthis.config.dimensions = config.dimensions;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgVector<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgVector<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgVector<T extends ColumnBaseConfig<'array', 'PgVector'>>\n\textends PgColumn<T, { dimensions: number | undefined }>\n{\n\tstatic readonly [entityKind]: string = 'PgVector';\n\n\treadonly dimensions = this.config.dimensions;\n\n\tgetSQLType(): string {\n\t\treturn `vector(${this.dimensions})`;\n\t}\n\n\toverride mapToDriverValue(value: unknown): unknown {\n\t\treturn JSON.stringify(value);\n\t}\n\n\toverride mapFromDriverValue(value: string): unknown {\n\t\treturn value\n\t\t\t.slice(1, -1)\n\t\t\t.split(',')\n\t\t\t.map((v) => Number.parseFloat(v));\n\t}\n}\n\nexport interface PgVectorConfig {\n\tdimensions: number;\n}\n\nexport function vector<TName extends string>(\n\tname: TName,\n\tconfig: PgVectorConfig,\n): PgVectorBuilderInitial<TName> {\n\treturn new PgVectorBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAA0C;AAWnC,MAAM,wBAAgF,8BAG3F;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAc,QAAwB;AACjD,UAAM,MAAM,SAAS,UAAU;AAC/B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OAC4C;AAC5C,WAAO,IAAI,SAA0C,OAAO,KAAK,MAA8C;AAAA,EAChH;AACD;AAEO,MAAM,iBACJ,uBACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAElC,aAAqB;AACpB,WAAO,UAAU,KAAK,UAAU;AAAA,EACjC;AAAA,EAES,iBAAiB,OAAyB;AAClD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AAAA,EAES,mBAAmB,OAAwB;AACnD,WAAO,MACL,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EACT,IAAI,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAAA,EAClC;AACD;AAMO,SAAS,OACf,MACA,QACgC;AAChC,SAAO,IAAI,gBAAgB,MAAM,MAAM;AACxC;","names":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from "../../../column-builder.cjs";
|
|
2
|
+
import type { ColumnBaseConfig } from "../../../column.cjs";
|
|
3
|
+
import { entityKind } from "../../../entity.cjs";
|
|
4
|
+
import { PgColumn, PgColumnBuilder } from "../common.cjs";
|
|
5
|
+
export type PgVectorBuilderInitial<TName extends string> = PgVectorBuilder<{
|
|
6
|
+
name: TName;
|
|
7
|
+
dataType: 'array';
|
|
8
|
+
columnType: 'PgVector';
|
|
9
|
+
data: number[];
|
|
10
|
+
driverParam: string;
|
|
11
|
+
enumValues: undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare class PgVectorBuilder<T extends ColumnBuilderBaseConfig<'array', 'PgVector'>> extends PgColumnBuilder<T, {
|
|
14
|
+
dimensions: number | undefined;
|
|
15
|
+
}> {
|
|
16
|
+
static readonly [entityKind]: string;
|
|
17
|
+
constructor(name: string, config: PgVectorConfig);
|
|
18
|
+
}
|
|
19
|
+
export declare class PgVector<T extends ColumnBaseConfig<'array', 'PgVector'>> extends PgColumn<T, {
|
|
20
|
+
dimensions: number | undefined;
|
|
21
|
+
}> {
|
|
22
|
+
static readonly [entityKind]: string;
|
|
23
|
+
readonly dimensions: number | undefined;
|
|
24
|
+
getSQLType(): string;
|
|
25
|
+
mapToDriverValue(value: unknown): unknown;
|
|
26
|
+
mapFromDriverValue(value: string): unknown;
|
|
27
|
+
}
|
|
28
|
+
export interface PgVectorConfig {
|
|
29
|
+
dimensions: number;
|
|
30
|
+
}
|
|
31
|
+
export declare function vector<TName extends string>(name: TName, config: PgVectorConfig): PgVectorBuilderInitial<TName>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from "../../../column-builder.js";
|
|
2
|
+
import type { ColumnBaseConfig } from "../../../column.js";
|
|
3
|
+
import { entityKind } from "../../../entity.js";
|
|
4
|
+
import { PgColumn, PgColumnBuilder } from "../common.js";
|
|
5
|
+
export type PgVectorBuilderInitial<TName extends string> = PgVectorBuilder<{
|
|
6
|
+
name: TName;
|
|
7
|
+
dataType: 'array';
|
|
8
|
+
columnType: 'PgVector';
|
|
9
|
+
data: number[];
|
|
10
|
+
driverParam: string;
|
|
11
|
+
enumValues: undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare class PgVectorBuilder<T extends ColumnBuilderBaseConfig<'array', 'PgVector'>> extends PgColumnBuilder<T, {
|
|
14
|
+
dimensions: number | undefined;
|
|
15
|
+
}> {
|
|
16
|
+
static readonly [entityKind]: string;
|
|
17
|
+
constructor(name: string, config: PgVectorConfig);
|
|
18
|
+
}
|
|
19
|
+
export declare class PgVector<T extends ColumnBaseConfig<'array', 'PgVector'>> extends PgColumn<T, {
|
|
20
|
+
dimensions: number | undefined;
|
|
21
|
+
}> {
|
|
22
|
+
static readonly [entityKind]: string;
|
|
23
|
+
readonly dimensions: number | undefined;
|
|
24
|
+
getSQLType(): string;
|
|
25
|
+
mapToDriverValue(value: unknown): unknown;
|
|
26
|
+
mapFromDriverValue(value: string): unknown;
|
|
27
|
+
}
|
|
28
|
+
export interface PgVectorConfig {
|
|
29
|
+
dimensions: number;
|
|
30
|
+
}
|
|
31
|
+
export declare function vector<TName extends string>(name: TName, config: PgVectorConfig): PgVectorBuilderInitial<TName>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { entityKind } from "../../../entity.js";
|
|
2
|
+
import { PgColumn, PgColumnBuilder } from "../common.js";
|
|
3
|
+
class PgVectorBuilder extends PgColumnBuilder {
|
|
4
|
+
static [entityKind] = "PgVectorBuilder";
|
|
5
|
+
constructor(name, config) {
|
|
6
|
+
super(name, "array", "PgVector");
|
|
7
|
+
this.config.dimensions = config.dimensions;
|
|
8
|
+
}
|
|
9
|
+
/** @internal */
|
|
10
|
+
build(table) {
|
|
11
|
+
return new PgVector(table, this.config);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class PgVector extends PgColumn {
|
|
15
|
+
static [entityKind] = "PgVector";
|
|
16
|
+
dimensions = this.config.dimensions;
|
|
17
|
+
getSQLType() {
|
|
18
|
+
return `vector(${this.dimensions})`;
|
|
19
|
+
}
|
|
20
|
+
mapToDriverValue(value) {
|
|
21
|
+
return JSON.stringify(value);
|
|
22
|
+
}
|
|
23
|
+
mapFromDriverValue(value) {
|
|
24
|
+
return value.slice(1, -1).split(",").map((v) => Number.parseFloat(v));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function vector(name, config) {
|
|
28
|
+
return new PgVectorBuilder(name, config);
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
PgVector,
|
|
32
|
+
PgVectorBuilder,
|
|
33
|
+
vector
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=vector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/pg-core/columns/vector_extension/vector.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from '../common.ts';\n\nexport type PgVectorBuilderInitial<TName extends string> = PgVectorBuilder<{\n\tname: TName;\n\tdataType: 'array';\n\tcolumnType: 'PgVector';\n\tdata: number[];\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgVectorBuilder<T extends ColumnBuilderBaseConfig<'array', 'PgVector'>> extends PgColumnBuilder<\n\tT,\n\t{ dimensions: number | undefined }\n> {\n\tstatic readonly [entityKind]: string = 'PgVectorBuilder';\n\n\tconstructor(name: string, config: PgVectorConfig) {\n\t\tsuper(name, 'array', 'PgVector');\n\t\tthis.config.dimensions = config.dimensions;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgVector<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgVector<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgVector<T extends ColumnBaseConfig<'array', 'PgVector'>>\n\textends PgColumn<T, { dimensions: number | undefined }>\n{\n\tstatic readonly [entityKind]: string = 'PgVector';\n\n\treadonly dimensions = this.config.dimensions;\n\n\tgetSQLType(): string {\n\t\treturn `vector(${this.dimensions})`;\n\t}\n\n\toverride mapToDriverValue(value: unknown): unknown {\n\t\treturn JSON.stringify(value);\n\t}\n\n\toverride mapFromDriverValue(value: string): unknown {\n\t\treturn value\n\t\t\t.slice(1, -1)\n\t\t\t.split(',')\n\t\t\t.map((v) => Number.parseFloat(v));\n\t}\n}\n\nexport interface PgVectorConfig {\n\tdimensions: number;\n}\n\nexport function vector<TName extends string>(\n\tname: TName,\n\tconfig: PgVectorConfig,\n): PgVectorBuilderInitial<TName> {\n\treturn new PgVectorBuilder(name, config);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAWnC,MAAM,wBAAgF,gBAG3F;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc,QAAwB;AACjD,UAAM,MAAM,SAAS,UAAU;AAC/B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OAC4C;AAC5C,WAAO,IAAI,SAA0C,OAAO,KAAK,MAA8C;AAAA,EAChH;AACD;AAEO,MAAM,iBACJ,SACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAElC,aAAqB;AACpB,WAAO,UAAU,KAAK,UAAU;AAAA,EACjC;AAAA,EAES,iBAAiB,OAAyB;AAClD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AAAA,EAES,mBAAmB,OAAwB;AACnD,WAAO,MACL,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EACT,IAAI,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAAA,EAClC;AACD;AAMO,SAAS,OACf,MACA,QACgC;AAChC,SAAO,IAAI,gBAAgB,MAAM,MAAM;AACxC;","names":[]}
|
package/pg-core/dialect.cjs
CHANGED
|
@@ -384,12 +384,13 @@ class PgDialect {
|
|
|
384
384
|
return "none";
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
|
-
sqlToQuery(sql2) {
|
|
387
|
+
sqlToQuery(sql2, invokeSource) {
|
|
388
388
|
return sql2.toQuery({
|
|
389
389
|
escapeName: this.escapeName,
|
|
390
390
|
escapeParam: this.escapeParam,
|
|
391
391
|
escapeString: this.escapeString,
|
|
392
|
-
prepareTyping: this.prepareTyping
|
|
392
|
+
prepareTyping: this.prepareTyping,
|
|
393
|
+
invokeSource
|
|
393
394
|
});
|
|
394
395
|
}
|
|
395
396
|
// buildRelationalQueryWithPK({
|