drizzle-orm 0.9.0 → 0.9.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/builders/aggregators/abstractAggregator.d.ts +9 -0
- package/builders/aggregators/abstractAggregator.js +28 -0
- package/builders/aggregators/deleteAggregator.d.ts +12 -0
- package/builders/aggregators/deleteAggregator.js +36 -0
- package/builders/aggregators/insertAggregator.d.ts +18 -0
- package/builders/aggregators/insertAggregator.js +94 -0
- package/builders/aggregators/selectAggregator.d.ts +26 -0
- package/builders/aggregators/selectAggregator.js +106 -0
- package/builders/aggregators/updateAggregator.d.ts +15 -0
- package/builders/aggregators/updateAggregator.js +41 -0
- package/builders/highLvlBuilders/abstractRequestBuilder.d.ts +21 -0
- package/builders/highLvlBuilders/abstractRequestBuilder.js +21 -0
- package/builders/highLvlBuilders/deleteRequestBuilder.d.ts +17 -0
- package/builders/highLvlBuilders/deleteRequestBuilder.js +43 -0
- package/builders/highLvlBuilders/insertRequestBuilder.d.ts +18 -0
- package/builders/highLvlBuilders/insertRequestBuilder.js +54 -0
- package/builders/highLvlBuilders/order.d.ts +5 -0
- package/builders/highLvlBuilders/order.js +8 -0
- package/builders/highLvlBuilders/selectRequestBuilder.d.ts +42 -0
- package/builders/highLvlBuilders/selectRequestBuilder.js +99 -0
- package/builders/highLvlBuilders/updateRequestBuilder.d.ts +20 -0
- package/builders/highLvlBuilders/updateRequestBuilder.js +54 -0
- package/{src/builders/index.ts → builders/index.d.ts} +2 -4
- package/builders/index.js +50 -0
- package/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +27 -0
- package/builders/joinBuilders/builders/abstractJoinBuilder.js +42 -0
- package/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +23 -0
- package/builders/joinBuilders/builders/selectWithFiveJoins.js +33 -0
- package/builders/joinBuilders/builders/selectWithFourJoins.d.ts +36 -0
- package/builders/joinBuilders/builders/selectWithFourJoins.js +65 -0
- package/builders/joinBuilders/builders/selectWithJoin.d.ts +33 -0
- package/builders/joinBuilders/builders/selectWithJoin.js +56 -0
- package/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +35 -0
- package/builders/joinBuilders/builders/selectWithThreeJoins.js +62 -0
- package/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +34 -0
- package/builders/joinBuilders/builders/selectWithTwoJoins.js +59 -0
- package/builders/joinBuilders/join.d.ts +23 -0
- package/builders/joinBuilders/join.js +28 -0
- package/builders/joinBuilders/joinWith.d.ts +14 -0
- package/builders/joinBuilders/joinWith.js +11 -0
- package/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +19 -0
- package/builders/joinBuilders/responses/selectResponseFiveJoins.js +35 -0
- package/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +18 -0
- package/builders/joinBuilders/responses/selectResponseFourJoins.js +34 -0
- package/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +17 -0
- package/builders/joinBuilders/responses/selectResponseThreeJoins.js +33 -0
- package/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +16 -0
- package/builders/joinBuilders/responses/selectResponseTwoJoins.js +32 -0
- package/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +15 -0
- package/builders/joinBuilders/responses/selectResponseWithJoin.js +31 -0
- package/builders/joinBuilders/static.d.ts +5 -0
- package/builders/joinBuilders/static.js +6 -0
- package/{src/builders/lowLvlBuilders/alter.ts → builders/lowLvlBuilders/alter.d.ts} +0 -0
- package/builders/lowLvlBuilders/alter.js +1 -0
- package/builders/lowLvlBuilders/create.d.ts +12 -0
- package/builders/lowLvlBuilders/create.js +97 -0
- package/builders/lowLvlBuilders/delets/delete.d.ts +5 -0
- package/builders/lowLvlBuilders/delets/delete.js +12 -0
- package/builders/lowLvlBuilders/delets/deleteFilter.d.ts +8 -0
- package/builders/lowLvlBuilders/delets/deleteFilter.js +13 -0
- package/builders/lowLvlBuilders/delets/deleteFrom.d.ts +9 -0
- package/builders/lowLvlBuilders/delets/deleteFrom.js +11 -0
- package/builders/lowLvlBuilders/inserts/insert.d.ts +5 -0
- package/builders/lowLvlBuilders/inserts/insert.js +12 -0
- package/builders/lowLvlBuilders/inserts/insertInto.d.ts +10 -0
- package/builders/lowLvlBuilders/inserts/insertInto.js +13 -0
- package/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +9 -0
- package/builders/lowLvlBuilders/inserts/onConflictInsert.js +13 -0
- package/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +13 -0
- package/builders/lowLvlBuilders/inserts/valuesInsert.js +16 -0
- package/builders/lowLvlBuilders/selects/select.d.ts +5 -0
- package/builders/lowLvlBuilders/selects/select.js +12 -0
- package/builders/lowLvlBuilders/selects/selectFrom.d.ts +19 -0
- package/builders/lowLvlBuilders/selects/selectFrom.js +31 -0
- package/builders/lowLvlBuilders/selects/selectJoined.d.ts +17 -0
- package/builders/lowLvlBuilders/selects/selectJoined.js +27 -0
- package/builders/lowLvlBuilders/selects/whereSelect.d.ts +14 -0
- package/builders/lowLvlBuilders/selects/whereSelect.js +25 -0
- package/builders/lowLvlBuilders/updates/update.d.ts +5 -0
- package/builders/lowLvlBuilders/updates/update.js +12 -0
- package/builders/lowLvlBuilders/updates/updateIn.d.ts +10 -0
- package/builders/lowLvlBuilders/updates/updateIn.js +12 -0
- package/builders/lowLvlBuilders/updates/whereSelect.d.ts +8 -0
- package/builders/lowLvlBuilders/updates/whereSelect.js +13 -0
- package/builders/lowLvlBuilders/updates/whereSet.d.ts +11 -0
- package/builders/lowLvlBuilders/updates/whereSet.js +15 -0
- package/builders/requestBuilders/updates/combine.d.ts +6 -0
- package/builders/requestBuilders/updates/combine.js +21 -0
- package/builders/requestBuilders/updates/setObjects.d.ts +9 -0
- package/builders/requestBuilders/updates/setObjects.js +12 -0
- package/builders/requestBuilders/updates/static.d.ts +6 -0
- package/builders/requestBuilders/updates/static.js +9 -0
- package/{src/builders/requestBuilders/updates/updates.ts → builders/requestBuilders/updates/updates.d.ts} +1 -1
- package/builders/requestBuilders/updates/updates.js +5 -0
- package/builders/requestBuilders/where/and.d.ts +6 -0
- package/builders/requestBuilders/where/and.js +22 -0
- package/builders/requestBuilders/where/const.d.ts +6 -0
- package/builders/requestBuilders/where/const.js +17 -0
- package/builders/requestBuilders/where/constArray.d.ts +6 -0
- package/builders/requestBuilders/where/constArray.js +27 -0
- package/builders/requestBuilders/where/eqWhere.d.ts +7 -0
- package/builders/requestBuilders/where/eqWhere.js +12 -0
- package/builders/requestBuilders/where/greater.d.ts +10 -0
- package/builders/requestBuilders/where/greater.js +12 -0
- package/builders/requestBuilders/where/greaterEq.d.ts +10 -0
- package/builders/requestBuilders/where/greaterEq.js +12 -0
- package/builders/requestBuilders/where/in.d.ts +7 -0
- package/builders/requestBuilders/where/in.js +12 -0
- package/builders/requestBuilders/where/isNull.d.ts +6 -0
- package/builders/requestBuilders/where/isNull.js +11 -0
- package/builders/requestBuilders/where/less.d.ts +10 -0
- package/builders/requestBuilders/where/less.js +12 -0
- package/builders/requestBuilders/where/lessEq.d.ts +10 -0
- package/builders/requestBuilders/where/lessEq.js +12 -0
- package/builders/requestBuilders/where/like.d.ts +7 -0
- package/builders/requestBuilders/where/like.js +12 -0
- package/builders/requestBuilders/where/notEqWhere.d.ts +7 -0
- package/builders/requestBuilders/where/notEqWhere.js +12 -0
- package/builders/requestBuilders/where/or.d.ts +6 -0
- package/builders/requestBuilders/where/or.js +22 -0
- package/builders/requestBuilders/where/rawWhere.d.ts +6 -0
- package/builders/requestBuilders/where/rawWhere.js +11 -0
- package/builders/requestBuilders/where/static.d.ts +16 -0
- package/builders/requestBuilders/where/static.js +43 -0
- package/builders/requestBuilders/where/var.d.ts +8 -0
- package/builders/requestBuilders/where/var.js +12 -0
- package/{src/builders/requestBuilders/where/where.ts → builders/requestBuilders/where/where.d.ts} +1 -1
- package/builders/requestBuilders/where/where.js +5 -0
- package/builders/transaction/transaction.d.ts +8 -0
- package/builders/transaction/transaction.js +20 -0
- package/columns/column.d.ts +61 -0
- package/columns/column.js +98 -0
- package/{src/columns/index.ts → columns/index.d.ts} +0 -0
- package/columns/index.js +23 -0
- package/columns/types/columnType.d.ts +7 -0
- package/columns/types/columnType.js +6 -0
- package/columns/types/pgBigDecimal.d.ts +10 -0
- package/columns/types/pgBigDecimal.js +28 -0
- package/columns/types/pgBigInt.d.ts +8 -0
- package/columns/types/pgBigInt.js +17 -0
- package/columns/types/pgBoolean.d.ts +8 -0
- package/columns/types/pgBoolean.js +15 -0
- package/columns/types/pgEnum.d.ts +9 -0
- package/columns/types/pgEnum.js +15 -0
- package/columns/types/pgInteger.d.ts +8 -0
- package/columns/types/pgInteger.js +15 -0
- package/columns/types/pgJsonb.d.ts +9 -0
- package/columns/types/pgJsonb.js +15 -0
- package/columns/types/pgText.d.ts +8 -0
- package/columns/types/pgText.js +15 -0
- package/columns/types/pgTime.d.ts +8 -0
- package/columns/types/pgTime.js +15 -0
- package/columns/types/pgTimestamp.d.ts +8 -0
- package/columns/types/pgTimestamp.js +15 -0
- package/columns/types/pgVarChar.d.ts +9 -0
- package/columns/types/pgVarChar.js +21 -0
- package/db/db.d.ts +19 -0
- package/db/db.js +26 -0
- package/db/dbConnector.d.ts +9 -0
- package/db/dbConnector.js +28 -0
- package/db/dbStringConnector.d.ts +6 -0
- package/db/dbStringConnector.js +25 -0
- package/{src/mappers/index.ts → db/group_by.d.ts} +0 -0
- package/db/group_by.js +68 -0
- package/{src/db/index.ts → db/index.d.ts} +0 -0
- package/db/index.js +9 -0
- package/db/session.d.ts +7 -0
- package/db/session.js +20 -0
- package/docs/cases/simple_delete.d.ts +1 -0
- package/docs/cases/simple_delete.js +30 -0
- package/docs/cases/simple_insert.d.ts +1 -0
- package/docs/cases/simple_insert.js +51 -0
- package/docs/cases/simple_join.d.ts +1 -0
- package/docs/cases/simple_join.js +95 -0
- package/docs/cases/simple_select.d.ts +1 -0
- package/docs/cases/simple_select.js +39 -0
- package/docs/cases/simple_update.d.ts +1 -0
- package/docs/cases/simple_update.js +33 -0
- package/docs/tables/citiesTable.d.ts +14 -0
- package/docs/tables/citiesTable.js +19 -0
- package/docs/tables/citiesToUsers.d.ts +7 -0
- package/docs/tables/citiesToUsers.js +18 -0
- package/docs/tables/userGroupsTable.d.ts +7 -0
- package/docs/tables/userGroupsTable.js +15 -0
- package/docs/tables/usersTable.d.ts +17 -0
- package/docs/tables/usersTable.js +29 -0
- package/docs/tables/usersToUserGroups.d.ts +7 -0
- package/docs/tables/usersToUserGroups.js +18 -0
- package/docs/types/rolesType.d.ts +1 -0
- package/docs/types/rolesType.js +6 -0
- package/errors/baseError.d.ts +22 -0
- package/errors/baseError.js +35 -0
- package/errors/builderError.d.ts +14 -0
- package/errors/builderError.js +24 -0
- package/errors/dbErrors.d.ts +12 -0
- package/errors/dbErrors.js +28 -0
- package/index.d.ts +13 -0
- package/index.js +32 -0
- package/indexes/tableIndex.d.ts +11 -0
- package/indexes/tableIndex.js +17 -0
- package/logger/abstractLogger.d.ts +4 -0
- package/logger/abstractLogger.js +5 -0
- package/logger/consoleLogger.d.ts +5 -0
- package/logger/consoleLogger.js +12 -0
- package/{src/migrator/index.ts → mappers/index.d.ts} +0 -0
- package/mappers/index.js +1 -0
- package/mappers/responseMapper.d.ts +7 -0
- package/mappers/responseMapper.js +23 -0
- package/migrator/index.d.ts +0 -0
- package/migrator/index.js +1 -0
- package/migrator/migrator.d.ts +16 -0
- package/migrator/migrator.js +101 -0
- package/package.json +2 -2
- package/serializer/serializer.d.ts +40 -0
- package/serializer/serializer.js +74 -0
- package/tables/abstractTable.d.ts +118 -0
- package/tables/abstractTable.js +116 -0
- package/{src/tables/index.ts → tables/index.d.ts} +0 -0
- package/tables/index.js +8 -0
- package/tables/inferTypes.d.ts +19 -0
- package/tables/inferTypes.js +2 -0
- package/tables/migrationsTable.d.ts +8 -0
- package/tables/migrationsTable.js +16 -0
- package/test.d.ts +1 -0
- package/test.js +81 -0
- package/types/type.d.ts +10 -0
- package/types/type.js +14 -0
- package/utils/ecranate.d.ts +2 -0
- package/utils/ecranate.js +8 -0
- package/.eslintrc +0 -26
- package/.tslintignore +0 -1
- package/LICENSE +0 -674
- package/README.md +0 -147
- package/src/builders/aggregators/abstractAggregator.ts +0 -37
- package/src/builders/aggregators/deleteAggregator.ts +0 -34
- package/src/builders/aggregators/insertAggregator.ts +0 -116
- package/src/builders/aggregators/selectAggregator.ts +0 -102
- package/src/builders/aggregators/updateAggregator.ts +0 -45
- package/src/builders/highLvlBuilders/abstractRequestBuilder.ts +0 -37
- package/src/builders/highLvlBuilders/deleteRequestBuilder.ts +0 -59
- package/src/builders/highLvlBuilders/insertRequestBuilder.ts +0 -87
- package/src/builders/highLvlBuilders/order.ts +0 -4
- package/src/builders/highLvlBuilders/selectRequestBuilder.ts +0 -102
- package/src/builders/highLvlBuilders/updateRequestBuilder.ts +0 -63
- package/src/builders/joinBuilders/builders/abstractJoinBuilder.ts +0 -22
- package/src/builders/joinBuilders/builders/selectWithFourJoins.ts +0 -71
- package/src/builders/joinBuilders/builders/selectWithJoin.ts +0 -67
- package/src/builders/joinBuilders/builders/selectWithThreeJoins.ts +0 -78
- package/src/builders/joinBuilders/builders/selectWithTwoJoins.ts +0 -72
- package/src/builders/joinBuilders/join.ts +0 -37
- package/src/builders/joinBuilders/joinWith.ts +0 -19
- package/src/builders/joinBuilders/responses/selectResponseFourJoins.ts +0 -33
- package/src/builders/joinBuilders/responses/selectResponseThreeJoins.ts +0 -29
- package/src/builders/joinBuilders/responses/selectResponseTwoJoins.ts +0 -22
- package/src/builders/joinBuilders/responses/selectResponseWithJoin.ts +0 -28
- package/src/builders/joinBuilders/static.ts +0 -9
- package/src/builders/lowLvlBuilders/create.ts +0 -114
- package/src/builders/lowLvlBuilders/delets/delete.ts +0 -10
- package/src/builders/lowLvlBuilders/delets/deleteFilter.ts +0 -17
- package/src/builders/lowLvlBuilders/delets/deleteFrom.ts +0 -15
- package/src/builders/lowLvlBuilders/inserts/insert.ts +0 -12
- package/src/builders/lowLvlBuilders/inserts/insertInto.ts +0 -18
- package/src/builders/lowLvlBuilders/inserts/onConflictInsert.ts +0 -19
- package/src/builders/lowLvlBuilders/inserts/valuesInsert.ts +0 -30
- package/src/builders/lowLvlBuilders/selects/select.ts +0 -12
- package/src/builders/lowLvlBuilders/selects/selectFrom.ts +0 -38
- package/src/builders/lowLvlBuilders/selects/selectJoined.ts +0 -40
- package/src/builders/lowLvlBuilders/selects/whereSelect.ts +0 -35
- package/src/builders/lowLvlBuilders/updates/update.ts +0 -10
- package/src/builders/lowLvlBuilders/updates/updateIn.ts +0 -22
- package/src/builders/lowLvlBuilders/updates/whereSelect.ts +0 -17
- package/src/builders/lowLvlBuilders/updates/whereSet.ts +0 -21
- package/src/builders/requestBuilders/updates/combine.ts +0 -25
- package/src/builders/requestBuilders/updates/setObjects.ts +0 -18
- package/src/builders/requestBuilders/updates/static.ts +0 -11
- package/src/builders/requestBuilders/where/and.ts +0 -26
- package/src/builders/requestBuilders/where/const.ts +0 -18
- package/src/builders/requestBuilders/where/constArray.ts +0 -27
- package/src/builders/requestBuilders/where/eqWhere.ts +0 -14
- package/src/builders/requestBuilders/where/greater.ts +0 -14
- package/src/builders/requestBuilders/where/greaterEq.ts +0 -14
- package/src/builders/requestBuilders/where/in.ts +0 -14
- package/src/builders/requestBuilders/where/less.ts +0 -14
- package/src/builders/requestBuilders/where/lessEq.ts +0 -14
- package/src/builders/requestBuilders/where/like.ts +0 -14
- package/src/builders/requestBuilders/where/or.ts +0 -26
- package/src/builders/requestBuilders/where/static.ts +0 -42
- package/src/builders/requestBuilders/where/var.ts +0 -15
- package/src/builders/transaction/transaction.ts +0 -21
- package/src/columns/column.ts +0 -86
- package/src/columns/types/columnType.ts +0 -7
- package/src/columns/types/pgBigDecimal.ts +0 -29
- package/src/columns/types/pgBigInt.ts +0 -20
- package/src/columns/types/pgBoolean.ts +0 -18
- package/src/columns/types/pgEnum.ts +0 -22
- package/src/columns/types/pgInteger.ts +0 -18
- package/src/columns/types/pgJsonb.ts +0 -19
- package/src/columns/types/pgText.ts +0 -18
- package/src/columns/types/pgTime.ts +0 -18
- package/src/columns/types/pgTimestamp.ts +0 -18
- package/src/columns/types/pgVarChar.ts +0 -24
- package/src/db/db.ts +0 -29
- package/src/db/dbConnector.ts +0 -30
- package/src/db/dbStringConnector.ts +0 -28
- package/src/db/session.ts +0 -21
- package/src/errors/baseError.ts +0 -47
- package/src/errors/builderError.ts +0 -30
- package/src/errors/dbErrors.ts +0 -24
- package/src/examples/tables/authOtpTable.ts +0 -17
- package/src/examples/tables/cityTable.ts +0 -15
- package/src/examples/tables/usersTable.ts +0 -18
- package/src/examples/testEnum.ts +0 -6
- package/src/index.ts +0 -40
- package/src/indexes/tableIndex.ts +0 -19
- package/src/logger/abstractLogger.ts +0 -4
- package/src/logger/consoleLogger.ts +0 -11
- package/src/mappers/responseMapper.ts +0 -24
- package/src/migrator/migrator.ts +0 -110
- package/src/serializer/Untitled.js +0 -72
- package/src/serializer/out.json +0 -140
- package/src/tables/abstractTable.ts +0 -183
- package/src/tables/inferTypes.ts +0 -34
- package/src/tables/migrationsTable.ts +0 -12
- package/src/utils/ecranate.ts +0 -4
- package/tsconfig.json +0 -29
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class Greater extends where_1.default {
|
|
5
|
+
constructor({ left, right }) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()} > ${this.right.toQuery()}`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
this.right = right;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = Greater;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class GreaterEq extends where_1.default {
|
|
5
|
+
constructor({ left, right }) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()} >= ${this.right.toQuery()}`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
this.right = right;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = GreaterEq;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class In extends where_1.default {
|
|
5
|
+
constructor(left, right) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()} in (${this.right.toQuery()})`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
this.right = right;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = In;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class IsNull extends where_1.default {
|
|
5
|
+
constructor(left) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()} is null`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = IsNull;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class Less extends where_1.default {
|
|
5
|
+
constructor({ left, right }) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()} < ${this.right.toQuery()}`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
this.right = right;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = Less;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class LessEq extends where_1.default {
|
|
5
|
+
constructor({ left, right }) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()} <= ${this.right.toQuery()}`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
this.right = right;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = LessEq;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class Like extends where_1.default {
|
|
5
|
+
constructor(left, right) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()} like ${this.right.toQuery()}`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
this.right = right;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = Like;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class NotEqWhere extends where_1.default {
|
|
5
|
+
constructor(left, right) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => `${this.left.toQuery()}!=${this.right.toQuery()}`;
|
|
8
|
+
this.left = left;
|
|
9
|
+
this.right = right;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = NotEqWhere;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class Or extends where_1.default {
|
|
5
|
+
constructor(expressions) {
|
|
6
|
+
super();
|
|
7
|
+
this.toQuery = () => {
|
|
8
|
+
const result = ['('];
|
|
9
|
+
for (let i = 0; i < this.expressions.length; i += 1) {
|
|
10
|
+
const expression = this.expressions[i];
|
|
11
|
+
result.push(expression.toQuery());
|
|
12
|
+
if (i < this.expressions.length - 1) {
|
|
13
|
+
result.push(' or ');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
result.push(')');
|
|
17
|
+
return result.join('');
|
|
18
|
+
};
|
|
19
|
+
this.expressions = expressions;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.default = Or;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const where_1 = require("./where");
|
|
4
|
+
class RawWhere extends where_1.default {
|
|
5
|
+
constructor(custom) {
|
|
6
|
+
super();
|
|
7
|
+
this.custom = custom;
|
|
8
|
+
this.toQuery = () => this.custom;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = RawWhere;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AbstractColumn } from '../../../columns/column';
|
|
2
|
+
import ColumnType from '../../../columns/types/columnType';
|
|
3
|
+
import { ExtractCodeType } from '../../../tables/inferTypes';
|
|
4
|
+
import Expr from './where';
|
|
5
|
+
export declare const eq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
|
|
6
|
+
export declare const raw: (customQuery: string) => Expr;
|
|
7
|
+
export declare const and: (expressions: Expr[]) => Expr;
|
|
8
|
+
export declare const or: (expressions: Expr[]) => Expr;
|
|
9
|
+
export declare const like: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
|
|
10
|
+
export declare const inArray: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>[]) => Expr;
|
|
11
|
+
export declare const greater: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
|
|
12
|
+
export declare const less: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
|
|
13
|
+
export declare const greaterEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
|
|
14
|
+
export declare const lessEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
|
|
15
|
+
export declare const isNull: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T) => Expr;
|
|
16
|
+
export declare const notEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.notEq = exports.isNull = exports.lessEq = exports.greaterEq = exports.less = exports.greater = exports.inArray = exports.like = exports.or = exports.and = exports.raw = exports.eq = void 0;
|
|
4
|
+
const and_1 = require("./and");
|
|
5
|
+
const const_1 = require("./const");
|
|
6
|
+
const constArray_1 = require("./constArray");
|
|
7
|
+
const eqWhere_1 = require("./eqWhere");
|
|
8
|
+
const greater_1 = require("./greater");
|
|
9
|
+
const greaterEq_1 = require("./greaterEq");
|
|
10
|
+
const in_1 = require("./in");
|
|
11
|
+
const isNull_1 = require("./isNull");
|
|
12
|
+
const less_1 = require("./less");
|
|
13
|
+
const lessEq_1 = require("./lessEq");
|
|
14
|
+
const like_1 = require("./like");
|
|
15
|
+
const notEqWhere_1 = require("./notEqWhere");
|
|
16
|
+
const or_1 = require("./or");
|
|
17
|
+
const rawWhere_1 = require("./rawWhere");
|
|
18
|
+
const var_1 = require("./var");
|
|
19
|
+
// eslint-disable-next-line max-len
|
|
20
|
+
const eq = (left, value) => new eqWhere_1.default(new var_1.default(left), new const_1.default(value));
|
|
21
|
+
exports.eq = eq;
|
|
22
|
+
const raw = (customQuery) => new rawWhere_1.default(customQuery);
|
|
23
|
+
exports.raw = raw;
|
|
24
|
+
const and = (expressions) => new and_1.default(expressions);
|
|
25
|
+
exports.and = and;
|
|
26
|
+
const or = (expressions) => new or_1.default(expressions);
|
|
27
|
+
exports.or = or;
|
|
28
|
+
const like = (left, value) => new like_1.default(new var_1.default(left), new const_1.default(value));
|
|
29
|
+
exports.like = like;
|
|
30
|
+
const inArray = (left, value) => new in_1.default(new var_1.default(left), new constArray_1.default(value));
|
|
31
|
+
exports.inArray = inArray;
|
|
32
|
+
const greater = (left, value) => new greater_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
|
|
33
|
+
exports.greater = greater;
|
|
34
|
+
const less = (left, value) => new less_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
|
|
35
|
+
exports.less = less;
|
|
36
|
+
const greaterEq = (left, value) => new greaterEq_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
|
|
37
|
+
exports.greaterEq = greaterEq;
|
|
38
|
+
const lessEq = (left, value) => new lessEq_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
|
|
39
|
+
exports.lessEq = lessEq;
|
|
40
|
+
const isNull = (left) => new isNull_1.default(new var_1.default(left));
|
|
41
|
+
exports.isNull = isNull;
|
|
42
|
+
const notEq = (left, value) => new notEqWhere_1.default(new var_1.default(left), new const_1.default(value));
|
|
43
|
+
exports.notEq = notEq;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractColumn } from '../../../columns/column';
|
|
2
|
+
import ColumnType from '../../../columns/types/columnType';
|
|
3
|
+
import Expr from './where';
|
|
4
|
+
export default class Var<T extends AbstractColumn<ColumnType<any>, boolean, boolean>> extends Expr {
|
|
5
|
+
private column;
|
|
6
|
+
constructor(column: T);
|
|
7
|
+
toQuery: () => string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ecranate_1 = require("../../../utils/ecranate");
|
|
4
|
+
const where_1 = require("./where");
|
|
5
|
+
class Var extends where_1.default {
|
|
6
|
+
constructor(column) {
|
|
7
|
+
super();
|
|
8
|
+
this.toQuery = () => `${this.column.getParentName()}.${ecranate_1.ecranate(this.column.getColumnName())}`;
|
|
9
|
+
this.column = column;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = Var;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Transaction {
|
|
4
|
+
constructor(session) {
|
|
5
|
+
this.session = session;
|
|
6
|
+
this.begin = async () => {
|
|
7
|
+
await this.session.execute('BEGIN;');
|
|
8
|
+
return this;
|
|
9
|
+
};
|
|
10
|
+
this.commit = async () => {
|
|
11
|
+
await this.session.execute('COMMIT;');
|
|
12
|
+
return this;
|
|
13
|
+
};
|
|
14
|
+
this.rollback = async () => {
|
|
15
|
+
await this.session.execute('ROLLBACK;');
|
|
16
|
+
return this;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = Transaction;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import DB from '../db/db';
|
|
2
|
+
import { AbstractTable } from '../tables';
|
|
3
|
+
import ColumnType from './types/columnType';
|
|
4
|
+
declare type ExtractColumnType<T extends ColumnType> = T extends ColumnType<infer TCodeType> ? TCodeType : never;
|
|
5
|
+
export declare enum OnDelete {
|
|
6
|
+
RESTRICT = "ON DELETE RESTRICT",
|
|
7
|
+
CASCADE = "ON DELETE CASCADE"
|
|
8
|
+
}
|
|
9
|
+
export declare enum OnUpdate {
|
|
10
|
+
RESTRICT = "ON UPDATE RESTRICT",
|
|
11
|
+
CASCADE = "ON UPDATE RESTRICT"
|
|
12
|
+
}
|
|
13
|
+
export declare abstract class AbstractColumn<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false> {
|
|
14
|
+
isNullableFlag: TNullable;
|
|
15
|
+
autoIncrementType: TAutoIncrement;
|
|
16
|
+
primaryKeyName?: string;
|
|
17
|
+
uniqueKeyName?: string;
|
|
18
|
+
protected onDelete?: string;
|
|
19
|
+
protected onUpdate?: string;
|
|
20
|
+
protected parent: AbstractTable<any>;
|
|
21
|
+
protected parentTableName: string;
|
|
22
|
+
protected columnType: T;
|
|
23
|
+
protected columnName: string;
|
|
24
|
+
protected autoIncrementFlag: boolean;
|
|
25
|
+
protected defaultParam: any;
|
|
26
|
+
protected referenced: AbstractColumn<T, boolean, boolean>;
|
|
27
|
+
constructor(parent: AbstractTable<any>, columnName: string, columnType: T, nullable: TNullable);
|
|
28
|
+
getOnDelete: () => string | undefined;
|
|
29
|
+
getOnUpdate: () => string | undefined;
|
|
30
|
+
getAlias: () => string;
|
|
31
|
+
getParent: () => AbstractTable<any>;
|
|
32
|
+
getParentName: () => string;
|
|
33
|
+
abstract foreignKey<ITable extends AbstractTable<ITable>>(table: {
|
|
34
|
+
new (db: DB): ITable;
|
|
35
|
+
}, callback: (table: ITable) => AbstractColumn<T, boolean, boolean>, onDelete?: OnDelete, onUpdate?: OnUpdate): AbstractColumn<T, TNullable, TAutoIncrement>;
|
|
36
|
+
defaultValue: (value: ExtractColumnType<T>) => this;
|
|
37
|
+
abstract autoIncrement(): AbstractColumn<T, boolean, boolean>;
|
|
38
|
+
abstract primaryKey(): AbstractColumn<T, boolean, boolean>;
|
|
39
|
+
abstract serial(): AbstractColumn<T, boolean, boolean>;
|
|
40
|
+
unique: () => this;
|
|
41
|
+
isAutoIncrement: () => boolean;
|
|
42
|
+
getColumnName: () => string;
|
|
43
|
+
getReferenced: () => AbstractColumn<T, boolean, boolean>;
|
|
44
|
+
getColumnType: () => T;
|
|
45
|
+
getDefaultValue: () => any;
|
|
46
|
+
}
|
|
47
|
+
export declare class Column<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false> extends AbstractColumn<T, TNullable, TAutoIncrement> {
|
|
48
|
+
constructor(parent: AbstractTable<any>, columnName: string, columnType: T, nullable: TNullable);
|
|
49
|
+
serial(): Column<T, false, true>;
|
|
50
|
+
primaryKey(): Column<T, TAutoIncrement extends true ? true : false, TAutoIncrement>;
|
|
51
|
+
foreignKey<ITable extends AbstractTable<ITable>>(table: new (db: DB) => ITable, callback: (table: ITable) => Column<T, boolean, boolean>, onDelete?: OnDelete, onUpdate?: OnUpdate): Column<T, TNullable, TAutoIncrement>;
|
|
52
|
+
autoIncrement(): IndexedColumn<T, true, true>;
|
|
53
|
+
}
|
|
54
|
+
export declare class IndexedColumn<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false> extends AbstractColumn<T, TNullable, TAutoIncrement> {
|
|
55
|
+
constructor(parent: AbstractTable<any>, columnName: string, columnType: T, nullable: TNullable);
|
|
56
|
+
serial(): IndexedColumn<T, false, true>;
|
|
57
|
+
primaryKey(): IndexedColumn<T, TAutoIncrement extends true ? true : false, TAutoIncrement>;
|
|
58
|
+
foreignKey<ITable extends AbstractTable<ITable>>(table: new (db: DB) => ITable, callback: (table: ITable) => IndexedColumn<T, boolean, boolean>, onDelete?: OnDelete, onUpdate?: OnUpdate): IndexedColumn<T, TNullable, TAutoIncrement>;
|
|
59
|
+
autoIncrement(): IndexedColumn<T, true, true>;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IndexedColumn = exports.Column = exports.AbstractColumn = exports.OnUpdate = exports.OnDelete = void 0;
|
|
4
|
+
var OnDelete;
|
|
5
|
+
(function (OnDelete) {
|
|
6
|
+
OnDelete["RESTRICT"] = "ON DELETE RESTRICT";
|
|
7
|
+
OnDelete["CASCADE"] = "ON DELETE CASCADE";
|
|
8
|
+
})(OnDelete = exports.OnDelete || (exports.OnDelete = {}));
|
|
9
|
+
var OnUpdate;
|
|
10
|
+
(function (OnUpdate) {
|
|
11
|
+
OnUpdate["RESTRICT"] = "ON UPDATE RESTRICT";
|
|
12
|
+
OnUpdate["CASCADE"] = "ON UPDATE RESTRICT";
|
|
13
|
+
})(OnUpdate = exports.OnUpdate || (exports.OnUpdate = {}));
|
|
14
|
+
// eslint-disable-next-line max-len
|
|
15
|
+
class AbstractColumn {
|
|
16
|
+
constructor(parent, columnName, columnType, nullable) {
|
|
17
|
+
this.autoIncrementFlag = false;
|
|
18
|
+
this.defaultParam = null;
|
|
19
|
+
this.getOnDelete = () => this.onDelete;
|
|
20
|
+
this.getOnUpdate = () => this.onUpdate;
|
|
21
|
+
this.getAlias = () => `${this.parentTableName.replace('.', '_')}_${this.columnName}`;
|
|
22
|
+
this.getParent = () => this.parent;
|
|
23
|
+
this.getParentName = () => this.parentTableName;
|
|
24
|
+
this.defaultValue = (value) => {
|
|
25
|
+
this.defaultParam = value;
|
|
26
|
+
return this;
|
|
27
|
+
};
|
|
28
|
+
this.unique = () => {
|
|
29
|
+
this.uniqueKeyName = this.columnName;
|
|
30
|
+
return this;
|
|
31
|
+
};
|
|
32
|
+
this.isAutoIncrement = () => this.autoIncrementFlag;
|
|
33
|
+
this.getColumnName = () => this.columnName;
|
|
34
|
+
this.getReferenced = () => this.referenced;
|
|
35
|
+
this.getColumnType = () => this.columnType;
|
|
36
|
+
this.getDefaultValue = () => this.defaultParam;
|
|
37
|
+
this.columnType = columnType;
|
|
38
|
+
this.columnName = columnName;
|
|
39
|
+
this.parentTableName = parent.tableName();
|
|
40
|
+
this.parent = parent;
|
|
41
|
+
this.isNullableFlag = nullable;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.AbstractColumn = AbstractColumn;
|
|
45
|
+
// eslint-disable-next-line max-len
|
|
46
|
+
class Column extends AbstractColumn {
|
|
47
|
+
constructor(parent, columnName, columnType, nullable) {
|
|
48
|
+
super(parent, columnName, columnType, nullable);
|
|
49
|
+
}
|
|
50
|
+
serial() {
|
|
51
|
+
this.autoIncrementFlag = true;
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
primaryKey() {
|
|
55
|
+
this.primaryKeyName = `${this.parentTableName}_${this.columnName}`;
|
|
56
|
+
// eslint-disable-next-line max-len
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
foreignKey(table, callback, onDelete, onUpdate) {
|
|
60
|
+
const tableInstance = this.getParent().db.create(table);
|
|
61
|
+
this.referenced = callback(tableInstance);
|
|
62
|
+
this.onDelete = onDelete;
|
|
63
|
+
this.onUpdate = onUpdate;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
autoIncrement() {
|
|
67
|
+
this.autoIncrementFlag = true;
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.Column = Column;
|
|
72
|
+
// eslint-disable-next-line max-len
|
|
73
|
+
class IndexedColumn extends AbstractColumn {
|
|
74
|
+
constructor(parent, columnName, columnType, nullable) {
|
|
75
|
+
super(parent, columnName, columnType, nullable);
|
|
76
|
+
}
|
|
77
|
+
serial() {
|
|
78
|
+
this.autoIncrementFlag = true;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
primaryKey() {
|
|
82
|
+
this.primaryKeyName = `${this.parentTableName}_${this.columnName}`;
|
|
83
|
+
// eslint-disable-next-line max-len
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
foreignKey(table, callback, onDelete, onUpdate) {
|
|
87
|
+
// eslint-disable-next-line new-cap
|
|
88
|
+
this.referenced = callback(this.getParent().db.create(table));
|
|
89
|
+
this.onDelete = onDelete;
|
|
90
|
+
this.onUpdate = onUpdate;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
autoIncrement() {
|
|
94
|
+
this.autoIncrementFlag = true;
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.IndexedColumn = IndexedColumn;
|
|
File without changes
|
package/columns/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PgVarChar = exports.PgTimestamp = exports.PgTime = exports.PgText = exports.PgJsonb = exports.PgInteger = exports.PgBoolean = exports.PgBigInt = exports.PgBigDecimal = exports.Column = void 0;
|
|
4
|
+
var column_1 = require("./column");
|
|
5
|
+
Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_1.Column; } });
|
|
6
|
+
var pgBigDecimal_1 = require("./types/pgBigDecimal");
|
|
7
|
+
Object.defineProperty(exports, "PgBigDecimal", { enumerable: true, get: function () { return pgBigDecimal_1.default; } });
|
|
8
|
+
var pgBigInt_1 = require("./types/pgBigInt");
|
|
9
|
+
Object.defineProperty(exports, "PgBigInt", { enumerable: true, get: function () { return pgBigInt_1.default; } });
|
|
10
|
+
var pgBoolean_1 = require("./types/pgBoolean");
|
|
11
|
+
Object.defineProperty(exports, "PgBoolean", { enumerable: true, get: function () { return pgBoolean_1.default; } });
|
|
12
|
+
var pgInteger_1 = require("./types/pgInteger");
|
|
13
|
+
Object.defineProperty(exports, "PgInteger", { enumerable: true, get: function () { return pgInteger_1.default; } });
|
|
14
|
+
var pgJsonb_1 = require("./types/pgJsonb");
|
|
15
|
+
Object.defineProperty(exports, "PgJsonb", { enumerable: true, get: function () { return pgJsonb_1.default; } });
|
|
16
|
+
var pgText_1 = require("./types/pgText");
|
|
17
|
+
Object.defineProperty(exports, "PgText", { enumerable: true, get: function () { return pgText_1.default; } });
|
|
18
|
+
var pgTime_1 = require("./types/pgTime");
|
|
19
|
+
Object.defineProperty(exports, "PgTime", { enumerable: true, get: function () { return pgTime_1.default; } });
|
|
20
|
+
var pgTimestamp_1 = require("./types/pgTimestamp");
|
|
21
|
+
Object.defineProperty(exports, "PgTimestamp", { enumerable: true, get: function () { return pgTimestamp_1.default; } });
|
|
22
|
+
var pgVarChar_1 = require("./types/pgVarChar");
|
|
23
|
+
Object.defineProperty(exports, "PgVarChar", { enumerable: true, get: function () { return pgVarChar_1.default; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import ColumnType from './columnType';
|
|
2
|
+
export default class PgBigDecimal extends ColumnType<number> {
|
|
3
|
+
precision?: number;
|
|
4
|
+
scale?: number;
|
|
5
|
+
dbName: string;
|
|
6
|
+
constructor(precision?: number, scale?: number);
|
|
7
|
+
getDbName: () => string;
|
|
8
|
+
insertStrategy: (value: number) => string;
|
|
9
|
+
selectStrategy(value: string): number;
|
|
10
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const columnType_1 = require("./columnType");
|
|
4
|
+
class PgBigDecimal extends columnType_1.default {
|
|
5
|
+
constructor(precision, scale) {
|
|
6
|
+
super();
|
|
7
|
+
this.getDbName = () => this.dbName;
|
|
8
|
+
this.insertStrategy = (value) => `${value}`;
|
|
9
|
+
this.precision = precision;
|
|
10
|
+
this.scale = scale;
|
|
11
|
+
if (this.scale && !this.precision) {
|
|
12
|
+
throw new Error('In numeric scale should be set up together with precision');
|
|
13
|
+
}
|
|
14
|
+
if (this.precision && !this.scale) {
|
|
15
|
+
this.dbName = `numeric(${this.precision})`;
|
|
16
|
+
}
|
|
17
|
+
else if (this.precision && this.scale) {
|
|
18
|
+
this.dbName = `numeric(${this.precision},${this.scale})`;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.dbName = 'numeric';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
selectStrategy(value) {
|
|
25
|
+
return parseFloat(value);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.default = PgBigDecimal;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const columnType_1 = require("./columnType");
|
|
4
|
+
class PgBigInt extends columnType_1.default {
|
|
5
|
+
constructor() {
|
|
6
|
+
super();
|
|
7
|
+
this.insertStrategy = (value) => `${value}`;
|
|
8
|
+
this.dbName = 'BIGINT';
|
|
9
|
+
}
|
|
10
|
+
getDbName() {
|
|
11
|
+
return this.dbName;
|
|
12
|
+
}
|
|
13
|
+
selectStrategy(value) {
|
|
14
|
+
return parseInt(value, 10);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = PgBigInt;
|