drizzle-orm 0.40.1 → 0.41.0-668be9a
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/aws-data-api/pg/driver.cjs +1 -1
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.js +1 -1
- package/aws-data-api/pg/driver.js.map +1 -1
- package/mysql-core/columns/binary.cjs +11 -0
- package/mysql-core/columns/binary.cjs.map +1 -1
- package/mysql-core/columns/binary.d.cts +1 -0
- package/mysql-core/columns/binary.d.ts +1 -0
- package/mysql-core/columns/binary.js +11 -0
- package/mysql-core/columns/binary.js.map +1 -1
- package/mysql-core/columns/decimal.cjs +91 -1
- package/mysql-core/columns/decimal.cjs.map +1 -1
- package/mysql-core/columns/decimal.d.cts +48 -3
- package/mysql-core/columns/decimal.d.ts +48 -3
- package/mysql-core/columns/decimal.js +87 -1
- package/mysql-core/columns/decimal.js.map +1 -1
- package/mysql-core/columns/varbinary.cjs +11 -0
- package/mysql-core/columns/varbinary.cjs.map +1 -1
- package/mysql-core/columns/varbinary.d.cts +1 -0
- package/mysql-core/columns/varbinary.d.ts +1 -0
- package/mysql-core/columns/varbinary.js +11 -0
- package/mysql-core/columns/varbinary.js.map +1 -1
- package/mysql-core/columns/varchar.cjs.map +1 -1
- package/mysql-core/columns/varchar.d.cts +1 -1
- package/mysql-core/columns/varchar.d.ts +1 -1
- package/mysql-core/columns/varchar.js.map +1 -1
- package/mysql-core/dialect.cjs +2 -2
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.js +2 -2
- package/mysql-core/dialect.js.map +1 -1
- package/mysql2/driver.cjs +2 -1
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.js +2 -1
- package/mysql2/driver.js.map +1 -1
- package/neon-http/driver.cjs +5 -0
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.js +5 -0
- package/neon-http/driver.js.map +1 -1
- package/neon-serverless/session.cjs +30 -0
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.js +30 -0
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/session.cjs +30 -0
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.js +30 -0
- package/node-postgres/session.js.map +1 -1
- package/package.json +1 -1
- package/pg-core/columns/numeric.cjs +91 -1
- package/pg-core/columns/numeric.cjs.map +1 -1
- package/pg-core/columns/numeric.d.cts +62 -6
- package/pg-core/columns/numeric.d.ts +62 -6
- package/pg-core/columns/numeric.js +87 -1
- package/pg-core/columns/numeric.js.map +1 -1
- package/pg-core/dialect.cjs +1 -1
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.js +1 -1
- package/pg-core/dialect.js.map +1 -1
- package/pglite/session.cjs +22 -2
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.js +22 -2
- package/pglite/session.js.map +1 -1
- package/postgres-js/driver.cjs +1 -1
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.js +1 -1
- package/postgres-js/driver.js.map +1 -1
- package/singlestore/driver.cjs +1 -3
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.js +1 -3
- package/singlestore/driver.js.map +1 -1
- package/singlestore-core/columns/binary.cjs +11 -0
- package/singlestore-core/columns/binary.cjs.map +1 -1
- package/singlestore-core/columns/binary.d.cts +1 -0
- package/singlestore-core/columns/binary.d.ts +1 -0
- package/singlestore-core/columns/binary.js +11 -0
- package/singlestore-core/columns/binary.js.map +1 -1
- package/singlestore-core/columns/decimal.cjs +92 -5
- package/singlestore-core/columns/decimal.cjs.map +1 -1
- package/singlestore-core/columns/decimal.d.cts +50 -3
- package/singlestore-core/columns/decimal.d.ts +50 -3
- package/singlestore-core/columns/decimal.js +88 -5
- package/singlestore-core/columns/decimal.js.map +1 -1
- package/singlestore-core/columns/varbinary.cjs +11 -0
- package/singlestore-core/columns/varbinary.cjs.map +1 -1
- package/singlestore-core/columns/varbinary.d.cts +1 -0
- package/singlestore-core/columns/varbinary.d.ts +1 -0
- package/singlestore-core/columns/varbinary.js +11 -0
- package/singlestore-core/columns/varbinary.js.map +1 -1
- package/singlestore-core/columns/varchar.cjs.map +1 -1
- package/singlestore-core/columns/varchar.d.cts +1 -1
- package/singlestore-core/columns/varchar.d.ts +1 -1
- package/singlestore-core/columns/varchar.js.map +1 -1
- package/singlestore-core/dialect.cjs +2 -2
- package/singlestore-core/dialect.cjs.map +1 -1
- package/singlestore-core/dialect.js +2 -2
- package/singlestore-core/dialect.js.map +1 -1
- package/sql-js/session.cjs +18 -42
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +3 -6
- package/sql-js/session.d.ts +3 -6
- package/sql-js/session.js +18 -42
- package/sql-js/session.js.map +1 -1
- package/sqlite-core/columns/blob.cjs +6 -0
- package/sqlite-core/columns/blob.cjs.map +1 -1
- package/sqlite-core/columns/blob.d.cts +1 -0
- package/sqlite-core/columns/blob.d.ts +1 -0
- package/sqlite-core/columns/blob.js +6 -0
- package/sqlite-core/columns/blob.js.map +1 -1
- package/sqlite-core/columns/numeric.cjs +64 -2
- package/sqlite-core/columns/numeric.cjs.map +1 -1
- package/sqlite-core/columns/numeric.d.cts +43 -2
- package/sqlite-core/columns/numeric.d.ts +43 -2
- package/sqlite-core/columns/numeric.js +60 -2
- package/sqlite-core/columns/numeric.js.map +1 -1
- package/sqlite-core/dialect.cjs +15 -5
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.js +15 -5
- package/sqlite-core/dialect.js.map +1 -1
- package/utils.cjs +2 -2
- package/utils.cjs.map +1 -1
- package/utils.js +2 -2
- package/utils.js.map +1 -1
- package/vercel-postgres/session.cjs +30 -0
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.js +30 -0
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -2,6 +2,7 @@ import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
|
|
|
2
2
|
import type { ColumnBaseConfig } from "../../column.cjs";
|
|
3
3
|
import { entityKind } from "../../entity.cjs";
|
|
4
4
|
import type { AnyPgTable } from "../table.cjs";
|
|
5
|
+
import { type Equal } from "../../utils.cjs";
|
|
5
6
|
import { PgColumn, PgColumnBuilder } from "./common.cjs";
|
|
6
7
|
export type PgNumericBuilderInitial<TName extends string> = PgNumericBuilder<{
|
|
7
8
|
name: TName;
|
|
@@ -25,19 +26,74 @@ export declare class PgNumeric<T extends ColumnBaseConfig<'string', 'PgNumeric'>
|
|
|
25
26
|
constructor(table: AnyPgTable<{
|
|
26
27
|
name: T['tableName'];
|
|
27
28
|
}>, config: PgNumericBuilder<T>['config']);
|
|
29
|
+
mapFromDriverValue(value: unknown): string;
|
|
28
30
|
getSQLType(): string;
|
|
29
31
|
}
|
|
30
|
-
export type
|
|
32
|
+
export type PgNumericNumberBuilderInitial<TName extends string> = PgNumericNumberBuilder<{
|
|
33
|
+
name: TName;
|
|
34
|
+
dataType: 'number';
|
|
35
|
+
columnType: 'PgNumericNumber';
|
|
36
|
+
data: number;
|
|
37
|
+
driverParam: string;
|
|
38
|
+
enumValues: undefined;
|
|
39
|
+
}>;
|
|
40
|
+
export declare class PgNumericNumberBuilder<T extends ColumnBuilderBaseConfig<'number', 'PgNumericNumber'>> extends PgColumnBuilder<T, {
|
|
41
|
+
precision: number | undefined;
|
|
42
|
+
scale: number | undefined;
|
|
43
|
+
}> {
|
|
44
|
+
static readonly [entityKind]: string;
|
|
45
|
+
constructor(name: T['name'], precision?: number, scale?: number);
|
|
46
|
+
}
|
|
47
|
+
export declare class PgNumericNumber<T extends ColumnBaseConfig<'number', 'PgNumericNumber'>> extends PgColumn<T> {
|
|
48
|
+
static readonly [entityKind]: string;
|
|
49
|
+
readonly precision: number | undefined;
|
|
50
|
+
readonly scale: number | undefined;
|
|
51
|
+
constructor(table: AnyPgTable<{
|
|
52
|
+
name: T['tableName'];
|
|
53
|
+
}>, config: PgNumericNumberBuilder<T>['config']);
|
|
54
|
+
mapFromDriverValue(value: unknown): number;
|
|
55
|
+
mapToDriverValue: StringConstructor;
|
|
56
|
+
getSQLType(): string;
|
|
57
|
+
}
|
|
58
|
+
export type PgNumericBigIntBuilderInitial<TName extends string> = PgNumericBigIntBuilder<{
|
|
59
|
+
name: TName;
|
|
60
|
+
dataType: 'bigint';
|
|
61
|
+
columnType: 'PgNumericBigInt';
|
|
62
|
+
data: bigint;
|
|
63
|
+
driverParam: string;
|
|
64
|
+
enumValues: undefined;
|
|
65
|
+
}>;
|
|
66
|
+
export declare class PgNumericBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'PgNumericBigInt'>> extends PgColumnBuilder<T, {
|
|
67
|
+
precision: number | undefined;
|
|
68
|
+
scale: number | undefined;
|
|
69
|
+
}> {
|
|
70
|
+
static readonly [entityKind]: string;
|
|
71
|
+
constructor(name: T['name'], precision?: number, scale?: number);
|
|
72
|
+
}
|
|
73
|
+
export declare class PgNumericBigInt<T extends ColumnBaseConfig<'bigint', 'PgNumericBigInt'>> extends PgColumn<T> {
|
|
74
|
+
static readonly [entityKind]: string;
|
|
75
|
+
readonly precision: number | undefined;
|
|
76
|
+
readonly scale: number | undefined;
|
|
77
|
+
constructor(table: AnyPgTable<{
|
|
78
|
+
name: T['tableName'];
|
|
79
|
+
}>, config: PgNumericBigIntBuilder<T>['config']);
|
|
80
|
+
mapFromDriverValue: BigIntConstructor;
|
|
81
|
+
mapToDriverValue: StringConstructor;
|
|
82
|
+
getSQLType(): string;
|
|
83
|
+
}
|
|
84
|
+
export type PgNumericConfig<T extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint'> = {
|
|
31
85
|
precision: number;
|
|
32
86
|
scale?: number;
|
|
87
|
+
mode?: T;
|
|
33
88
|
} | {
|
|
34
89
|
precision?: number;
|
|
35
90
|
scale: number;
|
|
91
|
+
mode?: T;
|
|
36
92
|
} | {
|
|
37
|
-
precision
|
|
38
|
-
scale
|
|
93
|
+
precision?: number;
|
|
94
|
+
scale?: number;
|
|
95
|
+
mode: T;
|
|
39
96
|
};
|
|
40
|
-
export declare function numeric(): PgNumericBuilderInitial<''>;
|
|
41
|
-
export declare function numeric(config?: PgNumericConfig):
|
|
42
|
-
export declare function numeric<TName extends string>(name: TName, config?: PgNumericConfig): PgNumericBuilderInitial<TName>;
|
|
97
|
+
export declare function numeric<TMode extends 'string' | 'number' | 'bigint'>(config?: PgNumericConfig<TMode>): Equal<TMode, 'number'> extends true ? PgNumericNumberBuilderInitial<''> : Equal<TMode, 'bigint'> extends true ? PgNumericBigIntBuilderInitial<''> : PgNumericBuilderInitial<''>;
|
|
98
|
+
export declare function numeric<TName extends string, TMode extends 'string' | 'number' | 'bigint'>(name: TName, config?: PgNumericConfig<TMode>): Equal<TMode, 'number'> extends true ? PgNumericNumberBuilderInitial<TName> : Equal<TMode, 'bigint'> extends true ? PgNumericBigIntBuilderInitial<TName> : PgNumericBuilderInitial<TName>;
|
|
43
99
|
export declare const decimal: typeof numeric;
|
|
@@ -2,6 +2,7 @@ import type { ColumnBuilderBaseConfig } from "../../column-builder.js";
|
|
|
2
2
|
import type { ColumnBaseConfig } from "../../column.js";
|
|
3
3
|
import { entityKind } from "../../entity.js";
|
|
4
4
|
import type { AnyPgTable } from "../table.js";
|
|
5
|
+
import { type Equal } from "../../utils.js";
|
|
5
6
|
import { PgColumn, PgColumnBuilder } from "./common.js";
|
|
6
7
|
export type PgNumericBuilderInitial<TName extends string> = PgNumericBuilder<{
|
|
7
8
|
name: TName;
|
|
@@ -25,19 +26,74 @@ export declare class PgNumeric<T extends ColumnBaseConfig<'string', 'PgNumeric'>
|
|
|
25
26
|
constructor(table: AnyPgTable<{
|
|
26
27
|
name: T['tableName'];
|
|
27
28
|
}>, config: PgNumericBuilder<T>['config']);
|
|
29
|
+
mapFromDriverValue(value: unknown): string;
|
|
28
30
|
getSQLType(): string;
|
|
29
31
|
}
|
|
30
|
-
export type
|
|
32
|
+
export type PgNumericNumberBuilderInitial<TName extends string> = PgNumericNumberBuilder<{
|
|
33
|
+
name: TName;
|
|
34
|
+
dataType: 'number';
|
|
35
|
+
columnType: 'PgNumericNumber';
|
|
36
|
+
data: number;
|
|
37
|
+
driverParam: string;
|
|
38
|
+
enumValues: undefined;
|
|
39
|
+
}>;
|
|
40
|
+
export declare class PgNumericNumberBuilder<T extends ColumnBuilderBaseConfig<'number', 'PgNumericNumber'>> extends PgColumnBuilder<T, {
|
|
41
|
+
precision: number | undefined;
|
|
42
|
+
scale: number | undefined;
|
|
43
|
+
}> {
|
|
44
|
+
static readonly [entityKind]: string;
|
|
45
|
+
constructor(name: T['name'], precision?: number, scale?: number);
|
|
46
|
+
}
|
|
47
|
+
export declare class PgNumericNumber<T extends ColumnBaseConfig<'number', 'PgNumericNumber'>> extends PgColumn<T> {
|
|
48
|
+
static readonly [entityKind]: string;
|
|
49
|
+
readonly precision: number | undefined;
|
|
50
|
+
readonly scale: number | undefined;
|
|
51
|
+
constructor(table: AnyPgTable<{
|
|
52
|
+
name: T['tableName'];
|
|
53
|
+
}>, config: PgNumericNumberBuilder<T>['config']);
|
|
54
|
+
mapFromDriverValue(value: unknown): number;
|
|
55
|
+
mapToDriverValue: StringConstructor;
|
|
56
|
+
getSQLType(): string;
|
|
57
|
+
}
|
|
58
|
+
export type PgNumericBigIntBuilderInitial<TName extends string> = PgNumericBigIntBuilder<{
|
|
59
|
+
name: TName;
|
|
60
|
+
dataType: 'bigint';
|
|
61
|
+
columnType: 'PgNumericBigInt';
|
|
62
|
+
data: bigint;
|
|
63
|
+
driverParam: string;
|
|
64
|
+
enumValues: undefined;
|
|
65
|
+
}>;
|
|
66
|
+
export declare class PgNumericBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'PgNumericBigInt'>> extends PgColumnBuilder<T, {
|
|
67
|
+
precision: number | undefined;
|
|
68
|
+
scale: number | undefined;
|
|
69
|
+
}> {
|
|
70
|
+
static readonly [entityKind]: string;
|
|
71
|
+
constructor(name: T['name'], precision?: number, scale?: number);
|
|
72
|
+
}
|
|
73
|
+
export declare class PgNumericBigInt<T extends ColumnBaseConfig<'bigint', 'PgNumericBigInt'>> extends PgColumn<T> {
|
|
74
|
+
static readonly [entityKind]: string;
|
|
75
|
+
readonly precision: number | undefined;
|
|
76
|
+
readonly scale: number | undefined;
|
|
77
|
+
constructor(table: AnyPgTable<{
|
|
78
|
+
name: T['tableName'];
|
|
79
|
+
}>, config: PgNumericBigIntBuilder<T>['config']);
|
|
80
|
+
mapFromDriverValue: BigIntConstructor;
|
|
81
|
+
mapToDriverValue: StringConstructor;
|
|
82
|
+
getSQLType(): string;
|
|
83
|
+
}
|
|
84
|
+
export type PgNumericConfig<T extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint'> = {
|
|
31
85
|
precision: number;
|
|
32
86
|
scale?: number;
|
|
87
|
+
mode?: T;
|
|
33
88
|
} | {
|
|
34
89
|
precision?: number;
|
|
35
90
|
scale: number;
|
|
91
|
+
mode?: T;
|
|
36
92
|
} | {
|
|
37
|
-
precision
|
|
38
|
-
scale
|
|
93
|
+
precision?: number;
|
|
94
|
+
scale?: number;
|
|
95
|
+
mode: T;
|
|
39
96
|
};
|
|
40
|
-
export declare function numeric(): PgNumericBuilderInitial<''>;
|
|
41
|
-
export declare function numeric(config?: PgNumericConfig):
|
|
42
|
-
export declare function numeric<TName extends string>(name: TName, config?: PgNumericConfig): PgNumericBuilderInitial<TName>;
|
|
97
|
+
export declare function numeric<TMode extends 'string' | 'number' | 'bigint'>(config?: PgNumericConfig<TMode>): Equal<TMode, 'number'> extends true ? PgNumericNumberBuilderInitial<''> : Equal<TMode, 'bigint'> extends true ? PgNumericBigIntBuilderInitial<''> : PgNumericBuilderInitial<''>;
|
|
98
|
+
export declare function numeric<TName extends string, TMode extends 'string' | 'number' | 'bigint'>(name: TName, config?: PgNumericConfig<TMode>): Equal<TMode, 'number'> extends true ? PgNumericNumberBuilderInitial<TName> : Equal<TMode, 'bigint'> extends true ? PgNumericBigIntBuilderInitial<TName> : PgNumericBuilderInitial<TName>;
|
|
43
99
|
export declare const decimal: typeof numeric;
|
|
@@ -22,6 +22,87 @@ class PgNumeric extends PgColumn {
|
|
|
22
22
|
this.precision = config.precision;
|
|
23
23
|
this.scale = config.scale;
|
|
24
24
|
}
|
|
25
|
+
mapFromDriverValue(value) {
|
|
26
|
+
if (typeof value === "string")
|
|
27
|
+
return value;
|
|
28
|
+
return String(value);
|
|
29
|
+
}
|
|
30
|
+
getSQLType() {
|
|
31
|
+
if (this.precision !== void 0 && this.scale !== void 0) {
|
|
32
|
+
return `numeric(${this.precision}, ${this.scale})`;
|
|
33
|
+
} else if (this.precision === void 0) {
|
|
34
|
+
return "numeric";
|
|
35
|
+
} else {
|
|
36
|
+
return `numeric(${this.precision})`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
class PgNumericNumberBuilder extends PgColumnBuilder {
|
|
41
|
+
static [entityKind] = "PgNumericNumberBuilder";
|
|
42
|
+
constructor(name, precision, scale) {
|
|
43
|
+
super(name, "number", "PgNumericNumber");
|
|
44
|
+
this.config.precision = precision;
|
|
45
|
+
this.config.scale = scale;
|
|
46
|
+
}
|
|
47
|
+
/** @internal */
|
|
48
|
+
build(table) {
|
|
49
|
+
return new PgNumericNumber(
|
|
50
|
+
table,
|
|
51
|
+
this.config
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
class PgNumericNumber extends PgColumn {
|
|
56
|
+
static [entityKind] = "PgNumericNumber";
|
|
57
|
+
precision;
|
|
58
|
+
scale;
|
|
59
|
+
constructor(table, config) {
|
|
60
|
+
super(table, config);
|
|
61
|
+
this.precision = config.precision;
|
|
62
|
+
this.scale = config.scale;
|
|
63
|
+
}
|
|
64
|
+
mapFromDriverValue(value) {
|
|
65
|
+
if (typeof value === "number")
|
|
66
|
+
return value;
|
|
67
|
+
return Number(value);
|
|
68
|
+
}
|
|
69
|
+
mapToDriverValue = String;
|
|
70
|
+
getSQLType() {
|
|
71
|
+
if (this.precision !== void 0 && this.scale !== void 0) {
|
|
72
|
+
return `numeric(${this.precision}, ${this.scale})`;
|
|
73
|
+
} else if (this.precision === void 0) {
|
|
74
|
+
return "numeric";
|
|
75
|
+
} else {
|
|
76
|
+
return `numeric(${this.precision})`;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
class PgNumericBigIntBuilder extends PgColumnBuilder {
|
|
81
|
+
static [entityKind] = "PgNumericBigIntBuilder";
|
|
82
|
+
constructor(name, precision, scale) {
|
|
83
|
+
super(name, "bigint", "PgNumericBigInt");
|
|
84
|
+
this.config.precision = precision;
|
|
85
|
+
this.config.scale = scale;
|
|
86
|
+
}
|
|
87
|
+
/** @internal */
|
|
88
|
+
build(table) {
|
|
89
|
+
return new PgNumericBigInt(
|
|
90
|
+
table,
|
|
91
|
+
this.config
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
class PgNumericBigInt extends PgColumn {
|
|
96
|
+
static [entityKind] = "PgNumericBigInt";
|
|
97
|
+
precision;
|
|
98
|
+
scale;
|
|
99
|
+
constructor(table, config) {
|
|
100
|
+
super(table, config);
|
|
101
|
+
this.precision = config.precision;
|
|
102
|
+
this.scale = config.scale;
|
|
103
|
+
}
|
|
104
|
+
mapFromDriverValue = BigInt;
|
|
105
|
+
mapToDriverValue = String;
|
|
25
106
|
getSQLType() {
|
|
26
107
|
if (this.precision !== void 0 && this.scale !== void 0) {
|
|
27
108
|
return `numeric(${this.precision}, ${this.scale})`;
|
|
@@ -34,12 +115,17 @@ class PgNumeric extends PgColumn {
|
|
|
34
115
|
}
|
|
35
116
|
function numeric(a, b) {
|
|
36
117
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
37
|
-
|
|
118
|
+
const mode = config?.mode;
|
|
119
|
+
return mode === "number" ? new PgNumericNumberBuilder(name, config?.precision, config?.scale) : mode === "bigint" ? new PgNumericBigIntBuilder(name, config?.precision, config?.scale) : new PgNumericBuilder(name, config?.precision, config?.scale);
|
|
38
120
|
}
|
|
39
121
|
const decimal = numeric;
|
|
40
122
|
export {
|
|
41
123
|
PgNumeric,
|
|
124
|
+
PgNumericBigInt,
|
|
125
|
+
PgNumericBigIntBuilder,
|
|
42
126
|
PgNumericBuilder,
|
|
127
|
+
PgNumericNumber,
|
|
128
|
+
PgNumericNumberBuilder,
|
|
43
129
|
decimal,
|
|
44
130
|
numeric
|
|
45
131
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/pg-core/columns/numeric.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 { getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgNumericBuilderInitial<TName extends string> = PgNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgNumericBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgNumeric'>> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tprecision: number | undefined;\n\t\tscale: number | undefined;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'PgNumericBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'string', 'PgNumeric');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgNumeric<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgNumeric<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgNumeric<T extends ColumnBaseConfig<'string', 'PgNumeric'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgNumeric';\n\n\treadonly precision: number | undefined;\n\treadonly scale: number | undefined;\n\n\tconstructor(table: AnyPgTable<{ name: T['tableName'] }>, config: PgNumericBuilder<T>['config']) {\n\t\tsuper(table, config);\n\t\tthis.precision = config.precision;\n\t\tthis.scale = config.scale;\n\t}\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `numeric(${this.precision}, ${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'numeric';\n\t\t} else {\n\t\t\treturn `numeric(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport type PgNumericConfig =\n\t| { precision: number; scale?: number }\n\t| { precision?: number; scale: number }\n\t| { precision: number; scale: number };\n\nexport function numeric(): PgNumericBuilderInitial<''>;\nexport function numeric(\n\tconfig?: PgNumericConfig,\n): PgNumericBuilderInitial<''>;\nexport function numeric<TName extends string>(\n\tname: TName,\n\tconfig?: PgNumericConfig,\n): PgNumericBuilderInitial<TName>;\nexport function numeric(a?: string | PgNumericConfig, b?: PgNumericConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgNumericConfig>(a, b);\n\treturn new PgNumericBuilder(name, config?.precision, config?.scale);\n}\n\nexport const decimal = numeric;\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,UAAU,uBAAuB;AAWnC,MAAM,yBAAmF,gBAM9F;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,WAAW;AACjC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAqE,SAAY;AAAA,EAC7F,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EACA;AAAA,EAET,YAAY,OAA6C,QAAuC;AAC/F,UAAM,OAAO,MAAM;AACnB,SAAK,YAAY,OAAO;AACxB,SAAK,QAAQ,OAAO;AAAA,EACrB;AAAA,EAEA,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,KAAK,KAAK,KAAK;AAAA,IAChD,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAeO,SAAS,QAAQ,GAA8B,GAAqB;AAC1E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,QAAQ,WAAW,QAAQ,KAAK;AACnE;AAEO,MAAM,UAAU;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/pg-core/columns/numeric.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 { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgNumericBuilderInitial<TName extends string> = PgNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgNumericBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgNumeric'>> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tprecision: number | undefined;\n\t\tscale: number | undefined;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'PgNumericBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'string', 'PgNumeric');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgNumeric<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgNumeric<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgNumeric<T extends ColumnBaseConfig<'string', 'PgNumeric'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgNumeric';\n\n\treadonly precision: number | undefined;\n\treadonly scale: number | undefined;\n\n\tconstructor(table: AnyPgTable<{ name: T['tableName'] }>, config: PgNumericBuilder<T>['config']) {\n\t\tsuper(table, config);\n\t\tthis.precision = config.precision;\n\t\tthis.scale = config.scale;\n\t}\n\n\toverride mapFromDriverValue(value: unknown): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn String(value);\n\t}\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `numeric(${this.precision}, ${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'numeric';\n\t\t} else {\n\t\t\treturn `numeric(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport type PgNumericNumberBuilderInitial<TName extends string> = PgNumericNumberBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'PgNumericNumber';\n\tdata: number;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgNumericNumberBuilder<T extends ColumnBuilderBaseConfig<'number', 'PgNumericNumber'>>\n\textends PgColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tprecision: number | undefined;\n\t\t\tscale: number | undefined;\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'PgNumericNumberBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'number', 'PgNumericNumber');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgNumericNumber<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgNumericNumber<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 PgNumericNumber<T extends ColumnBaseConfig<'number', 'PgNumericNumber'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgNumericNumber';\n\n\treadonly precision: number | undefined;\n\treadonly scale: number | undefined;\n\n\tconstructor(table: AnyPgTable<{ name: T['tableName'] }>, config: PgNumericNumberBuilder<T>['config']) {\n\t\tsuper(table, config);\n\t\tthis.precision = config.precision;\n\t\tthis.scale = config.scale;\n\t}\n\n\toverride mapFromDriverValue(value: unknown): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `numeric(${this.precision}, ${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'numeric';\n\t\t} else {\n\t\t\treturn `numeric(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport type PgNumericBigIntBuilderInitial<TName extends string> = PgNumericBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'PgNumericBigInt';\n\tdata: bigint;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class PgNumericBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'PgNumericBigInt'>>\n\textends PgColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tprecision: number | undefined;\n\t\t\tscale: number | undefined;\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'PgNumericBigIntBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'bigint', 'PgNumericBigInt');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgNumericBigInt<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgNumericBigInt<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 PgNumericBigInt<T extends ColumnBaseConfig<'bigint', 'PgNumericBigInt'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgNumericBigInt';\n\n\treadonly precision: number | undefined;\n\treadonly scale: number | undefined;\n\n\tconstructor(table: AnyPgTable<{ name: T['tableName'] }>, config: PgNumericBigIntBuilder<T>['config']) {\n\t\tsuper(table, config);\n\t\tthis.precision = config.precision;\n\t\tthis.scale = config.scale;\n\t}\n\n\toverride mapFromDriverValue = BigInt;\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `numeric(${this.precision}, ${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'numeric';\n\t\t} else {\n\t\t\treturn `numeric(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport type PgNumericConfig<T extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint'> =\n\t| { precision: number; scale?: number; mode?: T }\n\t| { precision?: number; scale: number; mode?: T }\n\t| { precision?: number; scale?: number; mode: T };\n\nexport function numeric<TMode extends 'string' | 'number' | 'bigint'>(\n\tconfig?: PgNumericConfig<TMode>,\n): Equal<TMode, 'number'> extends true ? PgNumericNumberBuilderInitial<''>\n\t: Equal<TMode, 'bigint'> extends true ? PgNumericBigIntBuilderInitial<''>\n\t: PgNumericBuilderInitial<''>;\nexport function numeric<TName extends string, TMode extends 'string' | 'number' | 'bigint'>(\n\tname: TName,\n\tconfig?: PgNumericConfig<TMode>,\n): Equal<TMode, 'number'> extends true ? PgNumericNumberBuilderInitial<TName>\n\t: Equal<TMode, 'bigint'> extends true ? PgNumericBigIntBuilderInitial<TName>\n\t: PgNumericBuilderInitial<TName>;\nexport function numeric(a?: string | PgNumericConfig, b?: PgNumericConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgNumericConfig>(a, b);\n\tconst mode = config?.mode;\n\treturn mode === 'number'\n\t\t? new PgNumericNumberBuilder(name, config?.precision, config?.scale)\n\t\t: mode === 'bigint'\n\t\t? new PgNumericBigIntBuilder(name, config?.precision, config?.scale)\n\t\t: new PgNumericBuilder(name, config?.precision, config?.scale);\n}\n\nexport const decimal = numeric;\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,UAAU,uBAAuB;AAWnC,MAAM,yBAAmF,gBAM9F;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,WAAW;AACjC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAqE,SAAY;AAAA,EAC7F,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EACA;AAAA,EAET,YAAY,OAA6C,QAAuC;AAC/F,UAAM,OAAO,MAAM;AACnB,SAAK,YAAY,OAAO;AACxB,SAAK,QAAQ,OAAO;AAAA,EACrB;AAAA,EAES,mBAAmB,OAAwB;AACnD,QAAI,OAAO,UAAU;AAAU,aAAO;AAEtC,WAAO,OAAO,KAAK;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,KAAK,KAAK,KAAK;AAAA,IAChD,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAWO,MAAM,+BACJ,gBAOT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAiF,SAAY;AAAA,EACzG,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EACA;AAAA,EAET,YAAY,OAA6C,QAA6C;AACrG,UAAM,OAAO,MAAM;AACnB,SAAK,YAAY,OAAO;AACxB,SAAK,QAAQ,OAAO;AAAA,EACrB;AAAA,EAES,mBAAmB,OAAwB;AACnD,QAAI,OAAO,UAAU;AAAU,aAAO;AAEtC,WAAO,OAAO,KAAK;AAAA,EACpB;AAAA,EAES,mBAAmB;AAAA,EAE5B,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,KAAK,KAAK,KAAK;AAAA,IAChD,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAWO,MAAM,+BACJ,gBAOT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAiF,SAAY;AAAA,EACzG,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EACA;AAAA,EAET,YAAY,OAA6C,QAA6C;AACrG,UAAM,OAAO,MAAM;AACnB,SAAK,YAAY,OAAO;AACxB,SAAK,QAAQ,OAAO;AAAA,EACrB;AAAA,EAES,qBAAqB;AAAA,EAErB,mBAAmB;AAAA,EAE5B,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,KAAK,KAAK,KAAK;AAAA,IAChD,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAkBO,SAAS,QAAQ,GAA8B,GAAqB;AAC1E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwC,GAAG,CAAC;AACrE,QAAM,OAAO,QAAQ;AACrB,SAAO,SAAS,WACb,IAAI,uBAAuB,MAAM,QAAQ,WAAW,QAAQ,KAAK,IACjE,SAAS,WACT,IAAI,uBAAuB,MAAM,QAAQ,WAAW,QAAQ,KAAK,IACjE,IAAI,iBAAiB,MAAM,QAAQ,WAAW,QAAQ,KAAK;AAC/D;AAEO,MAAM,UAAU;","names":[]}
|
package/pg-core/dialect.cjs
CHANGED
|
@@ -219,7 +219,7 @@ class PgDialect {
|
|
|
219
219
|
return import_sql2.sql.join(joinsArray);
|
|
220
220
|
}
|
|
221
221
|
buildFromTable(table) {
|
|
222
|
-
if ((0, import_entity.is)(table, import_table2.Table) && table[import_table2.Table.Symbol.
|
|
222
|
+
if ((0, import_entity.is)(table, import_table2.Table) && table[import_table2.Table.Symbol.IsAlias]) {
|
|
223
223
|
let fullName = import_sql2.sql`${import_sql2.sql.identifier(table[import_table2.Table.Symbol.OriginalName])}`;
|
|
224
224
|
if (table[import_table2.Table.Symbol.Schema]) {
|
|
225
225
|
fullName = import_sql2.sql`${import_sql2.sql.identifier(table[import_table2.Table.Symbol.Schema])}.${fullName}`;
|