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,48 @@
|
|
|
1
|
+
import { commonsTypeAssertNumber, commonsTypeAttemptNumber } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
3
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
|
+
import { CommonsDatabaseTypeId } from './commons-database-type-id.mjs';
|
|
5
|
+
export class CommonsDatabaseTypeSerialId extends CommonsDatabaseTypeId {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(ECommonsDatabaseTypeNull.NOT_NULL, undefined, false // do the primary key setting in the renderEngineType rather than here
|
|
8
|
+
);
|
|
9
|
+
}
|
|
10
|
+
renderEngineType(engine) {
|
|
11
|
+
switch (engine) {
|
|
12
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
13
|
+
return 'INT UNSIGNED AUTO_INCREMENT PRIMARY KEY';
|
|
14
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
15
|
+
return 'SERIAL UNIQUE PRIMARY KEY';
|
|
16
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
17
|
+
return 'INTEGER PRIMARY KEY';
|
|
18
|
+
default:
|
|
19
|
+
throw new Error('This type has not been defined for this database engine');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
renderNotNull(engine) {
|
|
23
|
+
switch (engine) {
|
|
24
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
25
|
+
return '';
|
|
26
|
+
default:
|
|
27
|
+
return super.renderNotNull(engine);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
assert(value) {
|
|
31
|
+
super.assert(value);
|
|
32
|
+
if (value === undefined)
|
|
33
|
+
throw new Error('SerialId types cannot be undefined');
|
|
34
|
+
const typecast = commonsTypeAssertNumber(value);
|
|
35
|
+
if (typecast !== Math.floor(typecast))
|
|
36
|
+
throw new Error('SerialId has a float value');
|
|
37
|
+
this.assertRange(typecast);
|
|
38
|
+
}
|
|
39
|
+
processOut(value, _engine) {
|
|
40
|
+
if (value === undefined || value === null)
|
|
41
|
+
return undefined;
|
|
42
|
+
const typecast = commonsTypeAttemptNumber(value);
|
|
43
|
+
if (typecast === undefined)
|
|
44
|
+
throw new Error('Invalid SerialId value for processOut');
|
|
45
|
+
return typecast;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=commons-database-type-serial-id.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-serial-id.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-serial-id.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,OAAO,2BAA4B,SAAQ,qBAAqB;IACrE;QACC,KAAK,CACH,wBAAwB,CAAC,QAAQ,EACjC,SAAS,EACT,KAAK,CAAC,sEAAsE;SAC7E,CAAC;IACH,CAAC;IAEkB,gBAAgB,CAAC,MAA8B;QACjE,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK;gBAChC,OAAO,yCAAyC,CAAC;YAClD,KAAK,sBAAsB,CAAC,QAAQ;gBACnC,OAAO,2BAA2B,CAAC;YACpC,KAAK,sBAAsB,CAAC,MAAM;gBACjC,OAAO,qBAAqB,CAAC;YAC9B;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEkB,aAAa,CAAC,MAA8B;QAC9D,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,MAAM;gBACjC,OAAO,EAAE,CAAC;YACX;gBACC,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAU;QAChC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAE/E,MAAM,QAAQ,GAAW,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAErF,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,uCAAuC,CAAC,CAAC;QAErF,OAAO,QAAQ,CAAC;IACjB,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 CommonsDatabaseTypeSmallInt 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,40 @@
|
|
|
1
|
+
import { commonsTypeAssertNumber, commonsTypeAttemptNumber } from 'tscommons-esm-core';
|
|
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 class CommonsDatabaseTypeSmallInt extends CommonsDatabaseTypeNumber {
|
|
6
|
+
constructor(unsigned = ECommonsDatabaseTypeSigned.SIGNED, notNull, defaultValue, primaryKey = false) {
|
|
7
|
+
super(unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 0 : -32768, unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 65535 : 32767, notNull, defaultValue, primaryKey);
|
|
8
|
+
}
|
|
9
|
+
renderEngineType(engine) {
|
|
10
|
+
switch (engine) {
|
|
11
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
12
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
13
|
+
case ECommonsDatabaseEngine.SQLITE: {
|
|
14
|
+
const render = ['SMALLINT'];
|
|
15
|
+
this.renderAppendSigning(render, engine);
|
|
16
|
+
return render.join(' ');
|
|
17
|
+
}
|
|
18
|
+
default:
|
|
19
|
+
throw new Error('This type has not been defined for this database engine');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
assert(value) {
|
|
23
|
+
super.assert(value);
|
|
24
|
+
if (value === undefined)
|
|
25
|
+
return;
|
|
26
|
+
const typecast = commonsTypeAssertNumber(value);
|
|
27
|
+
if (typecast !== Math.floor(typecast))
|
|
28
|
+
throw new Error('INT has a float value');
|
|
29
|
+
this.assertRange(typecast);
|
|
30
|
+
}
|
|
31
|
+
processOut(value, _engine) {
|
|
32
|
+
if (value === undefined || value === null)
|
|
33
|
+
return undefined;
|
|
34
|
+
const typecast = commonsTypeAttemptNumber(value);
|
|
35
|
+
if (typecast === undefined)
|
|
36
|
+
throw new Error('Invalid INT value for processOut');
|
|
37
|
+
return typecast;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=commons-database-type-small-int.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-small-int.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-small-int.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGvF,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,2BAA4B,SAAQ,yBAAyB;IACzE,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,KAAK,EAC7D,QAAQ,KAAK,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAChE,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,UAAU,CAAE,CAAC;gBACxC,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,uBAAuB,CAAC,CAAC;QAEhF,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,kCAAkC,CAAC,CAAC;QAEhF,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
import { CommonsDatabaseParam } from './commons-database-param.mjs';
|
|
5
|
+
export declare class CommonsDatabaseTypeStringArray extends CommonsDatabaseType {
|
|
6
|
+
constructor(notNull: ECommonsDatabaseTypeNull);
|
|
7
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
8
|
+
assert(value: unknown): void | never;
|
|
9
|
+
processIn(param: CommonsDatabaseParam, engine: ECommonsDatabaseEngine): void;
|
|
10
|
+
processOut(value: any, engine: ECommonsDatabaseEngine): unknown;
|
|
11
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { commonsTypeAssertStringArray, commonsTypeIsString } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export class CommonsDatabaseTypeStringArray extends CommonsDatabaseType {
|
|
5
|
+
constructor(notNull) {
|
|
6
|
+
super(notNull, undefined, false);
|
|
7
|
+
}
|
|
8
|
+
renderEngineType(engine) {
|
|
9
|
+
switch (engine) {
|
|
10
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
11
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
12
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
13
|
+
return 'TEXT';
|
|
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
|
+
commonsTypeAssertStringArray(value);
|
|
23
|
+
}
|
|
24
|
+
processIn(param, engine) {
|
|
25
|
+
const value = param.getValue();
|
|
26
|
+
if (value !== undefined) {
|
|
27
|
+
if (!commonsTypeAssertStringArray(value))
|
|
28
|
+
throw new Error('Value to be processed in is not a string array');
|
|
29
|
+
param.setValue(JSON.stringify(value));
|
|
30
|
+
}
|
|
31
|
+
super.processIn(param, engine);
|
|
32
|
+
}
|
|
33
|
+
processOut(value, engine) {
|
|
34
|
+
value = super.processOut(value, engine);
|
|
35
|
+
if (!value)
|
|
36
|
+
return undefined;
|
|
37
|
+
try {
|
|
38
|
+
if (!commonsTypeIsString(value))
|
|
39
|
+
throw new Error('String array JSON encoded value is not a string');
|
|
40
|
+
return JSON.parse(value);
|
|
41
|
+
}
|
|
42
|
+
catch (_e) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=commons-database-type-string-array.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-string-array.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-string-array.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IACtE,YAAY,OAAiC;QAC5C,KAAK,CACH,OAAO,EACP,SAAS,EACT,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,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,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEe,SAAS,CAAC,KAA2B,EAAE,MAA8B;QACpF,MAAM,KAAK,GAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC5G,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAEe,UAAU,CAAC,KAAU,EAAE,MAA8B;QACpE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,IAAI,CAAC;YACJ,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACpG,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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 CommonsDatabaseTypeString extends CommonsDatabaseType {
|
|
5
|
+
private maxLength;
|
|
6
|
+
constructor(maxLength: number, notNull: ECommonsDatabaseTypeNull, defaultValue?: string, primaryKey?: boolean);
|
|
7
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
8
|
+
assert(value: unknown): void | never;
|
|
9
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { commonsTypeAssertNumber, commonsTypeAssertString } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export class CommonsDatabaseTypeString extends CommonsDatabaseType {
|
|
5
|
+
maxLength;
|
|
6
|
+
constructor(maxLength, notNull, defaultValue, primaryKey = false) {
|
|
7
|
+
super(notNull, defaultValue, primaryKey);
|
|
8
|
+
this.maxLength = maxLength;
|
|
9
|
+
commonsTypeAssertNumber(this.maxLength);
|
|
10
|
+
if (this.maxLength < 1)
|
|
11
|
+
throw new Error(`Bad max length: ${this.maxLength}`);
|
|
12
|
+
if (this.maxLength > 255)
|
|
13
|
+
throw new Error('Max length for STRING cannot be more than 255; consider using TEXT instead');
|
|
14
|
+
}
|
|
15
|
+
renderEngineType(engine) {
|
|
16
|
+
switch (engine) {
|
|
17
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
18
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
19
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
20
|
+
return `VARCHAR(${this.maxLength})`;
|
|
21
|
+
default:
|
|
22
|
+
throw new Error('This type has not been defined for this database engine');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
assert(value) {
|
|
26
|
+
super.assert(value);
|
|
27
|
+
if (value === undefined)
|
|
28
|
+
return;
|
|
29
|
+
const typecast = commonsTypeAssertString(value);
|
|
30
|
+
if (typecast.length > this.maxLength)
|
|
31
|
+
throw new Error(`Greater than ${this.maxLength} characters.`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=commons-database-type-string.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-string.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-string.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IAEvD;IADV,YACU,SAAiB,EACzB,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;QATO,cAAS,GAAT,SAAS,CAAQ;QAW1B,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,SAAS,GAAG,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IACzH,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,WAAW,IAAI,CAAC,SAAS,GAAG,CAAC;YACrC;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,MAAM,QAAQ,GAAW,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,cAAc,CAAC,CAAC;IACrG,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 CommonsDatabaseTypeText extends CommonsDatabaseType {
|
|
5
|
+
constructor(notNull: ECommonsDatabaseTypeNull, defaultValue?: string);
|
|
6
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
7
|
+
assert(value: unknown): void | never;
|
|
8
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { commonsTypeAssertString } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
export class CommonsDatabaseTypeText 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 'TEXT';
|
|
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
|
+
commonsTypeAssertString(value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=commons-database-type-text.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-text.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-text.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IAC/D,YACE,OAAiC,EACjC,YAAqB;QAEtB,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,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,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChC,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 CommonsDatabaseTypeTime extends CommonsDatabaseType {
|
|
4
|
+
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
5
|
+
assert(value: unknown): void | never;
|
|
6
|
+
processOut(value: any, engine: ECommonsDatabaseEngine): Date | undefined;
|
|
7
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { commonsTypeHasPropertyNumber, commonsTypeHasPropertyNumberOrUndefined, commonsTypeAssertDate } from 'tscommons-esm-core';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
4
|
+
function isTPostgresInterval(test) {
|
|
5
|
+
if (!commonsTypeHasPropertyNumberOrUndefined(test, 'years'))
|
|
6
|
+
return false;
|
|
7
|
+
if (!commonsTypeHasPropertyNumberOrUndefined(test, 'months'))
|
|
8
|
+
return false;
|
|
9
|
+
if (!commonsTypeHasPropertyNumberOrUndefined(test, 'days'))
|
|
10
|
+
return false;
|
|
11
|
+
if (!commonsTypeHasPropertyNumberOrUndefined(test, 'hours'))
|
|
12
|
+
return false;
|
|
13
|
+
if (!commonsTypeHasPropertyNumberOrUndefined(test, 'minutes'))
|
|
14
|
+
return false;
|
|
15
|
+
if (!commonsTypeHasPropertyNumberOrUndefined(test, 'seconds'))
|
|
16
|
+
return false;
|
|
17
|
+
if (!commonsTypeHasPropertyNumberOrUndefined(test, 'milliseconds'))
|
|
18
|
+
return false;
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
export class CommonsDatabaseTypeTime extends CommonsDatabaseType {
|
|
22
|
+
renderEngineType(engine) {
|
|
23
|
+
switch (engine) {
|
|
24
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
25
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
26
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
27
|
+
return 'TIME';
|
|
28
|
+
default:
|
|
29
|
+
throw new Error('This type has not been defined for this database engine');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
assert(value) {
|
|
33
|
+
super.assert(value);
|
|
34
|
+
if (value === undefined)
|
|
35
|
+
return;
|
|
36
|
+
commonsTypeAssertDate(value);
|
|
37
|
+
}
|
|
38
|
+
processOut(value, engine) {
|
|
39
|
+
if (value === undefined || value === null)
|
|
40
|
+
return undefined;
|
|
41
|
+
if (engine === ECommonsDatabaseEngine.POSTGRES && isTPostgresInterval(value)) {
|
|
42
|
+
const time = new Date(0);
|
|
43
|
+
// ignore the date components
|
|
44
|
+
if (commonsTypeHasPropertyNumber(value, 'hours'))
|
|
45
|
+
time.setHours(value.hours);
|
|
46
|
+
if (commonsTypeHasPropertyNumber(value, 'minutes'))
|
|
47
|
+
time.setMinutes(value.minutes);
|
|
48
|
+
if (commonsTypeHasPropertyNumber(value, 'seconds'))
|
|
49
|
+
time.setSeconds(value.seconds);
|
|
50
|
+
if (commonsTypeHasPropertyNumber(value, 'milliseconds'))
|
|
51
|
+
time.setMilliseconds(value.milliseconds);
|
|
52
|
+
return time;
|
|
53
|
+
}
|
|
54
|
+
return value; // eslint-disable-line @typescript-eslint/no-unsafe-return
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=commons-database-type-time.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-time.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-time.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,uCAAuC,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElI,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAYlE,SAAS,mBAAmB,CAAC,IAAa;IACzC,IAAI,CAAC,uCAAuC,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,CAAC,uCAAuC,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,IAAI,CAAC,uCAAuC,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzE,IAAI,CAAC,uCAAuC,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,CAAC,uCAAuC,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,CAAC,uCAAuC,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,CAAC,uCAAuC,CAAC,IAAI,EAAE,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjF,OAAO,IAAI,CAAC;AACb,CAAC;AAED,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;IAEe,UAAU,CAAC,KAAU,EAAE,MAA8B;QACpE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5D,IAAI,MAAM,KAAK,sBAAsB,CAAC,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,6BAA6B;YAC7B,IAAI,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;YAC9E,IAAI,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;YACpF,IAAI,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;YACpF,IAAI,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAa,CAAC,CAAC;YAEnG,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,0DAA0D;IACzE,CAAC;CACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
3
|
+
import { CommonsDatabaseTypeTinyInt } from './commons-database-type-tiny-int.mjs';
|
|
4
|
+
export declare class CommonsDatabaseTypeTinyIntEnum extends CommonsDatabaseTypeTinyInt {
|
|
5
|
+
private options;
|
|
6
|
+
constructor(options: number[], notNull: ECommonsDatabaseTypeNull, defaultValue?: number, primaryKey?: boolean);
|
|
7
|
+
renderAppendCheck(modifiers: string[], fieldname: string, engine: ECommonsDatabaseEngine): string | undefined;
|
|
8
|
+
assert(value: any): void | never;
|
|
9
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { commonsTypeIsNumber } from 'tscommons-esm-core';
|
|
2
|
+
import { commonsDatabaseDelimit } from '../helpers/commons-database.mjs';
|
|
3
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
|
+
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
5
|
+
import { CommonsDatabaseTypeTinyInt } from './commons-database-type-tiny-int.mjs';
|
|
6
|
+
export class CommonsDatabaseTypeTinyIntEnum extends CommonsDatabaseTypeTinyInt {
|
|
7
|
+
options;
|
|
8
|
+
constructor(options, notNull, defaultValue, primaryKey = false) {
|
|
9
|
+
super(ECommonsDatabaseTypeSigned.UNSIGNED, notNull, defaultValue, primaryKey);
|
|
10
|
+
this.options = options;
|
|
11
|
+
if (options.length === 0)
|
|
12
|
+
throw new Error('TinyIntEnum cannot have a zero length array of options');
|
|
13
|
+
}
|
|
14
|
+
renderAppendCheck(modifiers, fieldname, engine) {
|
|
15
|
+
switch (engine) {
|
|
16
|
+
case ECommonsDatabaseEngine.POSTGRES:
|
|
17
|
+
modifiers.push(`CHECK (${commonsDatabaseDelimit(fieldname, engine)} IN (${this.options.join(',')}))`);
|
|
18
|
+
return;
|
|
19
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
20
|
+
case ECommonsDatabaseEngine.SQLITE:
|
|
21
|
+
return;
|
|
22
|
+
default:
|
|
23
|
+
throw new Error('Signing support has not been defined for this database engine');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
assert(value) {
|
|
27
|
+
super.assert(value);
|
|
28
|
+
if (value === undefined)
|
|
29
|
+
return;
|
|
30
|
+
if (!commonsTypeIsNumber(value))
|
|
31
|
+
throw new Error('TINYINTENUM is not a number');
|
|
32
|
+
if (!this.options.includes(value))
|
|
33
|
+
throw new Error('TINYINTENUM is not a value in the ENUM array');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=commons-database-type-tiny-int-enum.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-tiny-int-enum.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-tiny-int-enum.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,OAAO,8BAA+B,SAAQ,0BAA0B;IAEnE;IADV,YACU,OAAiB,EACzB,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,0BAA0B,CAAC,QAAQ,EACnC,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;QAVO,YAAO,GAAP,OAAO,CAAU;QAY1B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACrG,CAAC;IAEe,iBAAiB,CAAC,SAAmB,EAAE,SAAiB,EAAE,MAA8B;QACvG,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,QAAQ;gBACnC,SAAS,CAAC,IAAI,CAAC,UAAU,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtG,OAAO;YACR,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,MAAM;gBACjC,OAAO;YACR;gBACC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAU;QAChC,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,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpG,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 CommonsDatabaseTypeTinyInt 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,44 @@
|
|
|
1
|
+
import { commonsTypeAssertNumber, commonsTypeAttemptNumber } from 'tscommons-esm-core';
|
|
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 class CommonsDatabaseTypeTinyInt extends CommonsDatabaseTypeNumber {
|
|
6
|
+
constructor(unsigned = ECommonsDatabaseTypeSigned.SIGNED, notNull, defaultValue, primaryKey = false) {
|
|
7
|
+
super(unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 0 : -128, unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 255 : 127, notNull, defaultValue, primaryKey);
|
|
8
|
+
}
|
|
9
|
+
renderEngineType(engine) {
|
|
10
|
+
switch (engine) {
|
|
11
|
+
case ECommonsDatabaseEngine.MYSQL:
|
|
12
|
+
case ECommonsDatabaseEngine.SQLITE: {
|
|
13
|
+
const render = ['TINYINT'];
|
|
14
|
+
this.renderAppendSigning(render, engine);
|
|
15
|
+
return render.join(' ');
|
|
16
|
+
}
|
|
17
|
+
case ECommonsDatabaseEngine.POSTGRES: {
|
|
18
|
+
const render = ['SMALLINT'];
|
|
19
|
+
this.renderAppendSigning(render, engine);
|
|
20
|
+
return render.join(' ');
|
|
21
|
+
}
|
|
22
|
+
default:
|
|
23
|
+
throw new Error('This type has not been defined for this database engine');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
assert(value) {
|
|
27
|
+
super.assert(value);
|
|
28
|
+
if (value === undefined)
|
|
29
|
+
return;
|
|
30
|
+
const typecast = commonsTypeAssertNumber(value);
|
|
31
|
+
if (typecast !== Math.floor(typecast))
|
|
32
|
+
throw new Error('INT has a float value');
|
|
33
|
+
this.assertRange(typecast);
|
|
34
|
+
}
|
|
35
|
+
processOut(value, _engine) {
|
|
36
|
+
if (value === undefined || value === null)
|
|
37
|
+
return undefined;
|
|
38
|
+
const typecast = commonsTypeAttemptNumber(value);
|
|
39
|
+
if (typecast === undefined)
|
|
40
|
+
throw new Error('Invalid INT value for processOut');
|
|
41
|
+
return typecast;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=commons-database-type-tiny-int.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-tiny-int.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-tiny-int.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGvF,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,0BAA2B,SAAQ,yBAAyB;IACxE,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,GAAG,EAC3D,QAAQ,KAAK,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAC5D,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,MAAM,CAAC,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAa,CAAE,SAAS,CAAE,CAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAa,CAAE,UAAU,CAAE,CAAC;gBACxC,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,uBAAuB,CAAC,CAAC;QAEhF,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,kCAAkC,CAAC,CAAC;QAEhF,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 CommonsDatabaseTypeUrl 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_URL } from 'tscommons-esm-core';
|
|
2
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
3
|
+
export class CommonsDatabaseTypeUrl 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('Url value is not a string');
|
|
13
|
+
if (!COMMONS_REGEX_PATTERN_URL.test(value))
|
|
14
|
+
throw new Error(`Invalid database type value for Url: ${value}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=commons-database-type-url.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type-url.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-url.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,sBAAuB,SAAQ,yBAAyB;IACpE,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,2BAA2B,CAAC,CAAC;QAC9E,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;IAC9G,CAAC;CACD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { CommonsDatabaseParam } from './commons-database-param.mjs';
|
|
4
|
+
export declare abstract class CommonsDatabaseType {
|
|
5
|
+
private notNull;
|
|
6
|
+
private defaultValue?;
|
|
7
|
+
private primaryKey;
|
|
8
|
+
constructor(notNull: ECommonsDatabaseTypeNull, defaultValue?: (number | string | boolean) | undefined, primaryKey?: boolean);
|
|
9
|
+
getNotNull(): ECommonsDatabaseTypeNull;
|
|
10
|
+
getDefaultValue(): number | string | boolean | undefined;
|
|
11
|
+
render(engine: ECommonsDatabaseEngine): string;
|
|
12
|
+
protected abstract renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
13
|
+
protected renderNotNull(_engine: ECommonsDatabaseEngine): string;
|
|
14
|
+
assert(value: any): void | never;
|
|
15
|
+
processIn(_param: CommonsDatabaseParam, _engine: ECommonsDatabaseEngine): void;
|
|
16
|
+
processOut(value: any, _engine: ECommonsDatabaseEngine): unknown;
|
|
17
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { commonsTypeIsNumber, commonsTypeIsBoolean, commonsTypeIsString } from 'tscommons-esm-core';
|
|
2
|
+
import { commonsDatabaseQuote } from '../helpers/commons-database.mjs';
|
|
3
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
4
|
+
export class CommonsDatabaseType {
|
|
5
|
+
notNull;
|
|
6
|
+
defaultValue;
|
|
7
|
+
primaryKey;
|
|
8
|
+
constructor(notNull, defaultValue, primaryKey = false) {
|
|
9
|
+
this.notNull = notNull;
|
|
10
|
+
this.defaultValue = defaultValue;
|
|
11
|
+
this.primaryKey = primaryKey;
|
|
12
|
+
}
|
|
13
|
+
getNotNull() {
|
|
14
|
+
return this.notNull;
|
|
15
|
+
}
|
|
16
|
+
getDefaultValue() {
|
|
17
|
+
return this.defaultValue;
|
|
18
|
+
}
|
|
19
|
+
render(engine) {
|
|
20
|
+
const modifiers = [];
|
|
21
|
+
if (this.notNull === ECommonsDatabaseTypeNull.NOT_NULL)
|
|
22
|
+
modifiers.push(this.renderNotNull(engine));
|
|
23
|
+
if (this.defaultValue !== undefined) {
|
|
24
|
+
if (commonsTypeIsNumber(this.defaultValue) && !isNaN(this.defaultValue)) {
|
|
25
|
+
modifiers.push(`DEFAULT ${this.defaultValue.toString(10)}`);
|
|
26
|
+
}
|
|
27
|
+
else if (commonsTypeIsBoolean(this.defaultValue)) {
|
|
28
|
+
modifiers.push(`DEFAULT ${this.defaultValue ? 'true' : 'false'}`);
|
|
29
|
+
}
|
|
30
|
+
else if (commonsTypeIsString(this.defaultValue)) {
|
|
31
|
+
modifiers.push(`DEFAULT ${commonsDatabaseQuote(this.defaultValue, engine)}`);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
throw new Error('Unknown CommonsDatabaseType default value type');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
if (!this.notNull)
|
|
39
|
+
modifiers.push('DEFAULT NULL');
|
|
40
|
+
}
|
|
41
|
+
if (this.primaryKey)
|
|
42
|
+
modifiers.push('PRIMARY KEY');
|
|
43
|
+
modifiers.unshift(this.renderEngineType(engine));
|
|
44
|
+
return modifiers.join(' ');
|
|
45
|
+
}
|
|
46
|
+
// almost all databases and types use this default, but some like SQLite's ROWID don't
|
|
47
|
+
renderNotNull(_engine) {
|
|
48
|
+
return 'NOT NULL';
|
|
49
|
+
}
|
|
50
|
+
assert(value) {
|
|
51
|
+
if (value === undefined && this.notNull === ECommonsDatabaseTypeNull.NOT_NULL)
|
|
52
|
+
throw new Error('NOTNULL modifier is set');
|
|
53
|
+
}
|
|
54
|
+
processIn(_param, _engine) {
|
|
55
|
+
// to be overridden if desired
|
|
56
|
+
}
|
|
57
|
+
processOut(value, _engine) {
|
|
58
|
+
if (value === null)
|
|
59
|
+
return undefined;
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=commons-database-type.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commons-database-type.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAKpF,MAAM,OAAgB,mBAAmB;IAE9B;IACA;IACA;IAHV,YACU,OAAiC,EACjC,YAAoC,EACpC,aAAsB,KAAK;QAF3B,YAAO,GAAP,OAAO,CAA0B;QACjC,iBAAY,GAAZ,YAAY,CAAwB;QACpC,eAAU,GAAV,UAAU,CAAiB;IAClC,CAAC;IAEG,UAAU;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAEM,eAAe;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,MAA8B;QAC3C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,wBAAwB,CAAC,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAEnG,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzE,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpD,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnD,SAAS,CAAC,IAAI,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU;YAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAID,sFAAsF;IAC5E,aAAa,CAAC,OAA+B;QACtD,OAAO,UAAU,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,KAAU;QACvB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,wBAAwB,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC3H,CAAC;IAEM,SAAS,CAAC,MAA4B,EAAE,OAA+B;QAC7E,8BAA8B;IAC/B,CAAC;IAEM,UAAU,CAAC,KAAU,EAAE,OAA+B;QAC5D,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACrC,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
import { CommonsDatabaseParam } from './commons-database-param.mjs';
|
|
4
|
+
export declare abstract class InternalCommonsDatabaseTypeFixedDate extends CommonsDatabaseType {
|
|
5
|
+
assert(value: unknown): void | never;
|
|
6
|
+
processIn(param: CommonsDatabaseParam, engine: ECommonsDatabaseEngine): void;
|
|
7
|
+
processOut(value: any, engine: ECommonsDatabaseEngine): unknown;
|
|
8
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CommonsFixedDate, commonsTypeAssertDate } from 'tscommons-esm-core';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
export class InternalCommonsDatabaseTypeFixedDate extends CommonsDatabaseType {
|
|
4
|
+
assert(value) {
|
|
5
|
+
super.assert(value);
|
|
6
|
+
if (value === undefined)
|
|
7
|
+
return;
|
|
8
|
+
if (!CommonsFixedDate.is(value))
|
|
9
|
+
throw new Error('Assertion fail: variable is not a CommonsFixedDate instance');
|
|
10
|
+
}
|
|
11
|
+
processIn(param, engine) {
|
|
12
|
+
const value = param.getValue();
|
|
13
|
+
if (value !== undefined) {
|
|
14
|
+
if (!CommonsFixedDate.is(value))
|
|
15
|
+
throw new Error('processIn value is not a CommonsFixedDate instance');
|
|
16
|
+
param.setValue(value.UTCDate);
|
|
17
|
+
}
|
|
18
|
+
super.processIn(param, engine);
|
|
19
|
+
}
|
|
20
|
+
processOut(value, engine) {
|
|
21
|
+
value = super.processOut(value, engine);
|
|
22
|
+
if (!value)
|
|
23
|
+
return undefined;
|
|
24
|
+
try {
|
|
25
|
+
commonsTypeAssertDate(value);
|
|
26
|
+
return CommonsFixedDate.fromUTCDate(value);
|
|
27
|
+
}
|
|
28
|
+
catch (_e) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=fixed-date.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixed-date.mjs","sourceRoot":"","sources":["../../src/classes/fixed-date.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,OAAgB,oCAAqC,SAAQ,mBAAmB;IACrE,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjH,CAAC;IAEe,SAAS,CAAC,KAA2B,EAAE,MAA8B;QACpF,MAAM,KAAK,GAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACvG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAEe,UAAU,CAAC,KAAU,EAAE,MAA8B;QACpE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,IAAI,CAAC;YACJ,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE7B,OAAO,gBAAgB,CAAC,WAAW,CAAC,KAAa,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD"}
|