@futdevpro/fsm-dynamo 1.9.25 → 1.9.27

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.
@@ -1,5 +1,7 @@
1
1
  import { DyFM_Vector2 } from '../../../_models/interfaces/vector2.interface';
2
2
  export type DyFM_V2_U = DyFM_Vector2_Util;
3
+ export type DyFM_V2_Util = DyFM_Vector2_Util;
4
+ export type DyFM_Vector2_U = DyFM_Vector2_Util;
3
5
  /**
4
6
  * The main difference between static class functions and instance functions
5
7
  * is that static functions return new Vector2,
@@ -29,44 +31,45 @@ export declare class DyFM_Vector2_Util implements DyFM_Vector2 {
29
31
  static readonly down: DyFM_Vector2;
30
32
  static readonly right: DyFM_Vector2;
31
33
  static readonly left: DyFM_Vector2;
32
- constructor(x?: number | DyFM_Vector2_Util, y?: number);
34
+ constructor(xOrXyOrVector?: number | DyFM_Vector2, y?: number);
33
35
  constructed?(): boolean;
34
- static distance(a: DyFM_Vector2_Util, b: DyFM_Vector2_Util): number;
35
- distance?(to: DyFM_Vector2_Util): number;
36
- static minus(a: DyFM_Vector2_Util, minusB: DyFM_Vector2_Util): DyFM_Vector2_Util;
37
- minus?(vector: DyFM_Vector2_Util): this;
38
- static plus(a: DyFM_Vector2_Util, plusB: DyFM_Vector2_Util): DyFM_Vector2_Util;
39
- plus?(vector: DyFM_Vector2_Util): this;
36
+ static distance(a: DyFM_Vector2, b: DyFM_Vector2): number;
37
+ distance?(to: DyFM_Vector2): number;
38
+ static minus(a: DyFM_Vector2, minusB: DyFM_Vector2): DyFM_Vector2_Util;
39
+ minus?(vector: DyFM_Vector2): this;
40
+ static plus(a: DyFM_Vector2, plusB: DyFM_Vector2): DyFM_Vector2_Util;
41
+ plus?(vector: DyFM_Vector2): this;
40
42
  static readonly add: typeof DyFM_Vector2_Util.plus;
41
- readonly add?: (vector: DyFM_Vector2_Util) => this;
43
+ readonly add?: (vector: DyFM_Vector2) => this;
42
44
  /** returns new multiplied Vector2 */
43
- static multiply(v: DyFM_Vector2_Util, n: number): DyFM_Vector2_Util;
44
- multiply?(n: number): void;
45
+ static multiply(v: DyFM_Vector2, n: number): DyFM_Vector2_Util;
46
+ multiply?(n: number): this;
45
47
  /** returns new divided Vector2 */
46
- static divide(v: DyFM_Vector2_Util, divideBy: number): DyFM_Vector2_Util;
48
+ static divide(v: DyFM_Vector2, divideBy: number): DyFM_Vector2_Util;
47
49
  divide?(n: number): this;
48
- static negative(v: DyFM_Vector2_Util): DyFM_Vector2_Util;
50
+ static negative(v: DyFM_Vector2): DyFM_Vector2_Util;
51
+ /** this returns a new instance */
49
52
  getNegative?(): DyFM_Vector2_Util;
50
53
  negate?(): this;
51
- static rebase(v: DyFM_Vector2_Util, baseFrom: DyFM_Vector2_Util, baseTo: DyFM_Vector2_Util): DyFM_Vector2_Util;
52
- rebase?(baseFrom: DyFM_Vector2_Util, baseTo: DyFM_Vector2_Util): this;
53
- static rotate(vector: DyFM_Vector2_Util, angle: number): DyFM_Vector2_Util;
54
- static rotateRad(vector: DyFM_Vector2_Util, rad: number): DyFM_Vector2_Util;
54
+ static rebase(v: DyFM_Vector2, baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): DyFM_Vector2_Util;
55
+ rebase?(baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): this;
56
+ static rotate(vector: DyFM_Vector2, angle: number): DyFM_Vector2_Util;
57
+ static rotateRad(vector: DyFM_Vector2, rad: number): DyFM_Vector2_Util;
55
58
  rotate?(angle: number): this;
56
59
  rotateRad?(rad: number): this;
57
60
  newValues(newV: DyFM_Vector2_Util): this;
58
61
  newXY?(newX: number, newY: number): this;
59
- static angle(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): number;
60
- static angleRad(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): number;
61
- angle?(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): number;
62
- static deg(vector: DyFM_Vector2_Util): number;
63
- static rad(vector: DyFM_Vector2_Util): number;
62
+ static angle(from: DyFM_Vector2, to: DyFM_Vector2): number;
63
+ static angleRad(from: DyFM_Vector2, to: DyFM_Vector2): number;
64
+ angle?(from: DyFM_Vector2, to: DyFM_Vector2): number;
65
+ static deg(vector: DyFM_Vector2): number;
66
+ static rad(vector: DyFM_Vector2): number;
64
67
  deg?(): number;
65
- static floor(v: DyFM_Vector2_Util): DyFM_Vector2_Util;
68
+ static floor(v: DyFM_Vector2): DyFM_Vector2_Util;
66
69
  floor?(): DyFM_Vector2_Util;
67
- static direction(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): DyFM_Vector2_Util;
68
- direction?(to: DyFM_Vector2_Util): DyFM_Vector2_Util;
69
- static normalize(v: DyFM_Vector2_Util): DyFM_Vector2_Util;
70
+ static direction(from: DyFM_Vector2, to: DyFM_Vector2): DyFM_Vector2_Util;
71
+ direction?(to: DyFM_Vector2): DyFM_Vector2_Util;
72
+ static normalize(v: DyFM_Vector2): DyFM_Vector2_Util;
70
73
  normalize?(): void;
71
74
  /**
72
75
  * this will return a new instance,
@@ -75,8 +78,8 @@ export declare class DyFM_Vector2_Util implements DyFM_Vector2 {
75
78
  normalized?(): DyFM_Vector2_Util;
76
79
  private calcMagnitude;
77
80
  clone?(): DyFM_Vector2_Util;
78
- static isChanged(a: DyFM_Vector2_Util, b: DyFM_Vector2_Util): boolean;
79
- static abs(v: DyFM_Vector2_Util): DyFM_Vector2_Util;
81
+ static isChanged(a: DyFM_Vector2, b: DyFM_Vector2): boolean;
82
+ static abs(v: DyFM_Vector2): DyFM_Vector2_Util;
80
83
  abs?(): this;
81
84
  get(): DyFM_Vector2;
82
85
  getVector2: () => DyFM_Vector2;
@@ -1 +1 @@
1
- {"version":3,"file":"vector2.util.d.ts","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector2.util.d.ts","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":"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"}
@@ -44,18 +44,20 @@ class DyFM_Vector2_Util {
44
44
  static down = { x: 0, y: -1 };
45
45
  static right = { x: 1, y: 0 };
46
46
  static left = { x: -1, y: 0 };
47
- constructor(x = 0, y) {
48
- if (x.isVector2Util) {
49
- const v = x;
47
+ constructor(xOrXyOrVector = 0, y) {
48
+ if (typeof xOrXyOrVector === 'object' &&
49
+ xOrXyOrVector.x !== undefined &&
50
+ xOrXyOrVector.y !== undefined) {
51
+ const v = xOrXyOrVector;
50
52
  this._x = v.x;
51
53
  this._y = v.y;
52
54
  }
53
55
  else if (y === undefined) {
54
- this._x = x;
55
- this._y = x;
56
+ this._x = xOrXyOrVector;
57
+ this._y = xOrXyOrVector;
56
58
  }
57
59
  else {
58
- this._x = x;
60
+ this._x = xOrXyOrVector;
59
61
  this._y = y;
60
62
  }
61
63
  this.calcMagnitude();
@@ -73,7 +75,7 @@ class DyFM_Vector2_Util {
73
75
  return this.plus(a, this.negative(minusB));
74
76
  }
75
77
  minus(vector) {
76
- this.newValues(DyFM_Vector2_Util.minus(this, vector));
78
+ this.plus(DyFM_Vector2_Util.negative(vector));
77
79
  return this;
78
80
  }
79
81
  static plus(a, plusB) {
@@ -90,7 +92,7 @@ class DyFM_Vector2_Util {
90
92
  return new DyFM_Vector2_Util(v.x * n, v.y * n);
91
93
  }
92
94
  multiply(n) {
93
- this.newValues(DyFM_Vector2_Util.multiply(this, n));
95
+ return this.newValues(DyFM_Vector2_Util.multiply(this, n));
94
96
  }
95
97
  /** returns new divided Vector2 */
96
98
  static divide(v, divideBy) {
@@ -103,6 +105,7 @@ class DyFM_Vector2_Util {
103
105
  static negative(v) {
104
106
  return new DyFM_Vector2_Util(-v.x, -v.y);
105
107
  }
108
+ /** this returns a new instance */
106
109
  getNegative() {
107
110
  return DyFM_Vector2_Util.negative(this);
108
111
  }
@@ -179,7 +182,8 @@ class DyFM_Vector2_Util {
179
182
  return DyFM_Vector2_Util.direction(this, to);
180
183
  }
181
184
  static normalize(v) {
182
- return DyFM_Vector2_Util.multiply(v, 1 / v.magintude);
185
+ const v_U = new DyFM_Vector2_Util(v);
186
+ return v_U.multiply(1 / v_U.magintude);
183
187
  }
184
188
  normalize() {
185
189
  this.newValues(DyFM_Vector2_Util.normalize(this));
@@ -1 +1 @@
1
- {"version":3,"file":"vector2.util.js","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector2.util.js","sourceRoot":"","sources":["../../../../src/_collections/utils/math/vector2.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.09.25",
3
+ "version": "01.09.27",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "scripts": {
6
6
  "prep": "npm i pnpm -g && npm i rimraf nodemon -g",
@@ -4,6 +4,8 @@ import { DyFM_Vector2 } from '../../../_models/interfaces/vector2.interface';
4
4
  import { DyFM_Trigonometry } from './trigonometry.util';
5
5
 
6
6
  export type DyFM_V2_U = DyFM_Vector2_Util;
7
+ export type DyFM_V2_Util = DyFM_Vector2_Util;
8
+ export type DyFM_Vector2_U = DyFM_Vector2_Util;
7
9
  /**
8
10
  * The main difference between static class functions and instance functions
9
11
  * is that static functions return new Vector2,
@@ -54,19 +56,23 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
54
56
  static readonly left: DyFM_Vector2 = { x: -1, y: 0 };
55
57
 
56
58
  constructor(
57
- x: number | DyFM_Vector2_Util = 0,
59
+ xOrXyOrVector: number | DyFM_Vector2 = 0,
58
60
  y?: number
59
61
  ) {
60
- if ((x as DyFM_Vector2_Util).isVector2Util) {
61
- const v = x as DyFM_Vector2_Util;
62
+ if (
63
+ typeof xOrXyOrVector === 'object' &&
64
+ xOrXyOrVector.x !== undefined &&
65
+ xOrXyOrVector.y !== undefined
66
+ ) {
67
+ const v = xOrXyOrVector as DyFM_Vector2;
62
68
 
63
69
  this._x = v.x;
64
70
  this._y = v.y;
65
71
  } else if (y === undefined) {
66
- this._x = x as number;
67
- this._y = x as number;
72
+ this._x = xOrXyOrVector as number;
73
+ this._y = xOrXyOrVector as number;
68
74
  } else {
69
- this._x = x as number;
75
+ this._x = xOrXyOrVector as number;
70
76
  this._y = y;
71
77
  }
72
78
 
@@ -77,26 +83,26 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
77
83
  return true;
78
84
  }
79
85
 
80
- static distance(a: DyFM_Vector2_Util, b: DyFM_Vector2_Util): number {
86
+ static distance(a: DyFM_Vector2, b: DyFM_Vector2): number {
81
87
  return this.minus(a, b).magintude;
82
88
  }
83
- distance?(to: DyFM_Vector2_Util): number {
89
+ distance?(to: DyFM_Vector2): number {
84
90
  return DyFM_Vector2_Util.distance(this, to);
85
91
  }
86
92
 
87
- static minus(a: DyFM_Vector2_Util, minusB: DyFM_Vector2_Util): DyFM_Vector2_Util {
93
+ static minus(a: DyFM_Vector2, minusB: DyFM_Vector2): DyFM_Vector2_Util {
88
94
  return this.plus(a, this.negative(minusB));
89
95
  }
90
- minus?(vector: DyFM_Vector2_Util): this {
91
- this.newValues(DyFM_Vector2_Util.minus(this, vector));
96
+ minus?(vector: DyFM_Vector2): this {
97
+ this.plus(DyFM_Vector2_Util.negative(vector));
92
98
 
93
99
  return this;
94
100
  }
95
101
 
96
- static plus(a: DyFM_Vector2_Util, plusB: DyFM_Vector2_Util): DyFM_Vector2_Util {
102
+ static plus(a: DyFM_Vector2, plusB: DyFM_Vector2): DyFM_Vector2_Util {
97
103
  return new DyFM_Vector2_Util(a.x + plusB.x, a.y + plusB.y);
98
104
  }
99
- plus?(vector: DyFM_Vector2_Util): this {
105
+ plus?(vector: DyFM_Vector2): this {
100
106
  this.newValues(DyFM_Vector2_Util.plus(this, vector));
101
107
 
102
108
  return this;
@@ -105,15 +111,15 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
105
111
  readonly add? = this.plus;
106
112
 
107
113
  /** returns new multiplied Vector2 */
108
- static multiply(v: DyFM_Vector2_Util, n: number): DyFM_Vector2_Util {
114
+ static multiply(v: DyFM_Vector2, n: number): DyFM_Vector2_Util {
109
115
  return new DyFM_Vector2_Util(v.x * n, v.y * n);
110
116
  }
111
- multiply?(n: number): void {
112
- this.newValues(DyFM_Vector2_Util.multiply(this, n));
117
+ multiply?(n: number): this {
118
+ return this.newValues(DyFM_Vector2_Util.multiply(this, n));
113
119
  }
114
120
 
115
121
  /** returns new divided Vector2 */
116
- static divide(v: DyFM_Vector2_Util, divideBy: number): DyFM_Vector2_Util {
122
+ static divide(v: DyFM_Vector2, divideBy: number): DyFM_Vector2_Util {
117
123
  return new DyFM_Vector2_Util(v.x / divideBy, v.y / divideBy);
118
124
  }
119
125
  divide?(n: number): this {
@@ -122,9 +128,10 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
122
128
  return this;
123
129
  }
124
130
 
125
- static negative(v: DyFM_Vector2_Util): DyFM_Vector2_Util {
131
+ static negative(v: DyFM_Vector2): DyFM_Vector2_Util {
126
132
  return new DyFM_Vector2_Util(-v.x, -v.y);
127
133
  }
134
+ /** this returns a new instance */
128
135
  getNegative?(): DyFM_Vector2_Util {
129
136
  return DyFM_Vector2_Util.negative(this);
130
137
  }
@@ -134,25 +141,21 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
134
141
  return this;
135
142
  }
136
143
 
137
- static rebase(
138
- v: DyFM_Vector2_Util,
139
- baseFrom: DyFM_Vector2_Util,
140
- baseTo: DyFM_Vector2_Util
141
- ): DyFM_Vector2_Util {
144
+ static rebase(v: DyFM_Vector2, baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): DyFM_Vector2_Util {
142
145
  return this.plus(v, this.minus(baseTo, baseFrom));
143
146
  }
144
- rebase?(baseFrom: DyFM_Vector2_Util, baseTo: DyFM_Vector2_Util): this {
147
+ rebase?(baseFrom: DyFM_Vector2, baseTo: DyFM_Vector2): this {
145
148
  this.newValues(DyFM_Vector2_Util.rebase(this, baseFrom, baseTo));
146
149
 
147
150
  return this;
148
151
  }
149
152
 
150
- static rotate(vector: DyFM_Vector2_Util, angle: number): DyFM_Vector2_Util {
153
+ static rotate(vector: DyFM_Vector2, angle: number): DyFM_Vector2_Util {
151
154
  const rad = DyFM_Trigonometry.angleToRadians(angle);
152
155
 
153
156
  return this.rotateRad(vector, rad);
154
157
  }
155
- static rotateRad(vector: DyFM_Vector2_Util, rad: number): DyFM_Vector2_Util {
158
+ static rotateRad(vector: DyFM_Vector2, rad: number): DyFM_Vector2_Util {
156
159
  const cos = Math.cos(rad);
157
160
  const sin = Math.sin(rad);
158
161
  const newX = (vector.x * cos) - (vector.y * sin);
@@ -186,26 +189,26 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
186
189
  }
187
190
 
188
191
  //// AI-ed UNCHECKED
189
- static angle(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): number {
192
+ static angle(from: DyFM_Vector2, to: DyFM_Vector2): number {
190
193
  return DyFM_Trigonometry.radiansToAngle(DyFM_Vector2_Util.angleRad(from, to));
191
194
  }
192
- static angleRad(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): number {
195
+ static angleRad(from: DyFM_Vector2, to: DyFM_Vector2): number {
193
196
  return Math.atan2(to.y - from.y, to.x - from.x);
194
197
  }
195
- angle?(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): number {
198
+ angle?(from: DyFM_Vector2, to: DyFM_Vector2): number {
196
199
  return DyFM_Vector2_Util.angle(from, to);
197
200
  }
198
- static deg(vector: DyFM_Vector2_Util): number {
201
+ static deg(vector: DyFM_Vector2): number {
199
202
  return DyFM_Trigonometry.radiansToAngle(DyFM_Vector2_Util.rad(vector));
200
203
  }
201
- static rad(vector: DyFM_Vector2_Util): number {
204
+ static rad(vector: DyFM_Vector2): number {
202
205
  return Math.atan2(vector.y, vector.x);
203
206
  }
204
207
  deg?(): number {
205
208
  return DyFM_Vector2_Util.deg(this);
206
209
  }
207
210
 
208
- static floor(v: DyFM_Vector2_Util): DyFM_Vector2_Util {
211
+ static floor(v: DyFM_Vector2): DyFM_Vector2_Util {
209
212
  return new DyFM_Vector2_Util(Math.floor(v.x), Math.floor(v.y));
210
213
  }
211
214
  floor?(): DyFM_Vector2_Util {
@@ -213,15 +216,17 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
213
216
  }
214
217
  /////
215
218
 
216
- static direction(from: DyFM_Vector2_Util, to: DyFM_Vector2_Util): DyFM_Vector2_Util {
219
+ static direction(from: DyFM_Vector2, to: DyFM_Vector2): DyFM_Vector2_Util {
217
220
  return DyFM_Vector2_Util.minus(to, from);
218
221
  }
219
- direction?(to: DyFM_Vector2_Util): DyFM_Vector2_Util {
222
+ direction?(to: DyFM_Vector2): DyFM_Vector2_Util {
220
223
  return DyFM_Vector2_Util.direction(this, to);
221
224
  }
222
225
 
223
- static normalize(v: DyFM_Vector2_Util): DyFM_Vector2_Util {
224
- return DyFM_Vector2_Util.multiply(v, 1 / v.magintude);
226
+ static normalize(v: DyFM_Vector2): DyFM_Vector2_Util {
227
+ const v_U = new DyFM_Vector2_Util(v);
228
+
229
+ return v_U.multiply(1 / v_U.magintude);
225
230
  }
226
231
  normalize?(): void {
227
232
  this.newValues(DyFM_Vector2_Util.normalize(this));
@@ -242,11 +247,11 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
242
247
  return new DyFM_Vector2_Util(this._x, this._y);
243
248
  }
244
249
 
245
- static isChanged(a: DyFM_Vector2_Util, b: DyFM_Vector2_Util): boolean {
250
+ static isChanged(a: DyFM_Vector2, b: DyFM_Vector2): boolean {
246
251
  return a.x !== b.x || a.y !== b.y;
247
252
  }
248
253
 
249
- static abs(v: DyFM_Vector2_Util): DyFM_Vector2_Util {
254
+ static abs(v: DyFM_Vector2): DyFM_Vector2_Util {
250
255
  return new DyFM_Vector2_Util(Math.abs(v.x), Math.abs(v.y));
251
256
  }
252
257
  abs?(): this {
Binary file