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.
Files changed (109) hide show
  1. package/column-builder.cjs.map +1 -1
  2. package/column-builder.d.cts +5 -1
  3. package/column-builder.d.ts +5 -1
  4. package/column-builder.js.map +1 -1
  5. package/mysql-core/table.cjs +1 -0
  6. package/mysql-core/table.cjs.map +1 -1
  7. package/mysql-core/table.js +1 -0
  8. package/mysql-core/table.js.map +1 -1
  9. package/mysql-core/utils.d.cts +1 -1
  10. package/mysql-core/utils.d.ts +1 -1
  11. package/package.json +61 -1
  12. package/pg-core/columns/common.cjs +84 -0
  13. package/pg-core/columns/common.cjs.map +1 -1
  14. package/pg-core/columns/common.d.cts +53 -0
  15. package/pg-core/columns/common.d.ts +53 -0
  16. package/pg-core/columns/common.js +82 -0
  17. package/pg-core/columns/common.js.map +1 -1
  18. package/pg-core/columns/index.cjs +9 -1
  19. package/pg-core/columns/index.cjs.map +1 -1
  20. package/pg-core/columns/index.d.cts +4 -0
  21. package/pg-core/columns/index.d.ts +4 -0
  22. package/pg-core/columns/index.js +4 -0
  23. package/pg-core/columns/index.js.map +1 -1
  24. package/pg-core/columns/vector_extension/bit.cjs +58 -0
  25. package/pg-core/columns/vector_extension/bit.cjs.map +1 -0
  26. package/pg-core/columns/vector_extension/bit.d.cts +29 -0
  27. package/pg-core/columns/vector_extension/bit.d.ts +29 -0
  28. package/pg-core/columns/vector_extension/bit.js +32 -0
  29. package/pg-core/columns/vector_extension/bit.js.map +1 -0
  30. package/pg-core/columns/vector_extension/halfvec.cjs +64 -0
  31. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -0
  32. package/pg-core/columns/vector_extension/halfvec.d.cts +31 -0
  33. package/pg-core/columns/vector_extension/halfvec.d.ts +31 -0
  34. package/pg-core/columns/vector_extension/halfvec.js +38 -0
  35. package/pg-core/columns/vector_extension/halfvec.js.map +1 -0
  36. package/pg-core/columns/vector_extension/sparsevec.cjs +58 -0
  37. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -0
  38. package/pg-core/columns/vector_extension/sparsevec.d.cts +29 -0
  39. package/pg-core/columns/vector_extension/sparsevec.d.ts +29 -0
  40. package/pg-core/columns/vector_extension/sparsevec.js +32 -0
  41. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -0
  42. package/pg-core/columns/vector_extension/vector.cjs +61 -0
  43. package/pg-core/columns/vector_extension/vector.cjs.map +1 -0
  44. package/pg-core/columns/vector_extension/vector.d.cts +31 -0
  45. package/pg-core/columns/vector_extension/vector.d.ts +31 -0
  46. package/pg-core/columns/vector_extension/vector.js +35 -0
  47. package/pg-core/columns/vector_extension/vector.js.map +1 -0
  48. package/pg-core/dialect.cjs +3 -2
  49. package/pg-core/dialect.cjs.map +1 -1
  50. package/pg-core/dialect.d.cts +1 -1
  51. package/pg-core/dialect.d.ts +1 -1
  52. package/pg-core/dialect.js +3 -2
  53. package/pg-core/dialect.js.map +1 -1
  54. package/pg-core/indexes.cjs +63 -22
  55. package/pg-core/indexes.cjs.map +1 -1
  56. package/pg-core/indexes.d.cts +29 -22
  57. package/pg-core/indexes.d.ts +29 -22
  58. package/pg-core/indexes.js +64 -23
  59. package/pg-core/indexes.js.map +1 -1
  60. package/pg-core/table.cjs +8 -0
  61. package/pg-core/table.cjs.map +1 -1
  62. package/pg-core/table.d.cts +2 -2
  63. package/pg-core/table.d.ts +2 -2
  64. package/pg-core/table.js +8 -0
  65. package/pg-core/table.js.map +1 -1
  66. package/pg-core/utils.cjs +1 -1
  67. package/pg-core/utils.cjs.map +1 -1
  68. package/pg-core/utils.d.cts +1 -1
  69. package/pg-core/utils.d.ts +1 -1
  70. package/pg-core/utils.js +1 -1
  71. package/pg-core/utils.js.map +1 -1
  72. package/relations.cjs +1 -1
  73. package/relations.cjs.map +1 -1
  74. package/relations.js +1 -1
  75. package/relations.js.map +1 -1
  76. package/sql/functions/index.cjs +3 -1
  77. package/sql/functions/index.cjs.map +1 -1
  78. package/sql/functions/index.d.cts +1 -0
  79. package/sql/functions/index.d.ts +1 -0
  80. package/sql/functions/index.js +1 -0
  81. package/sql/functions/index.js.map +1 -1
  82. package/sql/functions/vector.cjs +80 -0
  83. package/sql/functions/vector.cjs.map +1 -0
  84. package/sql/functions/vector.d.cts +120 -0
  85. package/sql/functions/vector.d.ts +120 -0
  86. package/sql/functions/vector.js +51 -0
  87. package/sql/functions/vector.js.map +1 -0
  88. package/sql/sql.cjs +3 -0
  89. package/sql/sql.cjs.map +1 -1
  90. package/sql/sql.d.cts +1 -0
  91. package/sql/sql.d.ts +1 -0
  92. package/sql/sql.js +3 -0
  93. package/sql/sql.js.map +1 -1
  94. package/sqlite-core/table.cjs +1 -0
  95. package/sqlite-core/table.cjs.map +1 -1
  96. package/sqlite-core/table.js +1 -0
  97. package/sqlite-core/table.js.map +1 -1
  98. package/sqlite-core/utils.d.cts +1 -1
  99. package/sqlite-core/utils.d.ts +1 -1
  100. package/table.cjs +6 -0
  101. package/table.cjs.map +1 -1
  102. package/table.js +5 -0
  103. package/table.js.map +1 -1
  104. package/version.cjs +2 -2
  105. package/version.cjs.map +1 -1
  106. package/version.d.cts +2 -2
  107. package/version.d.ts +2 -2
  108. package/version.js +2 -2
  109. 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":[]}
@@ -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({