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.
Files changed (129) hide show
  1. package/dist/classes/commons-database-key.d.mts +15 -15
  2. package/dist/classes/commons-database-key.mjs +27 -27
  3. package/dist/classes/commons-database-key.mjs.map +1 -1
  4. package/dist/classes/commons-database-param.d.mts +6 -6
  5. package/dist/classes/commons-database-param.mjs +12 -13
  6. package/dist/classes/commons-database-param.mjs.map +1 -1
  7. package/dist/classes/commons-database-type-base62-big-id.d.mts +2 -3
  8. package/dist/classes/commons-database-type-base62-big-id.mjs +4 -13
  9. package/dist/classes/commons-database-type-base62-big-id.mjs.map +1 -1
  10. package/dist/classes/commons-database-type-base62-long-id.d.mts +2 -3
  11. package/dist/classes/commons-database-type-base62-long-id.mjs +4 -13
  12. package/dist/classes/commons-database-type-base62-long-id.mjs.map +1 -1
  13. package/dist/classes/commons-database-type-big-int.d.mts +5 -4
  14. package/dist/classes/commons-database-type-big-int.mjs +13 -15
  15. package/dist/classes/commons-database-type-big-int.mjs.map +1 -1
  16. package/dist/classes/commons-database-type-binary.d.mts +5 -1
  17. package/dist/classes/commons-database-type-binary.mjs +20 -0
  18. package/dist/classes/commons-database-type-binary.mjs.map +1 -1
  19. package/dist/classes/commons-database-type-boolean.d.mts +5 -2
  20. package/dist/classes/commons-database-type-boolean.mjs +14 -2
  21. package/dist/classes/commons-database-type-boolean.mjs.map +1 -1
  22. package/dist/classes/commons-database-type-date-time.d.mts +5 -3
  23. package/dist/classes/commons-database-type-date-time.mjs +20 -6
  24. package/dist/classes/commons-database-type-date-time.mjs.map +1 -1
  25. package/dist/classes/commons-database-type-date.d.mts +5 -2
  26. package/dist/classes/commons-database-type-date.mjs +14 -2
  27. package/dist/classes/commons-database-type-date.mjs.map +1 -1
  28. package/dist/classes/commons-database-type-double.d.mts +2 -4
  29. package/dist/classes/commons-database-type-double.mjs +2 -18
  30. package/dist/classes/commons-database-type-double.mjs.map +1 -1
  31. package/dist/classes/commons-database-type-email.d.mts +2 -3
  32. package/dist/classes/commons-database-type-email.mjs +4 -13
  33. package/dist/classes/commons-database-type-email.mjs.map +1 -1
  34. package/dist/classes/commons-database-type-encrypted.mjs +2 -2
  35. package/dist/classes/commons-database-type-encrypted.mjs.map +1 -1
  36. package/dist/classes/commons-database-type-enum-array.d.mts +8 -0
  37. package/dist/classes/commons-database-type-enum-array.mjs +17 -0
  38. package/dist/classes/commons-database-type-enum-array.mjs.map +1 -0
  39. package/dist/classes/commons-database-type-enum.d.mts +9 -7
  40. package/dist/classes/commons-database-type-enum.mjs +30 -28
  41. package/dist/classes/commons-database-type-enum.mjs.map +1 -1
  42. package/dist/classes/commons-database-type-fixed-date-time.d.mts +8 -2
  43. package/dist/classes/commons-database-type-fixed-date-time.mjs +37 -2
  44. package/dist/classes/commons-database-type-fixed-date-time.mjs.map +1 -1
  45. package/dist/classes/commons-database-type-fixed-date.d.mts +7 -5
  46. package/dist/classes/commons-database-type-fixed-date.mjs +37 -18
  47. package/dist/classes/commons-database-type-fixed-date.mjs.map +1 -1
  48. package/dist/classes/commons-database-type-fixed-time.d.mts +8 -5
  49. package/dist/classes/commons-database-type-fixed-time.mjs +51 -20
  50. package/dist/classes/commons-database-type-fixed-time.mjs.map +1 -1
  51. package/dist/classes/commons-database-type-float.d.mts +2 -4
  52. package/dist/classes/commons-database-type-float.mjs +3 -18
  53. package/dist/classes/commons-database-type-float.mjs.map +1 -1
  54. package/dist/classes/commons-database-type-hex-rgb.d.mts +2 -3
  55. package/dist/classes/commons-database-type-hex-rgb.mjs +4 -19
  56. package/dist/classes/commons-database-type-hex-rgb.mjs.map +1 -1
  57. package/dist/classes/commons-database-type-id-name.d.mts +2 -3
  58. package/dist/classes/commons-database-type-id-name.mjs +4 -13
  59. package/dist/classes/commons-database-type-id-name.mjs.map +1 -1
  60. package/dist/classes/commons-database-type-id.d.mts +2 -4
  61. package/dist/classes/commons-database-type-id.mjs +3 -20
  62. package/dist/classes/commons-database-type-id.mjs.map +1 -1
  63. package/dist/classes/commons-database-type-int.d.mts +2 -4
  64. package/dist/classes/commons-database-type-int.mjs +3 -20
  65. package/dist/classes/commons-database-type-int.mjs.map +1 -1
  66. package/dist/classes/commons-database-type-md5.d.mts +2 -3
  67. package/dist/classes/commons-database-type-md5.mjs +4 -13
  68. package/dist/classes/commons-database-type-md5.mjs.map +1 -1
  69. package/dist/classes/commons-database-type-serial-id.d.mts +0 -2
  70. package/dist/classes/commons-database-type-serial-id.mjs +0 -18
  71. package/dist/classes/commons-database-type-serial-id.mjs.map +1 -1
  72. package/dist/classes/commons-database-type-small-int.d.mts +2 -4
  73. package/dist/classes/commons-database-type-small-int.mjs +2 -20
  74. package/dist/classes/commons-database-type-small-int.mjs.map +1 -1
  75. package/dist/classes/commons-database-type-string-array.d.mts +6 -5
  76. package/dist/classes/commons-database-type-string-array.mjs +30 -22
  77. package/dist/classes/commons-database-type-string-array.mjs.map +1 -1
  78. package/dist/classes/commons-database-type-string.d.mts +6 -4
  79. package/dist/classes/commons-database-type-string.mjs +16 -8
  80. package/dist/classes/commons-database-type-string.mjs.map +1 -1
  81. package/dist/classes/commons-database-type-text.d.mts +2 -3
  82. package/dist/classes/commons-database-type-text.mjs +2 -9
  83. package/dist/classes/commons-database-type-text.mjs.map +1 -1
  84. package/dist/classes/commons-database-type-time.d.mts +6 -3
  85. package/dist/classes/commons-database-type-time.mjs +23 -30
  86. package/dist/classes/commons-database-type-time.mjs.map +1 -1
  87. package/dist/classes/commons-database-type-tiny-int-enum.d.mts +6 -3
  88. package/dist/classes/commons-database-type-tiny-int-enum.mjs +21 -12
  89. package/dist/classes/commons-database-type-tiny-int-enum.mjs.map +1 -1
  90. package/dist/classes/commons-database-type-tiny-int.d.mts +2 -4
  91. package/dist/classes/commons-database-type-tiny-int.mjs +2 -20
  92. package/dist/classes/commons-database-type-tiny-int.mjs.map +1 -1
  93. package/dist/classes/commons-database-type-url.d.mts +2 -3
  94. package/dist/classes/commons-database-type-url.mjs +4 -13
  95. package/dist/classes/commons-database-type-url.mjs.map +1 -1
  96. package/dist/classes/commons-database-type.d.mts +14 -11
  97. package/dist/classes/commons-database-type.mjs +37 -28
  98. package/dist/classes/commons-database-type.mjs.map +1 -1
  99. package/dist/classes/integer.d.mts +7 -0
  100. package/dist/classes/integer.mjs +20 -0
  101. package/dist/classes/integer.mjs.map +1 -0
  102. package/dist/classes/{commons-database-type-number.d.mts → number.d.mts} +6 -2
  103. package/dist/classes/{commons-database-type-number.mjs → number.mjs} +24 -5
  104. package/dist/classes/number.mjs.map +1 -0
  105. package/dist/classes/regex-string.d.mts +11 -0
  106. package/dist/classes/regex-string.mjs +27 -0
  107. package/dist/classes/regex-string.mjs.map +1 -0
  108. package/dist/classes/string.d.mts +8 -0
  109. package/dist/classes/string.mjs +23 -0
  110. package/dist/classes/string.mjs.map +1 -0
  111. package/dist/helpers/commons-tallies.d.mts +3 -2
  112. package/dist/helpers/commons-tallies.mjs +4 -4
  113. package/dist/helpers/commons-tallies.mjs.map +1 -1
  114. package/dist/index.d.mts +9 -5
  115. package/dist/index.mjs +7 -3
  116. package/dist/index.mjs.map +1 -1
  117. package/dist/services/commons-sql-database.service.d.mts +24 -29
  118. package/dist/services/commons-sql-database.service.mjs +56 -52
  119. package/dist/services/commons-sql-database.service.mjs.map +1 -1
  120. package/dist/types/tcommons-database-params.d.mts +4 -1
  121. package/dist/types/tcommons-database-postgres-interval.d.mts +10 -0
  122. package/dist/types/tcommons-database-postgres-interval.mjs +19 -0
  123. package/dist/types/tcommons-database-postgres-interval.mjs.map +1 -0
  124. package/dist/types/tcommons-database-types.d.mts +4 -1
  125. package/package.json +2 -2
  126. package/dist/classes/commons-database-type-number.mjs.map +0 -1
  127. package/dist/classes/fixed-date.d.mts +0 -8
  128. package/dist/classes/fixed-date.mjs +0 -33
  129. package/dist/classes/fixed-date.mjs.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
2
- import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
3
- export declare class CommonsDatabaseTypeEmail extends CommonsDatabaseTypeString {
2
+ import { InternalCommonsDatabaseTypeRegexString } from './regex-string.mjs';
3
+ export declare class CommonsDatabaseTypeEmail 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 { commonsTypeIsString, COMMONS_REGEX_PATTERN_EMAIL } from 'tscommons-esm-core';
2
- import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
3
- export class CommonsDatabaseTypeEmail extends CommonsDatabaseTypeString {
1
+ import { COMMONS_REGEX_PATTERN_EMAIL } from 'tscommons-esm-core';
2
+ import { InternalCommonsDatabaseTypeRegexString } from './regex-string.mjs';
3
+ export class CommonsDatabaseTypeEmail 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('Email value is not a string');
13
- if (!COMMONS_REGEX_PATTERN_EMAIL.test(value))
14
- throw new Error(`Invalid database type value for Email: ${value}`);
5
+ super('Email', 255, COMMONS_REGEX_PATTERN_EMAIL, notNull, defaultValue, primaryKey);
15
6
  }
16
7
  }
17
8
  //# sourceMappingURL=commons-database-type-email.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons-database-type-email.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-email.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAItF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,wBAAyB,SAAQ,yBAAyB;IACtE,YACE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,GAAG,EACH,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAEe,MAAM,CAAC,KAAc;QACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAChF,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;IAClH,CAAC;CACD"}
1
+ {"version":3,"file":"commons-database-type-email.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-email.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAIjE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAC;AAE5E,MAAM,OAAO,wBAAyB,SAAQ,sCAAsC;IACnF,YACE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,OAAO,EACP,GAAG,EACH,2BAA2B,EAC3B,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;CACD"}
@@ -27,9 +27,9 @@ export class CommonsDatabaseTypeEncrypted extends CommonsDatabaseTypeBinary {
27
27
  const header = Buffer.from('CRYPT', 'utf-8');
28
28
  if (value.byteLength < header.byteLength || value.slice(0, header.byteLength).toString('utf-8') !== 'CRYPT')
29
29
  throw new Error('Encrypted \'CRYPT\' preface is not present; this value does not appear to be encrypted!');
30
- const iv = value.slice(header.byteLength, 16);
30
+ const iv = value.subarray(header.byteLength, 16);
31
31
  const decipher = crypto.createDecipheriv(this.algorithm, this.key, iv);
32
- const encrypted = value.slice(header.byteLength + 16);
32
+ const encrypted = value.subarray(header.byteLength + 16);
33
33
  const decrypted = decipher.update(encrypted);
34
34
  const result = Buffer.concat([decrypted, decipher.final()]);
35
35
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"commons-database-type-encrypted.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-encrypted.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAIjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,4BAA6B,SAAQ,yBAAyB;IAMhE;IALF,GAAG,CAAS;IAEpB,YACE,UAAkB,EAClB,OAAiC,EACzB,YAAoB,aAAa;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,cAAS,GAAT,SAAS,CAAwB;QAI1C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjB,MAAM,SAAS,GAAW,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAEM,OAAO,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,EAAE,GAAW,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAkB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAElF,MAAM,SAAS,GAAW,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAExN,MAAM,EAAE,GAAW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAoB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAExF,MAAM,SAAS,GAAW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAW,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC;QAEtE,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
1
+ {"version":3,"file":"commons-database-type-encrypted.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-encrypted.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAIjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,4BAA6B,SAAQ,yBAAyB;IAMhE;IALF,GAAG,CAAS;IAEpB,YACE,UAAkB,EAClB,OAAiC,EACzB,YAAoB,aAAa;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,cAAS,GAAT,SAAS,CAAwB;QAI1C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjB,MAAM,SAAS,GAAW,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAEM,OAAO,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,EAAE,GAAW,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAkB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAElF,MAAM,SAAS,GAAW,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAExN,MAAM,EAAE,GAAW,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAoB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAExF,MAAM,SAAS,GAAW,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAAW,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC;QAEtE,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
@@ -0,0 +1,8 @@
1
+ import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
2
+ import { CommonsDatabaseTypeStringArray } from './commons-database-type-string-array.mjs';
3
+ export declare class CommonsDatabaseTypeEnumArray<E extends string> extends CommonsDatabaseTypeStringArray<E> {
4
+ private internalOptions;
5
+ constructor(internalOptions: E[], notNull: ECommonsDatabaseTypeNull);
6
+ get options(): E[];
7
+ protected isValidString(test: string): test is E;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { CommonsDatabaseTypeStringArray } from './commons-database-type-string-array.mjs';
2
+ export class CommonsDatabaseTypeEnumArray extends CommonsDatabaseTypeStringArray {
3
+ internalOptions;
4
+ constructor(internalOptions, notNull) {
5
+ super(notNull);
6
+ this.internalOptions = internalOptions;
7
+ if (this.internalOptions.length === 0)
8
+ throw new Error('No options supplied for ENUM type');
9
+ }
10
+ get options() {
11
+ return this.internalOptions.slice();
12
+ }
13
+ isValidString(test) {
14
+ return this.internalOptions.includes(test);
15
+ }
16
+ }
17
+ //# sourceMappingURL=commons-database-type-enum-array.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commons-database-type-enum-array.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-enum-array.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAE1F,MAAM,OAAO,4BAA+C,SAAQ,8BAAiC;IAE1F;IADV,YACU,eAAoB,EAC5B,OAAiC;QAElC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,oBAAe,GAAf,eAAe,CAAK;QAK7B,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC7F,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEkB,aAAa,CAAC,IAAY;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAS,CAAC,CAAC;IACjD,CAAC;CACD"}
@@ -1,16 +1,18 @@
1
1
  import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
2
2
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
3
- import { CommonsDatabaseType } from './commons-database-type.mjs';
4
- export declare class CommonsDatabaseTypeEnum<E> extends CommonsDatabaseType {
5
- private options;
3
+ import { InternalCommonsDatabaseTypeString } from './string.mjs';
4
+ export declare class CommonsDatabaseTypeEnum<E extends string> extends InternalCommonsDatabaseTypeString {
5
+ private internalOptions;
6
6
  private fromE;
7
7
  private toE;
8
8
  private enumId?;
9
- constructor(options: E[], fromE: (e: E) => string, toE: (e: string) => E | undefined, notNull: ECommonsDatabaseTypeNull, defaultValue?: E, primaryKey?: boolean, enumId?: string | undefined);
10
- getOptions(): E[];
9
+ constructor(internalOptions: E[], fromE: (e: E) => string, toE: (e: string) => E | undefined, notNull: ECommonsDatabaseTypeNull, defaultValue?: E, primaryKey?: boolean, enumId?: string | undefined);
10
+ get options(): E[];
11
11
  getCreateEnum(engine: ECommonsDatabaseEngine): string | undefined;
12
12
  getDropEnum(engine: ECommonsDatabaseEngine): string | undefined;
13
13
  protected renderEngineType(engine: ECommonsDatabaseEngine): string;
14
- assert(value: any): void | never;
15
- processOut(value: any, _engine: ECommonsDatabaseEngine): E | undefined;
14
+ assertIn(value: E | undefined): void | never;
15
+ assertOut(value: string | null | undefined, engine: ECommonsDatabaseEngine): void | never;
16
+ protected encode(value: E, _engine: ECommonsDatabaseEngine): string;
17
+ protected decode(value: string, _engine: ECommonsDatabaseEngine): E;
16
18
  }
@@ -1,35 +1,34 @@
1
- import { commonsTypeAssertString, commonsTypeIsString } from 'tscommons-esm-core';
2
1
  import { commonsDatabaseQuote, commonsDatabaseDelimit } from '../helpers/commons-database.mjs';
3
2
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
4
- import { CommonsDatabaseType } from './commons-database-type.mjs';
5
- export class CommonsDatabaseTypeEnum extends CommonsDatabaseType {
6
- options;
3
+ import { InternalCommonsDatabaseTypeString } from './string.mjs';
4
+ export class CommonsDatabaseTypeEnum extends InternalCommonsDatabaseTypeString {
5
+ internalOptions;
7
6
  fromE;
8
7
  toE;
9
8
  enumId;
10
- constructor(options, fromE, toE, notNull, defaultValue, primaryKey = false, enumId // for postgres,
9
+ constructor(internalOptions, fromE, toE, notNull, defaultValue, primaryKey = false, enumId // for postgres,
11
10
  ) {
12
11
  super(notNull, defaultValue ? fromE(defaultValue) : undefined, primaryKey);
13
- this.options = options;
12
+ this.internalOptions = internalOptions;
14
13
  this.fromE = fromE;
15
14
  this.toE = toE;
16
15
  this.enumId = enumId;
17
- if (this.options.length === 0)
16
+ if (this.internalOptions.length === 0)
18
17
  throw new Error('No options supplied for ENUM type');
19
18
  if (defaultValue !== undefined) {
20
- if (!this.options.includes(defaultValue))
19
+ if (!this.internalOptions.includes(defaultValue))
21
20
  throw new Error('Default value is not in the listed options');
22
21
  }
23
22
  }
24
- getOptions() {
25
- return this.options.slice();
23
+ get options() {
24
+ return this.internalOptions.slice();
26
25
  }
27
26
  getCreateEnum(engine) {
28
27
  switch (engine) {
29
28
  case ECommonsDatabaseEngine.POSTGRES: {
30
29
  if (!this.enumId)
31
30
  throw new Error('Postgres ENUM types need to have enum_id names defined');
32
- const os = this.options
31
+ const os = this.internalOptions
33
32
  .map((option) => commonsDatabaseQuote(this.fromE(option), engine));
34
33
  return `CREATE TYPE ${commonsDatabaseDelimit(this.enumId, engine)} AS ENUM(${os.join(',')})`;
35
34
  }
@@ -51,7 +50,7 @@ export class CommonsDatabaseTypeEnum extends CommonsDatabaseType {
51
50
  switch (engine) {
52
51
  case ECommonsDatabaseEngine.MYSQL:
53
52
  case ECommonsDatabaseEngine.SQLITE: {
54
- const os = this.options
53
+ const os = this.internalOptions
55
54
  .map((option) => commonsDatabaseQuote(this.fromE(option), engine));
56
55
  return `ENUM(${os.join(',')})`;
57
56
  }
@@ -63,25 +62,28 @@ export class CommonsDatabaseTypeEnum extends CommonsDatabaseType {
63
62
  throw new Error('This type has not been implemented for this database yet');
64
63
  }
65
64
  }
66
- assert(value) {
67
- super.assert(value);
65
+ assertIn(value) {
66
+ super.assertIn(value);
68
67
  if (value === undefined)
69
- return undefined;
70
- const typecast = commonsTypeAssertString(value);
71
- if (typecast.length > 255)
72
- throw new Error('Enum greater than 255 characters. Not supported');
73
- if (undefined === this.toE(typecast))
74
- throw new Error('No such option in the ENUM array');
68
+ return;
69
+ if (!this.internalOptions.includes(value))
70
+ throw new Error('Value is not in the ENUM array');
75
71
  }
76
- processOut(value, _engine) {
72
+ assertOut(value, engine) {
73
+ super.assertOut(value, engine);
77
74
  if (value === undefined || value === null)
78
- return undefined;
79
- if (!commonsTypeIsString(value))
80
- throw new Error('Enum value is not a string');
81
- const typecast = this.toE(value);
82
- if (typecast === undefined)
83
- throw new Error('Invalid enum value for processOut');
84
- return typecast;
75
+ return;
76
+ const e = this.toE(value);
77
+ if (e === undefined)
78
+ throw new Error('Value is not in the ENUM array');
79
+ if (!this.internalOptions.includes(e))
80
+ throw new Error('Value is not in the ENUM array');
81
+ }
82
+ encode(value, _engine) {
83
+ return this.fromE(value);
84
+ }
85
+ decode(value, _engine) {
86
+ return this.toE(value);
85
87
  }
86
88
  }
87
89
  //# sourceMappingURL=commons-database-type-enum.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons-database-type-enum.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-enum.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commons-database-type-enum.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-enum.mts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
+ import { CommonsFixedDate } from 'tscommons-esm-core';
2
+ import { TCommonsDatabaseInternalPostgresInterval } from '../types/tcommons-database-postgres-interval.mjs';
1
3
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
2
- import { InternalCommonsDatabaseTypeFixedDate } from './fixed-date.mjs';
3
- export declare class CommonsDatabaseTypeFixedDateTime extends InternalCommonsDatabaseTypeFixedDate {
4
+ import { CommonsDatabaseType } from './commons-database-type.mjs';
5
+ export declare class CommonsDatabaseTypeFixedDateTime extends CommonsDatabaseType<CommonsFixedDate, Date | TCommonsDatabaseInternalPostgresInterval | number> {
4
6
  protected renderEngineType(engine: ECommonsDatabaseEngine): string;
7
+ assertIn(value: CommonsFixedDate | undefined): void | never;
8
+ assertOut(value: Date | number | null | undefined, engine: ECommonsDatabaseEngine): void | never;
9
+ protected encode(value: CommonsFixedDate, _engine: ECommonsDatabaseEngine): Date;
10
+ protected decode(value: Date | number, engine: ECommonsDatabaseEngine): CommonsFixedDate;
5
11
  }
@@ -1,9 +1,12 @@
1
+ import { CommonsFixedDate, commonsTypeAssertDate, commonsTypeAssertNumber } from 'tscommons-esm-core';
2
+ import { isTCommonsDatabaseInternalPostgresInterval } from '../types/tcommons-database-postgres-interval.mjs';
1
3
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
2
- import { InternalCommonsDatabaseTypeFixedDate } from './fixed-date.mjs';
3
- export class CommonsDatabaseTypeFixedDateTime extends InternalCommonsDatabaseTypeFixedDate {
4
+ import { CommonsDatabaseType } from './commons-database-type.mjs';
5
+ export class CommonsDatabaseTypeFixedDateTime extends CommonsDatabaseType {
4
6
  renderEngineType(engine) {
5
7
  switch (engine) {
6
8
  case ECommonsDatabaseEngine.MYSQL:
9
+ case ECommonsDatabaseEngine.SQLITE:
7
10
  return 'DATETIME';
8
11
  case ECommonsDatabaseEngine.POSTGRES:
9
12
  return 'TIMESTAMP WITHOUT TIME ZONE';
@@ -11,5 +14,37 @@ export class CommonsDatabaseTypeFixedDateTime extends InternalCommonsDatabaseTyp
11
14
  throw new Error('This type has not been defined for this database engine');
12
15
  }
13
16
  }
17
+ assertIn(value) {
18
+ super.assertIn(value);
19
+ if (value === undefined)
20
+ return;
21
+ if (!CommonsFixedDate.is(value))
22
+ throw new Error('Assertion fail: variable is not a CommonsFixedDate instance');
23
+ }
24
+ assertOut(value, engine) {
25
+ super.assertOut(value, engine);
26
+ if (value === undefined || value === null)
27
+ return;
28
+ if (engine === ECommonsDatabaseEngine.POSTGRES && isTCommonsDatabaseInternalPostgresInterval(value))
29
+ return;
30
+ if (engine === ECommonsDatabaseEngine.SQLITE) {
31
+ // SQLite stores its timestamps as longs
32
+ commonsTypeAssertNumber(value);
33
+ return;
34
+ }
35
+ commonsTypeAssertDate(value);
36
+ }
37
+ encode(value, _engine) {
38
+ // No need to convert to number for SQLLITE; it seems to do it itself
39
+ return value.UTCDate;
40
+ }
41
+ decode(value, engine) {
42
+ if (engine === ECommonsDatabaseEngine.SQLITE) {
43
+ // SQLite stores its timestamps as longs
44
+ return CommonsFixedDate.fromUTCDate(new Date(value));
45
+ }
46
+ commonsTypeAssertDate(value);
47
+ return CommonsFixedDate.fromUTCDate(value);
48
+ }
14
49
  }
15
50
  //# sourceMappingURL=commons-database-type-fixed-date-time.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons-database-type-fixed-date-time.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-fixed-date-time.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,OAAO,gCAAiC,SAAQ,oCAAoC;IACtE,gBAAgB,CAAC,MAA8B;QACjE,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK;gBAChC,OAAO,UAAU,CAAC;YACnB,KAAK,sBAAsB,CAAC,QAAQ;gBACnC,OAAO,6BAA6B,CAAC;YACtC;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"commons-database-type-fixed-date-time.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-fixed-date-time.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEtG,OAAO,EAAE,0CAA0C,EAA4C,MAAM,kDAAkD,CAAC;AAExJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,gCAAiC,SAAQ,mBAA2F;IACtI,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,MAAM;gBACjC,OAAO,UAAU,CAAC;YACnB,KAAK,sBAAsB,CAAC,QAAQ;gBACnC,OAAO,6BAA6B,CAAC;YACtC;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEe,QAAQ,CAAC,KAAiC;QACzD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,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,CACvB,KAAiC,EACjC,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,IAAI,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;YAC9C,wCAAwC;YACxC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAES,MAAM,CAAC,KAAuB,EAAE,OAA+B;QACxE,qEAAqE;QAErE,OAAO,KAAK,CAAC,OAAO,CAAC;IACtB,CAAC;IAES,MAAM,CAAC,KAAkB,EAAE,MAA8B;QAClE,IAAI,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;YAC9C,wCAAwC;YACxC,OAAO,gBAAgB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAe,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,gBAAgB,CAAC,WAAW,CAAC,KAAa,CAAC,CAAC;IACpD,CAAC;CACD"}
@@ -1,8 +1,10 @@
1
+ import { CommonsFixedDate } from 'tscommons-esm-core';
1
2
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
2
- import { CommonsDatabaseParam } from './commons-database-param.mjs';
3
- import { InternalCommonsDatabaseTypeFixedDate } from './fixed-date.mjs';
4
- export declare class CommonsDatabaseTypeFixedDate extends InternalCommonsDatabaseTypeFixedDate {
3
+ import { CommonsDatabaseType } from './commons-database-type.mjs';
4
+ export declare class CommonsDatabaseTypeFixedDate extends CommonsDatabaseType<CommonsFixedDate, Date | number> {
5
5
  protected renderEngineType(engine: ECommonsDatabaseEngine): string;
6
- processIn(param: CommonsDatabaseParam, engine: ECommonsDatabaseEngine): void;
7
- processOut(value: any, engine: ECommonsDatabaseEngine): unknown;
6
+ assertIn(value: CommonsFixedDate | undefined): void | never;
7
+ assertOut(value: Date | number | null | undefined, engine: ECommonsDatabaseEngine): void | never;
8
+ protected encode(value: CommonsFixedDate, _engine: ECommonsDatabaseEngine): Date;
9
+ protected decode(value: Date | number, engine: ECommonsDatabaseEngine): CommonsFixedDate;
8
10
  }
@@ -1,7 +1,7 @@
1
- import { CommonsFixedDate } from 'tscommons-esm-core';
1
+ import { CommonsFixedDate, commonsTypeAssertNumber } from 'tscommons-esm-core';
2
2
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
3
- import { InternalCommonsDatabaseTypeFixedDate } from './fixed-date.mjs';
4
- export class CommonsDatabaseTypeFixedDate extends InternalCommonsDatabaseTypeFixedDate {
3
+ import { CommonsDatabaseType } from './commons-database-type.mjs';
4
+ export class CommonsDatabaseTypeFixedDate extends CommonsDatabaseType {
5
5
  renderEngineType(engine) {
6
6
  switch (engine) {
7
7
  case ECommonsDatabaseEngine.MYSQL:
@@ -12,25 +12,44 @@ export class CommonsDatabaseTypeFixedDate extends InternalCommonsDatabaseTypeFix
12
12
  throw new Error('This type has not been defined for this database engine');
13
13
  }
14
14
  }
15
- processIn(param, engine) {
16
- const value = param.getValue();
17
- if (value !== undefined) {
15
+ assertIn(value) {
16
+ super.assertIn(value);
17
+ if (value === undefined)
18
+ return;
19
+ if (!CommonsFixedDate.is(value))
20
+ throw new Error('Assertion fail: variable is not a CommonsFixedDate instance');
21
+ }
22
+ assertOut(value, engine) {
23
+ super.assertOut(value, engine);
24
+ if (value === undefined || value === null)
25
+ return;
26
+ if (engine === ECommonsDatabaseEngine.SQLITE) {
27
+ // SQLite stores its timestamps as longs
28
+ commonsTypeAssertNumber(value);
29
+ }
30
+ else {
18
31
  if (!CommonsFixedDate.is(value))
19
- throw new Error('Value to be processed in is not a CommonsFixedDate object');
20
- const clone = value.clone;
21
- clone.HisMs = '00:00:00.0';
22
- param.setValue(clone);
32
+ throw new Error('Assertion fail: variable is not a CommonsFixedDate instance');
23
33
  }
24
- super.processIn(param, engine);
25
34
  }
26
- processOut(value, engine) {
27
- value = super.processOut(value, engine);
28
- if (!value)
29
- return undefined;
30
- this.assert(value);
35
+ encode(value, _engine) {
36
+ // No need to convert to number for SQLLITE; it seems to do it itself
31
37
  const clone = value.clone;
32
- clone.HisMs = '00:00:00.0';
33
- return clone;
38
+ clone.truncateToYmd();
39
+ return clone.UTCDate;
40
+ }
41
+ decode(value, engine) {
42
+ if (engine === ECommonsDatabaseEngine.SQLITE) {
43
+ // SQLite stores its timestamps as longs
44
+ const date = CommonsFixedDate.fromUTCDate(new Date(value));
45
+ date.truncateToYmd();
46
+ return date;
47
+ }
48
+ else {
49
+ const date = CommonsFixedDate.fromUTCDate(value);
50
+ date.truncateToYmd();
51
+ return date;
52
+ }
34
53
  }
35
54
  }
36
55
  //# sourceMappingURL=commons-database-type-fixed-date.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons-database-type-fixed-date.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-fixed-date.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,OAAO,4BAA6B,SAAQ,oCAAoC;IAC3E,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,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,2DAA2D,CAAC,CAAC;YAE9G,MAAM,KAAK,GAAqB,KAAK,CAAC,KAAK,CAAC;YAC5C,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;YAE3B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,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,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,KAAK,GAAsB,KAA0B,CAAC,KAAK,CAAC;QAClE,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;QAE3B,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
1
+ {"version":3,"file":"commons-database-type-fixed-date.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-fixed-date.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,OAAO,4BAA6B,SAAQ,mBAAkD;IACzF,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,KAAiC;QACzD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,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,CACvB,KAAiC,EACjC,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,MAAM,EAAE,CAAC;YAC9C,wCAAwC;YACxC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjH,CAAC;IACF,CAAC;IAES,MAAM,CAAC,KAAuB,EAAE,OAA+B;QACxE,qEAAqE;QAErE,MAAM,KAAK,GAAqB,KAAK,CAAC,KAAK,CAAC;QAC5C,KAAK,CAAC,aAAa,EAAE,CAAC;QAEtB,OAAO,KAAK,CAAC,OAAO,CAAC;IACtB,CAAC;IAES,MAAM,CAAC,KAAkB,EAAE,MAA8B;QAClE,IAAI,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;YAC9C,wCAAwC;YACxC,MAAM,IAAI,GAAqB,gBAAgB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAe,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,GAAqB,gBAAgB,CAAC,WAAW,CAAC,KAAa,CAAC,CAAC;YAC3E,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;CACD"}
@@ -1,8 +1,11 @@
1
+ import { CommonsFixedDate } from 'tscommons-esm-core';
2
+ import { TCommonsDatabaseInternalPostgresInterval } from '../types/tcommons-database-postgres-interval.mjs';
1
3
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
2
- import { CommonsDatabaseParam } from './commons-database-param.mjs';
3
- import { InternalCommonsDatabaseTypeFixedDate } from './fixed-date.mjs';
4
- export declare class CommonsDatabaseTypeFixedTime extends InternalCommonsDatabaseTypeFixedDate {
4
+ import { CommonsDatabaseType } from './commons-database-type.mjs';
5
+ export declare class CommonsDatabaseTypeFixedTime extends CommonsDatabaseType<CommonsFixedDate, Date | TCommonsDatabaseInternalPostgresInterval | number> {
5
6
  protected renderEngineType(engine: ECommonsDatabaseEngine): string;
6
- processIn(param: CommonsDatabaseParam, engine: ECommonsDatabaseEngine): void;
7
- processOut(value: any, engine: ECommonsDatabaseEngine): unknown;
7
+ assertIn(value: CommonsFixedDate | undefined): void | never;
8
+ assertOut(value: Date | number | null | undefined, engine: ECommonsDatabaseEngine): void | never;
9
+ protected encode(value: CommonsFixedDate, _engine: ECommonsDatabaseEngine): Date;
10
+ protected decode(value: Date | TCommonsDatabaseInternalPostgresInterval | number, engine: ECommonsDatabaseEngine): CommonsFixedDate;
8
11
  }
@@ -1,7 +1,8 @@
1
- import { CommonsFixedDate } from 'tscommons-esm-core';
1
+ import { CommonsFixedDate, commonsTypeAssertDate, commonsTypeAssertNumber, commonsTypeHasPropertyNumber } from 'tscommons-esm-core';
2
+ import { isTCommonsDatabaseInternalPostgresInterval } from '../types/tcommons-database-postgres-interval.mjs';
2
3
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
3
- import { InternalCommonsDatabaseTypeFixedDate } from './fixed-date.mjs';
4
- export class CommonsDatabaseTypeFixedTime extends InternalCommonsDatabaseTypeFixedDate {
4
+ import { CommonsDatabaseType } from './commons-database-type.mjs';
5
+ export class CommonsDatabaseTypeFixedTime extends CommonsDatabaseType {
5
6
  renderEngineType(engine) {
6
7
  switch (engine) {
7
8
  case ECommonsDatabaseEngine.MYSQL:
@@ -12,25 +13,55 @@ export class CommonsDatabaseTypeFixedTime extends InternalCommonsDatabaseTypeFix
12
13
  throw new Error('This type has not been defined for this database engine');
13
14
  }
14
15
  }
15
- processIn(param, engine) {
16
- const value = param.getValue();
17
- if (value !== undefined) {
18
- if (!CommonsFixedDate.is(value))
19
- throw new Error('Value to be processed in is not a CommonsFixedDate object');
20
- const clone = value.clone;
21
- clone.zHisMs = clone.HisMs;
22
- param.setValue(clone);
16
+ assertIn(value) {
17
+ super.assertIn(value);
18
+ if (value === undefined)
19
+ return;
20
+ if (!CommonsFixedDate.is(value))
21
+ throw new Error('Assertion fail: variable is not a CommonsFixedDate instance');
22
+ }
23
+ assertOut(value, engine) {
24
+ super.assertOut(value, engine);
25
+ if (value === undefined || value === null)
26
+ return;
27
+ if (engine === ECommonsDatabaseEngine.POSTGRES && isTCommonsDatabaseInternalPostgresInterval(value))
28
+ return;
29
+ if (engine === ECommonsDatabaseEngine.SQLITE) {
30
+ // SQLite stores its timestamps as longs
31
+ commonsTypeAssertNumber(value);
32
+ return;
23
33
  }
24
- super.processIn(param, engine);
34
+ commonsTypeAssertDate(value);
35
+ }
36
+ encode(value, _engine) {
37
+ // No need to convert to number for SQLLITE; it seems to do it itself
38
+ const timeOnly = value.clone;
39
+ timeOnly.Ymd = '1970-01-01';
40
+ return timeOnly.UTCDate;
25
41
  }
26
- processOut(value, engine) {
27
- value = super.processOut(value, engine);
28
- if (!value)
29
- return undefined;
30
- this.assert(value);
31
- const clone = value.clone;
32
- clone.zHisMs = clone.HisMs;
33
- return clone;
42
+ decode(value, engine) {
43
+ if (engine === ECommonsDatabaseEngine.POSTGRES && isTCommonsDatabaseInternalPostgresInterval(value)) {
44
+ const time = new Date(0);
45
+ // ignore the date components
46
+ if (commonsTypeHasPropertyNumber(value, 'milliseconds'))
47
+ time.setMilliseconds(value.milliseconds);
48
+ if (commonsTypeHasPropertyNumber(value, 'seconds'))
49
+ time.setSeconds(value.seconds);
50
+ if (commonsTypeHasPropertyNumber(value, 'minutes'))
51
+ time.setMinutes(value.minutes);
52
+ if (commonsTypeHasPropertyNumber(value, 'hours'))
53
+ time.setHours(value.hours);
54
+ return CommonsFixedDate.fromUTCDate(time);
55
+ }
56
+ if (engine === ECommonsDatabaseEngine.SQLITE) {
57
+ commonsTypeAssertNumber(value);
58
+ // SQLite stores its timestamps as longs
59
+ return CommonsFixedDate.fromUTCDate(new Date(value));
60
+ }
61
+ commonsTypeAssertDate(value);
62
+ const timeOnly = CommonsFixedDate.fromUTCDate(value);
63
+ timeOnly.Ymd = '1970-01-01';
64
+ return timeOnly;
34
65
  }
35
66
  }
36
67
  //# sourceMappingURL=commons-database-type-fixed-time.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons-database-type-fixed-time.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-fixed-time.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAI/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,OAAO,4BAA6B,SAAQ,oCAAoC;IAC3E,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK;gBAChC,OAAO,MAAM,CAAC;YACf,KAAK,sBAAsB,CAAC,QAAQ;gBACnC,OAAO,wBAAwB,CAAC;YACjC;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,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,2DAA2D,CAAC,CAAC;YAE9G,MAAM,KAAK,GAAqB,KAAK,CAAC,KAAK,CAAC;YAC5C,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YAE3B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,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,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,KAAK,GAAsB,KAA0B,CAAC,KAAK,CAAC;QAClE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAE3B,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
1
+ {"version":3,"file":"commons-database-type-fixed-time.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-fixed-time.mts"],"names":[],"mappings":"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"}
@@ -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 { CommonsDatabaseTypeNumber } from './commons-database-type-number.mjs';
5
- export declare class CommonsDatabaseTypeFloat extends CommonsDatabaseTypeNumber {
4
+ import { InternalCommonsDatabaseTypeNumber } from './number.mjs';
5
+ export declare class CommonsDatabaseTypeFloat extends InternalCommonsDatabaseTypeNumber {
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,8 @@
1
- import { commonsTypeAssertNumber, commonsTypeAttemptNumber, MAX_SIGNED_32BIT_INTEGER } from 'tscommons-esm-core';
1
+ import { MAX_SIGNED_32BIT_INTEGER } from 'tscommons-esm-core';
2
2
  import { ECommonsDatabaseTypeSigned } from '../enums/ecommons-database-type-signed.mjs';
3
3
  import { ECommonsDatabaseEngine } from '../enums/ecommons-database-engine.mjs';
4
- import { CommonsDatabaseTypeNumber } from './commons-database-type-number.mjs';
5
- export class CommonsDatabaseTypeFloat extends CommonsDatabaseTypeNumber {
4
+ import { InternalCommonsDatabaseTypeNumber } from './number.mjs';
5
+ export class CommonsDatabaseTypeFloat extends InternalCommonsDatabaseTypeNumber {
6
6
  constructor(unsigned = ECommonsDatabaseTypeSigned.SIGNED, notNull, defaultValue, primaryKey = false) {
7
7
  super(unsigned === ECommonsDatabaseTypeSigned.UNSIGNED ? 0 : -MAX_SIGNED_32BIT_INTEGER, MAX_SIGNED_32BIT_INTEGER, notNull, defaultValue, primaryKey);
8
8
  }
@@ -19,20 +19,5 @@ export class CommonsDatabaseTypeFloat extends CommonsDatabaseTypeNumber {
19
19
  throw new Error('This type has not been defined for this database engine');
20
20
  }
21
21
  }
22
- assert(value) {
23
- super.assert(value);
24
- if (value === undefined)
25
- return;
26
- const typecast = commonsTypeAssertNumber(value);
27
- this.assertRange(typecast);
28
- }
29
- processOut(value, _engine) {
30
- if (value === undefined || value === null)
31
- return undefined;
32
- const typecast = commonsTypeAttemptNumber(value);
33
- if (typecast === undefined)
34
- throw new Error('Invalid FLOAT value for processOut');
35
- return typecast;
36
- }
37
22
  }
38
23
  //# sourceMappingURL=commons-database-type-float.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons-database-type-float.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-float.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGjH,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,wBAAyB,SAAQ,yBAAyB;IACtE,YACE,WAAuC,0BAA0B,CAAC,MAAM,EACxE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,QAAQ,KAAK,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAChF,wBAAwB,EACxB,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,QAAQ,CAAC;YACrC,KAAK,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAa,CAAE,OAAO,CAAE,CAAC;gBACrC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD;gBACC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IAEe,MAAM,CAAC,KAAU;QAChC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAEhC,MAAM,QAAQ,GAAW,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAEe,UAAU,CAAC,KAAU,EAAE,OAA+B;QACrE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5D,MAAM,QAAQ,GAAqB,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAElF,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD"}
1
+ {"version":3,"file":"commons-database-type-float.mjs","sourceRoot":"","sources":["../../src/classes/commons-database-type-float.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,OAAO,wBAAyB,SAAQ,iCAAiC;IAC9E,YACE,WAAuC,0BAA0B,CAAC,MAAM,EACxE,OAAiC,EACjC,YAAqB,EACrB,aAAsB,KAAK;QAE5B,KAAK,CACH,QAAQ,KAAK,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAChF,wBAAwB,EACxB,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,MAA8B;QACxD,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,sBAAsB,CAAC,KAAK,CAAC;YAClC,KAAK,sBAAsB,CAAC,QAAQ,CAAC;YACrC,KAAK,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAa,CAAE,OAAO,CAAE,CAAC;gBACrC,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,8 +1,7 @@
1
1
  import { ECommonsDatabaseTypeNull } from '../enums/ecommons-database-type-null.mjs';
2
- import { CommonsDatabaseTypeString } from './commons-database-type-string.mjs';
3
- export declare class CommonsDatabaseTypeHexRgb extends CommonsDatabaseTypeString {
2
+ import { InternalCommonsDatabaseTypeRegexString } from './regex-string.mjs';
3
+ export declare class CommonsDatabaseTypeHexRgb extends InternalCommonsDatabaseTypeRegexString {
4
4
  private alpha;
5
5
  constructor(alpha: boolean, notNull: ECommonsDatabaseTypeNull, defaultValue?: string, primaryKey?: boolean);
6
6
  hasAlpha(): boolean;
7
- assert(value: unknown): void | never;
8
7
  }