durcno 1.0.0-alpha.14 → 1.0.0-alpha.15

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/dist/bin.cjs CHANGED
@@ -10455,7 +10455,7 @@ async function status(options) {
10455
10455
  }
10456
10456
 
10457
10457
  // src/cli/index.ts
10458
- program.version("1.0.0-alpha.13");
10458
+ program.version("1.0.0-alpha.14");
10459
10459
  var Options = {
10460
10460
  config: ["--config <path>", "Path to the config file"]
10461
10461
  };
@@ -323,4 +323,4 @@ declare class IndexOn<TCol extends AnyColumn = AnyColumn> {
323
323
  constructor(column: StdTableColumn<TCol>, opclassStr: string);
324
324
  }
325
325
  //#endregion
326
- export { Column, ColumnConfig, Dimension, GeneratedAlways, GeneratedByDefault, IndexOn, OnDeleteAction, Tuple, array, notNull, primaryKey, tuple, unique };
326
+ export { Column, ColumnConfig, Dimension, GeneratedAlways, GeneratedByDefault, IndexOn, OnDeleteAction, array, notNull, primaryKey, tuple, unique };
@@ -1,4 +1,4 @@
1
- import { Column, ColumnConfig, Tuple } from "../common.mjs";
1
+ import { Column, ColumnConfig } from "../common.mjs";
2
2
  import { Sql } from "../../sql.mjs";
3
3
  import * as z from "zod";
4
4
 
@@ -6,20 +6,16 @@ import * as z from "zod";
6
6
  type VectorConfig = ColumnConfig & {
7
7
  dimensions?: number;
8
8
  };
9
- /** Derives a fixed-length numeric tuple when `dimensions` is a number literal, otherwise `number[]`. */
10
- type VectorValue<TConfig extends VectorConfig> = TConfig extends {
11
- dimensions: infer D extends number;
12
- } ? number extends D ? number[] : Tuple<number, D> : number[];
13
- declare class VectorColumn<TConfig extends VectorConfig> extends Column<TConfig, VectorValue<TConfig>, "numeric"> {
9
+ declare class VectorColumn<TConfig extends VectorConfig> extends Column<TConfig, number[], "numeric"> {
14
10
  #private;
15
11
  static readonly id = "Column.Vector";
16
12
  constructor(config: TConfig);
17
13
  get sqlTypeScalar(): string;
18
14
  get sqlCastScalar(): string;
19
- get zodTypeScaler(): TConfig["dimensions"] extends number ? z.ZodTuple<Tuple<z.ZodNumber, TConfig["dimensions"]>, null> : z.ZodArray<z.ZodNumber>;
20
- toDriverScalar(value: VectorValue<TConfig> | Sql | null): string | null;
21
- toSQLScalar(value: VectorValue<TConfig> | Sql | null): string;
22
- fromDriverScalar(value: unknown): VectorValue<TConfig> | null;
15
+ get zodTypeScaler(): z.ZodArray<z.ZodNumber>;
16
+ toDriverScalar(value: number[] | Sql | null): string | null;
17
+ toSQLScalar(value: number[] | Sql | null): string;
18
+ fromDriverScalar(value: unknown): number[] | null;
23
19
  }
24
20
  /**
25
21
  * Creates a `vector` column. PostgreSQL pgvector dense vector type, maps to `number[]`.
@@ -35,20 +31,16 @@ declare function vector<const TConfig extends VectorConfig>(config?: TConfig): V
35
31
  type HalfvecConfig = ColumnConfig & {
36
32
  dimensions?: number;
37
33
  };
38
- /** Derives a fixed-length numeric tuple when `dimensions` is a number literal, otherwise `number[]`. */
39
- type HalfvecValue<TConfig extends HalfvecConfig> = TConfig extends {
40
- dimensions: infer D extends number;
41
- } ? number extends D ? number[] : Tuple<number, D> : number[];
42
- declare class HalfvecColumn<TConfig extends HalfvecConfig> extends Column<TConfig, HalfvecValue<TConfig>, "numeric"> {
34
+ declare class HalfvecColumn<TConfig extends HalfvecConfig> extends Column<TConfig, number[], "numeric"> {
43
35
  #private;
44
36
  static readonly id = "Column.Halfvec";
45
37
  constructor(config: TConfig);
46
38
  get sqlTypeScalar(): string;
47
39
  get sqlCastScalar(): string;
48
- get zodTypeScaler(): TConfig["dimensions"] extends number ? z.ZodTuple<Tuple<z.ZodNumber, TConfig["dimensions"]>, null> : z.ZodArray<z.ZodNumber>;
49
- toDriverScalar(value: HalfvecValue<TConfig> | Sql | null): string | null;
50
- toSQLScalar(value: HalfvecValue<TConfig> | Sql | null): string;
51
- fromDriverScalar(value: unknown): HalfvecValue<TConfig> | null;
40
+ get zodTypeScaler(): z.ZodArray<z.ZodNumber>;
41
+ toDriverScalar(value: number[] | Sql | null): string | null;
42
+ toSQLScalar(value: number[] | Sql | null): string;
43
+ fromDriverScalar(value: unknown): number[] | null;
52
44
  }
53
45
  /**
54
46
  * Creates a `halfvec` column. PostgreSQL pgvector half precision vector type, maps to `number[]`.
@@ -17,7 +17,7 @@ var VectorColumn = class extends Column {
17
17
  }
18
18
  get zodTypeScaler() {
19
19
  if (this.#dimensions === void 0) return z.array(z.number());
20
- return z.tuple(Array.from({ length: this.#dimensions }, () => z.number()));
20
+ return z.array(z.number()).length(this.#dimensions);
21
21
  }
22
22
  toDriverScalar(value) {
23
23
  if (value === null) return null;
@@ -66,7 +66,7 @@ var HalfvecColumn = class extends Column {
66
66
  }
67
67
  get zodTypeScaler() {
68
68
  if (this.#dimensions === void 0) return z.array(z.number());
69
- return z.tuple(Array.from({ length: this.#dimensions }, () => z.number()));
69
+ return z.array(z.number()).length(this.#dimensions);
70
70
  }
71
71
  toDriverScalar(value) {
72
72
  if (value === null) return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "durcno",
3
- "version": "1.0.0-alpha.14",
3
+ "version": "1.0.0-alpha.15",
4
4
  "description": "A PostgreSQL Query Builder and Migration Manager for TypeScript, from the future.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://durcno.dev",