drizzle-orm 0.12.0-beta.3 → 0.12.0-beta.4
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.d.ts +5 -10
- package/column.js +9 -25
- package/column.js.map +1 -1
- package/operations.d.ts +3 -3
- package/package.json +1 -1
- package/sql/expressions/conditions.d.ts +4 -2
- package/sql/expressions/conditions.js.map +1 -1
- package/sql/index.d.ts +18 -26
- package/sql/index.js +9 -22
- package/sql/index.js.map +1 -1
- package/utils.js +6 -2
- package/utils.js.map +1 -1
package/column.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ColumnData, ColumnDriverParam, ColumnHasDefault, ColumnNotNull, TableName, Unwrap } from './branded-types';
|
|
2
2
|
import { ColumnBuilder } from './column-builder';
|
|
3
|
-
import { BoundParamValue,
|
|
3
|
+
import { BoundParamValue, DriverValueMapper } from './sql';
|
|
4
4
|
import { AnyTable } from './table';
|
|
5
|
-
export declare abstract class Column<TTableName extends TableName<string>, TData extends ColumnData, TDriverParam extends ColumnDriverParam, TNotNull extends ColumnNotNull<boolean>, THasDefault extends ColumnHasDefault<boolean>> implements
|
|
5
|
+
export declare abstract class Column<TTableName extends TableName<string>, TData extends ColumnData, TDriverParam extends ColumnDriverParam, TNotNull extends ColumnNotNull<boolean>, THasDefault extends ColumnHasDefault<boolean>> implements DriverValueMapper<Unwrap<TData>, Unwrap<TDriverParam>> {
|
|
6
6
|
readonly table: AnyTable<TTableName>;
|
|
7
7
|
protected typeKeeper: {
|
|
8
8
|
brand: 'Column';
|
|
@@ -17,17 +17,12 @@ export declare abstract class Column<TTableName extends TableName<string>, TData
|
|
|
17
17
|
readonly notNull: TNotNull;
|
|
18
18
|
readonly default: TData | undefined;
|
|
19
19
|
constructor(table: AnyTable<TTableName>, builder: ColumnBuilder<TData, TDriverParam, TNotNull, THasDefault>);
|
|
20
|
-
mapFromDriverValue: (value: any) => any;
|
|
21
|
-
mapToDriverValue: (value: any) => any;
|
|
22
20
|
abstract getSQLType(): string;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
mapFromDriverValue: (value: Unwrap<TDriverParam>) => Unwrap<TData>;
|
|
26
|
-
mapToDriverValue: (value: Unwrap<TData>) => Unwrap<TDriverParam>;
|
|
21
|
+
mapFromDriverValue(value: Unwrap<TDriverParam>): Unwrap<TData>;
|
|
22
|
+
mapToDriverValue(value: Unwrap<TData>): Unwrap<TDriverParam>;
|
|
27
23
|
}
|
|
28
24
|
export declare type AnyColumn<TTableName extends TableName = TableName, TData extends ColumnData = any, TDriverParam extends ColumnDriverParam = any, TNotNull extends ColumnNotNull = ColumnNotNull, THasDefault extends ColumnHasDefault = ColumnHasDefault> = Column<TTableName, TData, TDriverParam, TNotNull, THasDefault>;
|
|
29
|
-
export declare
|
|
30
|
-
export declare function param<TDataType extends ColumnData, TDriverType extends ColumnDriverParam>(value: Unwrap<TDataType>, column: AnyColumn<any, TDataType, TDriverType>): BoundParamValue<TDataType, TDriverType>;
|
|
25
|
+
export declare function param<TData extends ColumnData, TDriver extends ColumnDriverParam>(value: Unwrap<TData>, mapper: DriverValueMapper<Unwrap<TData>, Unwrap<TDriver>>): BoundParamValue<TData, TDriver>;
|
|
31
26
|
export declare type GetColumnData<TColumn, TInferMode extends 'query' | 'raw' = 'query'> = TColumn extends Column<any, infer TData, any, infer TNotNull, any> ? TInferMode extends 'raw' ? Unwrap<TData> : TNotNull extends true ? Unwrap<TData> : Unwrap<TData> | null : never;
|
|
32
27
|
export declare type InferColumnDriverParam<TColumn extends AnyColumn> = TColumn extends Column<TableName, ColumnData, infer TDriverType, ColumnNotNull, ColumnHasDefault> ? Unwrap<TDriverType> : never;
|
|
33
28
|
export declare type InferColumnsDataTypes<TColumns extends Record<string, AnyColumn>> = {
|
package/column.js
CHANGED
|
@@ -1,41 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.param = exports.
|
|
3
|
+
exports.param = exports.Column = void 0;
|
|
4
4
|
const sql_1 = require("./sql");
|
|
5
5
|
class Column {
|
|
6
6
|
constructor(table, builder) {
|
|
7
7
|
this.table = table;
|
|
8
|
-
/*
|
|
9
|
-
mapFromDriverValue and mapToDriverValue are provided just as a runtime fallback - if you need to override them,
|
|
10
|
-
extend the ColumnWithMapper class instead for proper type-checking.
|
|
11
|
-
*/
|
|
12
|
-
this.mapFromDriverValue = (value) => {
|
|
13
|
-
return value;
|
|
14
|
-
};
|
|
15
|
-
this.mapToDriverValue = (value) => {
|
|
16
|
-
return value;
|
|
17
|
-
};
|
|
18
8
|
this.name = builder.name;
|
|
19
9
|
this.notNull = builder._notNull;
|
|
20
10
|
this.default = builder._default;
|
|
21
11
|
this.primary = builder._primaryKey;
|
|
22
12
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.mapFromDriverValue = (value) => {
|
|
29
|
-
return value;
|
|
30
|
-
};
|
|
31
|
-
this.mapToDriverValue = (value) => {
|
|
32
|
-
return value;
|
|
33
|
-
};
|
|
13
|
+
mapFromDriverValue(value) {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
mapToDriverValue(value) {
|
|
17
|
+
return value;
|
|
34
18
|
}
|
|
35
19
|
}
|
|
36
|
-
exports.
|
|
37
|
-
function param(value,
|
|
38
|
-
return new sql_1.BoundParamValue(value,
|
|
20
|
+
exports.Column = Column;
|
|
21
|
+
function param(value, mapper) {
|
|
22
|
+
return new sql_1.BoundParamValue(value, mapper);
|
|
39
23
|
}
|
|
40
24
|
exports.param = param;
|
|
41
25
|
//# sourceMappingURL=column.js.map
|
package/column.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","sourceRoot":"","sources":["../src/column.ts"],"names":[],"mappings":";;;AAEA,+
|
|
1
|
+
{"version":3,"file":"column.js","sourceRoot":"","sources":["../src/column.ts"],"names":[],"mappings":";;;AAEA,+BAA2D;AAG3D,MAAsB,MAAM;IAqB3B,YACU,KAA2B,EACpC,OAAkE;QADzD,UAAK,GAAL,KAAK,CAAsB;QAGpC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IACpC,CAAC;IAID,kBAAkB,CAAC,KAA2B;QAC7C,OAAO,KAAY,CAAC;IACrB,CAAC;IAED,gBAAgB,CAAC,KAAoB;QACpC,OAAO,KAAY,CAAC;IACrB,CAAC;CACD;AAxCD,wBAwCC;AAUD,SAAgB,KAAK,CACpB,KAAoB,EACpB,MAAyD;IAEzD,OAAO,IAAI,qBAAe,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AALD,sBAKC"}
|
package/operations.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ColumnData, ColumnDriverParam, TableName } from './branded-types';
|
|
2
2
|
import { AnyColumn, Column } from './column';
|
|
3
|
-
import { AnySQLResponse, SQLResponse } from './sql';
|
|
3
|
+
import { AnySQL, AnySQLResponse, SQL, SQLResponse } from './sql';
|
|
4
4
|
export declare type RequiredKeyOnly<TKey extends string, T extends AnyColumn> = T extends Column<any, any, any, infer TNotNull, infer THasDefault> ? [TNotNull, THasDefault] extends [true, false] | [] ? TKey : never : never;
|
|
5
5
|
export declare type OptionalKeyOnly<TKey extends string, T extends AnyColumn> = TKey extends RequiredKeyOnly<TKey, T> ? never : TKey;
|
|
6
6
|
export declare type SelectFields<TTableName extends TableName, TColumnDriverParam extends ColumnDriverParam = ColumnDriverParam> = {
|
|
7
|
-
[key: string]: SQLResponse<TTableName, ColumnData> | AnyColumn<TTableName, any, TColumnDriverParam>;
|
|
7
|
+
[key: string]: SQL<TTableName> | SQLResponse<TTableName, ColumnData> | AnyColumn<TTableName, any, TColumnDriverParam>;
|
|
8
8
|
};
|
|
9
9
|
export declare type SelectFieldsOrdered = {
|
|
10
10
|
name: string;
|
|
11
11
|
resultTableName: string;
|
|
12
|
-
column: AnyColumn | AnySQLResponse;
|
|
12
|
+
column: AnyColumn | AnySQL | AnySQLResponse;
|
|
13
13
|
}[];
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { ColumnNotNull, TableName } from '../../branded-types';
|
|
2
2
|
import { AnyColumn, GetColumnData } from '../../column';
|
|
3
3
|
import { GetTableName } from '../../utils';
|
|
4
|
-
import { SQL, SQLWrapper } from '..';
|
|
4
|
+
import { AnySQL, SQL, SQLWrapper } from '..';
|
|
5
5
|
export declare function eq<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn, 'raw'>): SQL<GetTableName<TColumn>>;
|
|
6
6
|
export declare function eq<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
|
|
7
7
|
export declare function ne<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn>): SQL<GetTableName<TColumn>>;
|
|
8
8
|
export declare function ne<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
|
|
9
|
-
|
|
9
|
+
declare type GetSQLListTableNames<T extends (AnySQL | undefined)[]> = T[number] extends SQL<infer TTableName> ? TTableName : never;
|
|
10
|
+
export declare function and<TSQL extends (AnySQL | undefined)[]>(...conditions: TSQL): SQL<GetSQLListTableNames<TSQL>> | undefined;
|
|
10
11
|
export declare function or<TTableName extends TableName>(...conditions: (SQL<TTableName> | undefined)[]): SQL<TTableName> | undefined;
|
|
11
12
|
export declare function not<TTableName extends TableName>(condition: SQL<TTableName>): SQL<TTableName>;
|
|
12
13
|
export declare function gt<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn>): SQL<GetTableName<TColumn>>;
|
|
@@ -31,3 +32,4 @@ export declare function like<TTableName extends TableName, TColumn extends AnyCo
|
|
|
31
32
|
export declare function notLike<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, value: string): SQL<TTableName>;
|
|
32
33
|
export declare function ilike<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, value: string): SQL<TTableName>;
|
|
33
34
|
export declare function notIlike<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, value: string): SQL<TTableName>;
|
|
35
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/sql/expressions/conditions.ts"],"names":[],"mappings":";;;AACA,yCAAgE;AAEhE,0BAAiF;AAEjF,SAAS,WAAW,CAAC,KAA6B,EAAE,MAAiB;IACpE,IAAI,KAAK,YAAY,eAAM,EAAE;QAC5B,OAAO,KAAK,CAAC;KACb;SAAM;QACN,OAAO,IAAI,mBAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC1C;AACF,CAAC;AAeD,SAAgB,EAAE,CAAC,IAAe,EAAE,KAAqC;IACxE,OAAO,IAAA,OAAG,EAAA,GAAG,IAAI,MAAM,WAAW,CAAC,KAA+B,EAAE,IAAI,CAAC,EAAE,CAAC;AAC7E,CAAC;AAFD,gBAEC;AAeD,SAAgB,EAAE,CAAC,IAAe,EAAE,KAAqC;IACxE,OAAO,IAAA,OAAG,EAAA,GAAG,IAAI,OAAO,WAAW,CAAC,KAA+B,EAAE,IAAI,CAAC,EAAE,CAAC;AAC9E,CAAC;AAFD,gBAEC;
|
|
1
|
+
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/sql/expressions/conditions.ts"],"names":[],"mappings":"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"}
|
package/sql/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ColumnData, ColumnDriverParam, TableName, Unwrap } from '../branded-types';
|
|
2
|
-
import { AnyColumn
|
|
2
|
+
import { AnyColumn } from '../column';
|
|
3
3
|
import { AnyTable } from '../table';
|
|
4
|
-
import { GetTableName } from '../utils';
|
|
5
4
|
export declare class Param<TData = ColumnData | PrimitiveDriverParam> {
|
|
6
5
|
readonly value: TData;
|
|
7
6
|
constructor(value: TData);
|
|
@@ -28,7 +27,10 @@ export declare class SQL<TTableName extends TableName> implements SQLWrapper {
|
|
|
28
27
|
constructor(queryChunks: Chunk<TTableName>[]);
|
|
29
28
|
toQuery<TDriverParamType = unknown>({ escapeName, escapeParam }: BuildQueryConfig): PreparedQuery<ColumnDriverParam<TDriverParamType>>;
|
|
30
29
|
getSQL(): AnySQL<TTableName>;
|
|
30
|
+
as<TDecoder extends DriverValueDecoder<any, any> | DriverValueDecoder<any, any>['mapFromDriverValue']>(decoder: TDecoder): SQLResponse<TTableName, GetDecoderColumnData<TDecoder>>;
|
|
31
|
+
as<TData>(): SQLResponse<TTableName, ColumnData<TData>>;
|
|
31
32
|
}
|
|
33
|
+
export declare type GetDecoderColumnData<T> = T extends DriverValueDecoder<infer TData, any> ? ColumnData<TData> : T extends DriverValueDecoder<infer TData, any>['mapFromDriverValue'] ? ColumnData<TData> : never;
|
|
32
34
|
export declare type AnySQL<TTableName extends TableName = TableName> = SQL<TTableName>;
|
|
33
35
|
/**
|
|
34
36
|
* Any DB name (table, column, index etc.)
|
|
@@ -38,15 +40,17 @@ export declare class Name {
|
|
|
38
40
|
protected brand: 'Name';
|
|
39
41
|
constructor(value: string);
|
|
40
42
|
}
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
export declare type ParamValueEncoder<TData extends ColumnData, TDriverParam extends ColumnDriverParam> = (value: Unwrap<TData>) => Unwrap<TDriverParam>;
|
|
44
|
-
export declare const noopEncoder: ParamValueEncoder<any, any>;
|
|
45
|
-
export interface ParamValueMapper<TData extends ColumnData, TDriverParam extends ColumnDriverParam> {
|
|
46
|
-
mapFromDriverValue: ParamValueDecoder<TData, TDriverParam>;
|
|
47
|
-
mapToDriverValue: ParamValueEncoder<TData, TDriverParam>;
|
|
43
|
+
export interface DriverValueDecoder<TData, TDriverParam> {
|
|
44
|
+
mapFromDriverValue(value: TDriverParam): TData;
|
|
48
45
|
}
|
|
49
|
-
export
|
|
46
|
+
export interface DriverValueEncoder<TData, TDriverParam> {
|
|
47
|
+
mapToDriverValue(value: TData): TDriverParam;
|
|
48
|
+
}
|
|
49
|
+
export declare const noopDecoder: DriverValueDecoder<any, any>;
|
|
50
|
+
export declare const noopEncoder: DriverValueEncoder<any, any>;
|
|
51
|
+
export interface DriverValueMapper<TData, TDriverParam> extends DriverValueDecoder<TData, TDriverParam>, DriverValueEncoder<TData, TDriverParam> {
|
|
52
|
+
}
|
|
53
|
+
export declare const noopMapper: DriverValueMapper<any, any>;
|
|
50
54
|
/**
|
|
51
55
|
* Parameter value that is bound to a specific mapper (usually, a column of a specific type)
|
|
52
56
|
* @param value - Parameter value to bind
|
|
@@ -54,9 +58,9 @@ export declare const noopMapper: ParamValueMapper<any, any>;
|
|
|
54
58
|
*/
|
|
55
59
|
export declare class BoundParamValue<TDataType extends ColumnData, TDriverParamType extends ColumnDriverParam> {
|
|
56
60
|
readonly value: TDataType;
|
|
57
|
-
readonly mapper:
|
|
61
|
+
readonly mapper: DriverValueMapper<Unwrap<TDataType>, Unwrap<TDriverParamType>>;
|
|
58
62
|
protected brand: 'BoundParamValue';
|
|
59
|
-
constructor(value: TDataType, mapper:
|
|
63
|
+
constructor(value: TDataType, mapper: DriverValueMapper<Unwrap<TDataType>, Unwrap<TDriverParamType>>);
|
|
60
64
|
}
|
|
61
65
|
export declare type AnyBoundParamValue = BoundParamValue<any, any>;
|
|
62
66
|
export declare type SQLSourceParam<TTableName extends TableName> = SQLSourceParam<TTableName>[] | ColumnData | SQLWrapper | AnySQL<TTableName> | AnyTable<TTableName> | AnyColumn<TTableName> | AnyBoundParamValue | Name | PrimitiveDriverParam | undefined;
|
|
@@ -66,18 +70,6 @@ export declare function sql<TTableName extends string>(strings: TemplateStringsA
|
|
|
66
70
|
export declare namespace sql {
|
|
67
71
|
function empty(): AnySQL;
|
|
68
72
|
function fromList<TTableName extends TableName = TableName>(list: SQLSourceParam<TTableName>[]): SQL<TTableName>;
|
|
69
|
-
function response<TTableName extends TableName>(strings: TemplateStringsArray, ...params: (BoundParamValue<any, any> | ColumnData | SQLWrapper | PrimitiveDriverParam)[]): SQLResponse<TTableName, ColumnData>;
|
|
70
|
-
function response<TColumn extends AnyColumn>(strings: TemplateStringsArray, ...params: (TColumn | BoundParamValue<any, any> | ColumnData | SQLWrapper | PrimitiveDriverParam)[]): SQLResponse<GetTableName<TColumn>, ColumnData<GetColumnData<TColumn>>>;
|
|
71
|
-
namespace response {
|
|
72
|
-
interface SQLResponseFunc<TData extends ColumnData> {
|
|
73
|
-
<TTableName extends string>(strings: TemplateStringsArray, ...params: (SQLSourceParam<TableName<TTableName>> | ColumnData | PrimitiveDriverParam)[]): SQLResponse<TableName<TTableName>, TData>;
|
|
74
|
-
}
|
|
75
|
-
export function as<TData extends ColumnData>(): SQLResponseFunc<TData>;
|
|
76
|
-
export function as<TData>(): SQLResponseFunc<ColumnData<TData>>;
|
|
77
|
-
export function as<TData extends ColumnData>(decoder: AnyColumn<TableName, TData> | ParamValueDecoder<TData, ColumnDriverParam>): SQLResponseFunc<TData>;
|
|
78
|
-
export function as<TData>(decoder: AnyColumn<TableName, ColumnData<TData>> | ParamValueDecoder<ColumnData<TData>, ColumnDriverParam>): SQLResponseFunc<ColumnData<TData>>;
|
|
79
|
-
export {};
|
|
80
|
-
}
|
|
81
73
|
/**
|
|
82
74
|
* Convenience function to create an SQL query from a raw string.
|
|
83
75
|
* @param str The raw SQL query string.
|
|
@@ -86,12 +78,12 @@ export declare namespace sql {
|
|
|
86
78
|
}
|
|
87
79
|
export declare class SQLResponse<TTableName extends TableName, TValue extends ColumnData> {
|
|
88
80
|
readonly sql: SQL<TTableName>;
|
|
89
|
-
readonly decoder:
|
|
81
|
+
readonly decoder: DriverValueDecoder<TValue, any>;
|
|
90
82
|
protected typeKeeper: {
|
|
91
83
|
brand: 'SQLResponse';
|
|
92
84
|
tableName: TTableName;
|
|
93
85
|
value: TValue;
|
|
94
86
|
};
|
|
95
|
-
constructor(sql: SQL<TTableName>, decoder:
|
|
87
|
+
constructor(sql: SQL<TTableName>, decoder: DriverValueDecoder<TValue, any>);
|
|
96
88
|
}
|
|
97
89
|
export declare type AnySQLResponse<TTableName extends TableName = TableName> = SQLResponse<TTableName, any>;
|
package/sql/index.js
CHANGED
|
@@ -53,6 +53,9 @@ class SQL {
|
|
|
53
53
|
getSQL() {
|
|
54
54
|
return this;
|
|
55
55
|
}
|
|
56
|
+
as(decoder = exports.noopDecoder) {
|
|
57
|
+
return new SQLResponse(this, typeof decoder === 'function' ? { mapFromDriverValue: decoder } : decoder);
|
|
58
|
+
}
|
|
56
59
|
}
|
|
57
60
|
exports.SQL = SQL;
|
|
58
61
|
/**
|
|
@@ -64,14 +67,13 @@ class Name {
|
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
exports.Name = Name;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
exports.noopEncoder =
|
|
71
|
-
|
|
72
|
-
mapFromDriverValue: exports.noopDecoder,
|
|
73
|
-
mapToDriverValue: exports.noopEncoder,
|
|
70
|
+
exports.noopDecoder = {
|
|
71
|
+
mapFromDriverValue: (value) => value,
|
|
72
|
+
};
|
|
73
|
+
exports.noopEncoder = {
|
|
74
|
+
mapToDriverValue: (value) => value,
|
|
74
75
|
};
|
|
76
|
+
exports.noopMapper = Object.assign(Object.assign({}, exports.noopDecoder), exports.noopEncoder);
|
|
75
77
|
/**
|
|
76
78
|
* Parameter value that is bound to a specific mapper (usually, a column of a specific type)
|
|
77
79
|
* @param value - Parameter value to bind
|
|
@@ -138,21 +140,6 @@ exports.sql = sql;
|
|
|
138
140
|
return new SQL(list.map(buildChunksFromParam).flat(1));
|
|
139
141
|
}
|
|
140
142
|
sql.fromList = fromList;
|
|
141
|
-
function response(strings, ...params) {
|
|
142
|
-
var _a, _b;
|
|
143
|
-
const column = (_b = (_a = params.find((p) => p instanceof column_1.Column)) === null || _a === void 0 ? void 0 : _a.mapFromDriverValue) !== null && _b !== void 0 ? _b : exports.noopDecoder;
|
|
144
|
-
return new SQLResponse(sql(strings, ...params), column);
|
|
145
|
-
}
|
|
146
|
-
sql.response = response;
|
|
147
|
-
(function (response) {
|
|
148
|
-
function as(decoder = exports.noopDecoder) {
|
|
149
|
-
const responseSql = (strings, ...params) => {
|
|
150
|
-
return new SQLResponse(sql(strings, ...params), decoder instanceof column_1.Column ? decoder.mapFromDriverValue : decoder);
|
|
151
|
-
};
|
|
152
|
-
return responseSql;
|
|
153
|
-
}
|
|
154
|
-
response.as = as;
|
|
155
|
-
})(response = sql.response || (sql.response = {}));
|
|
156
143
|
/**
|
|
157
144
|
* Convenience function to create an SQL query from a raw string.
|
|
158
145
|
* @param str The raw SQL query string.
|
package/sql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sql/index.ts"],"names":[],"mappings":";;;AACA,sCAA6D;AAC7D,oCAA2C;AAC3C,oCAAmD;AAEnD,MAAa,KAAK;IACjB,YAA4B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;CAC5C;AAFD,sBAEC;AAuBD,SAAgB,YAAY,CAC3B,KAAc;IAEd,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,CAAC;AAClE,CAAC;AAJD,oCAIC;AAED,MAAa,GAAG;IAMf,YAA4B,WAAgC;QAAhC,gBAAW,GAAX,WAAW,CAAqB;IAAG,CAAC;IAEzD,OAAO,CACb,EAAE,UAAU,EAAE,WAAW,EAAoB;QAE7C,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC9B,OAAO,KAAK,CAAC;aACb;iBAAM,IAAI,KAAK,YAAY,IAAI,EAAE;gBACjC,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM,IAAI,KAAK,YAAY,aAAK,EAAE;gBAClC,OAAO,UAAU,CAAC,KAAK,CAAC,iBAAS,CAAC,CAAC,CAAC;aACpC;iBAAM,IAAI,KAAK,YAAY,eAAM,EAAE;gBACnC,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAS,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACzE;iBAAM,IAAI,KAAK,YAAY,KAAK,EAAE;gBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAyB,CAAC,CAAC;gBAC7C,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACN,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,GAAG,CAAC;aACV;QACF,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM;aACtB,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,EAAE;aACN,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEtB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAA+C,EAAE,CAAC;IACpF,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC;IACb,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sql/index.ts"],"names":[],"mappings":"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"}
|
package/utils.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mapResultRow = exports.getTableName = exports.tableColumns = exports.tableName = void 0;
|
|
4
4
|
const column_1 = require("./column");
|
|
5
|
+
const sql_1 = require("./sql");
|
|
5
6
|
/** @internal */
|
|
6
7
|
exports.tableName = Symbol('tableName');
|
|
7
8
|
/** @internal */
|
|
@@ -14,7 +15,10 @@ function mapResultRow(columns, row, joinsNotNullable) {
|
|
|
14
15
|
const result = columns.reduce((res, { name, resultTableName, column: columnOrResponse }, index) => {
|
|
15
16
|
let decoder;
|
|
16
17
|
if (columnOrResponse instanceof column_1.Column) {
|
|
17
|
-
decoder = columnOrResponse
|
|
18
|
+
decoder = columnOrResponse;
|
|
19
|
+
}
|
|
20
|
+
else if (columnOrResponse instanceof sql_1.SQL) {
|
|
21
|
+
decoder = sql_1.noopDecoder;
|
|
18
22
|
}
|
|
19
23
|
else {
|
|
20
24
|
decoder = columnOrResponse.decoder;
|
|
@@ -23,7 +27,7 @@ function mapResultRow(columns, row, joinsNotNullable) {
|
|
|
23
27
|
res[resultTableName] = {};
|
|
24
28
|
}
|
|
25
29
|
const rawValue = row[index];
|
|
26
|
-
res[resultTableName][name] = rawValue === null ? null : decoder(rawValue);
|
|
30
|
+
res[resultTableName][name] = rawValue === null ? null : decoder.mapFromDriverValue(rawValue);
|
|
27
31
|
return res;
|
|
28
32
|
}, {});
|
|
29
33
|
if (Object.keys(result).length === 1) {
|
package/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AACA,qCAA6C;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AACA,qCAA6C;AAE7C,+BAAyC;AAGzC,gBAAgB;AACH,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7C,gBAAgB;AACH,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEnD,SAAgB,YAAY,CAA+B,KAA2B;IACrF,OAAO,KAAK,CAAC,iBAAS,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AAED,SAAgB,YAAY,CAC3B,OAA4B,EAC5B,GAAwB,EACxB,gBAA0C;IAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE;QACnE,IAAI,OAAO,CAAC;QACZ,IAAI,gBAAgB,YAAY,eAAM,EAAE;YACvC,OAAO,GAAG,gBAAgB,CAAC;SAC3B;aAAM,IAAI,gBAAgB,YAAY,SAAG,EAAE;YAC3C,OAAO,GAAG,iBAAW,CAAC;SACtB;aAAM;YACN,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;SACnC;QACD,IAAI,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;SAC1B;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAE,CAAC;QAC7B,GAAG,CAAC,eAAe,CAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC;IACZ,CAAC,EACD,EAAE,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAY,CAAC;KAC3C;IAED,IAAI,CAAC,gBAAgB,EAAE;QACtB,OAAO,MAAiB,CAAC;KACzB;IAED,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE;QACvD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YAC9E,IAAI,CAAC,UAAU,EAAE;gBAChB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACzB;SACD;QACD,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,CACS,CAAC;AACd,CAAC;AA5CD,oCA4CC"}
|