@futdevpro/fsm-dynamo 1.7.2 → 1.7.5

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 (174) hide show
  1. package/.eslintrc.json +138 -0
  2. package/lib/_constants/error-defaults.const.d.ts.map +1 -1
  3. package/lib/_constants/error-defaults.const.js.map +1 -1
  4. package/lib/_constants/module-settings/usage-module-settings.const.js +1 -1
  5. package/lib/_constants/module-settings/usage-module-settings.const.js.map +1 -1
  6. package/lib/_enums/day-of-week.enum.d.ts +13 -0
  7. package/lib/_enums/day-of-week.enum.d.ts.map +1 -0
  8. package/lib/_enums/day-of-week.enum.js +25 -0
  9. package/lib/_enums/day-of-week.enum.js.map +1 -0
  10. package/lib/_enums/error-level.enum.d.ts +9 -8
  11. package/lib/_enums/error-level.enum.d.ts.map +1 -1
  12. package/lib/_enums/error-level.enum.js +9 -8
  13. package/lib/_enums/error-level.enum.js.map +1 -1
  14. package/lib/_enums/index.d.ts +4 -0
  15. package/lib/_enums/index.d.ts.map +1 -1
  16. package/lib/_enums/index.js +4 -0
  17. package/lib/_enums/index.js.map +1 -1
  18. package/lib/_enums/month.enum.d.ts +15 -0
  19. package/lib/_enums/month.enum.d.ts.map +1 -0
  20. package/lib/_enums/month.enum.js +19 -0
  21. package/lib/_enums/month.enum.js.map +1 -0
  22. package/lib/_enums/relative-date.enum.d.ts +9 -0
  23. package/lib/_enums/relative-date.enum.d.ts.map +1 -0
  24. package/lib/_enums/relative-date.enum.js +13 -0
  25. package/lib/_enums/relative-date.enum.js.map +1 -0
  26. package/lib/_models/control-models/daily-usage-data.control-model.d.ts +1 -1
  27. package/lib/_models/control-models/daily-usage-data.control-model.js.map +1 -1
  28. package/lib/_models/control-models/data-params.control-model.js.map +1 -1
  29. package/lib/_models/control-models/data-property-params.control-model.d.ts +4 -2
  30. package/lib/_models/control-models/data-property-params.control-model.d.ts.map +1 -1
  31. package/lib/_models/control-models/data-property-params.control-model.js +6 -3
  32. package/lib/_models/control-models/data-property-params.control-model.js.map +1 -1
  33. package/lib/_models/control-models/error.control-model.d.ts +28 -24
  34. package/lib/_models/control-models/error.control-model.d.ts.map +1 -1
  35. package/lib/_models/control-models/error.control-model.js +39 -16
  36. package/lib/_models/control-models/error.control-model.js.map +1 -1
  37. package/lib/_models/control-models/error.control-model.spec.js +3 -2
  38. package/lib/_models/control-models/error.control-model.spec.js.map +1 -1
  39. package/lib/_models/control-models/index.d.ts +0 -1
  40. package/lib/_models/control-models/index.d.ts.map +1 -1
  41. package/lib/_models/control-models/index.js +0 -1
  42. package/lib/_models/control-models/index.js.map +1 -1
  43. package/lib/_models/control-models/poll.control-model.d.ts +2 -2
  44. package/lib/_models/control-models/poll.control-model.d.ts.map +1 -1
  45. package/lib/_models/control-models/poll.control-model.js +2 -1
  46. package/lib/_models/control-models/poll.control-model.js.map +1 -1
  47. package/lib/_models/control-models/range-value.control-model.d.ts +25 -2
  48. package/lib/_models/control-models/range-value.control-model.d.ts.map +1 -1
  49. package/lib/_models/control-models/range-value.control-model.js +83 -1
  50. package/lib/_models/control-models/range-value.control-model.js.map +1 -1
  51. package/lib/_models/control-models/usage-action.control-model.js +0 -1
  52. package/lib/_models/control-models/usage-action.control-model.js.map +1 -1
  53. package/lib/_models/control-models/usage-data.control-model.js.map +1 -1
  54. package/lib/_models/data-models/custom-data.data-model.d.ts.map +1 -1
  55. package/lib/_models/data-models/custom-data.data-model.js.map +1 -1
  56. package/lib/_models/data-models/metadata.data-model.d.ts.map +1 -1
  57. package/lib/_models/data-models/metadata.data-model.js.map +1 -1
  58. package/lib/_models/data-models/usage-session.data-model.d.ts.map +1 -1
  59. package/lib/_models/data-models/usage-session.data-model.js.map +1 -1
  60. package/lib/_models/interfaces/paged.interace.d.ts +8 -0
  61. package/lib/_models/interfaces/paged.interace.d.ts.map +1 -0
  62. package/lib/_models/interfaces/paged.interace.js +3 -0
  63. package/lib/_models/interfaces/paged.interace.js.map +1 -0
  64. package/lib/_utils/array.util.d.ts +5 -0
  65. package/lib/_utils/array.util.d.ts.map +1 -1
  66. package/lib/_utils/array.util.js +26 -0
  67. package/lib/_utils/array.util.js.map +1 -1
  68. package/lib/_utils/array.util.spec.js.map +1 -1
  69. package/lib/_utils/box-bounds.util.d.ts +18 -0
  70. package/lib/_utils/box-bounds.util.d.ts.map +1 -0
  71. package/lib/_utils/box-bounds.util.js +57 -0
  72. package/lib/_utils/box-bounds.util.js.map +1 -0
  73. package/lib/_utils/index.d.ts +4 -1
  74. package/lib/_utils/index.d.ts.map +1 -1
  75. package/lib/_utils/index.js +4 -1
  76. package/lib/_utils/index.js.map +1 -1
  77. package/lib/_utils/location.util.d.ts.map +1 -1
  78. package/lib/_utils/location.util.js +4 -2
  79. package/lib/_utils/location.util.js.map +1 -1
  80. package/lib/_utils/log.util.d.ts.map +1 -1
  81. package/lib/_utils/log.util.js +4 -1
  82. package/lib/_utils/log.util.js.map +1 -1
  83. package/lib/_utils/math.util.d.ts +10 -0
  84. package/lib/_utils/math.util.d.ts.map +1 -0
  85. package/lib/_utils/math.util.js +32 -0
  86. package/lib/_utils/math.util.js.map +1 -0
  87. package/lib/_utils/metadata.util.d.ts.map +1 -1
  88. package/lib/_utils/metadata.util.js.map +1 -1
  89. package/lib/_utils/random.util.d.ts.map +1 -1
  90. package/lib/_utils/random.util.js +8 -4
  91. package/lib/_utils/random.util.js.map +1 -1
  92. package/lib/_utils/regex/password-regex.util.d.ts +3 -0
  93. package/lib/_utils/regex/password-regex.util.d.ts.map +1 -0
  94. package/lib/_utils/regex/password-regex.util.js +49 -0
  95. package/lib/_utils/regex/password-regex.util.js.map +1 -0
  96. package/lib/_utils/regex/username-regex.util.d.ts +2 -0
  97. package/lib/_utils/regex/username-regex.util.d.ts.map +1 -0
  98. package/lib/_utils/regex/username-regex.util.js +32 -0
  99. package/lib/_utils/regex/username-regex.util.js.map +1 -0
  100. package/lib/_utils/regex.util.d.ts.map +1 -1
  101. package/lib/_utils/regex.util.js +1 -1
  102. package/lib/_utils/regex.util.js.map +1 -1
  103. package/lib/_utils/regions.util.d.ts.map +1 -1
  104. package/lib/_utils/regions.util.js +5 -5
  105. package/lib/_utils/regions.util.js.map +1 -1
  106. package/lib/_utils/round-list.util.d.ts.map +1 -1
  107. package/lib/_utils/round-list.util.js.map +1 -1
  108. package/lib/_utils/shared.static-service.d.ts.map +1 -1
  109. package/lib/_utils/shared.static-service.js +1 -1
  110. package/lib/_utils/shared.static-service.js.map +1 -1
  111. package/lib/_utils/time.util.d.ts +82 -0
  112. package/lib/_utils/time.util.d.ts.map +1 -1
  113. package/lib/_utils/time.util.js +135 -0
  114. package/lib/_utils/time.util.js.map +1 -1
  115. package/lib/_utils/trigonometry.util.d.ts.map +1 -1
  116. package/lib/_utils/trigonometry.util.js +3 -1
  117. package/lib/_utils/trigonometry.util.js.map +1 -1
  118. package/lib/_utils/type-cloning-facility.util.d.ts +27 -0
  119. package/lib/_utils/type-cloning-facility.util.d.ts.map +1 -0
  120. package/lib/_utils/type-cloning-facility.util.js +77 -0
  121. package/lib/_utils/type-cloning-facility.util.js.map +1 -0
  122. package/lib/_utils/utilities.util.d.ts +3 -2
  123. package/lib/_utils/utilities.util.d.ts.map +1 -1
  124. package/lib/_utils/utilities.util.js +8 -4
  125. package/lib/_utils/utilities.util.js.map +1 -1
  126. package/lib/_utils/{vector.util.d.ts → vector2.util.d.ts} +25 -5
  127. package/lib/_utils/vector2.util.d.ts.map +1 -0
  128. package/lib/_utils/{vector.util.js → vector2.util.js} +67 -17
  129. package/lib/_utils/vector2.util.js.map +1 -0
  130. package/lib/tsconfig.tsbuildinfo +1 -1
  131. package/nodemon.json +1 -1
  132. package/package.json +5 -1
  133. package/src/_constants/error-defaults.const.ts +1 -1
  134. package/src/_constants/module-settings/usage-module-settings.const.ts +1 -1
  135. package/src/_enums/day-of-week.enum.ts +27 -0
  136. package/src/_enums/error-level.enum.ts +11 -9
  137. package/src/_enums/index.ts +4 -0
  138. package/src/_enums/month.enum.ts +16 -0
  139. package/src/_enums/relative-date.enum.ts +13 -0
  140. package/src/_models/control-models/daily-usage-data.control-model.ts +1 -1
  141. package/src/_models/control-models/data-property-params.control-model.ts +12 -4
  142. package/src/_models/control-models/error.control-model.spec.ts +189 -178
  143. package/src/_models/control-models/error.control-model.ts +118 -57
  144. package/src/_models/control-models/index.ts +0 -1
  145. package/src/_models/control-models/poll.control-model.ts +15 -9
  146. package/src/_models/control-models/range-value.control-model.ts +119 -4
  147. package/src/_models/control-models/usage-action.control-model.ts +1 -1
  148. package/src/_models/control-models/usage-data.control-model.ts +1 -1
  149. package/src/_models/data-models/custom-data.data-model.ts +1 -1
  150. package/src/_models/data-models/metadata.data-model.ts +5 -0
  151. package/src/_models/data-models/usage-session.data-model.ts +1 -1
  152. package/src/_models/interfaces/paged.interace.ts +11 -0
  153. package/src/_utils/array.util.spec.ts +8 -7
  154. package/src/_utils/array.util.ts +48 -3
  155. package/src/_utils/box-bounds.util.ts +71 -0
  156. package/src/_utils/index.ts +4 -1
  157. package/src/_utils/location.util.ts +11 -3
  158. package/src/_utils/log.util.ts +51 -23
  159. package/src/_utils/math.util.ts +53 -0
  160. package/src/_utils/metadata.util.ts +1 -0
  161. package/src/_utils/random.util.ts +18 -7
  162. package/src/_utils/regex/password-regex.util.ts +53 -0
  163. package/src/_utils/regex/username-regex.util.ts +33 -0
  164. package/src/_utils/regex.util.ts +1 -1
  165. package/src/_utils/regions.util.ts +19 -7
  166. package/src/_utils/round-list.util.ts +1 -0
  167. package/src/_utils/shared.static-service.ts +30 -5
  168. package/src/_utils/time.util.ts +163 -4
  169. package/src/_utils/trigonometry.util.ts +8 -1
  170. package/src/_utils/type-cloning-facility.util.ts +121 -0
  171. package/src/_utils/utilities.util.ts +33 -8
  172. package/src/_utils/{vector.util.ts → vector2.util.ts} +85 -18
  173. package/lib/_utils/vector.util.d.ts.map +0 -1
  174. package/lib/_utils/vector.util.js.map +0 -1
@@ -2,40 +2,48 @@
2
2
  import { Dynamo_Trigonometry } from './trigonometry.util';
3
3
 
4
4
  export class Vector2 {
5
- private _x: number;
5
+ readonly isVector2: boolean = true;
6
+
7
+ private _x: number = 0;
6
8
  set x (value: number) {
7
9
  this._x = value;
10
+
8
11
  this.calcMagnitude();
9
- };
12
+ }
10
13
  get x (): number {
11
14
  return this._x;
12
15
  }
13
16
 
14
- private _y: number;
17
+ private _y: number = 0;
15
18
  set y (value: number) {
16
19
  this._y = value;
20
+
17
21
  this.calcMagnitude();
18
- };
22
+ }
19
23
  get y (): number {
20
24
  return this._y;
21
25
  }
22
26
 
23
- private _magintude: number;
27
+ private _magintude: number = 0;
24
28
  get magintude (): number {
25
29
  return this._magintude;
26
30
  }
27
31
 
28
- constructor(x: number, y: number) {
32
+ constructor(
33
+ x: number = 0,
34
+ y: number = 0
35
+ ) {
29
36
  this._x = x;
30
37
  this._y = y;
38
+
31
39
  this.calcMagnitude();
32
40
  }
33
41
 
34
42
  static readonly zero: Vector2 = new Vector2(0, 0);
35
- static readonly left: Vector2 = new Vector2(-1, 0);
36
- static readonly right: Vector2 = new Vector2(1, 0);
37
43
  static readonly up: Vector2 = new Vector2(0, 1);
38
44
  static readonly down: Vector2 = new Vector2(0, -1);
45
+ static readonly right: Vector2 = new Vector2(1, 0);
46
+ static readonly left: Vector2 = new Vector2(-1, 0);
39
47
 
40
48
  static distance(a: Vector2, b: Vector2): number {
41
49
  return this.minus(a, b).magintude;
@@ -48,21 +56,32 @@ export class Vector2 {
48
56
  return this.plus(a, this.negative(b));
49
57
  }
50
58
  minus(vector: Vector2): void {
51
- this.newVector(Vector2.minus(this, vector));
59
+ this.newValues(Vector2.minus(this, vector));
52
60
  }
53
61
 
54
62
  static plus(a: Vector2, b: Vector2): Vector2 {
55
63
  return new Vector2(a.x + b.x, a.y + b.y);
56
64
  }
57
65
  plus(vector: Vector2): void {
58
- this.newVector(Vector2.plus(this, vector));
66
+ this.newValues(Vector2.plus(this, vector));
59
67
  }
68
+ static add = this.plus;
69
+ add = this.plus;
60
70
 
71
+ /** returns new multiplied Vector2 */
61
72
  static multiply(v: Vector2, n: number): Vector2 {
62
73
  return new Vector2(v.x * n, v.y * n);
63
74
  }
64
75
  multiply(n: number): void {
65
- this.newVector(Vector2.multiply(this, n));
76
+ this.newValues(Vector2.multiply(this, n));
77
+ }
78
+
79
+ /** returns new divided Vector2 */
80
+ static divide(v: Vector2, n: number): Vector2 {
81
+ return new Vector2(v.x / n, v.y / n);
82
+ }
83
+ divide(n: number): void {
84
+ this.newValues(Vector2.divide(this, n));
66
85
  }
67
86
 
68
87
  static negative(v: Vector2): Vector2 {
@@ -72,18 +91,19 @@ export class Vector2 {
72
91
  return Vector2.negative(this);
73
92
  }
74
93
  negate(): void {
75
- this.newVector(Vector2.negative(this));
94
+ this.newValues(Vector2.negative(this));
76
95
  }
77
96
 
78
97
  static rebase(v: Vector2, baseFrom: Vector2, baseTo: Vector2): Vector2 {
79
98
  return this.plus(v, this.minus(baseTo, baseFrom));
80
99
  }
81
100
  rebase(baseFrom: Vector2, baseTo: Vector2): void {
82
- this.newVector(Vector2.rebase(this, baseFrom, baseTo));
101
+ this.newValues(Vector2.rebase(this, baseFrom, baseTo));
83
102
  }
84
103
 
85
104
  static rotate(vector: Vector2, angle: number): Vector2 {
86
105
  const rad = Dynamo_Trigonometry.angleToRadians(angle);
106
+
87
107
  return this.rotateRad(vector, rad);
88
108
  }
89
109
  static rotateRad(vector: Vector2, rad: number): Vector2 {
@@ -91,29 +111,76 @@ export class Vector2 {
91
111
  const sin = Math.sin(rad);
92
112
  const newX = (vector.x * cos) - (vector.y * sin);
93
113
  const newY = (vector.x * sin) + (vector.y * cos);
114
+
94
115
  return new Vector2(newX, newY);
95
116
  }
96
117
  rotate(angle: number): void {
97
- this.newVector(Vector2.rotate(this, angle));
118
+ this.newValues(Vector2.rotate(this, angle));
98
119
  }
99
120
  rotateRad(rad: number): void {
100
- this.newVector(Vector2.rotateRad(this, rad));
121
+ this.newValues(Vector2.rotateRad(this, rad));
101
122
  }
102
123
 
103
- private newVector(newV: Vector2): void {
124
+ private newValues(newV: Vector2): void {
104
125
  this.newXY(newV.x, newV.y);
105
126
  }
106
127
  newXY(newX: number, newY: number): void {
107
128
  this._x = newX;
108
129
  this._y = newY;
130
+
109
131
  this.calcMagnitude();
110
132
  }
111
133
 
112
- private calcMagnitude() {
134
+ //// AI-ed
135
+ angle(from: Vector2, to: Vector2): number {
136
+ return Vector2.angle(from, to);
137
+ }
138
+ static angle(from: Vector2, to: Vector2): number {
139
+ return Dynamo_Trigonometry.radiansToAngle(Vector2.angleRad(from, to));
140
+ }
141
+ static angleRad(from: Vector2, to: Vector2): number {
142
+ return Math.atan2(to.y - from.y, to.x - from.x);
143
+ }
144
+ deg(): number {
145
+ return Vector2.deg(this);
146
+ }
147
+ static deg(vector: Vector2): number {
148
+ return Dynamo_Trigonometry.radiansToAngle(Vector2.rad(vector));
149
+ }
150
+ static rad(vector: Vector2): number {
151
+ return Math.atan2(vector.y, vector.x);
152
+ }
153
+
154
+ floor(): Vector2 {
155
+ return Vector2.floor(this);
156
+ }
157
+ static floor(v: Vector2): Vector2 {
158
+ return new Vector2(Math.floor(v.x), Math.floor(v.y));
159
+ }
160
+ /////
161
+
162
+ direction(to: Vector2): Vector2 {
163
+ return Vector2.direction(this, to);
164
+ }
165
+ static direction(from: Vector2, to: Vector2): Vector2 {
166
+ return Vector2.minus(to, from);
167
+ }
168
+
169
+ static normalize(v: Vector2): Vector2 {
170
+ return Vector2.multiply(v, 1 / v.magintude);
171
+ }
172
+ normalize(): void {
173
+ this.newValues(Vector2.normalize(this));
174
+ }
175
+ normalized(): Vector2 {
176
+ return Vector2.normalize(this);
177
+ }
178
+
179
+ private calcMagnitude(): void {
113
180
  this._magintude = Dynamo_Trigonometry.getHypotenuse(this._x, this._y);
114
181
  }
115
182
 
116
- clone() {
183
+ clone(): Vector2 {
117
184
  return new Vector2(this._x, this._y);
118
185
  }
119
186
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector.util.d.ts","sourceRoot":"","sources":["../../src/_utils/vector.util.ts"],"names":[],"mappings":"AAGA,qBAAa,OAAO;IAClB,OAAO,CAAC,EAAE,CAAS;IACnB,IAAI,CAAC,CAAE,KAAK,EAAE,MAAM,EAGnB;IACD,IAAI,CAAC,IAAK,MAAM,CAEf;IAED,OAAO,CAAC,EAAE,CAAS;IACnB,IAAI,CAAC,CAAE,KAAK,EAAE,MAAM,EAGnB;IACD,IAAI,CAAC,IAAK,MAAM,CAEf;IAED,OAAO,CAAC,UAAU,CAAS;IAC3B,IAAI,SAAS,IAAK,MAAM,CAEvB;gBAEW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAMhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAqB;IAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAsB;IACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAqB;IACnD,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAqB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAsB;IAEnD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM;IAG/C,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IAI/B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAG7C,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAI5B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAG5C,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAI3B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAG/C,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO;IAGpC,WAAW,IAAI,OAAO;IAGtB,MAAM,IAAI,IAAI;IAId,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAGtE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAIhD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAItD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAOvD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B,OAAO,CAAC,SAAS;IAGjB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvC,OAAO,CAAC,aAAa;IAIrB,KAAK;CAGN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector.util.js","sourceRoot":"","sources":["../../src/_utils/vector.util.ts"],"names":[],"mappings":"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"}