@futdevpro/fsm-dynamo 1.9.9 → 1.9.12

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 (173) hide show
  1. package/.github/workflows/main.yml +196 -0
  2. package/HOWTO.md +15 -15
  3. package/README.md +17 -17
  4. package/build/_collections/constants/country-divisions.const.d.ts +1 -1
  5. package/build/_collections/constants/country-divisions.const.d.ts.map +1 -1
  6. package/build/_collections/constants/country-divisions.const.js +2 -2
  7. package/build/_collections/constants/country-divisions.const.js.map +1 -1
  8. package/build/_collections/constants/courtry-isos.const.d.ts +1 -1
  9. package/build/_collections/constants/courtry-isos.const.d.ts.map +1 -1
  10. package/build/_collections/constants/courtry-isos.const.js +2 -2
  11. package/build/_collections/constants/courtry-isos.const.js.map +1 -1
  12. package/build/_collections/constants/error-defaults.const.d.ts +1 -1
  13. package/build/_collections/constants/error-defaults.const.d.ts.map +1 -1
  14. package/build/_collections/constants/module-settings/usage-module-settings.const.js +1 -1
  15. package/build/_collections/constants/pipe-transforms.const.js +12 -12
  16. package/build/_collections/constants/pipe-transforms.const.js.map +1 -1
  17. package/build/_collections/utils/pipe-transforms/division-pipe.util.js +1 -1
  18. package/build/_collections/utils/pipe-transforms/division-pipe.util.js.map +1 -1
  19. package/build/_collections/utils/pipe-transforms/list-pipe.util.d.ts.map +1 -1
  20. package/build/_collections/utils/pipe-transforms/list-pipe.util.js.map +1 -1
  21. package/build/_collections/utils/pipe-transforms/range-pipe.util.d.ts +2 -2
  22. package/build/_collections/utils/pipe-transforms/range-pipe.util.d.ts.map +1 -1
  23. package/build/_collections/utils/pipe-transforms/range-pipe.util.js +11 -11
  24. package/build/_collections/utils/pipe-transforms/range-pipe.util.js.map +1 -1
  25. package/build/_collections/utils/regions.util.d.ts.map +1 -1
  26. package/build/_collections/utils/regions.util.js +3 -0
  27. package/build/_collections/utils/regions.util.js.map +1 -1
  28. package/build/_enums/range-pipe-setting.enum.d.ts +1 -1
  29. package/build/_enums/range-pipe-setting.enum.d.ts.map +1 -1
  30. package/build/_enums/range-pipe-setting.enum.js +12 -12
  31. package/build/_enums/range-pipe-setting.enum.js.map +1 -1
  32. package/build/_models/control-models/error.control-model.js +1 -1
  33. package/build/_models/control-models/error.control-model.js.map +1 -1
  34. package/build/_models/control-models/error.control-model.spec.js +25 -6
  35. package/build/_models/control-models/error.control-model.spec.js.map +1 -1
  36. package/build/_models/interfaces/index.d.ts +3 -0
  37. package/build/_models/interfaces/index.d.ts.map +1 -1
  38. package/build/_models/interfaces/index.js +3 -0
  39. package/build/_models/interfaces/index.js.map +1 -1
  40. package/build/_models/interfaces/pipe-transforms.interface.d.ts +2 -2
  41. package/build/_models/interfaces/pipe-transforms.interface.d.ts.map +1 -1
  42. package/futdevpro-fsm-dynamo-01.09.12.tgz +0 -0
  43. package/nodemon.json +11 -11
  44. package/package.json +151 -151
  45. package/src/_collections/assets/location/country-codes-ISO-3166.json +3239 -3239
  46. package/src/_collections/assets/location/country-divisions-ISO-3166-all-list.json +19035 -19035
  47. package/src/_collections/assets/location/country-divisions-ISO-3166.json +4993 -4993
  48. package/src/_collections/assets/location/country-phone-codes.json +1203 -1203
  49. package/src/_collections/constants/country-divisions.const.ts +9 -9
  50. package/src/_collections/constants/courtry-isos.const.ts +8 -8
  51. package/src/_collections/constants/error-defaults.const.ts +11 -11
  52. package/src/_collections/constants/index.ts +15 -15
  53. package/src/_collections/constants/module-settings/custom-data-module-settings.const.ts +15 -15
  54. package/src/_collections/constants/module-settings/index.ts +8 -8
  55. package/src/_collections/constants/module-settings/test-module-settings.const.ts +19 -19
  56. package/src/_collections/constants/module-settings/usage-module-settings.const.ts +19 -19
  57. package/src/_collections/constants/pipe-transforms.const.ts +35 -35
  58. package/src/_collections/constants/times.const.ts +8 -8
  59. package/src/_collections/index.ts +6 -6
  60. package/src/_collections/utils/array.util.spec.ts +39 -39
  61. package/src/_collections/utils/array.util.ts +137 -137
  62. package/src/_collections/utils/index.ts +18 -18
  63. package/src/_collections/utils/location.util.ts +55 -55
  64. package/src/_collections/utils/log.util.ts +239 -239
  65. package/src/_collections/utils/math/box-bounds.util.ts +85 -85
  66. package/src/_collections/utils/math/index.ts +5 -5
  67. package/src/_collections/utils/math/math.util.ts +53 -53
  68. package/src/_collections/utils/math/random.util.ts +80 -80
  69. package/src/_collections/utils/math/trigonometry.util.ts +73 -73
  70. package/src/_collections/utils/math/vector2.util.ts +197 -197
  71. package/src/_collections/utils/pipe-transforms/country-pipe.util.ts +18 -18
  72. package/src/_collections/utils/pipe-transforms/custom-pipe.util.ts +9 -9
  73. package/src/_collections/utils/pipe-transforms/division-pipe.util.ts +20 -20
  74. package/src/_collections/utils/pipe-transforms/index.ts +15 -15
  75. package/src/_collections/utils/pipe-transforms/list-pipe.util.ts +10 -14
  76. package/src/_collections/utils/pipe-transforms/multi-pipe-pipe.util.ts +160 -160
  77. package/src/_collections/utils/pipe-transforms/obj-key-pipe.util.ts +9 -9
  78. package/src/_collections/utils/pipe-transforms/range-pipe.util.ts +94 -94
  79. package/src/_collections/utils/pipe-transforms/region-pipe.util.ts +18 -18
  80. package/src/_collections/utils/pipe-transforms/replace-pipe.util.ts +11 -11
  81. package/src/_collections/utils/pipe-transforms/slider-pipe.util.ts +20 -20
  82. package/src/_collections/utils/pipe-transforms/smart-replace-pipe.util.ts +71 -71
  83. package/src/_collections/utils/regex/index.ts +4 -4
  84. package/src/_collections/utils/regex/password-regex.util.ts +52 -52
  85. package/src/_collections/utils/regex/regex.util.ts +6 -6
  86. package/src/_collections/utils/regex/username-regex.util.ts +33 -33
  87. package/src/_collections/utils/regions.util.ts +100 -97
  88. package/src/_collections/utils/round-list.util.ts +44 -44
  89. package/src/_collections/utils/shared.static-service.ts +177 -177
  90. package/src/_collections/utils/time.util.spec.ts +50 -50
  91. package/src/_collections/utils/time.util.ts +219 -219
  92. package/src/_collections/utils/type-cloning-facility.util.ts +121 -121
  93. package/src/_collections/utils/utilities.util.ts +130 -130
  94. package/src/_enums/basic-property-type.enum.ts +9 -9
  95. package/src/_enums/data-model-type.enum.ts +13 -13
  96. package/src/_enums/day-of-week.enum.ts +28 -28
  97. package/src/_enums/error-level.enum.ts +17 -17
  98. package/src/_enums/index.ts +16 -16
  99. package/src/_enums/location/index.ts +3 -3
  100. package/src/_enums/location/region.enum.ts +9 -9
  101. package/src/_enums/location/sub-region.enum.ts +26 -26
  102. package/src/_enums/location/subdivision-region-type.enum.ts +44 -44
  103. package/src/_enums/log-style.enum.ts +30 -30
  104. package/src/_enums/month.enum.ts +16 -16
  105. package/src/_enums/pipe.enum.ts +45 -45
  106. package/src/_enums/range-pipe-setting.enum.ts +11 -11
  107. package/src/_enums/time/day-of-week.enum.ts +28 -28
  108. package/src/_enums/time/index.ts +3 -3
  109. package/src/_enums/time/month.enum.ts +16 -16
  110. package/src/_enums/time/relative-date.enum.ts +13 -13
  111. package/src/_models/control-models/daily-usage-data.control-model.ts +21 -21
  112. package/src/_models/control-models/data-model-params.control-model.ts +39 -39
  113. package/src/_models/control-models/data-property-params.control-model.ts +106 -106
  114. package/src/_models/control-models/error.control-model.spec.ts +753 -716
  115. package/src/_models/control-models/error.control-model.ts +722 -722
  116. package/src/_models/control-models/index.ts +10 -10
  117. package/src/_models/control-models/poll.control-model.ts +113 -113
  118. package/src/_models/control-models/range-value.control-model.ts +142 -142
  119. package/src/_models/control-models/usage-action.control-model.ts +15 -15
  120. package/src/_models/control-models/usage-data.control-model.ts +20 -20
  121. package/src/_models/data-models/custom-data.data-model.ts +28 -28
  122. package/src/_models/data-models/index.ts +5 -5
  123. package/src/_models/data-models/metadata.data-model.ts +83 -83
  124. package/src/_models/data-models/usage-session.data-model.ts +53 -53
  125. package/src/_models/index.ts +12 -12
  126. package/src/_models/interfaces/error-defaults.interface.ts +11 -11
  127. package/src/_models/interfaces/index.ts +11 -8
  128. package/src/_models/interfaces/location/country-division.interface.ts +7 -7
  129. package/src/_models/interfaces/location/country-iso.interface.ts +21 -21
  130. package/src/_models/interfaces/location/country-phone-code.interface.ts +7 -7
  131. package/src/_models/interfaces/location/division-collection.interface.ts +10 -10
  132. package/src/_models/interfaces/location/division-region-data.interface.ts +8 -8
  133. package/src/_models/interfaces/location/geo-ip-location.interface.ts +26 -26
  134. package/src/_models/interfaces/location/index.ts +10 -10
  135. package/src/_models/interfaces/location/location-coordinates.interface.ts +5 -5
  136. package/src/_models/interfaces/multi-pipe-settings.type.ts +7 -7
  137. package/src/_models/interfaces/paged.interface.ts +11 -11
  138. package/src/_models/interfaces/pipe-transforms.interface.ts +29 -29
  139. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  140. package/src/_models/interfaces/route-settings.interface.ts +11 -11
  141. package/src/_modules/collections.index.ts +2 -2
  142. package/src/_modules/constants.index.ts +2 -2
  143. package/src/_modules/custom-data-module.index.ts +6 -6
  144. package/src/_modules/data-modules.index.ts +9 -9
  145. package/src/_modules/enums.index.ts +2 -2
  146. package/src/_modules/error-module.index.ts +8 -8
  147. package/src/_modules/location.index.ts +15 -15
  148. package/src/_modules/models.index.ts +2 -2
  149. package/src/_modules/shared-service.index.ts +9 -9
  150. package/src/_modules/test-module.index.ts +5 -5
  151. package/src/_modules/usage-module.index.ts +10 -10
  152. package/tsconfig.json +29 -29
  153. package/tslint.json +153 -153
  154. package/build/_enums/region.enum.d.ts +0 -8
  155. package/build/_enums/region.enum.d.ts.map +0 -1
  156. package/build/_enums/region.enum.js +0 -12
  157. package/build/_enums/region.enum.js.map +0 -1
  158. package/build/_enums/relative-date.enum.d.ts +0 -9
  159. package/build/_enums/relative-date.enum.d.ts.map +0 -1
  160. package/build/_enums/relative-date.enum.js +0 -13
  161. package/build/_enums/relative-date.enum.js.map +0 -1
  162. package/build/_enums/sub-region.enum.d.ts +0 -20
  163. package/build/_enums/sub-region.enum.d.ts.map +0 -1
  164. package/build/_enums/sub-region.enum.js +0 -24
  165. package/build/_enums/sub-region.enum.js.map +0 -1
  166. package/build/_enums/subdivision-region-type.enum.d.ts +0 -41
  167. package/build/_enums/subdivision-region-type.enum.d.ts.map +0 -1
  168. package/build/_enums/subdivision-region-type.enum.js +0 -46
  169. package/build/_enums/subdivision-region-type.enum.js.map +0 -1
  170. package/src/_enums/region.enum.ts +0 -9
  171. package/src/_enums/relative-date.enum.ts +0 -13
  172. package/src/_enums/sub-region.enum.ts +0 -26
  173. package/src/_enums/subdivision-region-type.enum.ts +0 -44
@@ -1,16 +1,16 @@
1
-
2
-
3
- export enum DynamoFM_Month {
4
- january = 'january',
5
- february = 'february',
6
- march = 'march',
7
- april = 'april',
8
- may = 'may',
9
- june = 'june',
10
- july = 'july',
11
- august = 'august',
12
- september = 'september',
13
- october = 'october',
14
- november = 'november',
15
- december = 'december',
16
- }
1
+
2
+
3
+ export enum DynamoFM_Month {
4
+ january = 'january',
5
+ february = 'february',
6
+ march = 'march',
7
+ april = 'april',
8
+ may = 'may',
9
+ june = 'june',
10
+ july = 'july',
11
+ august = 'august',
12
+ september = 'september',
13
+ october = 'october',
14
+ november = 'november',
15
+ december = 'december',
16
+ }
@@ -1,45 +1,45 @@
1
-
2
-
3
- export type DynamoFM_MultiPipeAvailable =
4
- DynamoFM_AngularMultiPipeAvailable | DynamoFM_Pipe;
5
-
6
- export enum DynamoFM_Pipe {
7
- country = 'country',
8
- custom = 'custom',
9
- division = 'division',
10
- list = 'list',
11
- multiPipe = 'multiPipe',
12
- objKey = 'objKey',
13
- range = 'range',
14
- region = 'region',
15
- replace = 'replace',
16
- slider = 'slider',
17
- smartReplace = 'smartReplace',
18
- }
19
-
20
- export enum DynamoFM_AngularMultiPipeAvailable {
21
- number = 'number',
22
- decimal = 'decimal',
23
- currency = 'currency',
24
- date = 'date',
25
- percent = 'percent',
26
- }
27
-
28
- export const DynamoFM_allMultiPipesAvailable: DynamoFM_MultiPipeAvailable[] = [
29
- ...Object.values(DynamoFM_AngularMultiPipeAvailable),
30
-
31
- DynamoFM_Pipe.country,
32
- DynamoFM_Pipe.custom,
33
- DynamoFM_Pipe.division,
34
- DynamoFM_Pipe.list,
35
- DynamoFM_Pipe.objKey,
36
- DynamoFM_Pipe.range,
37
- DynamoFM_Pipe.region,
38
- DynamoFM_Pipe.replace,
39
- DynamoFM_Pipe.smartReplace,
40
- ] as DynamoFM_MultiPipeAvailable[];
41
-
42
- export const DynamoFM_allDynamoPipes: DynamoFM_Pipe[] = Object.values(DynamoFM_Pipe);
43
-
44
- export const DynamoFM_allMultiPipeAngularPipes: DynamoFM_AngularMultiPipeAvailable[] =
45
- Object.values(DynamoFM_AngularMultiPipeAvailable);
1
+
2
+
3
+ export type DynamoFM_MultiPipeAvailable =
4
+ DynamoFM_AngularMultiPipeAvailable | DynamoFM_Pipe;
5
+
6
+ export enum DynamoFM_Pipe {
7
+ country = 'country',
8
+ custom = 'custom',
9
+ division = 'division',
10
+ list = 'list',
11
+ multiPipe = 'multiPipe',
12
+ objKey = 'objKey',
13
+ range = 'range',
14
+ region = 'region',
15
+ replace = 'replace',
16
+ slider = 'slider',
17
+ smartReplace = 'smartReplace',
18
+ }
19
+
20
+ export enum DynamoFM_AngularMultiPipeAvailable {
21
+ number = 'number',
22
+ decimal = 'decimal',
23
+ currency = 'currency',
24
+ date = 'date',
25
+ percent = 'percent',
26
+ }
27
+
28
+ export const DynamoFM_allMultiPipesAvailable: DynamoFM_MultiPipeAvailable[] = [
29
+ ...Object.values(DynamoFM_AngularMultiPipeAvailable),
30
+
31
+ DynamoFM_Pipe.country,
32
+ DynamoFM_Pipe.custom,
33
+ DynamoFM_Pipe.division,
34
+ DynamoFM_Pipe.list,
35
+ DynamoFM_Pipe.objKey,
36
+ DynamoFM_Pipe.range,
37
+ DynamoFM_Pipe.region,
38
+ DynamoFM_Pipe.replace,
39
+ DynamoFM_Pipe.smartReplace,
40
+ ] as DynamoFM_MultiPipeAvailable[];
41
+
42
+ export const DynamoFM_allDynamoPipes: DynamoFM_Pipe[] = Object.values(DynamoFM_Pipe);
43
+
44
+ export const DynamoFM_allMultiPipeAngularPipes: DynamoFM_AngularMultiPipeAvailable[] =
45
+ Object.values(DynamoFM_AngularMultiPipeAvailable);
@@ -1,11 +1,11 @@
1
-
2
- export enum DynamoFM_RangePipeSetting {
3
- avg = 'avg',
4
- average = 'average',
5
- min = 'min',
6
- from = 'from',
7
- max = 'max',
8
- to = 'to',
9
- both = 'both',
10
- fromTo = 'from-to',
11
- }
1
+
2
+ export enum DynamoFM_RangePipe_Setting {
3
+ avg = 'avg',
4
+ average = 'average',
5
+ min = 'min',
6
+ from = 'from',
7
+ max = 'max',
8
+ to = 'to',
9
+ both = 'both',
10
+ fromTo = 'from-to',
11
+ }
@@ -1,28 +1,28 @@
1
-
2
-
3
-
4
- export enum DynamoFM_DayOfWeek {
5
- monday = 'monday',
6
- tuesday = 'tuesday',
7
- wednesday = 'wednesday',
8
- thursday = 'thursday',
9
- friday = 'friday',
10
- saturday = 'saturday',
11
- sunday = 'sunday',
12
- }
13
-
14
- export const DynamoFM_allDaysOfWeek = Object.values(DynamoFM_DayOfWeek);
15
-
16
- /** stupid style */
17
- export const DynamoFM_allDaysOfWeekAmericanStyle = [
18
- DynamoFM_DayOfWeek.sunday,
19
- DynamoFM_DayOfWeek.monday,
20
- DynamoFM_DayOfWeek.tuesday,
21
- DynamoFM_DayOfWeek.wednesday,
22
- DynamoFM_DayOfWeek.thursday,
23
- DynamoFM_DayOfWeek.friday,
24
- DynamoFM_DayOfWeek.saturday,
25
- ];
26
- export const DynamoFM_allDaysOfWeekStupid = DynamoFM_allDaysOfWeekAmericanStyle;
27
-
28
-
1
+
2
+
3
+
4
+ export enum DynamoFM_DayOfWeek {
5
+ monday = 'monday',
6
+ tuesday = 'tuesday',
7
+ wednesday = 'wednesday',
8
+ thursday = 'thursday',
9
+ friday = 'friday',
10
+ saturday = 'saturday',
11
+ sunday = 'sunday',
12
+ }
13
+
14
+ export const DynamoFM_allDaysOfWeek = Object.values(DynamoFM_DayOfWeek);
15
+
16
+ /** stupid style */
17
+ export const DynamoFM_allDaysOfWeekAmericanStyle = [
18
+ DynamoFM_DayOfWeek.sunday,
19
+ DynamoFM_DayOfWeek.monday,
20
+ DynamoFM_DayOfWeek.tuesday,
21
+ DynamoFM_DayOfWeek.wednesday,
22
+ DynamoFM_DayOfWeek.thursday,
23
+ DynamoFM_DayOfWeek.friday,
24
+ DynamoFM_DayOfWeek.saturday,
25
+ ];
26
+ export const DynamoFM_allDaysOfWeekStupid = DynamoFM_allDaysOfWeekAmericanStyle;
27
+
28
+
@@ -1,4 +1,4 @@
1
-
2
- export * from './day-of-week.enum';
3
- export * from './month.enum';
1
+
2
+ export * from './day-of-week.enum';
3
+ export * from './month.enum';
4
4
  export * from './relative-date.enum';
@@ -1,16 +1,16 @@
1
-
2
-
3
- export enum DynamoFM_Month {
4
- january = 'january',
5
- february = 'february',
6
- march = 'march',
7
- april = 'april',
8
- may = 'may',
9
- june = 'june',
10
- july = 'july',
11
- august = 'august',
12
- september = 'september',
13
- october = 'october',
14
- november = 'november',
15
- december = 'december',
16
- }
1
+
2
+
3
+ export enum DynamoFM_Month {
4
+ january = 'january',
5
+ february = 'february',
6
+ march = 'march',
7
+ april = 'april',
8
+ may = 'may',
9
+ june = 'june',
10
+ july = 'july',
11
+ august = 'august',
12
+ september = 'september',
13
+ october = 'october',
14
+ november = 'november',
15
+ december = 'december',
16
+ }
@@ -1,13 +1,13 @@
1
-
2
-
3
- export enum DynamoFM_RelativeDate {
4
- lastDay = 'lastDay',
5
- lastWeek = 'lastWeek',
6
- lastMonth = 'lastMonth',
7
- lastYear = 'lastYear',
8
- last10Years = 'last10Years',
9
- allTime = 'allTime',
10
- }
11
-
12
-
13
-
1
+
2
+
3
+ export enum DynamoFM_RelativeDate {
4
+ lastDay = 'lastDay',
5
+ lastWeek = 'lastWeek',
6
+ lastMonth = 'lastMonth',
7
+ lastYear = 'lastYear',
8
+ last10Years = 'last10Years',
9
+ allTime = 'allTime',
10
+ }
11
+
12
+
13
+
@@ -1,21 +1,21 @@
1
-
2
- import { DynamoFM_UsageSession } from '../data-models/usage-session.data-model';
3
-
4
- export type DFM_DailyUsageData = DynamoFM_DailyUsageData;
5
- export class DynamoFM_DailyUsageData {
6
- date?: string;
7
- totalVisitTime?: number = 0;
8
- averageVisitTime?: number = 0;
9
- visitorsHun?: number = 0;
10
- visitorsElse?: number = 0;
11
-
12
- visitations?: DynamoFM_UsageSession[] = [];
13
-
14
- constructor(
15
- set?: DynamoFM_DailyUsageData
16
- ) {
17
- if (set) {
18
- Object.assign(this, set);
19
- }
20
- }
21
- }
1
+
2
+ import { DynamoFM_UsageSession } from '../data-models/usage-session.data-model';
3
+
4
+ export type DFM_DailyUsageData = DynamoFM_DailyUsageData;
5
+ export class DynamoFM_DailyUsageData {
6
+ date?: string;
7
+ totalVisitTime?: number = 0;
8
+ averageVisitTime?: number = 0;
9
+ visitorsHun?: number = 0;
10
+ visitorsElse?: number = 0;
11
+
12
+ visitations?: DynamoFM_UsageSession[] = [];
13
+
14
+ constructor(
15
+ set?: DynamoFM_DailyUsageData
16
+ ) {
17
+ if (set) {
18
+ Object.assign(this, set);
19
+ }
20
+ }
21
+ }
@@ -1,39 +1,39 @@
1
-
2
- import { DynamoFM_Metadata } from '../data-models/metadata.data-model';
3
- import { DynamoFM_DataModelType } from '../../_enums/data-model-type.enum';
4
- import { DynamoFM_DataProperty_Params } from './data-property-params.control-model';
5
-
6
- export type DFM_Data_S = DynamoFM_DataModel_Settings;
7
- export type DFM_Data_Settings = DynamoFM_DataModel_Settings;
8
- export class DynamoFM_DataModel_Settings extends DynamoFM_Metadata {
9
- dataName: string;
10
- modelType?: DynamoFM_DataModelType;
11
- dbName?: string;
12
- properties?: DynamoFM_DataProperty_Params[];
13
- }
14
-
15
- export type DFM_Data_P = DynamoFM_DataModel_Params;
16
- export type DFM_Data_Params = DynamoFM_DataModel_Params;
17
- export class DynamoFM_DataModel_Params extends DynamoFM_DataModel_Settings {
18
-
19
- override properties?: DynamoFM_DataProperty_Params[] = [];
20
-
21
- constructor(
22
- set: DynamoFM_DataModel_Settings
23
- ) {
24
- super(set);
25
-
26
- if (!set?.modelType || set?.modelType == DynamoFM_DataModelType.data) {
27
- set.modelType = DynamoFM_DataModelType.data;
28
- set.dbName = set.dataName.charAt(0).toUpperCase() + set.dataName.slice(1);
29
- }
30
-
31
- if (set) {
32
- Object.assign(this, set);
33
- }
34
- }
35
-
36
- constructed?(): boolean {
37
- return true;
38
- }
39
- }
1
+
2
+ import { DynamoFM_Metadata } from '../data-models/metadata.data-model';
3
+ import { DynamoFM_DataModelType } from '../../_enums/data-model-type.enum';
4
+ import { DynamoFM_DataProperty_Params } from './data-property-params.control-model';
5
+
6
+ export type DFM_Data_S = DynamoFM_DataModel_Settings;
7
+ export type DFM_Data_Settings = DynamoFM_DataModel_Settings;
8
+ export class DynamoFM_DataModel_Settings extends DynamoFM_Metadata {
9
+ dataName: string;
10
+ modelType?: DynamoFM_DataModelType;
11
+ dbName?: string;
12
+ properties?: DynamoFM_DataProperty_Params[];
13
+ }
14
+
15
+ export type DFM_Data_P = DynamoFM_DataModel_Params;
16
+ export type DFM_Data_Params = DynamoFM_DataModel_Params;
17
+ export class DynamoFM_DataModel_Params extends DynamoFM_DataModel_Settings {
18
+
19
+ override properties?: DynamoFM_DataProperty_Params[] = [];
20
+
21
+ constructor(
22
+ set: DynamoFM_DataModel_Settings
23
+ ) {
24
+ super(set);
25
+
26
+ if (!set?.modelType || set?.modelType == DynamoFM_DataModelType.data) {
27
+ set.modelType = DynamoFM_DataModelType.data;
28
+ set.dbName = set.dataName.charAt(0).toUpperCase() + set.dataName.slice(1);
29
+ }
30
+
31
+ if (set) {
32
+ Object.assign(this, set);
33
+ }
34
+ }
35
+
36
+ constructed?(): boolean {
37
+ return true;
38
+ }
39
+ }
@@ -1,106 +1,106 @@
1
- import { DynamoFM_BasicPropertyType } from '../../_enums/basic-property-type.enum';
2
-
3
- export class DynamoFM_DataProperty_Settings {
4
- key: string;
5
- type: DynamoFM_BasicPropertyType | string;
6
-
7
- unique?: boolean;
8
- required?: boolean;
9
- index?: boolean;
10
-
11
- isDependencyHook?: boolean;
12
- /**
13
- * This will be used to prehook dependency db service to data service by
14
- * dataName from dependency data's DynamoNTS_DataPropertyParams
15
- * Use the dependency data's DynamoNTS_DataPropertyParams.
16
- *
17
- * @example
18
- * dependencyName: accountModelParams.dataName
19
- */
20
- dependencyDataName?: string;
21
-
22
- minlength?: number;
23
- maxlength?: number;
24
-
25
- subObjectParams?: DynamoFM_DataProperty_Params[];
26
-
27
- additionalValidators?: ((data: any/* : T[K] */) => void)[];
28
- }
29
-
30
-
31
- export type DFM_DataPropertyParams = DynamoFM_DataProperty_Params;
32
- export type DFM_DPropPs = DynamoFM_DataProperty_Params;
33
- /**
34
- * This will be used for setting up db.
35
- * DataServices also uses this to prehook tools, as db service and dependency db service.
36
- */
37
- export class DynamoFM_DataProperty_Params extends DynamoFM_DataProperty_Settings {
38
-
39
- override subObjectParams?: DynamoFM_DataProperty_Params[] = [];
40
-
41
- override additionalValidators?: ((data: any) => void)[] = [];
42
-
43
- constructor(
44
- set: DynamoFM_DataProperty_Settings
45
- ) {
46
- super();
47
-
48
- if (set) {
49
- if (!set.key || !set.type) {
50
- console.log(
51
- `DYNAMO ERROR: ` +
52
- `\n key or type is missing from DynamoBEDataPropertyParams`,
53
- '\n\n', new Error()
54
- );
55
- }
56
-
57
- if (set.isDependencyHook && !set.dependencyDataName) {
58
- console.log(
59
- `DYNAMO ERROR: ` +
60
- `\n dependencyName missing for dependencyHook from ` +
61
- `DynamoBEDataPropertyParams (${set.key})`,
62
- '\n\n', new Error()
63
- );
64
- }
65
-
66
- Object.assign(this, set);
67
- } else {
68
- console.log(
69
- 'DYNAMO ERROR: ' +
70
- '\nMISSING DynamoBEDataPropertyParams constructor input',
71
- '\n\n', new Error()
72
- );
73
- }
74
- }
75
-
76
- constructed?(): boolean {
77
- return true;
78
- }
79
-
80
- // tslint:disable-next-line: ban-types
81
- getBEType?(): String | Number | Boolean | Object | Function | Array<any> | Date {
82
- switch (this.type) {
83
- case DynamoFM_BasicPropertyType.string:
84
- return String;
85
-
86
- case DynamoFM_BasicPropertyType.number:
87
- return Number;
88
-
89
- case DynamoFM_BasicPropertyType.boolean:
90
- return Boolean;
91
-
92
- case DynamoFM_BasicPropertyType.date:
93
- return Date;
94
-
95
- case DynamoFM_BasicPropertyType.object:
96
- default:
97
- if (this.type?.includes('[]')) {
98
- return Array;
99
- } else if (this.type?.includes('=>') || this.type?.includes('function')) {
100
- return Function;
101
- } else {
102
- return Object;
103
- }
104
- }
105
- }
106
- }
1
+ import { DynamoFM_BasicPropertyType } from '../../_enums/basic-property-type.enum';
2
+
3
+ export class DynamoFM_DataProperty_Settings {
4
+ key: string;
5
+ type: DynamoFM_BasicPropertyType | string;
6
+
7
+ unique?: boolean;
8
+ required?: boolean;
9
+ index?: boolean;
10
+
11
+ isDependencyHook?: boolean;
12
+ /**
13
+ * This will be used to prehook dependency db service to data service by
14
+ * dataName from dependency data's DynamoNTS_DataPropertyParams
15
+ * Use the dependency data's DynamoNTS_DataPropertyParams.
16
+ *
17
+ * @example
18
+ * dependencyName: accountModelParams.dataName
19
+ */
20
+ dependencyDataName?: string;
21
+
22
+ minlength?: number;
23
+ maxlength?: number;
24
+
25
+ subObjectParams?: DynamoFM_DataProperty_Params[];
26
+
27
+ additionalValidators?: ((data: any/* : T[K] */) => void)[];
28
+ }
29
+
30
+
31
+ export type DFM_DataPropertyParams = DynamoFM_DataProperty_Params;
32
+ export type DFM_DPropPs = DynamoFM_DataProperty_Params;
33
+ /**
34
+ * This will be used for setting up db.
35
+ * DataServices also uses this to prehook tools, as db service and dependency db service.
36
+ */
37
+ export class DynamoFM_DataProperty_Params extends DynamoFM_DataProperty_Settings {
38
+
39
+ override subObjectParams?: DynamoFM_DataProperty_Params[] = [];
40
+
41
+ override additionalValidators?: ((data: any) => void)[] = [];
42
+
43
+ constructor(
44
+ set: DynamoFM_DataProperty_Settings
45
+ ) {
46
+ super();
47
+
48
+ if (set) {
49
+ if (!set.key || !set.type) {
50
+ console.log(
51
+ `DYNAMO ERROR: ` +
52
+ `\n key or type is missing from DynamoBEDataPropertyParams`,
53
+ '\n\n', new Error()
54
+ );
55
+ }
56
+
57
+ if (set.isDependencyHook && !set.dependencyDataName) {
58
+ console.log(
59
+ `DYNAMO ERROR: ` +
60
+ `\n dependencyName missing for dependencyHook from ` +
61
+ `DynamoBEDataPropertyParams (${set.key})`,
62
+ '\n\n', new Error()
63
+ );
64
+ }
65
+
66
+ Object.assign(this, set);
67
+ } else {
68
+ console.log(
69
+ 'DYNAMO ERROR: ' +
70
+ '\nMISSING DynamoBEDataPropertyParams constructor input',
71
+ '\n\n', new Error()
72
+ );
73
+ }
74
+ }
75
+
76
+ constructed?(): boolean {
77
+ return true;
78
+ }
79
+
80
+ // tslint:disable-next-line: ban-types
81
+ getBEType?(): String | Number | Boolean | Object | Function | Array<any> | Date {
82
+ switch (this.type) {
83
+ case DynamoFM_BasicPropertyType.string:
84
+ return String;
85
+
86
+ case DynamoFM_BasicPropertyType.number:
87
+ return Number;
88
+
89
+ case DynamoFM_BasicPropertyType.boolean:
90
+ return Boolean;
91
+
92
+ case DynamoFM_BasicPropertyType.date:
93
+ return Date;
94
+
95
+ case DynamoFM_BasicPropertyType.object:
96
+ default:
97
+ if (this.type?.includes('[]')) {
98
+ return Array;
99
+ } else if (this.type?.includes('=>') || this.type?.includes('function')) {
100
+ return Function;
101
+ } else {
102
+ return Object;
103
+ }
104
+ }
105
+ }
106
+ }