nodecommons-esm-database 0.0.2 → 0.0.3
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 +15 -15
- package/dist/classes/commons-database-key.mjs +27 -27
- package/dist/classes/commons-database-key.mjs.map +1 -1
- package/dist/classes/commons-database-param.d.mts +6 -6
- package/dist/classes/commons-database-param.mjs +12 -13
- package/dist/classes/commons-database-param.mjs.map +1 -1
- package/dist/classes/commons-database-type-base62-big-id.d.mts +2 -3
- package/dist/classes/commons-database-type-base62-big-id.mjs +4 -13
- package/dist/classes/commons-database-type-base62-big-id.mjs.map +1 -1
- package/dist/classes/commons-database-type-base62-long-id.d.mts +2 -3
- package/dist/classes/commons-database-type-base62-long-id.mjs +4 -13
- package/dist/classes/commons-database-type-base62-long-id.mjs.map +1 -1
- package/dist/classes/commons-database-type-big-int.d.mts +5 -4
- package/dist/classes/commons-database-type-big-int.mjs +13 -15
- package/dist/classes/commons-database-type-big-int.mjs.map +1 -1
- package/dist/classes/commons-database-type-binary.d.mts +5 -1
- package/dist/classes/commons-database-type-binary.mjs +20 -0
- package/dist/classes/commons-database-type-binary.mjs.map +1 -1
- package/dist/classes/commons-database-type-boolean.d.mts +5 -2
- package/dist/classes/commons-database-type-boolean.mjs +14 -2
- package/dist/classes/commons-database-type-boolean.mjs.map +1 -1
- package/dist/classes/commons-database-type-date-time.d.mts +5 -3
- package/dist/classes/commons-database-type-date-time.mjs +20 -6
- package/dist/classes/commons-database-type-date-time.mjs.map +1 -1
- package/dist/classes/commons-database-type-date.d.mts +5 -2
- package/dist/classes/commons-database-type-date.mjs +14 -2
- package/dist/classes/commons-database-type-date.mjs.map +1 -1
- package/dist/classes/commons-database-type-double.d.mts +2 -4
- package/dist/classes/commons-database-type-double.mjs +2 -18
- package/dist/classes/commons-database-type-double.mjs.map +1 -1
- package/dist/classes/commons-database-type-email.d.mts +2 -3
- package/dist/classes/commons-database-type-email.mjs +4 -13
- package/dist/classes/commons-database-type-email.mjs.map +1 -1
- package/dist/classes/commons-database-type-encrypted.mjs +2 -2
- package/dist/classes/commons-database-type-encrypted.mjs.map +1 -1
- package/dist/classes/commons-database-type-enum-array.d.mts +8 -0
- package/dist/classes/commons-database-type-enum-array.mjs +17 -0
- package/dist/classes/commons-database-type-enum-array.mjs.map +1 -0
- package/dist/classes/commons-database-type-enum.d.mts +9 -7
- package/dist/classes/commons-database-type-enum.mjs +30 -28
- package/dist/classes/commons-database-type-enum.mjs.map +1 -1
- package/dist/classes/commons-database-type-fixed-date-time.d.mts +8 -2
- package/dist/classes/commons-database-type-fixed-date-time.mjs +37 -2
- package/dist/classes/commons-database-type-fixed-date-time.mjs.map +1 -1
- package/dist/classes/commons-database-type-fixed-date.d.mts +7 -5
- package/dist/classes/commons-database-type-fixed-date.mjs +37 -18
- package/dist/classes/commons-database-type-fixed-date.mjs.map +1 -1
- package/dist/classes/commons-database-type-fixed-time.d.mts +8 -5
- package/dist/classes/commons-database-type-fixed-time.mjs +51 -20
- package/dist/classes/commons-database-type-fixed-time.mjs.map +1 -1
- package/dist/classes/commons-database-type-float.d.mts +2 -4
- package/dist/classes/commons-database-type-float.mjs +3 -18
- package/dist/classes/commons-database-type-float.mjs.map +1 -1
- package/dist/classes/commons-database-type-hex-rgb.d.mts +2 -3
- package/dist/classes/commons-database-type-hex-rgb.mjs +4 -19
- package/dist/classes/commons-database-type-hex-rgb.mjs.map +1 -1
- package/dist/classes/commons-database-type-id-name.d.mts +2 -3
- package/dist/classes/commons-database-type-id-name.mjs +4 -13
- package/dist/classes/commons-database-type-id-name.mjs.map +1 -1
- package/dist/classes/commons-database-type-id.d.mts +2 -4
- package/dist/classes/commons-database-type-id.mjs +3 -20
- package/dist/classes/commons-database-type-id.mjs.map +1 -1
- package/dist/classes/commons-database-type-int.d.mts +2 -4
- package/dist/classes/commons-database-type-int.mjs +3 -20
- package/dist/classes/commons-database-type-int.mjs.map +1 -1
- package/dist/classes/commons-database-type-md5.d.mts +2 -3
- package/dist/classes/commons-database-type-md5.mjs +4 -13
- package/dist/classes/commons-database-type-md5.mjs.map +1 -1
- package/dist/classes/commons-database-type-serial-id.d.mts +0 -2
- package/dist/classes/commons-database-type-serial-id.mjs +0 -18
- package/dist/classes/commons-database-type-serial-id.mjs.map +1 -1
- package/dist/classes/commons-database-type-small-int.d.mts +2 -4
- package/dist/classes/commons-database-type-small-int.mjs +2 -20
- package/dist/classes/commons-database-type-small-int.mjs.map +1 -1
- package/dist/classes/commons-database-type-string-array.d.mts +6 -5
- package/dist/classes/commons-database-type-string-array.mjs +30 -22
- package/dist/classes/commons-database-type-string-array.mjs.map +1 -1
- package/dist/classes/commons-database-type-string.d.mts +6 -4
- package/dist/classes/commons-database-type-string.mjs +16 -8
- package/dist/classes/commons-database-type-string.mjs.map +1 -1
- package/dist/classes/commons-database-type-text.d.mts +2 -3
- package/dist/classes/commons-database-type-text.mjs +2 -9
- package/dist/classes/commons-database-type-text.mjs.map +1 -1
- package/dist/classes/commons-database-type-time.d.mts +6 -3
- package/dist/classes/commons-database-type-time.mjs +23 -30
- package/dist/classes/commons-database-type-time.mjs.map +1 -1
- package/dist/classes/commons-database-type-tiny-int-enum.d.mts +6 -3
- package/dist/classes/commons-database-type-tiny-int-enum.mjs +21 -12
- package/dist/classes/commons-database-type-tiny-int-enum.mjs.map +1 -1
- package/dist/classes/commons-database-type-tiny-int.d.mts +2 -4
- package/dist/classes/commons-database-type-tiny-int.mjs +2 -20
- package/dist/classes/commons-database-type-tiny-int.mjs.map +1 -1
- package/dist/classes/commons-database-type-url.d.mts +2 -3
- package/dist/classes/commons-database-type-url.mjs +4 -13
- package/dist/classes/commons-database-type-url.mjs.map +1 -1
- package/dist/classes/commons-database-type.d.mts +14 -11
- package/dist/classes/commons-database-type.mjs +37 -28
- package/dist/classes/commons-database-type.mjs.map +1 -1
- package/dist/classes/integer.d.mts +7 -0
- package/dist/classes/integer.mjs +20 -0
- package/dist/classes/integer.mjs.map +1 -0
- package/dist/classes/{commons-database-type-number.d.mts → number.d.mts} +6 -2
- package/dist/classes/{commons-database-type-number.mjs → number.mjs} +24 -5
- package/dist/classes/number.mjs.map +1 -0
- package/dist/classes/regex-string.d.mts +11 -0
- package/dist/classes/regex-string.mjs +27 -0
- package/dist/classes/regex-string.mjs.map +1 -0
- package/dist/classes/string.d.mts +8 -0
- package/dist/classes/string.mjs +23 -0
- package/dist/classes/string.mjs.map +1 -0
- package/dist/helpers/commons-tallies.d.mts +3 -2
- package/dist/helpers/commons-tallies.mjs +4 -4
- package/dist/helpers/commons-tallies.mjs.map +1 -1
- package/dist/index.d.mts +9 -5
- package/dist/index.mjs +7 -3
- package/dist/index.mjs.map +1 -1
- package/dist/services/commons-sql-database.service.d.mts +24 -29
- package/dist/services/commons-sql-database.service.mjs +56 -52
- package/dist/services/commons-sql-database.service.mjs.map +1 -1
- package/dist/types/tcommons-database-params.d.mts +4 -1
- package/dist/types/tcommons-database-postgres-interval.d.mts +10 -0
- package/dist/types/tcommons-database-postgres-interval.mjs +19 -0
- package/dist/types/tcommons-database-postgres-interval.mjs.map +1 -0
- package/dist/types/tcommons-database-types.d.mts +4 -1
- package/package.json +2 -2
- package/dist/classes/commons-database-type-number.mjs.map +0 -1
- package/dist/classes/fixed-date.d.mts +0 -8
- package/dist/classes/fixed-date.mjs +0 -33
- package/dist/classes/fixed-date.mjs.map +0 -1
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
import { commonsTypeHasPropertyNumber,
|
|
1
|
+
import { commonsTypeHasPropertyNumber, commonsTypeAssertDate } from 'tscommons-esm-core';
|
|
2
2
|
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
+
import { isTCommonsDatabaseInternalPostgresInterval } from '../types/tcommons-database-postgres-interval.mjs';
|
|
3
4
|
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
5
|
export class CommonsDatabaseTypeTime extends CommonsDatabaseType {
|
|
22
6
|
renderEngineType(engine) {
|
|
23
7
|
switch (engine) {
|
|
@@ -29,29 +13,38 @@ export class CommonsDatabaseTypeTime extends CommonsDatabaseType {
|
|
|
29
13
|
throw new Error('This type has not been defined for this database engine');
|
|
30
14
|
}
|
|
31
15
|
}
|
|
32
|
-
|
|
33
|
-
super.
|
|
16
|
+
assertIn(value) {
|
|
17
|
+
super.assertIn(value);
|
|
34
18
|
if (value === undefined)
|
|
35
19
|
return;
|
|
36
20
|
commonsTypeAssertDate(value);
|
|
37
21
|
}
|
|
38
|
-
|
|
22
|
+
assertOut(value, engine) {
|
|
23
|
+
super.assertOut(value, engine);
|
|
39
24
|
if (value === undefined || value === null)
|
|
40
|
-
return
|
|
41
|
-
if (engine === ECommonsDatabaseEngine.POSTGRES &&
|
|
25
|
+
return;
|
|
26
|
+
if (engine === ECommonsDatabaseEngine.POSTGRES && isTCommonsDatabaseInternalPostgresInterval(value))
|
|
27
|
+
return;
|
|
28
|
+
commonsTypeAssertDate(value);
|
|
29
|
+
}
|
|
30
|
+
encode(value, _engine) {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
decode(value, engine) {
|
|
34
|
+
if (engine === ECommonsDatabaseEngine.POSTGRES && isTCommonsDatabaseInternalPostgresInterval(value)) {
|
|
42
35
|
const time = new Date(0);
|
|
43
36
|
// 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
37
|
if (commonsTypeHasPropertyNumber(value, 'milliseconds'))
|
|
51
38
|
time.setMilliseconds(value.milliseconds);
|
|
39
|
+
if (commonsTypeHasPropertyNumber(value, 'seconds'))
|
|
40
|
+
time.setSeconds(value.seconds);
|
|
41
|
+
if (commonsTypeHasPropertyNumber(value, 'minutes'))
|
|
42
|
+
time.setMinutes(value.minutes);
|
|
43
|
+
if (commonsTypeHasPropertyNumber(value, 'hours'))
|
|
44
|
+
time.setHours(value.hours);
|
|
52
45
|
return time;
|
|
53
46
|
}
|
|
54
|
-
return value;
|
|
47
|
+
return value;
|
|
55
48
|
}
|
|
56
49
|
}
|
|
57
50
|
//# sourceMappingURL=commons-database-type-time.mjs.map
|
|
@@ -1 +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,
|
|
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,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,0CAA0C,EAA4C,MAAM,kDAAkD,CAAC;AAExJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,uBAAwB,SAAQ,mBAAwE;IAC1G,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,QAAQ,CAAC,KAAqB;QAC7C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEe,SAAS,CACvB,KAAmE,EACnE,MAA8B;QAE/B,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAElD,IAAI,MAAM,KAAK,sBAAsB,CAAC,QAAQ,IAAI,0CAA0C,CAAC,KAAK,CAAC;YAAE,OAAO;QAE5G,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAES,MAAM,CAAC,KAAW,EAAE,OAA+B;QAC5D,OAAO,KAAK,CAAC;IACd,CAAC;IAES,MAAM,CAAC,KAAoD,EAAE,MAA8B;QACpG,IAAI,MAAM,KAAK,sBAAsB,CAAC,QAAQ,IAAI,0CAA0C,CAAC,KAAK,CAAC,EAAE,CAAC;YACrG,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,6BAA6B;YAC7B,IAAI,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAa,CAAC,CAAC;YACnG,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,OAAO,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;YAE9E,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAa,CAAC;IACtB,CAAC;CACD"}
|
|
@@ -2,8 +2,11 @@ import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
|
2
2
|
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
3
3
|
import { CommonsDatabaseTypeTinyInt } from './commons-database-type-tiny-int.mjs';
|
|
4
4
|
export declare class CommonsDatabaseTypeTinyIntEnum extends CommonsDatabaseTypeTinyInt {
|
|
5
|
-
private
|
|
6
|
-
constructor(
|
|
5
|
+
private internalOptions;
|
|
6
|
+
constructor(internalOptions: number[], notNull: ECommonsDatabaseTypeNull, defaultValue?: number, primaryKey?: boolean);
|
|
7
|
+
get options(): number[];
|
|
7
8
|
renderAppendCheck(modifiers: string[], fieldname: string, engine: ECommonsDatabaseEngine): string | undefined;
|
|
8
|
-
|
|
9
|
+
private assertOption;
|
|
10
|
+
assertIn(value: number | undefined): void | never;
|
|
11
|
+
assertOut(value: number | null | undefined, engine: ECommonsDatabaseEngine): void | never;
|
|
9
12
|
}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import { commonsTypeIsNumber } from 'tscommons-esm-core';
|
|
2
1
|
import { commonsDatabaseDelimit } from '../helpers/commons-database.mjs';
|
|
3
2
|
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
3
|
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
5
4
|
import { CommonsDatabaseTypeTinyInt } from './commons-database-type-tiny-int.mjs';
|
|
6
5
|
export class CommonsDatabaseTypeTinyIntEnum extends CommonsDatabaseTypeTinyInt {
|
|
7
|
-
|
|
8
|
-
constructor(
|
|
6
|
+
internalOptions;
|
|
7
|
+
constructor(internalOptions, notNull, defaultValue, primaryKey = false) {
|
|
9
8
|
super(ECommonsDatabaseTypeSigned.UNSIGNED, notNull, defaultValue, primaryKey);
|
|
10
|
-
this.
|
|
11
|
-
if (
|
|
9
|
+
this.internalOptions = internalOptions;
|
|
10
|
+
if (internalOptions.length === 0)
|
|
12
11
|
throw new Error('TinyIntEnum cannot have a zero length array of options');
|
|
13
12
|
}
|
|
13
|
+
get options() {
|
|
14
|
+
return this.internalOptions.slice();
|
|
15
|
+
}
|
|
14
16
|
renderAppendCheck(modifiers, fieldname, engine) {
|
|
15
17
|
switch (engine) {
|
|
16
18
|
case ECommonsDatabaseEngine.POSTGRES:
|
|
17
|
-
modifiers.push(`CHECK (${commonsDatabaseDelimit(fieldname, engine)} IN (${this.
|
|
19
|
+
modifiers.push(`CHECK (${commonsDatabaseDelimit(fieldname, engine)} IN (${this.internalOptions.join(',')}))`);
|
|
18
20
|
return;
|
|
19
21
|
case ECommonsDatabaseEngine.MYSQL:
|
|
20
22
|
case ECommonsDatabaseEngine.SQLITE:
|
|
@@ -23,14 +25,21 @@ export class CommonsDatabaseTypeTinyIntEnum extends CommonsDatabaseTypeTinyInt {
|
|
|
23
25
|
throw new Error('Signing support has not been defined for this database engine');
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
assertOption(value) {
|
|
29
|
+
if (!this.internalOptions.includes(value))
|
|
30
|
+
throw new Error('TINYINTENUM is not a value in the ENUM array');
|
|
31
|
+
}
|
|
32
|
+
assertIn(value) {
|
|
33
|
+
super.assertIn(value);
|
|
28
34
|
if (value === undefined)
|
|
29
35
|
return;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
this.assertOption(value);
|
|
37
|
+
}
|
|
38
|
+
assertOut(value, engine) {
|
|
39
|
+
super.assertOut(value, engine);
|
|
40
|
+
if (value === undefined || value === null)
|
|
41
|
+
return;
|
|
42
|
+
this.assertOption(value);
|
|
34
43
|
}
|
|
35
44
|
}
|
|
36
45
|
//# sourceMappingURL=commons-database-type-tiny-int-enum.mjs.map
|
|
@@ -1 +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,
|
|
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,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,eAAyB,EACjC,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,0BAA0B,CAAC,QAAQ,EACnC,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;QAVO,oBAAe,GAAf,eAAe,CAAU;QAYlC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC7G,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,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,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9G,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;IAEO,YAAY,CAAC,KAAa;QACjC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC5G,CAAC;IAEe,QAAQ,CAAC,KAAuB;QAC/C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEe,SAAS,CACvB,KAA4B,EAC5B,MAA8B;QAE/B,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAElD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
2
|
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
3
3
|
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
|
-
import {
|
|
5
|
-
export declare class CommonsDatabaseTypeTinyInt extends
|
|
4
|
+
import { InternalCommonsDatabaseTypeInteger } from './integer.mjs';
|
|
5
|
+
export declare class CommonsDatabaseTypeTinyInt extends InternalCommonsDatabaseTypeInteger {
|
|
6
6
|
constructor(unsigned: ECommonsDatabaseTypeSigned | undefined, notNull: ECommonsDatabaseTypeNull, defaultValue?: number, primaryKey?: boolean);
|
|
7
7
|
protected renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
8
|
-
assert(value: any): void | never;
|
|
9
|
-
processOut(value: any, _engine: ECommonsDatabaseEngine): number | undefined;
|
|
10
8
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { commonsTypeAssertNumber, commonsTypeAttemptNumber } from 'tscommons-esm-core';
|
|
2
1
|
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
3
2
|
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
|
-
import {
|
|
5
|
-
export class CommonsDatabaseTypeTinyInt extends
|
|
3
|
+
import { InternalCommonsDatabaseTypeInteger } from './integer.mjs';
|
|
4
|
+
export class CommonsDatabaseTypeTinyInt extends InternalCommonsDatabaseTypeInteger {
|
|
6
5
|
constructor(unsigned = ECommonsDatabaseTypeSigned.SIGNED, notNull, defaultValue, primaryKey = false) {
|
|
7
6
|
super(unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 0 : -128, unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 255 : 127, notNull, defaultValue, primaryKey);
|
|
8
7
|
}
|
|
@@ -23,22 +22,5 @@ export class CommonsDatabaseTypeTinyInt extends CommonsDatabaseTypeNumber {
|
|
|
23
22
|
throw new Error('This type has not been defined for this database engine');
|
|
24
23
|
}
|
|
25
24
|
}
|
|
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
25
|
}
|
|
44
26
|
//# sourceMappingURL=commons-database-type-tiny-int.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commons-database-type-tiny-int.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-tiny-int.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commons-database-type-tiny-int.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-tiny-int.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,OAAO,0BAA2B,SAAQ,kCAAkC;IACjF,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;CACD"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
|
-
import {
|
|
3
|
-
export declare class CommonsDatabaseTypeUrl extends
|
|
2
|
+
import { InternalCommonsDatabaseTypeRegexString } from './regex-string.mjs';
|
|
3
|
+
export declare class CommonsDatabaseTypeUrl extends InternalCommonsDatabaseTypeRegexString {
|
|
4
4
|
constructor(notNull: ECommonsDatabaseTypeNull, defaultValue?: string, primaryKey?: boolean);
|
|
5
|
-
assert(value: unknown): void | never;
|
|
6
5
|
}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export class CommonsDatabaseTypeUrl extends
|
|
1
|
+
import { COMMONS_REGEX_PATTERN_URL } from 'tscommons-esm-core';
|
|
2
|
+
import { InternalCommonsDatabaseTypeRegexString } from './regex-string.mjs';
|
|
3
|
+
export class CommonsDatabaseTypeUrl extends InternalCommonsDatabaseTypeRegexString {
|
|
4
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}`);
|
|
5
|
+
super('Url', 255, COMMONS_REGEX_PATTERN_URL, notNull, defaultValue, primaryKey);
|
|
15
6
|
}
|
|
16
7
|
}
|
|
17
8
|
//# sourceMappingURL=commons-database-type-url.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commons-database-type-url.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-url.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"commons-database-type-url.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-url.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAI/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAC;AAE5E,MAAM,OAAO,sBAAuB,SAAQ,sCAAsC;IACjF,YACE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,KAAK,EACL,GAAG,EACH,yBAAyB,EACzB,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;CACD"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
2
2
|
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
private
|
|
6
|
-
private
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
export declare abstract class CommonsDatabaseType<ParamT, DbT> {
|
|
4
|
+
private internalNotNull;
|
|
5
|
+
private internalDefaultValue?;
|
|
6
|
+
private internalPrimaryKey;
|
|
7
|
+
constructor(internalNotNull: ECommonsDatabaseTypeNull, internalDefaultValue?: ParamT | undefined, internalPrimaryKey?: boolean);
|
|
8
|
+
get notNull(): ECommonsDatabaseTypeNull;
|
|
9
|
+
get defaultValue(): ParamT | undefined;
|
|
10
|
+
get primaryKey(): boolean;
|
|
11
11
|
render(engine: ECommonsDatabaseEngine): string;
|
|
12
12
|
protected abstract renderEngineType(engine: ECommonsDatabaseEngine): string;
|
|
13
13
|
protected renderNotNull(_engine: ECommonsDatabaseEngine): string;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
assertIn(value: ParamT | undefined): void | never;
|
|
15
|
+
assertOut(value: DbT | null | undefined, _engine: ECommonsDatabaseEngine): void | never;
|
|
16
|
+
protected abstract encode(value: ParamT, engine: ECommonsDatabaseEngine): DbT;
|
|
17
|
+
protected abstract decode(value: DbT, engine: ECommonsDatabaseEngine): ParamT;
|
|
18
|
+
processIn(value: ParamT | undefined, engine: ECommonsDatabaseEngine): DbT | undefined;
|
|
19
|
+
processOut(value: DbT | null | undefined, engine: ECommonsDatabaseEngine): ParamT | undefined;
|
|
17
20
|
}
|
|
@@ -2,43 +2,46 @@ import { commonsTypeIsNumber, commonsTypeIsBoolean, commonsTypeIsString } from '
|
|
|
2
2
|
import { commonsDatabaseQuote } from '../helpers/commons-database.mjs';
|
|
3
3
|
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
4
4
|
export class CommonsDatabaseType {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
5
|
+
internalNotNull;
|
|
6
|
+
internalDefaultValue;
|
|
7
|
+
internalPrimaryKey;
|
|
8
|
+
constructor(internalNotNull, internalDefaultValue, internalPrimaryKey = false) {
|
|
9
|
+
this.internalNotNull = internalNotNull;
|
|
10
|
+
this.internalDefaultValue = internalDefaultValue;
|
|
11
|
+
this.internalPrimaryKey = internalPrimaryKey;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
return this.
|
|
13
|
+
get notNull() {
|
|
14
|
+
return this.internalNotNull;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
return this.
|
|
16
|
+
get defaultValue() {
|
|
17
|
+
return this.internalDefaultValue;
|
|
18
|
+
}
|
|
19
|
+
get primaryKey() {
|
|
20
|
+
return this.internalPrimaryKey;
|
|
18
21
|
}
|
|
19
22
|
render(engine) {
|
|
20
23
|
const modifiers = [];
|
|
21
|
-
if (this.
|
|
24
|
+
if (this.internalNotNull === ECommonsDatabaseTypeNull.NOT_NULL)
|
|
22
25
|
modifiers.push(this.renderNotNull(engine));
|
|
23
|
-
if (this.
|
|
24
|
-
if (commonsTypeIsNumber(this.
|
|
25
|
-
modifiers.push(`DEFAULT ${this.
|
|
26
|
+
if (this.internalDefaultValue !== undefined) {
|
|
27
|
+
if (commonsTypeIsNumber(this.internalDefaultValue) && !isNaN(this.internalDefaultValue)) {
|
|
28
|
+
modifiers.push(`DEFAULT ${this.internalDefaultValue.toString(10)}`);
|
|
26
29
|
}
|
|
27
|
-
else if (commonsTypeIsBoolean(this.
|
|
28
|
-
modifiers.push(`DEFAULT ${this.
|
|
30
|
+
else if (commonsTypeIsBoolean(this.internalDefaultValue)) {
|
|
31
|
+
modifiers.push(`DEFAULT ${this.internalDefaultValue ? 'true' : 'false'}`);
|
|
29
32
|
}
|
|
30
|
-
else if (commonsTypeIsString(this.
|
|
31
|
-
modifiers.push(`DEFAULT ${commonsDatabaseQuote(this.
|
|
33
|
+
else if (commonsTypeIsString(this.internalDefaultValue)) {
|
|
34
|
+
modifiers.push(`DEFAULT ${commonsDatabaseQuote(this.internalDefaultValue, engine)}`);
|
|
32
35
|
}
|
|
33
36
|
else {
|
|
34
37
|
throw new Error('Unknown CommonsDatabaseType default value type');
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
else {
|
|
38
|
-
if (!this.
|
|
41
|
+
if (!this.internalNotNull)
|
|
39
42
|
modifiers.push('DEFAULT NULL');
|
|
40
43
|
}
|
|
41
|
-
if (this.
|
|
44
|
+
if (this.internalPrimaryKey)
|
|
42
45
|
modifiers.push('PRIMARY KEY');
|
|
43
46
|
modifiers.unshift(this.renderEngineType(engine));
|
|
44
47
|
return modifiers.join(' ');
|
|
@@ -47,17 +50,23 @@ export class CommonsDatabaseType {
|
|
|
47
50
|
renderNotNull(_engine) {
|
|
48
51
|
return 'NOT NULL';
|
|
49
52
|
}
|
|
50
|
-
|
|
51
|
-
if (value === undefined && this.
|
|
53
|
+
assertIn(value) {
|
|
54
|
+
if (value === undefined && this.internalNotNull === ECommonsDatabaseTypeNull.NOT_NULL)
|
|
55
|
+
throw new Error('NOTNULL modifier is set');
|
|
56
|
+
}
|
|
57
|
+
assertOut(value, _engine) {
|
|
58
|
+
if ((value === undefined || value === null) && this.internalNotNull === ECommonsDatabaseTypeNull.NOT_NULL)
|
|
52
59
|
throw new Error('NOTNULL modifier is set');
|
|
53
60
|
}
|
|
54
|
-
processIn(
|
|
55
|
-
|
|
61
|
+
processIn(value, engine) {
|
|
62
|
+
if (value === undefined)
|
|
63
|
+
return undefined;
|
|
64
|
+
return this.encode(value, engine);
|
|
56
65
|
}
|
|
57
|
-
processOut(value,
|
|
58
|
-
if (value === null)
|
|
66
|
+
processOut(value, engine) {
|
|
67
|
+
if (value === undefined || value === null)
|
|
59
68
|
return undefined;
|
|
60
|
-
return value;
|
|
69
|
+
return this.decode(value, engine);
|
|
61
70
|
}
|
|
62
71
|
}
|
|
63
72
|
//# sourceMappingURL=commons-database-type.mjs.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"commons-database-type.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { InternalCommonsDatabaseTypeNumber } from './number.mjs';
|
|
3
|
+
export declare abstract class InternalCommonsDatabaseTypeInteger extends InternalCommonsDatabaseTypeNumber {
|
|
4
|
+
private assertInt;
|
|
5
|
+
assertIn(value: number | undefined): void | never;
|
|
6
|
+
assertOut(value: number | null | undefined, engine: ECommonsDatabaseEngine): void | never;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { InternalCommonsDatabaseTypeNumber } from './number.mjs';
|
|
2
|
+
export class InternalCommonsDatabaseTypeInteger extends InternalCommonsDatabaseTypeNumber {
|
|
3
|
+
assertInt(value) {
|
|
4
|
+
if (value !== Math.floor(value))
|
|
5
|
+
throw new Error('Integer has a float value');
|
|
6
|
+
}
|
|
7
|
+
assertIn(value) {
|
|
8
|
+
super.assertIn(value);
|
|
9
|
+
if (value === undefined)
|
|
10
|
+
return;
|
|
11
|
+
this.assertInt(value);
|
|
12
|
+
}
|
|
13
|
+
assertOut(value, engine) {
|
|
14
|
+
super.assertOut(value, engine);
|
|
15
|
+
if (value === undefined || value === null)
|
|
16
|
+
return;
|
|
17
|
+
this.assertInt(value);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=integer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.mjs","sourceRoot":"","sources":["../../src/classes/integer.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,OAAgB,kCAAmC,SAAQ,iCAAiC;IACzF,SAAS,CAAC,KAAa;QAC9B,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/E,CAAC;IAEe,QAAQ,CAAC,KAAuB;QAC/C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEe,SAAS,CACvB,KAA4B,EAC5B,MAA8B;QAE/B,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAElD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACD"}
|
|
@@ -2,12 +2,16 @@ import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.m
|
|
|
2
2
|
import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
|
|
3
3
|
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
4
4
|
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
5
|
-
export declare abstract class
|
|
5
|
+
export declare abstract class InternalCommonsDatabaseTypeNumber extends CommonsDatabaseType<number, number> {
|
|
6
6
|
protected lower: number;
|
|
7
7
|
protected upper: number;
|
|
8
8
|
protected unsigned: ECommonsDatabaseTypeSigned;
|
|
9
9
|
constructor(lower: number, upper: number, notNull: ECommonsDatabaseTypeNull, defaultValue?: number, primaryKey?: boolean, use53Bit?: boolean);
|
|
10
10
|
protected renderAppendSigning(modifiers: string[], engine: ECommonsDatabaseEngine): void;
|
|
11
11
|
renderAppendCheck(modifiers: string[], fieldname: string, engine: ECommonsDatabaseEngine): string | undefined;
|
|
12
|
-
|
|
12
|
+
private assertRange;
|
|
13
|
+
assertIn(value: number | undefined): void | never;
|
|
14
|
+
assertOut(value: number | null | undefined, engine: ECommonsDatabaseEngine): void | never;
|
|
15
|
+
protected encode(value: number, _engine: ECommonsDatabaseEngine): number;
|
|
16
|
+
protected decode(value: number, _engine: ECommonsDatabaseEngine): number;
|
|
13
17
|
}
|
|
@@ -4,7 +4,7 @@ import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-sign
|
|
|
4
4
|
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
5
5
|
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
6
6
|
// NB, JavaScript only supports numbers up to (2^53)-1, so this is not 64 bit. See tscommons-core.consts
|
|
7
|
-
export class
|
|
7
|
+
export class InternalCommonsDatabaseTypeNumber extends CommonsDatabaseType {
|
|
8
8
|
lower;
|
|
9
9
|
upper;
|
|
10
10
|
unsigned;
|
|
@@ -12,8 +12,6 @@ export class CommonsDatabaseTypeNumber extends CommonsDatabaseType {
|
|
|
12
12
|
super(notNull, defaultValue, primaryKey);
|
|
13
13
|
this.lower = lower;
|
|
14
14
|
this.upper = upper;
|
|
15
|
-
commonsTypeAssertNumber(this.lower);
|
|
16
|
-
commonsTypeAssertNumber(this.upper);
|
|
17
15
|
const absoluteMax = use53Bit ? MAX_SIGNED_53BIT_INTEGER : MAX_SIGNED_32BIT_INTEGER;
|
|
18
16
|
const bitSize = use53Bit ? 53 : 32;
|
|
19
17
|
if (this.upper > absoluteMax)
|
|
@@ -50,11 +48,32 @@ export class CommonsDatabaseTypeNumber extends CommonsDatabaseType {
|
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
50
|
assertRange(value) {
|
|
53
|
-
|
|
51
|
+
if (isNaN(value))
|
|
52
|
+
throw new Error('Number was NaN');
|
|
54
53
|
if (value < this.lower)
|
|
55
54
|
throw new Error(`Underflow from ${this.lower}`);
|
|
56
55
|
if (value > this.upper)
|
|
57
56
|
throw new Error(`Overflow from ${this.upper}`);
|
|
58
57
|
}
|
|
58
|
+
assertIn(value) {
|
|
59
|
+
super.assertIn(value);
|
|
60
|
+
if (value === undefined)
|
|
61
|
+
return;
|
|
62
|
+
commonsTypeAssertNumber(value);
|
|
63
|
+
this.assertRange(value);
|
|
64
|
+
}
|
|
65
|
+
assertOut(value, engine) {
|
|
66
|
+
super.assertOut(value, engine);
|
|
67
|
+
if (value === undefined || value === null)
|
|
68
|
+
return;
|
|
69
|
+
commonsTypeAssertNumber(value);
|
|
70
|
+
this.assertRange(value);
|
|
71
|
+
}
|
|
72
|
+
encode(value, _engine) {
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
decode(value, _engine) {
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
59
78
|
}
|
|
60
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=number.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.mjs","sourceRoot":"","sources":["../../src/classes/number.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
|
|
3
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
4
|
+
export declare abstract class InternalCommonsDatabaseTypeRegexString<ParamT extends string = string> extends CommonsDatabaseTypeString<ParamT> {
|
|
5
|
+
private typeName;
|
|
6
|
+
private regex;
|
|
7
|
+
constructor(typeName: string, maxLength: number, regex: RegExp, notNull: ECommonsDatabaseTypeNull, defaultValue?: ParamT, primaryKey?: boolean);
|
|
8
|
+
private assertRegex;
|
|
9
|
+
assertIn(value: ParamT | undefined): void | never;
|
|
10
|
+
assertOut(value: ParamT | null | undefined, engine: ECommonsDatabaseEngine): void | never;
|
|
11
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
|
|
2
|
+
export class InternalCommonsDatabaseTypeRegexString extends CommonsDatabaseTypeString {
|
|
3
|
+
typeName;
|
|
4
|
+
regex;
|
|
5
|
+
constructor(typeName, maxLength, regex, notNull, defaultValue, primaryKey = false) {
|
|
6
|
+
super(maxLength, notNull, defaultValue, primaryKey);
|
|
7
|
+
this.typeName = typeName;
|
|
8
|
+
this.regex = regex;
|
|
9
|
+
}
|
|
10
|
+
assertRegex(value) {
|
|
11
|
+
if (!this.regex.test(value))
|
|
12
|
+
throw new Error(`Invalid string for type ${this.typeName}`);
|
|
13
|
+
}
|
|
14
|
+
assertIn(value) {
|
|
15
|
+
super.assertIn(value);
|
|
16
|
+
if (value === undefined)
|
|
17
|
+
return;
|
|
18
|
+
this.assertRegex(value);
|
|
19
|
+
}
|
|
20
|
+
assertOut(value, engine) {
|
|
21
|
+
super.assertOut(value, engine);
|
|
22
|
+
if (value === undefined || value === null)
|
|
23
|
+
return;
|
|
24
|
+
this.assertRegex(value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=regex-string.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex-string.mjs","sourceRoot":"","sources":["../../src/classes/regex-string.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAgB,sCAAuE,SAAQ,yBAAiC;IAE3H;IAEA;IAHV,YACU,QAAgB,EACxB,SAAiB,EACT,KAAa,EACrB,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,SAAS,EACT,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;QAZO,aAAQ,GAAR,QAAQ,CAAQ;QAEhB,UAAK,GAAL,KAAK,CAAQ;IAWvB,CAAC;IAEO,WAAW,CAAC,KAAa;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEe,QAAQ,CAAC,KAAuB;QAC/C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAEe,SAAS,CACvB,KAA4B,EAC5B,MAA8B;QAE/B,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAElD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
export declare abstract class InternalCommonsDatabaseTypeString extends CommonsDatabaseType<string, string> {
|
|
4
|
+
assertIn(value: string | undefined): void | never;
|
|
5
|
+
assertOut(value: string | null | undefined, engine: ECommonsDatabaseEngine): void | never;
|
|
6
|
+
protected encode(value: string, _engine: ECommonsDatabaseEngine): string;
|
|
7
|
+
protected decode(value: string, _engine: ECommonsDatabaseEngine): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { commonsTypeAssertString } from 'tscommons-esm-core';
|
|
2
|
+
import { CommonsDatabaseType } from './commons-database-type.mjs';
|
|
3
|
+
export class InternalCommonsDatabaseTypeString extends CommonsDatabaseType {
|
|
4
|
+
assertIn(value) {
|
|
5
|
+
super.assertIn(value);
|
|
6
|
+
if (value === undefined)
|
|
7
|
+
return;
|
|
8
|
+
commonsTypeAssertString(value);
|
|
9
|
+
}
|
|
10
|
+
assertOut(value, engine) {
|
|
11
|
+
super.assertOut(value, engine);
|
|
12
|
+
if (value === undefined || value === null)
|
|
13
|
+
return;
|
|
14
|
+
commonsTypeAssertString(value);
|
|
15
|
+
}
|
|
16
|
+
encode(value, _engine) {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
decode(value, _engine) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=string.mjs.map
|