drizzle-orm 0.10.26 → 0.10.27
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/README.md +439 -0
- package/dist/builders/aggregators/abstractAggregator.d.ts +11 -0
- package/dist/builders/aggregators/abstractAggregator.js +35 -0
- package/dist/builders/aggregators/deleteAggregator.d.ts +16 -0
- package/dist/builders/aggregators/deleteAggregator.js +42 -0
- package/dist/builders/aggregators/insertAggregator.d.ts +22 -0
- package/dist/builders/aggregators/insertAggregator.js +106 -0
- package/dist/builders/aggregators/selectAggregator.d.ts +39 -0
- package/dist/builders/aggregators/selectAggregator.js +143 -0
- package/dist/builders/aggregators/updateAggregator.d.ts +19 -0
- package/dist/builders/aggregators/updateAggregator.js +50 -0
- package/dist/builders/highLvlBuilders/abstractRequestBuilder.d.ts +27 -0
- package/dist/builders/highLvlBuilders/abstractRequestBuilder.js +32 -0
- package/dist/builders/highLvlBuilders/deleteRequestBuilder.d.ts +19 -0
- package/dist/builders/highLvlBuilders/deleteRequestBuilder.js +61 -0
- package/dist/builders/highLvlBuilders/insertRequestBuilder.d.ts +20 -0
- package/dist/builders/highLvlBuilders/insertRequestBuilder.js +73 -0
- package/dist/builders/highLvlBuilders/order.d.ts +5 -0
- package/dist/builders/highLvlBuilders/order.js +8 -0
- package/dist/builders/highLvlBuilders/selectRequestBuilder.d.ts +47 -0
- package/dist/builders/highLvlBuilders/selectRequestBuilder.js +128 -0
- package/dist/builders/highLvlBuilders/updateRequestBuilder.d.ts +22 -0
- package/dist/builders/highLvlBuilders/updateRequestBuilder.js +80 -0
- package/dist/builders/index.d.ts +18 -0
- package/dist/builders/index.js +54 -0
- package/dist/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +40 -0
- package/dist/builders/joinBuilders/builders/abstractJoinBuilder.js +78 -0
- package/dist/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +35 -0
- package/dist/builders/joinBuilders/builders/selectWithFiveJoins.js +45 -0
- package/dist/builders/joinBuilders/builders/selectWithFourJoins.d.ts +55 -0
- package/dist/builders/joinBuilders/builders/selectWithFourJoins.js +78 -0
- package/dist/builders/joinBuilders/builders/selectWithJoin.d.ts +49 -0
- package/dist/builders/joinBuilders/builders/selectWithJoin.js +64 -0
- package/dist/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +53 -0
- package/dist/builders/joinBuilders/builders/selectWithThreeJoins.js +73 -0
- package/dist/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +51 -0
- package/dist/builders/joinBuilders/builders/selectWithTwoJoins.js +68 -0
- package/dist/builders/joinBuilders/join.d.ts +23 -0
- package/dist/builders/joinBuilders/join.js +28 -0
- package/dist/builders/joinBuilders/joinWith.d.ts +14 -0
- package/dist/builders/joinBuilders/joinWith.js +14 -0
- package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +20 -0
- package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.js +35 -0
- package/dist/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +19 -0
- package/dist/builders/joinBuilders/responses/selectResponseFourJoins.js +34 -0
- package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +18 -0
- package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.js +33 -0
- package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +17 -0
- package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.js +32 -0
- package/dist/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +16 -0
- package/dist/builders/joinBuilders/responses/selectResponseWithJoin.js +31 -0
- package/dist/builders/joinBuilders/static.d.ts +5 -0
- package/dist/builders/joinBuilders/static.js +9 -0
- package/dist/builders/lowLvlBuilders/alter.d.ts +0 -0
- package/dist/builders/lowLvlBuilders/alter.js +1 -0
- package/dist/builders/lowLvlBuilders/create.d.ts +12 -0
- package/dist/builders/lowLvlBuilders/create.js +100 -0
- package/dist/builders/lowLvlBuilders/delets/delete.d.ts +5 -0
- package/dist/builders/lowLvlBuilders/delets/delete.js +15 -0
- package/dist/builders/lowLvlBuilders/delets/deleteFilter.d.ts +11 -0
- package/dist/builders/lowLvlBuilders/delets/deleteFilter.js +13 -0
- package/dist/builders/lowLvlBuilders/delets/deleteFrom.d.ts +12 -0
- package/dist/builders/lowLvlBuilders/delets/deleteFrom.js +14 -0
- package/dist/builders/lowLvlBuilders/inserts/insert.d.ts +5 -0
- package/dist/builders/lowLvlBuilders/inserts/insert.js +15 -0
- package/dist/builders/lowLvlBuilders/inserts/insertInto.d.ts +13 -0
- package/dist/builders/lowLvlBuilders/inserts/insertInto.js +16 -0
- package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +12 -0
- package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.js +13 -0
- package/dist/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +16 -0
- package/dist/builders/lowLvlBuilders/inserts/valuesInsert.js +19 -0
- package/dist/builders/lowLvlBuilders/selects/select.d.ts +9 -0
- package/dist/builders/lowLvlBuilders/selects/select.js +16 -0
- package/dist/builders/lowLvlBuilders/selects/selectFrom.d.ts +28 -0
- package/dist/builders/lowLvlBuilders/selects/selectFrom.js +34 -0
- package/dist/builders/lowLvlBuilders/selects/selectJoined.d.ts +26 -0
- package/dist/builders/lowLvlBuilders/selects/selectJoined.js +30 -0
- package/dist/builders/lowLvlBuilders/selects/whereSelect.d.ts +17 -0
- package/dist/builders/lowLvlBuilders/selects/whereSelect.js +25 -0
- package/dist/builders/lowLvlBuilders/updates/update.d.ts +5 -0
- package/dist/builders/lowLvlBuilders/updates/update.js +15 -0
- package/dist/builders/lowLvlBuilders/updates/updateIn.d.ts +13 -0
- package/dist/builders/lowLvlBuilders/updates/updateIn.js +15 -0
- package/dist/builders/lowLvlBuilders/updates/whereSelect.d.ts +11 -0
- package/dist/builders/lowLvlBuilders/updates/whereSelect.js +13 -0
- package/dist/builders/lowLvlBuilders/updates/whereSet.d.ts +14 -0
- package/dist/builders/lowLvlBuilders/updates/whereSet.js +18 -0
- package/dist/builders/requestBuilders/updates/combine.d.ts +9 -0
- package/dist/builders/requestBuilders/updates/combine.js +26 -0
- package/dist/builders/requestBuilders/updates/increment.d.ts +13 -0
- package/dist/builders/requestBuilders/updates/increment.js +18 -0
- package/dist/builders/requestBuilders/updates/setObjects.d.ts +12 -0
- package/dist/builders/requestBuilders/updates/setObjects.js +19 -0
- package/dist/builders/requestBuilders/updates/static.d.ts +7 -0
- package/dist/builders/requestBuilders/updates/static.js +15 -0
- package/dist/builders/requestBuilders/updates/updates.d.ts +9 -0
- package/dist/builders/requestBuilders/updates/updates.js +10 -0
- package/dist/builders/requestBuilders/where/and.d.ts +11 -0
- package/dist/builders/requestBuilders/where/and.js +31 -0
- package/dist/builders/requestBuilders/where/const.d.ts +9 -0
- package/dist/builders/requestBuilders/where/const.js +25 -0
- package/dist/builders/requestBuilders/where/constArray.d.ts +9 -0
- package/dist/builders/requestBuilders/where/constArray.js +39 -0
- package/dist/builders/requestBuilders/where/eqWhere.d.ts +12 -0
- package/dist/builders/requestBuilders/where/eqWhere.js +20 -0
- package/dist/builders/requestBuilders/where/greater.d.ts +15 -0
- package/dist/builders/requestBuilders/where/greater.js +20 -0
- package/dist/builders/requestBuilders/where/greaterEq.d.ts +15 -0
- package/dist/builders/requestBuilders/where/greaterEq.js +20 -0
- package/dist/builders/requestBuilders/where/in.d.ts +12 -0
- package/dist/builders/requestBuilders/where/in.js +20 -0
- package/dist/builders/requestBuilders/where/isNotNull.d.ts +11 -0
- package/dist/builders/requestBuilders/where/isNotNull.js +18 -0
- package/dist/builders/requestBuilders/where/isNull.d.ts +11 -0
- package/dist/builders/requestBuilders/where/isNull.js +18 -0
- package/dist/builders/requestBuilders/where/less.d.ts +15 -0
- package/dist/builders/requestBuilders/where/less.js +20 -0
- package/dist/builders/requestBuilders/where/lessEq.d.ts +15 -0
- package/dist/builders/requestBuilders/where/lessEq.js +20 -0
- package/dist/builders/requestBuilders/where/like.d.ts +12 -0
- package/dist/builders/requestBuilders/where/like.js +20 -0
- package/dist/builders/requestBuilders/where/notEqWhere.d.ts +12 -0
- package/dist/builders/requestBuilders/where/notEqWhere.js +20 -0
- package/dist/builders/requestBuilders/where/or.d.ts +11 -0
- package/dist/builders/requestBuilders/where/or.js +31 -0
- package/dist/builders/requestBuilders/where/rawWhere.d.ts +9 -0
- package/dist/builders/requestBuilders/where/rawWhere.js +15 -0
- package/dist/builders/requestBuilders/where/static.d.ts +17 -0
- package/dist/builders/requestBuilders/where/static.js +49 -0
- package/dist/builders/requestBuilders/where/var.d.ts +13 -0
- package/dist/builders/requestBuilders/where/var.js +18 -0
- package/dist/builders/requestBuilders/where/where.d.ts +8 -0
- package/dist/builders/requestBuilders/where/where.js +6 -0
- package/dist/builders/transaction/transaction.d.ts +8 -0
- package/dist/builders/transaction/transaction.js +20 -0
- package/dist/columns/column.d.ts +72 -0
- package/dist/columns/column.js +101 -0
- package/dist/columns/index.d.ts +10 -0
- package/dist/columns/index.js +27 -0
- package/dist/columns/types/columnType.d.ts +7 -0
- package/dist/columns/types/columnType.js +6 -0
- package/dist/columns/types/pgBigDecimal.d.ts +10 -0
- package/dist/columns/types/pgBigDecimal.js +31 -0
- package/dist/columns/types/pgBigInt.d.ts +15 -0
- package/dist/columns/types/pgBigInt.js +32 -0
- package/dist/columns/types/pgBigSerial.d.ts +15 -0
- package/dist/columns/types/pgBigSerial.js +32 -0
- package/dist/columns/types/pgBoolean.d.ts +8 -0
- package/dist/columns/types/pgBoolean.js +18 -0
- package/dist/columns/types/pgEnum.d.ts +9 -0
- package/dist/columns/types/pgEnum.js +18 -0
- package/dist/columns/types/pgInteger.d.ts +8 -0
- package/dist/columns/types/pgInteger.js +21 -0
- package/dist/columns/types/pgJsonb.d.ts +9 -0
- package/dist/columns/types/pgJsonb.js +20 -0
- package/dist/columns/types/pgSerial.d.ts +8 -0
- package/dist/columns/types/pgSerial.js +18 -0
- package/dist/columns/types/pgSmallInt.d.ts +8 -0
- package/dist/columns/types/pgSmallInt.js +18 -0
- package/dist/columns/types/pgText.d.ts +8 -0
- package/dist/columns/types/pgText.js +18 -0
- package/dist/columns/types/pgTime.d.ts +8 -0
- package/dist/columns/types/pgTime.js +18 -0
- package/dist/columns/types/pgTimestamp.d.ts +8 -0
- package/dist/columns/types/pgTimestamp.js +18 -0
- package/dist/columns/types/pgTimestamptz.d.ts +8 -0
- package/dist/columns/types/pgTimestamptz.js +18 -0
- package/dist/columns/types/pgVarChar.d.ts +9 -0
- package/dist/columns/types/pgVarChar.js +24 -0
- package/dist/db/db.d.ts +18 -0
- package/dist/db/db.js +25 -0
- package/dist/db/dbConnector.d.ts +9 -0
- package/dist/db/dbConnector.js +32 -0
- package/dist/db/dbStringConnector.d.ts +6 -0
- package/dist/db/dbStringConnector.js +29 -0
- package/dist/db/group_by.d.ts +0 -0
- package/dist/db/group_by.js +68 -0
- package/dist/db/index.d.ts +4 -0
- package/dist/db/index.js +14 -0
- package/dist/db/session.d.ts +9 -0
- package/dist/db/session.js +16 -0
- package/dist/docs/cases/simple_delete.d.ts +1 -0
- package/dist/docs/cases/simple_delete.js +35 -0
- package/dist/docs/cases/simple_insert.d.ts +1 -0
- package/dist/docs/cases/simple_insert.js +57 -0
- package/dist/docs/cases/simple_join.d.ts +1 -0
- package/dist/docs/cases/simple_join.js +115 -0
- package/dist/docs/cases/simple_select.d.ts +1 -0
- package/dist/docs/cases/simple_select.js +50 -0
- package/dist/docs/cases/simple_update.d.ts +1 -0
- package/dist/docs/cases/simple_update.js +39 -0
- package/dist/docs/tables/citiesTable.d.ts +14 -0
- package/dist/docs/tables/citiesTable.js +21 -0
- package/dist/docs/tables/userGroupsTable.d.ts +7 -0
- package/dist/docs/tables/userGroupsTable.js +18 -0
- package/dist/docs/tables/usersTable.d.ts +17 -0
- package/dist/docs/tables/usersTable.js +35 -0
- package/dist/docs/tables/usersToUserGroups.d.ts +7 -0
- package/dist/docs/tables/usersToUserGroups.js +20 -0
- package/dist/docs/types/rolesType.d.ts +1 -0
- package/dist/docs/types/rolesType.js +6 -0
- package/dist/errors/baseError.d.ts +22 -0
- package/dist/errors/baseError.js +35 -0
- package/dist/errors/builderError.d.ts +14 -0
- package/dist/errors/builderError.js +25 -0
- package/dist/errors/dbErrors.d.ts +12 -0
- package/dist/errors/dbErrors.js +28 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +31 -0
- package/dist/indexes/tableIndex.d.ts +11 -0
- package/dist/indexes/tableIndex.js +17 -0
- package/dist/logger/abstractLogger.d.ts +4 -0
- package/dist/logger/abstractLogger.js +5 -0
- package/dist/logger/consoleLogger.d.ts +5 -0
- package/dist/logger/consoleLogger.js +15 -0
- package/dist/mappers/index.d.ts +0 -0
- package/dist/mappers/index.js +1 -0
- package/dist/mappers/responseMapper.d.ts +10 -0
- package/dist/mappers/responseMapper.js +35 -0
- package/dist/migrator/index.d.ts +0 -0
- package/dist/migrator/index.js +1 -0
- package/dist/migrator/migrator.d.ts +11 -0
- package/dist/migrator/migrator.js +105 -0
- package/dist/serializer/serializer.d.ts +47 -0
- package/dist/serializer/serializer.js +258 -0
- package/dist/tables/abstractTable.d.ts +68 -0
- package/dist/tables/abstractTable.js +151 -0
- package/dist/tables/index.d.ts +3 -0
- package/dist/tables/index.js +11 -0
- package/dist/tables/inferTypes.d.ts +39 -0
- package/dist/tables/inferTypes.js +2 -0
- package/dist/tables/migrationsTable.d.ts +7 -0
- package/dist/tables/migrationsTable.js +18 -0
- package/dist/test.d.ts +1 -0
- package/dist/test.js +65 -0
- package/dist/types/type.d.ts +10 -0
- package/dist/types/type.js +14 -0
- package/dist/utils/ecranate.d.ts +2 -0
- package/dist/utils/ecranate.js +8 -0
- package/package.json +3 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const whereSelect_1 = __importDefault(require("./whereSelect"));
|
|
7
|
+
class SelectJoined {
|
|
8
|
+
constructor(aggregator) {
|
|
9
|
+
this.apply = (joins) => {
|
|
10
|
+
this._aggregator.join(joins);
|
|
11
|
+
return this;
|
|
12
|
+
};
|
|
13
|
+
this.limit = (limit) => {
|
|
14
|
+
this._aggregator.limit(limit);
|
|
15
|
+
return this;
|
|
16
|
+
};
|
|
17
|
+
this.offset = (offset) => {
|
|
18
|
+
this._aggregator.offset(offset);
|
|
19
|
+
return this;
|
|
20
|
+
};
|
|
21
|
+
this.orderBy = (orderBy, order) => {
|
|
22
|
+
this._aggregator.orderBy(orderBy, order);
|
|
23
|
+
return this;
|
|
24
|
+
};
|
|
25
|
+
this.filteredBy = (filters) => new whereSelect_1.default(this._aggregator).apply(filters);
|
|
26
|
+
this.build = () => this._aggregator.buildQuery();
|
|
27
|
+
this._aggregator = aggregator;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = SelectJoined;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AbstractColumn } from '../../../columns/column';
|
|
2
|
+
import ColumnType from '../../../columns/types/columnType';
|
|
3
|
+
import SelectAggregator from '../../aggregators/selectAggregator';
|
|
4
|
+
import Order from '../../highLvlBuilders/order';
|
|
5
|
+
import Expr from '../../requestBuilders/where/where';
|
|
6
|
+
export default class WhereSelect {
|
|
7
|
+
private _aggregator;
|
|
8
|
+
constructor(aggregator: SelectAggregator);
|
|
9
|
+
limit: (limit?: number | undefined) => WhereSelect;
|
|
10
|
+
offset: (offset?: number | undefined) => WhereSelect;
|
|
11
|
+
orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) => WhereSelect;
|
|
12
|
+
apply: (filters: Expr) => WhereSelect;
|
|
13
|
+
build: () => {
|
|
14
|
+
query: string;
|
|
15
|
+
values: any[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class WhereSelect {
|
|
4
|
+
constructor(aggregator) {
|
|
5
|
+
this.limit = (limit) => {
|
|
6
|
+
this._aggregator.limit(limit);
|
|
7
|
+
return this;
|
|
8
|
+
};
|
|
9
|
+
this.offset = (offset) => {
|
|
10
|
+
this._aggregator.offset(offset);
|
|
11
|
+
return this;
|
|
12
|
+
};
|
|
13
|
+
this.orderBy = (orderBy, order) => {
|
|
14
|
+
this._aggregator.orderBy(orderBy, order);
|
|
15
|
+
return this;
|
|
16
|
+
};
|
|
17
|
+
this.apply = (filters) => {
|
|
18
|
+
this._aggregator.filters(filters);
|
|
19
|
+
return this;
|
|
20
|
+
};
|
|
21
|
+
this.build = () => this._aggregator.buildQuery();
|
|
22
|
+
this._aggregator = aggregator;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = WhereSelect;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const updateAggregator_1 = __importDefault(require("../../aggregators/updateAggregator"));
|
|
7
|
+
const updateIn_1 = __importDefault(require("./updateIn"));
|
|
8
|
+
class Update {
|
|
9
|
+
}
|
|
10
|
+
exports.default = Update;
|
|
11
|
+
Update.in = (table) => {
|
|
12
|
+
const aggregator = new updateAggregator_1.default(table);
|
|
13
|
+
aggregator.appendFrom(table.tableName());
|
|
14
|
+
return new updateIn_1.default(aggregator);
|
|
15
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import UpdateAggregator from '../../aggregators/updateAggregator';
|
|
2
|
+
import { UpdateExpr } from '../../requestBuilders/updates/updates';
|
|
3
|
+
import WhereSet from './whereSet';
|
|
4
|
+
export default class UpdateIn {
|
|
5
|
+
private _aggregator;
|
|
6
|
+
constructor(aggregator: UpdateAggregator);
|
|
7
|
+
columns: () => UpdateIn;
|
|
8
|
+
set: (updates: UpdateExpr) => WhereSet<unknown, unknown>;
|
|
9
|
+
build: () => {
|
|
10
|
+
query: string;
|
|
11
|
+
values: any[];
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const whereSet_1 = __importDefault(require("./whereSet"));
|
|
7
|
+
class UpdateIn {
|
|
8
|
+
constructor(aggregator) {
|
|
9
|
+
this.columns = () => new UpdateIn(this._aggregator);
|
|
10
|
+
this.set = (updates) => new whereSet_1.default(this._aggregator).apply(updates);
|
|
11
|
+
this.build = () => this._aggregator.buildQuery();
|
|
12
|
+
this._aggregator = aggregator;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.default = UpdateIn;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import UpdateAggregator from '../../aggregators/updateAggregator';
|
|
2
|
+
import Expr from '../../requestBuilders/where/where';
|
|
3
|
+
export default class WhereSelect<SERVICE, DB> {
|
|
4
|
+
private _aggregator;
|
|
5
|
+
constructor(aggregator: UpdateAggregator);
|
|
6
|
+
apply: (filters: Expr) => WhereSelect<SERVICE, DB>;
|
|
7
|
+
build: () => {
|
|
8
|
+
query: string;
|
|
9
|
+
values: any[];
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class WhereSelect {
|
|
4
|
+
constructor(aggregator) {
|
|
5
|
+
this.apply = (filters) => {
|
|
6
|
+
this._aggregator.where(filters);
|
|
7
|
+
return this;
|
|
8
|
+
};
|
|
9
|
+
this.build = () => this._aggregator.buildQuery();
|
|
10
|
+
this._aggregator = aggregator;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = WhereSelect;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import UpdateAggregator from '../../aggregators/updateAggregator';
|
|
2
|
+
import { UpdateExpr } from '../../requestBuilders/updates/updates';
|
|
3
|
+
import Expr from '../../requestBuilders/where/where';
|
|
4
|
+
import WhereSelect from './whereSelect';
|
|
5
|
+
export default class WhereSet<SERVICE, DB> {
|
|
6
|
+
private _aggregator;
|
|
7
|
+
constructor(aggregator: UpdateAggregator);
|
|
8
|
+
apply: (updates: UpdateExpr) => WhereSet<SERVICE, DB>;
|
|
9
|
+
filteredBy: (filters: Expr) => WhereSelect<unknown, unknown>;
|
|
10
|
+
build: () => {
|
|
11
|
+
query: string;
|
|
12
|
+
values: any[];
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const whereSelect_1 = __importDefault(require("./whereSelect"));
|
|
7
|
+
class WhereSet {
|
|
8
|
+
constructor(aggregator) {
|
|
9
|
+
this.apply = (updates) => {
|
|
10
|
+
this._aggregator.set(updates);
|
|
11
|
+
return this;
|
|
12
|
+
};
|
|
13
|
+
this.filteredBy = (filters) => new whereSelect_1.default(this._aggregator).apply(filters);
|
|
14
|
+
this.build = () => this._aggregator.buildQuery();
|
|
15
|
+
this._aggregator = aggregator;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = WhereSet;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const updates_1 = require("./updates");
|
|
4
|
+
class Combine extends updates_1.UpdateExpr {
|
|
5
|
+
constructor(setters) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = (position) => {
|
|
8
|
+
let nextPosition = position || 1;
|
|
9
|
+
const response = [];
|
|
10
|
+
const valuesResult = [];
|
|
11
|
+
for (let index = 0; index < this._setters.length; index += 1) {
|
|
12
|
+
const setter = this._setters[index];
|
|
13
|
+
const expressionResult = setter.toQuery(nextPosition);
|
|
14
|
+
valuesResult.push(...expressionResult.values);
|
|
15
|
+
response.push(expressionResult.query);
|
|
16
|
+
nextPosition += expressionResult.values.length;
|
|
17
|
+
if (index !== this._setters.length - 1) {
|
|
18
|
+
response.push(', ');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return { query: response.join(''), values: valuesResult };
|
|
22
|
+
};
|
|
23
|
+
this._setters = setters;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.default = Combine;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AbstractColumn } from '../../../columns/column';
|
|
2
|
+
import ColumnType from '../../../columns/types/columnType';
|
|
3
|
+
import { UpdateCustomExpr } from './updates';
|
|
4
|
+
export default class Increment<T extends AbstractColumn<ColumnType<any>, boolean, boolean>> extends UpdateCustomExpr<T> {
|
|
5
|
+
private _column;
|
|
6
|
+
private _value;
|
|
7
|
+
constructor(value: number);
|
|
8
|
+
setColumn: (column: T) => UpdateCustomExpr<T>;
|
|
9
|
+
toQuery: () => {
|
|
10
|
+
query: string;
|
|
11
|
+
values: Array<any>;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const updates_1 = require("./updates");
|
|
4
|
+
class Increment extends updates_1.UpdateCustomExpr {
|
|
5
|
+
constructor(value) {
|
|
6
|
+
super();
|
|
7
|
+
this.setColumn = (column) => {
|
|
8
|
+
this._column = column;
|
|
9
|
+
return this;
|
|
10
|
+
};
|
|
11
|
+
this.toQuery = () => {
|
|
12
|
+
const query = `${this._column.getColumnName()} = ${this._column.getColumnName()} + ${this._value}`;
|
|
13
|
+
return { query, values: [] };
|
|
14
|
+
};
|
|
15
|
+
this._value = value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = Increment;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractColumn } from '../../../columns/column';
|
|
2
|
+
import ColumnType from '../../../columns/types/columnType';
|
|
3
|
+
import { UpdateExpr } from './updates';
|
|
4
|
+
export default class SetObject<T extends AbstractColumn<ColumnType<any>, boolean, boolean>> extends UpdateExpr {
|
|
5
|
+
private _column;
|
|
6
|
+
private _value;
|
|
7
|
+
constructor(column: T, value: any);
|
|
8
|
+
toQuery: (position?: number | undefined) => {
|
|
9
|
+
query: string;
|
|
10
|
+
values: Array<any>;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const updates_1 = require("./updates");
|
|
4
|
+
class SetObject extends updates_1.UpdateExpr {
|
|
5
|
+
constructor(column, value) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = (position) => {
|
|
8
|
+
const nextPosition = position || 1;
|
|
9
|
+
const valueToInsert = this._value === null || this._value === undefined
|
|
10
|
+
? this._value
|
|
11
|
+
: this._column.getColumnType().insertStrategy(this._value);
|
|
12
|
+
const query = `"${this._column.getColumnName()}"=$${nextPosition}`;
|
|
13
|
+
return { query, values: [valueToInsert] };
|
|
14
|
+
};
|
|
15
|
+
this._column = column;
|
|
16
|
+
this._value = value;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.default = SetObject;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AbstractColumn } from '../../../columns/column';
|
|
2
|
+
import ColumnType from '../../../columns/types/columnType';
|
|
3
|
+
import { ExtractCodeType } from '../../../tables/inferTypes';
|
|
4
|
+
import { UpdateCustomExpr, UpdateExpr } from './updates';
|
|
5
|
+
export declare const set: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(column: T, value: ExtractCodeType<T>) => UpdateExpr;
|
|
6
|
+
export declare const incrementBy: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(value: number) => UpdateCustomExpr<T>;
|
|
7
|
+
export declare const combine: (updates: Array<UpdateExpr>) => UpdateExpr;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.combine = exports.incrementBy = exports.set = void 0;
|
|
7
|
+
const combine_1 = __importDefault(require("./combine"));
|
|
8
|
+
const increment_1 = __importDefault(require("./increment"));
|
|
9
|
+
const setObjects_1 = __importDefault(require("./setObjects"));
|
|
10
|
+
const set = (column, value) => new setObjects_1.default(column, value);
|
|
11
|
+
exports.set = set;
|
|
12
|
+
const incrementBy = (value) => new increment_1.default(value);
|
|
13
|
+
exports.incrementBy = incrementBy;
|
|
14
|
+
const combine = (updates) => new combine_1.default(updates);
|
|
15
|
+
exports.combine = combine;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateCustomExpr = exports.UpdateExpr = void 0;
|
|
4
|
+
/* eslint-disable max-classes-per-file */
|
|
5
|
+
class UpdateExpr {
|
|
6
|
+
}
|
|
7
|
+
exports.UpdateExpr = UpdateExpr;
|
|
8
|
+
class UpdateCustomExpr extends UpdateExpr {
|
|
9
|
+
}
|
|
10
|
+
exports.UpdateCustomExpr = UpdateCustomExpr;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Expr from './where';
|
|
2
|
+
export default class And extends Expr {
|
|
3
|
+
private expressions;
|
|
4
|
+
constructor(expressions: Expr[]);
|
|
5
|
+
toQuery: (position?: number | undefined, tableCache?: {
|
|
6
|
+
[tableName: string]: string;
|
|
7
|
+
} | undefined) => {
|
|
8
|
+
query: string;
|
|
9
|
+
values: Array<any>;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable max-len */
|
|
7
|
+
const where_1 = __importDefault(require("./where"));
|
|
8
|
+
class And extends where_1.default {
|
|
9
|
+
constructor(expressions) {
|
|
10
|
+
super();
|
|
11
|
+
this.toQuery = (position, tableCache) => {
|
|
12
|
+
let nextPosition = position || 1;
|
|
13
|
+
const result = ['('];
|
|
14
|
+
const valuesResult = [];
|
|
15
|
+
for (let i = 0; i < this.expressions.length; i += 1) {
|
|
16
|
+
const expression = this.expressions[i];
|
|
17
|
+
const expressionResult = expression.toQuery(nextPosition, tableCache);
|
|
18
|
+
valuesResult.push(...expressionResult.values);
|
|
19
|
+
result.push(expressionResult.query);
|
|
20
|
+
nextPosition += expressionResult.values.length;
|
|
21
|
+
if (i < this.expressions.length - 1) {
|
|
22
|
+
result.push(' and ');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
result.push(')');
|
|
26
|
+
return { query: result.join(''), values: valuesResult };
|
|
27
|
+
};
|
|
28
|
+
this.expressions = expressions;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.default = And;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable no-return-assign */
|
|
7
|
+
const ecranate_1 = require("../../../utils/ecranate");
|
|
8
|
+
const where_1 = __importDefault(require("./where"));
|
|
9
|
+
class Const extends where_1.default {
|
|
10
|
+
constructor(value) {
|
|
11
|
+
super();
|
|
12
|
+
this.toQuery = (position) => {
|
|
13
|
+
const nextPosition = position || 1;
|
|
14
|
+
if (this.value instanceof Date) {
|
|
15
|
+
return { query: `$${nextPosition}`, values: [`${this.value.toISOString()}`] };
|
|
16
|
+
}
|
|
17
|
+
if (ecranate_1.shouldEcranate(this.value)) {
|
|
18
|
+
return { query: `$${nextPosition}`, values: [`${this.value.toString()}`] };
|
|
19
|
+
}
|
|
20
|
+
return { query: `$${nextPosition}`, values: [this.value] };
|
|
21
|
+
};
|
|
22
|
+
this.value = value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = Const;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ecranate_1 = require("../../../utils/ecranate");
|
|
7
|
+
const where_1 = __importDefault(require("./where"));
|
|
8
|
+
class ConstArray extends where_1.default {
|
|
9
|
+
constructor(values) {
|
|
10
|
+
super();
|
|
11
|
+
this.toQuery = (position) => {
|
|
12
|
+
let nextPosition = position || 1;
|
|
13
|
+
const finalArray = [];
|
|
14
|
+
const finalValues = [];
|
|
15
|
+
for (let i = 0; i < this.values.length; i += 1) {
|
|
16
|
+
const value = this.values[i];
|
|
17
|
+
if (value instanceof Date) {
|
|
18
|
+
finalArray.push(`$${nextPosition}`);
|
|
19
|
+
finalValues.push(`${value.toISOString()}`);
|
|
20
|
+
}
|
|
21
|
+
else if (ecranate_1.shouldEcranate(value)) {
|
|
22
|
+
finalArray.push(`$${nextPosition}`);
|
|
23
|
+
finalValues.push(`${value.toString()}`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
finalArray.push(`$${nextPosition}`);
|
|
27
|
+
finalValues.push(value);
|
|
28
|
+
}
|
|
29
|
+
if (i < this.values.length - 1) {
|
|
30
|
+
finalArray.push(',');
|
|
31
|
+
}
|
|
32
|
+
nextPosition += 1;
|
|
33
|
+
}
|
|
34
|
+
return { query: finalArray.join(''), values: finalValues };
|
|
35
|
+
};
|
|
36
|
+
this.values = values;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.default = ConstArray;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Expr from './where';
|
|
2
|
+
export default class EqWhere extends Expr {
|
|
3
|
+
private left;
|
|
4
|
+
private right;
|
|
5
|
+
constructor(left: Expr, right: Expr);
|
|
6
|
+
toQuery: (position?: number | undefined, tableCache?: {
|
|
7
|
+
[tableName: string]: string;
|
|
8
|
+
} | undefined) => {
|
|
9
|
+
query: string;
|
|
10
|
+
values: Array<any>;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable max-len */
|
|
7
|
+
const where_1 = __importDefault(require("./where"));
|
|
8
|
+
class EqWhere extends where_1.default {
|
|
9
|
+
constructor(left, right) {
|
|
10
|
+
super();
|
|
11
|
+
this.toQuery = (position, tableCache) => {
|
|
12
|
+
const rightPreparedValues = this.right.toQuery(position, tableCache);
|
|
13
|
+
const leftPreparedValues = this.left.toQuery(position, tableCache);
|
|
14
|
+
return { query: `${leftPreparedValues.query}=${rightPreparedValues.query}`, values: [...leftPreparedValues.values, ...rightPreparedValues.values] };
|
|
15
|
+
};
|
|
16
|
+
this.left = left;
|
|
17
|
+
this.right = right;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = EqWhere;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Expr from './where';
|
|
2
|
+
export default class Greater extends Expr {
|
|
3
|
+
private left;
|
|
4
|
+
private right;
|
|
5
|
+
constructor({ left, right }: {
|
|
6
|
+
left: Expr;
|
|
7
|
+
right: Expr;
|
|
8
|
+
});
|
|
9
|
+
toQuery: (position: number, tableCache?: {
|
|
10
|
+
[tableName: string]: string;
|
|
11
|
+
} | undefined) => {
|
|
12
|
+
query: string;
|
|
13
|
+
values: Array<any>;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable max-len */
|
|
7
|
+
const where_1 = __importDefault(require("./where"));
|
|
8
|
+
class Greater extends where_1.default {
|
|
9
|
+
constructor({ left, right }) {
|
|
10
|
+
super();
|
|
11
|
+
this.toQuery = (position, tableCache) => {
|
|
12
|
+
const rightPreparedValues = this.right.toQuery(position, tableCache);
|
|
13
|
+
const leftPreparedValues = this.left.toQuery(position, tableCache);
|
|
14
|
+
return { query: `${leftPreparedValues.query} > ${rightPreparedValues.query}`, values: [...leftPreparedValues.values, ...rightPreparedValues.values] };
|
|
15
|
+
};
|
|
16
|
+
this.left = left;
|
|
17
|
+
this.right = right;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = Greater;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Expr from './where';
|
|
2
|
+
export default class GreaterEq extends Expr {
|
|
3
|
+
private left;
|
|
4
|
+
private right;
|
|
5
|
+
constructor({ left, right }: {
|
|
6
|
+
left: Expr;
|
|
7
|
+
right: Expr;
|
|
8
|
+
});
|
|
9
|
+
toQuery: (position: number, tableCache?: {
|
|
10
|
+
[tableName: string]: string;
|
|
11
|
+
} | undefined) => {
|
|
12
|
+
query: string;
|
|
13
|
+
values: Array<any>;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable max-len */
|
|
7
|
+
const where_1 = __importDefault(require("./where"));
|
|
8
|
+
class GreaterEq extends where_1.default {
|
|
9
|
+
constructor({ left, right }) {
|
|
10
|
+
super();
|
|
11
|
+
this.toQuery = (position, tableCache) => {
|
|
12
|
+
const rightPreparedValues = this.right.toQuery(position, tableCache);
|
|
13
|
+
const leftPreparedValues = this.left.toQuery(position, tableCache);
|
|
14
|
+
return { query: `${leftPreparedValues.query} >= ${rightPreparedValues.query}`, values: [...leftPreparedValues.values, ...rightPreparedValues.values] };
|
|
15
|
+
};
|
|
16
|
+
this.left = left;
|
|
17
|
+
this.right = right;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = GreaterEq;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Expr from './where';
|
|
2
|
+
export default class In extends Expr {
|
|
3
|
+
private left;
|
|
4
|
+
private right;
|
|
5
|
+
constructor(left: Expr, right: Expr);
|
|
6
|
+
toQuery: (position?: number | undefined, tableCache?: {
|
|
7
|
+
[tableName: string]: string;
|
|
8
|
+
} | undefined) => {
|
|
9
|
+
query: string;
|
|
10
|
+
values: Array<any>;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable max-len */
|
|
7
|
+
const where_1 = __importDefault(require("./where"));
|
|
8
|
+
class In extends where_1.default {
|
|
9
|
+
constructor(left, right) {
|
|
10
|
+
super();
|
|
11
|
+
this.toQuery = (position, tableCache) => {
|
|
12
|
+
const rightPreparedValues = this.right.toQuery(position, tableCache);
|
|
13
|
+
const leftPreparedValues = this.left.toQuery(position, tableCache);
|
|
14
|
+
return { query: `${leftPreparedValues.query} in (${rightPreparedValues.query})`, values: [...leftPreparedValues.values, ...rightPreparedValues.values] };
|
|
15
|
+
};
|
|
16
|
+
this.left = left;
|
|
17
|
+
this.right = right;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = In;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Expr from './where';
|
|
2
|
+
export default class IsNotNull extends Expr {
|
|
3
|
+
private left;
|
|
4
|
+
constructor(left: Expr);
|
|
5
|
+
toQuery: (position?: number | undefined, tableCache?: {
|
|
6
|
+
[tableName: string]: string;
|
|
7
|
+
} | undefined) => {
|
|
8
|
+
query: string;
|
|
9
|
+
values: Array<any>;
|
|
10
|
+
};
|
|
11
|
+
}
|