nodecommons-esm-database 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classes/commons-database-key.d.mts +24 -0
- package/dist/classes/commons-database-key.mjs +48 -0
- package/dist/classes/commons-database-key.mjs.map +1 -0
- package/dist/classes/commons-database-param.d.mts +10 -0
- package/dist/classes/commons-database-param.mjs +21 -0
- package/dist/classes/commons-database-param.mjs.map +1 -0
- package/dist/classes/commons-database-type-base62-big-id.d.mts +6 -0
- package/dist/classes/commons-database-type-base62-big-id.mjs +17 -0
- package/dist/classes/commons-database-type-base62-big-id.mjs.map +1 -0
- package/dist/classes/commons-database-type-base62-long-id.d.mts +6 -0
- package/dist/classes/commons-database-type-base62-long-id.mjs +17 -0
- package/dist/classes/commons-database-type-base62-long-id.mjs.map +1 -0
- package/dist/classes/commons-database-type-big-int.d.mts +10 -0
- package/dist/classes/commons-database-type-big-int.mjs +41 -0
- package/dist/classes/commons-database-type-big-int.mjs.map +1 -0
- package/dist/classes/commons-database-type-binary.d.mts +7 -0
- package/dist/classes/commons-database-type-binary.mjs +21 -0
- package/dist/classes/commons-database-type-binary.mjs.map +1 -0
- package/dist/classes/commons-database-type-boolean.d.mts +8 -0
- package/dist/classes/commons-database-type-boolean.mjs +25 -0
- package/dist/classes/commons-database-type-boolean.mjs.map +1 -0
- package/dist/classes/commons-database-type-date-time.d.mts +7 -0
- package/dist/classes/commons-database-type-date-time.mjs +32 -0
- package/dist/classes/commons-database-type-date-time.mjs.map +1 -0
- package/dist/classes/commons-database-type-date.d.mts +6 -0
- package/dist/classes/commons-database-type-date.mjs +22 -0
- package/dist/classes/commons-database-type-date.mjs.map +1 -0
- package/dist/classes/commons-database-type-double.d.mts +10 -0
- package/dist/classes/commons-database-type-double.mjs +43 -0
- package/dist/classes/commons-database-type-double.mjs.map +1 -0
- package/dist/classes/commons-database-type-email.d.mts +6 -0
- package/dist/classes/commons-database-type-email.mjs +17 -0
- package/dist/classes/commons-database-type-email.mjs.map +1 -0
- package/dist/classes/commons-database-type-encrypted.d.mts +9 -0
- package/dist/classes/commons-database-type-encrypted.mjs +38 -0
- package/dist/classes/commons-database-type-encrypted.mjs.map +1 -0
- package/dist/classes/commons-database-type-enum.d.mts +16 -0
- package/dist/classes/commons-database-type-enum.mjs +87 -0
- package/dist/classes/commons-database-type-enum.mjs.map +1 -0
- package/dist/classes/commons-database-type-fixed-date-time.d.mts +5 -0
- package/dist/classes/commons-database-type-fixed-date-time.mjs +15 -0
- package/dist/classes/commons-database-type-fixed-date-time.mjs.map +1 -0
- package/dist/classes/commons-database-type-fixed-date.d.mts +8 -0
- package/dist/classes/commons-database-type-fixed-date.mjs +36 -0
- package/dist/classes/commons-database-type-fixed-date.mjs.map +1 -0
- package/dist/classes/commons-database-type-fixed-time.d.mts +8 -0
- package/dist/classes/commons-database-type-fixed-time.mjs +36 -0
- package/dist/classes/commons-database-type-fixed-time.mjs.map +1 -0
- package/dist/classes/commons-database-type-float.d.mts +10 -0
- package/dist/classes/commons-database-type-float.mjs +38 -0
- package/dist/classes/commons-database-type-float.mjs.map +1 -0
- package/dist/classes/commons-database-type-hex-rgb.d.mts +8 -0
- package/dist/classes/commons-database-type-hex-rgb.mjs +28 -0
- package/dist/classes/commons-database-type-hex-rgb.mjs.map +1 -0
- package/dist/classes/commons-database-type-id-name.d.mts +6 -0
- package/dist/classes/commons-database-type-id-name.mjs +17 -0
- package/dist/classes/commons-database-type-id-name.mjs.map +1 -0
- package/dist/classes/commons-database-type-id.d.mts +9 -0
- package/dist/classes/commons-database-type-id.mjs +39 -0
- package/dist/classes/commons-database-type-id.mjs.map +1 -0
- package/dist/classes/commons-database-type-int.d.mts +10 -0
- package/dist/classes/commons-database-type-int.mjs +40 -0
- package/dist/classes/commons-database-type-int.mjs.map +1 -0
- package/dist/classes/commons-database-type-md5.d.mts +6 -0
- package/dist/classes/commons-database-type-md5.mjs +17 -0
- package/dist/classes/commons-database-type-md5.mjs.map +1 -0
- package/dist/classes/commons-database-type-number.d.mts +13 -0
- package/dist/classes/commons-database-type-number.mjs +60 -0
- package/dist/classes/commons-database-type-number.mjs.map +1 -0
- package/dist/classes/commons-database-type-serial-id.d.mts +9 -0
- package/dist/classes/commons-database-type-serial-id.mjs +48 -0
- package/dist/classes/commons-database-type-serial-id.mjs.map +1 -0
- package/dist/classes/commons-database-type-small-int.d.mts +10 -0
- package/dist/classes/commons-database-type-small-int.mjs +40 -0
- package/dist/classes/commons-database-type-small-int.mjs.map +1 -0
- package/dist/classes/commons-database-type-string-array.d.mts +11 -0
- package/dist/classes/commons-database-type-string-array.mjs +47 -0
- package/dist/classes/commons-database-type-string-array.mjs.map +1 -0
- package/dist/classes/commons-database-type-string.d.mts +9 -0
- package/dist/classes/commons-database-type-string.mjs +34 -0
- package/dist/classes/commons-database-type-string.mjs.map +1 -0
- package/dist/classes/commons-database-type-text.d.mts +8 -0
- package/dist/classes/commons-database-type-text.mjs +25 -0
- package/dist/classes/commons-database-type-text.mjs.map +1 -0
- package/dist/classes/commons-database-type-time.d.mts +7 -0
- package/dist/classes/commons-database-type-time.mjs +57 -0
- package/dist/classes/commons-database-type-time.mjs.map +1 -0
- package/dist/classes/commons-database-type-tiny-int-enum.d.mts +9 -0
- package/dist/classes/commons-database-type-tiny-int-enum.mjs +36 -0
- package/dist/classes/commons-database-type-tiny-int-enum.mjs.map +1 -0
- package/dist/classes/commons-database-type-tiny-int.d.mts +10 -0
- package/dist/classes/commons-database-type-tiny-int.mjs +44 -0
- package/dist/classes/commons-database-type-tiny-int.mjs.map +1 -0
- package/dist/classes/commons-database-type-url.d.mts +6 -0
- package/dist/classes/commons-database-type-url.mjs +17 -0
- package/dist/classes/commons-database-type-url.mjs.map +1 -0
- package/dist/classes/commons-database-type.d.mts +17 -0
- package/dist/classes/commons-database-type.mjs +63 -0
- package/dist/classes/commons-database-type.mjs.map +1 -0
- package/dist/classes/fixed-date.d.mts +8 -0
- package/dist/classes/fixed-date.mjs +33 -0
- package/dist/classes/fixed-date.mjs.map +1 -0
- package/dist/enums/ecommons-database-engine.d.mts +6 -0
- package/dist/enums/ecommons-database-engine.mjs +8 -0
- package/dist/enums/ecommons-database-engine.mjs.map +1 -0
- package/dist/enums/ecommons-database-insert-method.d.mts +4 -0
- package/dist/enums/ecommons-database-insert-method.mjs +6 -0
- package/dist/enums/ecommons-database-insert-method.mjs.map +1 -0
- package/dist/enums/ecommons-database-order-by.d.mts +5 -0
- package/dist/enums/ecommons-database-order-by.mjs +15 -0
- package/dist/enums/ecommons-database-order-by.mjs.map +1 -0
- package/dist/enums/ecommons-database-referential-action.d.mts +5 -0
- package/dist/enums/ecommons-database-referential-action.mjs +7 -0
- package/dist/enums/ecommons-database-referential-action.mjs.map +1 -0
- package/dist/enums/ecommons-database-type-null.d.mts +4 -0
- package/dist/enums/ecommons-database-type-null.mjs +6 -0
- package/dist/enums/ecommons-database-type-null.mjs.map +1 -0
- package/dist/enums/ecommons-database-type-signed.d.mts +4 -0
- package/dist/enums/ecommons-database-type-signed.mjs +6 -0
- package/dist/enums/ecommons-database-type-signed.mjs.map +1 -0
- package/dist/helpers/commons-database.d.mts +23 -0
- package/dist/helpers/commons-database.mjs +95 -0
- package/dist/helpers/commons-database.mjs.map +1 -0
- package/dist/helpers/commons-tallies.d.mts +11 -0
- package/dist/helpers/commons-tallies.mjs +225 -0
- package/dist/helpers/commons-tallies.mjs.map +1 -0
- package/dist/index.d.mts +50 -0
- package/dist/index.mjs +47 -0
- package/dist/index.mjs.map +1 -0
- package/dist/interfaces/icommons-credentials.d.mts +9 -0
- package/dist/interfaces/icommons-credentials.mjs +17 -0
- package/dist/interfaces/icommons-credentials.mjs.map +1 -0
- package/dist/services/commons-nosql-database.service.d.mts +8 -0
- package/dist/services/commons-nosql-database.service.mjs +7 -0
- package/dist/services/commons-nosql-database.service.mjs.map +1 -0
- package/dist/services/commons-sql-database.service.d.mts +65 -0
- package/dist/services/commons-sql-database.service.mjs +538 -0
- package/dist/services/commons-sql-database.service.mjs.map +1 -0
- package/dist/types/tcommons-database-foreign-keys.d.mts +4 -0
- package/dist/types/tcommons-database-foreign-keys.mjs +2 -0
- package/dist/types/tcommons-database-foreign-keys.mjs.map +1 -0
- package/dist/types/tcommons-database-params.d.mts +4 -0
- package/dist/types/tcommons-database-params.mjs +2 -0
- package/dist/types/tcommons-database-params.mjs.map +1 -0
- package/dist/types/tcommons-database-types.d.mts +4 -0
- package/dist/types/tcommons-database-types.mjs +2 -0
- package/dist/types/tcommons-database-types.mjs.map +1 -0
- package/dist/types/tcommons-database-unique-keys.d.mts +4 -0
- package/dist/types/tcommons-database-unique-keys.mjs +2 -0
- package/dist/types/tcommons-database-unique-keys.mjs.map +1 -0
- package/package.json +31 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ECommonsDatabaseReferentialAction } from '../enums/ecommons-database-referential-action.mjs';
|
|
2
|
+
export declare abstract class CommonsDatabaseKey {
|
|
3
|
+
private constraintName?;
|
|
4
|
+
constructor(constraintName?: string | undefined);
|
|
5
|
+
getConstraintName(): string | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare class CommonsDatabaseForeignKey extends CommonsDatabaseKey {
|
|
8
|
+
private table;
|
|
9
|
+
private field;
|
|
10
|
+
private onDelete;
|
|
11
|
+
private onUpdate;
|
|
12
|
+
constructor(table: string, field: string, onDelete?: ECommonsDatabaseReferentialAction, onUpdate?: ECommonsDatabaseReferentialAction, constraintName?: string);
|
|
13
|
+
getTable(): string;
|
|
14
|
+
getField(): string;
|
|
15
|
+
getOnDelete(): ECommonsDatabaseReferentialAction;
|
|
16
|
+
getOnUpdate(): ECommonsDatabaseReferentialAction;
|
|
17
|
+
}
|
|
18
|
+
export declare class CommonsDatabaseIndexKey extends CommonsDatabaseKey {
|
|
19
|
+
private fields;
|
|
20
|
+
constructor(fields: string[], constraintName?: string);
|
|
21
|
+
getFields(): string[];
|
|
22
|
+
}
|
|
23
|
+
export declare class CommonsDatabaseUniqueKey extends CommonsDatabaseIndexKey {
|
|
24
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ECommonsDatabaseReferentialAction } from '../enums/ecommons-database-referential-action.mjs';
|
|
2
|
+
export class CommonsDatabaseKey {
|
|
3
|
+
constraintName;
|
|
4
|
+
constructor(constraintName) {
|
|
5
|
+
this.constraintName = constraintName;
|
|
6
|
+
}
|
|
7
|
+
getConstraintName() {
|
|
8
|
+
return this.constraintName;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class CommonsDatabaseForeignKey extends CommonsDatabaseKey {
|
|
12
|
+
table;
|
|
13
|
+
field;
|
|
14
|
+
onDelete;
|
|
15
|
+
onUpdate;
|
|
16
|
+
constructor(table, field, onDelete = ECommonsDatabaseReferentialAction.CASCADE, onUpdate = ECommonsDatabaseReferentialAction.CASCADE, constraintName) {
|
|
17
|
+
super(constraintName);
|
|
18
|
+
this.table = table;
|
|
19
|
+
this.field = field;
|
|
20
|
+
this.onDelete = onDelete;
|
|
21
|
+
this.onUpdate = onUpdate;
|
|
22
|
+
}
|
|
23
|
+
getTable() {
|
|
24
|
+
return this.table;
|
|
25
|
+
}
|
|
26
|
+
getField() {
|
|
27
|
+
return this.field;
|
|
28
|
+
}
|
|
29
|
+
getOnDelete() {
|
|
30
|
+
return this.onDelete;
|
|
31
|
+
}
|
|
32
|
+
getOnUpdate() {
|
|
33
|
+
return this.onUpdate;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class CommonsDatabaseIndexKey extends CommonsDatabaseKey {
|
|
37
|
+
fields;
|
|
38
|
+
constructor(fields, constraintName) {
|
|
39
|
+
super(constraintName);
|
|
40
|
+
this.fields = fields;
|
|
41
|
+
}
|
|
42
|
+
getFields() {
|
|
43
|
+
return this.fields;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export class CommonsDatabaseUniqueKey extends CommonsDatabaseIndexKey {
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=commons-database-key.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-key.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-key.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AAEtG,MAAM,OAAgB,kBAAkB;IAE7B;IADV,YACU,cAAuB;QAAvB,mBAAc,GAAd,cAAc,CAAS;IAC9B,CAAC;IAEG,iBAAiB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;CACD;AAED,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAEtD;IACA;IACA;IACA;IAJV,YACU,KAAa,EACb,KAAa,EACb,WAAW,iCAAiC,CAAC,OAAO,EACpD,WAAW,iCAAiC,CAAC,OAAO,EAC5D,cAAuB;QAExB,KAAK,CAAC,cAAc,CAAC,CAAC;QANb,UAAK,GAAL,KAAK,CAAQ;QACb,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAA4C;QACpD,aAAQ,GAAR,QAAQ,CAA4C;IAI9D,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,WAAW;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEM,WAAW;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;CACD;AAED,MAAM,OAAO,uBAAwB,SAAQ,kBAAkB;IAEpD;IADV,YACU,MAAgB,EACxB,cAAuB;QAExB,KAAK,CAAC,cAAc,CAAC,CAAC;QAHb,WAAM,GAAN,MAAM,CAAU;IAI1B,CAAC;IAEM,SAAS;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD;AAED,MAAM,OAAO,wBAAyB,SAAQ,uBAAuB;CAAG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
export declare class CommonsDatabaseParam {
|
|
4
|
+
private value;
|
|
5
|
+
private type;
|
|
6
|
+
constructor(value: any, type: CommonsDatabaseType);
|
|
7
|
+
process(engine: ECommonsDatabaseEngine): void;
|
|
8
|
+
getValue(): any;
|
|
9
|
+
setValue(value: any): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class CommonsDatabaseParam {
|
|
2
|
+
value;
|
|
3
|
+
type;
|
|
4
|
+
constructor(value, type) {
|
|
5
|
+
this.value = value;
|
|
6
|
+
this.type = type;
|
|
7
|
+
}
|
|
8
|
+
process(engine) {
|
|
9
|
+
if (this.value === null)
|
|
10
|
+
this.value = undefined;
|
|
11
|
+
this.type.assert(this.value);
|
|
12
|
+
this.type.processIn(this, engine);
|
|
13
|
+
}
|
|
14
|
+
getValue() {
|
|
15
|
+
return this.value;
|
|
16
|
+
}
|
|
17
|
+
setValue(value) {
|
|
18
|
+
this.value = value; // eslint-disable-line @typescript-eslint/no-unsafe-assignment
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=commons-database-param.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-param.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-param.mts"],"names":[],"mappings":"AAIA,MAAM,OAAO,oBAAoB;IAEtB;IACA;IAFV,YACU,KAAU,EACV,IAAyB;QADzB,UAAK,GAAL,KAAK,CAAK;QACV,SAAI,GAAJ,IAAI,CAAqB;IAChC,CAAC;IAEG,OAAO,CAAC,MAA8B;QAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,QAAQ,CAAC,KAAU;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,8DAA8D;IACnF,CAAC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
3
|
+
export declare class CommonsDatabaseTypeBase62BigId extends CommonsDatabaseTypeString {
|
|
4
|
+
constructor(notNull: ECommonsDatabaseTypeNull, defaultValue?: string, primaryKey?: boolean);
|
|
5
|
+
assert(value: unknown): void | never;
|
|
6
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { commonsTypeIsString, COMMONS_REGEX_PATTERN_BASE62_ID } from 'tscommons-esm-core';
|
|
2
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
3
|
+
export class CommonsDatabaseTypeBase62BigId extends CommonsDatabaseTypeString {
|
|
4
|
+
constructor(notNull, defaultValue, primaryKey = false) {
|
|
5
|
+
super(8, notNull, defaultValue, primaryKey);
|
|
6
|
+
}
|
|
7
|
+
assert(value) {
|
|
8
|
+
super.assert(value);
|
|
9
|
+
if (value === undefined)
|
|
10
|
+
return;
|
|
11
|
+
if (!commonsTypeIsString(value))
|
|
12
|
+
throw new Error('Base62 value is not a string');
|
|
13
|
+
if (!COMMONS_REGEX_PATTERN_BASE62_ID.test(value))
|
|
14
|
+
throw new Error(`Invalid database type value for base62bigid: ${value}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=commons-database-type-base62-big-id.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-base62-big-id.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-base62-big-id.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAI1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,8BAA+B,SAAQ,yBAAyB;IAC5E,YACE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,CAAC,EACD,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAEe,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjF,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;IAC5H,CAAC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
3
|
+
export declare class CommonsDatabaseTypeBase62LongId extends CommonsDatabaseTypeString {
|
|
4
|
+
constructor(notNull: ECommonsDatabaseTypeNull, defaultValue?: string, primaryKey?: boolean);
|
|
5
|
+
assert(value: unknown): void | never;
|
|
6
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { commonsTypeIsString, COMMONS_REGEX_PATTERN_BASE62_LONG_ID } from 'tscommons-esm-core';
|
|
2
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
3
|
+
export class CommonsDatabaseTypeBase62LongId extends CommonsDatabaseTypeString {
|
|
4
|
+
constructor(notNull, defaultValue, primaryKey = false) {
|
|
5
|
+
super(32, notNull, defaultValue, primaryKey);
|
|
6
|
+
}
|
|
7
|
+
assert(value) {
|
|
8
|
+
super.assert(value);
|
|
9
|
+
if (value === undefined)
|
|
10
|
+
return;
|
|
11
|
+
if (!commonsTypeIsString(value))
|
|
12
|
+
throw new Error('Base62 value is not a string');
|
|
13
|
+
if (!COMMONS_REGEX_PATTERN_BASE62_LONG_ID.test(value))
|
|
14
|
+
throw new Error(`Invalid database type value for base62longid: ${value}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=commons-database-type-base62-long-id.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-base62-long-id.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-base62-long-id.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAI/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,+BAAgC,SAAQ,yBAAyB;IAC7E,YACE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,EAAE,EACF,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAEe,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjF,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,KAAK,EAAE,CAAC,CAAC;IAClI,CAAC;CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
3
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
|
+
import { CommonsDatabaseTypeNumber } from './commons-database-type-number.mjs';
|
|
5
|
+
export declare class CommonsDatabaseTypeBigInt extends CommonsDatabaseTypeNumber {
|
|
6
|
+
constructor(unsigned: ECommonsDatabaseTypeSigned | undefined, notNull: ECommonsDatabaseTypeNull, defaultValue?: number, primaryKey?: boolean);
|
|
7
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
8
|
+
assert(value: any): void | never;
|
|
9
|
+
processOut(value: any, _engine: ECommonsDatabaseEngine): number | undefined;
|
|
10
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { commonsTypeAssertNumber, commonsTypeAttemptNumber } from 'tscommons-esm-core';
|
|
2
|
+
import { MAX_SIGNED_53BIT_INTEGER } from 'tscommons-esm-core';
|
|
3
|
+
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
4
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
5
|
+
import { CommonsDatabaseTypeNumber } from './commons-database-type-number.mjs';
|
|
6
|
+
export class CommonsDatabaseTypeBigInt extends CommonsDatabaseTypeNumber {
|
|
7
|
+
constructor(unsigned = ECommonsDatabaseTypeSigned.SIGNED, notNull, defaultValue, primaryKey = false) {
|
|
8
|
+
super(unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 0 : -MAX_SIGNED_53BIT_INTEGER, MAX_SIGNED_53BIT_INTEGER, notNull, defaultValue, primaryKey);
|
|
9
|
+
}
|
|
10
|
+
renderEngineType(engine) {
|
|
11
|
+
switch (engine) {
|
|
12
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
13
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
14
|
+
case ECommonsDatabaseEngine.SQLITE: {
|
|
15
|
+
const render = ['BIGINT'];
|
|
16
|
+
this.renderAppendSigning(render, engine);
|
|
17
|
+
return render.join(' ');
|
|
18
|
+
}
|
|
19
|
+
default:
|
|
20
|
+
throw new Error('This type has not been defined for this database engine');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
assert(value) {
|
|
24
|
+
super.assert(value);
|
|
25
|
+
if (value === undefined)
|
|
26
|
+
return;
|
|
27
|
+
const typecast = commonsTypeAssertNumber(value);
|
|
28
|
+
if (typecast !== Math.floor(typecast))
|
|
29
|
+
throw new Error('BIGINT has a float value');
|
|
30
|
+
this.assertRange(typecast);
|
|
31
|
+
}
|
|
32
|
+
processOut(value, _engine) {
|
|
33
|
+
if (value === undefined || value === null)
|
|
34
|
+
return undefined;
|
|
35
|
+
const typecast = commonsTypeAttemptNumber(value);
|
|
36
|
+
if (typecast === undefined)
|
|
37
|
+
throw new Error('Invalid BIGINT value for processOut');
|
|
38
|
+
return typecast;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=commons-database-type-big-int.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-big-int.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-big-int.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,yBAA0B,SAAQ,yBAAyB;IACvE,YACE,WAAuC,0BAA0B,CAAC,MAAM,EACxE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,QAAQ,KAAK,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAChF,wBAAwB,EACxB,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,QAAQ,CAAC;YACrC,KAAK,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAa,CAAE,QAAQ,CAAE,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAU;QAChC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,MAAM,QAAQ,GAAW,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEnF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAEe,UAAU,CAAC,KAAU,EAAE,OAA+B;QACrE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5D,MAAM,QAAQ,GAAqB,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAEnF,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export declare class CommonsDatabaseTypeBinary extends CommonsDatabaseType {
|
|
5
|
+
constructor(notNull: ECommonsDatabaseTypeNull);
|
|
6
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
export class CommonsDatabaseTypeBinary extends CommonsDatabaseType {
|
|
4
|
+
constructor(notNull
|
|
5
|
+
// decision: binary isn't allowed to have a default value
|
|
6
|
+
) {
|
|
7
|
+
super(notNull, undefined, false);
|
|
8
|
+
}
|
|
9
|
+
renderEngineType(engine) {
|
|
10
|
+
switch (engine) {
|
|
11
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
12
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
13
|
+
return 'BLOB';
|
|
14
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
15
|
+
return 'BYTEA';
|
|
16
|
+
default:
|
|
17
|
+
throw new Error('This type has not been defined for this database engine');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=commons-database-type-binary.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-binary.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-binary.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IACjE,YACE,OAAiC;IACjC,yDAAyD;;QAE1D,KAAK,CACH,OAAO,EACP,SAAS,EACT,KAAK,CACN,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,MAAM,CAAC;YACnC,KAAK,sBAAsB,CAAC,KAAK;gBAChC,OAAO,MAAM,CAAC;YACf,KAAK,sBAAsB,CAAC,QAAQ;gBACnC,OAAO,OAAO,CAAC;YAChB;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export declare class CommonsDatabaseTypeBoolean extends CommonsDatabaseType {
|
|
5
|
+
constructor(notNull: ECommonsDatabaseTypeNull, defaultValue?: boolean);
|
|
6
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
7
|
+
assert(value: unknown): void | never;
|
|
8
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { commonsTypeAssertBoolean } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export class CommonsDatabaseTypeBoolean extends CommonsDatabaseType {
|
|
5
|
+
constructor(notNull, defaultValue) {
|
|
6
|
+
super(notNull, defaultValue, false);
|
|
7
|
+
}
|
|
8
|
+
renderEngineType(engine) {
|
|
9
|
+
switch (engine) {
|
|
10
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
11
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
12
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
13
|
+
return 'BOOLEAN';
|
|
14
|
+
default:
|
|
15
|
+
throw new Error('This type has not been defined for this database engine');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
assert(value) {
|
|
19
|
+
super.assert(value);
|
|
20
|
+
if (value === undefined)
|
|
21
|
+
return;
|
|
22
|
+
commonsTypeAssertBoolean(value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=commons-database-type-boolean.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-boolean.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-boolean.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,0BAA2B,SAAQ,mBAAmB;IAClE,YACE,OAAiC,EACjC,YAAsB;QAEvB,KAAK,CACH,OAAO,EACP,YAAY,EACZ,KAAK,CACN,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,QAAQ,CAAC;YACrC,KAAK,sBAAsB,CAAC,MAAM;gBACjC,OAAO,SAAS,CAAC;YAClB;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
export declare class CommonsDatabaseTypeDateTime extends CommonsDatabaseType {
|
|
4
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
5
|
+
assert(value: unknown): void | never;
|
|
6
|
+
processOut(value: any, engine: ECommonsDatabaseEngine): unknown;
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { commonsTypeAssertDate } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export class CommonsDatabaseTypeDateTime extends CommonsDatabaseType {
|
|
5
|
+
renderEngineType(engine) {
|
|
6
|
+
switch (engine) {
|
|
7
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
8
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
9
|
+
return 'DATETIME';
|
|
10
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
11
|
+
return 'TIMESTAMP WITHOUT TIME ZONE';
|
|
12
|
+
default:
|
|
13
|
+
throw new Error('This type has not been defined for this database engine');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
assert(value) {
|
|
17
|
+
super.assert(value);
|
|
18
|
+
if (value === undefined)
|
|
19
|
+
return;
|
|
20
|
+
commonsTypeAssertDate(value);
|
|
21
|
+
}
|
|
22
|
+
processOut(value, engine) {
|
|
23
|
+
if (value === null)
|
|
24
|
+
return undefined;
|
|
25
|
+
if (engine === ECommonsDatabaseEngine.SQLITE) {
|
|
26
|
+
// SQLite stores its timestamps as longs
|
|
27
|
+
return new Date(value);
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=commons-database-type-date-time.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-date-time.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-date-time.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IACzD,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,MAAM;gBACjC,OAAO,UAAU,CAAC;YACnB,KAAK,sBAAsB,CAAC,QAAQ;gBACnC,OAAO,6BAA6B,CAAC;YACtC;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEe,UAAU,CAAC,KAAU,EAAE,MAA8B;QACpE,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAErC,IAAI,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;YAC9C,wCAAwC;YACxC,OAAO,IAAI,IAAI,CAAC,KAAe,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
export declare class CommonsDatabaseTypeDate extends CommonsDatabaseType {
|
|
4
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
5
|
+
assert(value: unknown): void | never;
|
|
6
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { commonsTypeAssertDate } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export class CommonsDatabaseTypeDate extends CommonsDatabaseType {
|
|
5
|
+
renderEngineType(engine) {
|
|
6
|
+
switch (engine) {
|
|
7
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
8
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
9
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
10
|
+
return 'DATE';
|
|
11
|
+
default:
|
|
12
|
+
throw new Error('This type has not been defined for this database engine');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
assert(value) {
|
|
16
|
+
super.assert(value);
|
|
17
|
+
if (value === undefined)
|
|
18
|
+
return;
|
|
19
|
+
commonsTypeAssertDate(value);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=commons-database-type-date.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-date.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-date.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IACrD,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,QAAQ,CAAC;YACrC,KAAK,sBAAsB,CAAC,MAAM;gBACjC,OAAO,MAAM,CAAC;YACf;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
3
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
|
+
import { CommonsDatabaseTypeNumber } from './commons-database-type-number.mjs';
|
|
5
|
+
export declare class CommonsDatabaseTypeDouble extends CommonsDatabaseTypeNumber {
|
|
6
|
+
constructor(unsigned: ECommonsDatabaseTypeSigned | undefined, notNull: ECommonsDatabaseTypeNull, defaultValue?: number, primaryKey?: boolean);
|
|
7
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
8
|
+
assert(value: any): void | never;
|
|
9
|
+
processOut(value: any, _engine: ECommonsDatabaseEngine): number | undefined;
|
|
10
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { commonsTypeAssertNumber, commonsTypeAttemptNumber } from 'tscommons-esm-core';
|
|
2
|
+
import { MAX_SIGNED_53BIT_INTEGER } from 'tscommons-esm-core';
|
|
3
|
+
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
4
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
5
|
+
import { CommonsDatabaseTypeNumber } from './commons-database-type-number.mjs';
|
|
6
|
+
export class CommonsDatabaseTypeDouble extends CommonsDatabaseTypeNumber {
|
|
7
|
+
constructor(unsigned = ECommonsDatabaseTypeSigned.SIGNED, notNull, defaultValue, primaryKey = false) {
|
|
8
|
+
super(unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 0 : -MAX_SIGNED_53BIT_INTEGER, MAX_SIGNED_53BIT_INTEGER, notNull, defaultValue, primaryKey);
|
|
9
|
+
}
|
|
10
|
+
renderEngineType(engine) {
|
|
11
|
+
switch (engine) {
|
|
12
|
+
case ECommonsDatabaseEngine.POSTGRES: {
|
|
13
|
+
const render = ['DOUBLE', 'PRECISION'];
|
|
14
|
+
this.renderAppendSigning(render, engine);
|
|
15
|
+
return render.join(' ');
|
|
16
|
+
}
|
|
17
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
18
|
+
case ECommonsDatabaseEngine.SQLITE: {
|
|
19
|
+
const render = ['DOUBLE'];
|
|
20
|
+
this.renderAppendSigning(render, engine);
|
|
21
|
+
return render.join(' ');
|
|
22
|
+
}
|
|
23
|
+
default:
|
|
24
|
+
throw new Error('This type has not been defined for this database engine');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
assert(value) {
|
|
28
|
+
super.assert(value);
|
|
29
|
+
if (value === undefined)
|
|
30
|
+
return;
|
|
31
|
+
const typecast = commonsTypeAssertNumber(value);
|
|
32
|
+
this.assertRange(typecast);
|
|
33
|
+
}
|
|
34
|
+
processOut(value, _engine) {
|
|
35
|
+
if (value === undefined || value === null)
|
|
36
|
+
return undefined;
|
|
37
|
+
const typecast = commonsTypeAttemptNumber(value);
|
|
38
|
+
if (typecast === undefined)
|
|
39
|
+
throw new Error('Invalid DOUBLE value for processOut');
|
|
40
|
+
return typecast;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=commons-database-type-double.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-double.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-double.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,yBAA0B,SAAQ,yBAAyB;IACvE,YACE,WAAuC,0BAA0B,CAAC,MAAM,EACxE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,QAAQ,KAAK,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAChF,wBAAwB,EACxB,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAa,CAAE,QAAQ,EAAE,WAAW,CAAE,CAAC;gBACnD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAa,CAAE,QAAQ,CAAE,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAU;QAChC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,MAAM,QAAQ,GAAW,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAEe,UAAU,CAAC,KAAU,EAAE,OAA+B;QACrE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5D,MAAM,QAAQ,GAAqB,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAEnF,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
3
|
+
export declare class CommonsDatabaseTypeEmail extends CommonsDatabaseTypeString {
|
|
4
|
+
constructor(notNull: ECommonsDatabaseTypeNull, defaultValue?: string, primaryKey?: boolean);
|
|
5
|
+
assert(value: unknown): void | never;
|
|
6
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { commonsTypeIsString, COMMONS_REGEX_PATTERN_EMAIL } from 'tscommons-esm-core';
|
|
2
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
3
|
+
export class CommonsDatabaseTypeEmail extends CommonsDatabaseTypeString {
|
|
4
|
+
constructor(notNull, defaultValue, primaryKey = false) {
|
|
5
|
+
super(255, notNull, defaultValue, primaryKey);
|
|
6
|
+
}
|
|
7
|
+
assert(value) {
|
|
8
|
+
super.assert(value);
|
|
9
|
+
if (value === undefined)
|
|
10
|
+
return;
|
|
11
|
+
if (!commonsTypeIsString(value))
|
|
12
|
+
throw new Error('Email value is not a string');
|
|
13
|
+
if (!COMMONS_REGEX_PATTERN_EMAIL.test(value))
|
|
14
|
+
throw new Error(`Invalid database type value for Email: ${value}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=commons-database-type-email.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-email.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-email.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAItF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,wBAAyB,SAAQ,yBAAyB;IACtE,YACE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,GAAG,EACH,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAEe,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAChF,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;IAClH,CAAC;CACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { CommonsDatabaseTypeBinary } from './commons-database-type-binary.mjs';
|
|
3
|
+
export declare class CommonsDatabaseTypeEncrypted extends CommonsDatabaseTypeBinary {
|
|
4
|
+
private algorithm;
|
|
5
|
+
private key;
|
|
6
|
+
constructor(passphrase: string, notNull: ECommonsDatabaseTypeNull, algorithm?: string);
|
|
7
|
+
encrypt(value: Buffer | undefined): Buffer | undefined;
|
|
8
|
+
decrypt(value: Buffer | undefined): Buffer | undefined;
|
|
9
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as crypto from 'crypto';
|
|
2
|
+
import { CommonsDatabaseTypeBinary } from './commons-database-type-binary.mjs';
|
|
3
|
+
export class CommonsDatabaseTypeEncrypted extends CommonsDatabaseTypeBinary {
|
|
4
|
+
algorithm;
|
|
5
|
+
key;
|
|
6
|
+
constructor(passphrase, notNull, algorithm = 'aes-256-cbc') {
|
|
7
|
+
super(notNull);
|
|
8
|
+
this.algorithm = algorithm;
|
|
9
|
+
this.key = Buffer.alloc(32);
|
|
10
|
+
this.key.fill(0);
|
|
11
|
+
const converted = Buffer.from(passphrase, 'utf-8');
|
|
12
|
+
converted.copy(this.key, 0, 0, converted.byteLength);
|
|
13
|
+
}
|
|
14
|
+
encrypt(value) {
|
|
15
|
+
if (!value)
|
|
16
|
+
return value;
|
|
17
|
+
const iv = crypto.randomBytes(16);
|
|
18
|
+
const cipher = crypto.createCipheriv(this.algorithm, this.key, iv);
|
|
19
|
+
const encrypted = cipher.update(value);
|
|
20
|
+
const result = Buffer.concat([encrypted, cipher.final()]);
|
|
21
|
+
const header = Buffer.from('CRYPT', 'utf-8');
|
|
22
|
+
return Buffer.concat([header, iv, result]);
|
|
23
|
+
}
|
|
24
|
+
decrypt(value) {
|
|
25
|
+
if (!value)
|
|
26
|
+
return value;
|
|
27
|
+
const header = Buffer.from('CRYPT', 'utf-8');
|
|
28
|
+
if (value.byteLength < header.byteLength || value.slice(0, header.byteLength).toString('utf-8') !== 'CRYPT')
|
|
29
|
+
throw new Error('Encrypted \'CRYPT\' preface is not present; this value does not appear to be encrypted!');
|
|
30
|
+
const iv = value.slice(header.byteLength, 16);
|
|
31
|
+
const decipher = crypto.createDecipheriv(this.algorithm, this.key, iv);
|
|
32
|
+
const encrypted = value.slice(header.byteLength + 16);
|
|
33
|
+
const decrypted = decipher.update(encrypted);
|
|
34
|
+
const result = Buffer.concat([decrypted, decipher.final()]);
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=commons-database-type-encrypted.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-encrypted.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-encrypted.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAIjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,4BAA6B,SAAQ,yBAAyB;IAMhE;IALF,GAAG,CAAS;IAEpB,YACE,UAAkB,EAClB,OAAiC,EACzB,YAAoB,aAAa;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,cAAS,GAAT,SAAS,CAAwB;QAI1C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjB,MAAM,SAAS,GAAW,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAEM,OAAO,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,EAAE,GAAW,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAkB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAElF,MAAM,SAAS,GAAW,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAExN,MAAM,EAAE,GAAW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAoB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAExF,MAAM,SAAS,GAAW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAW,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC;QAEtE,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export declare class CommonsDatabaseTypeEnum<E> extends CommonsDatabaseType {
|
|
5
|
+
private options;
|
|
6
|
+
private fromE;
|
|
7
|
+
private toE;
|
|
8
|
+
private enumId?;
|
|
9
|
+
constructor(options: E[], fromE: (e: E) => string, toE: (e: string) => E | undefined, notNull: ECommonsDatabaseTypeNull, defaultValue?: E, primaryKey?: boolean, enumId?: string | undefined);
|
|
10
|
+
getOptions(): E[];
|
|
11
|
+
getCreateEnum(engine: ECommonsDatabaseEngine): string | undefined;
|
|
12
|
+
getDropEnum(engine: ECommonsDatabaseEngine): string | undefined;
|
|
13
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
14
|
+
assert(value: any): void | never;
|
|
15
|
+
processOut(value: any, _engine: ECommonsDatabaseEngine): E | undefined;
|
|
16
|
+
}
|