@futdevpro/fsm-dynamo 1.9.34 → 1.9.36

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 (28) hide show
  1. package/build/_collections/utils/array.util.d.ts +1 -0
  2. package/build/_collections/utils/array.util.d.ts.map +1 -1
  3. package/build/_collections/utils/array.util.js +3 -0
  4. package/build/_collections/utils/array.util.js.map +1 -1
  5. package/build/_collections/utils/math/math.util.d.ts +1 -0
  6. package/build/_collections/utils/math/math.util.d.ts.map +1 -1
  7. package/build/_collections/utils/math/math.util.js +8 -1
  8. package/build/_collections/utils/math/math.util.js.map +1 -1
  9. package/build/_collections/utils/math/vector2.util.d.ts +5 -0
  10. package/build/_collections/utils/math/vector2.util.d.ts.map +1 -1
  11. package/build/_collections/utils/math/vector2.util.js +14 -0
  12. package/build/_collections/utils/math/vector2.util.js.map +1 -1
  13. package/build/_collections/utils/shared.static-service.d.ts +5 -0
  14. package/build/_collections/utils/shared.static-service.d.ts.map +1 -1
  15. package/build/_collections/utils/shared.static-service.js +22 -0
  16. package/build/_collections/utils/shared.static-service.js.map +1 -1
  17. package/build/_collections/utils/utilities.util.d.ts +24 -0
  18. package/build/_collections/utils/utilities.util.d.ts.map +1 -1
  19. package/build/_collections/utils/utilities.util.js +132 -6
  20. package/build/_collections/utils/utilities.util.js.map +1 -1
  21. package/futdevpro-fsm-dynamo-01.09.36.tgz +0 -0
  22. package/package.json +1 -1
  23. package/src/_collections/utils/array.util.ts +4 -0
  24. package/src/_collections/utils/math/math.util.ts +8 -1
  25. package/src/_collections/utils/math/vector2.util.ts +21 -0
  26. package/src/_collections/utils/shared.static-service.ts +24 -0
  27. package/src/_collections/utils/utilities.util.ts +169 -6
  28. package/futdevpro-fsm-dynamo-01.09.34.tgz +0 -0
@@ -5,6 +5,7 @@ export declare class DyFM_Array {
5
5
  static asyncFilter<T>(list: T[], filterFunc: (element: T, index?: number, array?: T[]) => Promise<boolean>): Promise<T[]>;
6
6
  static asyncMap<T, R>(list: T[], mapFunc: (element: T, index?: number, array?: T[]) => Promise<R>): Promise<R[]>;
7
7
  static last<T>(array: T[]): T;
8
+ static lastString(array: string): string;
8
9
  static remove<T>(array: T[], element: T): T[];
9
10
  static findNRemove<T>(array: T[], func: (element: T, index?: number, array?: T[]) => boolean): T[];
10
11
  static shuffle<T>(array: T[]): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"array.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAItE,qBAAa,UAAU;WAER,YAAY,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC;WAMH,qBAAqB,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC;WAIH,WAAW,CAAC,CAAC,EACxB,IAAI,EAAE,CAAC,EAAE,EACT,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GACxE,OAAO,CAAC,CAAC,EAAE,CAAC;WAYF,QAAQ,CAAC,CAAC,EAAE,CAAC,EACxB,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/D,OAAO,CAAC,CAAC,EAAE,CAAC;IAUf,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC;IAI7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE;IAU7C,MAAM,CAAC,WAAW,CAAC,CAAC,EAClB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,GACzD,CAAC,EAAE;IAUN,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAclC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;IAIpE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAU/E,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;IAM/D;;;;SAIK;IACL,MAAM,CAAC,yBAAyB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAe,GACvB,MAAM;IAcT,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAsB1D,cAAc,MAAA;CAEf"}
1
+ {"version":3,"file":"array.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAItE,qBAAa,UAAU;WAER,YAAY,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC;WAMH,qBAAqB,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC;WAIH,WAAW,CAAC,CAAC,EACxB,IAAI,EAAE,CAAC,EAAE,EACT,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GACxE,OAAO,CAAC,CAAC,EAAE,CAAC;WAYF,QAAQ,CAAC,CAAC,EAAE,CAAC,EACxB,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/D,OAAO,CAAC,CAAC,EAAE,CAAC;IAUf,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC;IAI7B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE;IAU7C,MAAM,CAAC,WAAW,CAAC,CAAC,EAClB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,GACzD,CAAC,EAAE;IAUN,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAclC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;IAIpE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAU/E,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;IAM/D;;;;SAIK;IACL,MAAM,CAAC,yBAAyB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAe,GACvB,MAAM;IAcT,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAsB1D,cAAc,MAAA;CAEf"}
@@ -29,6 +29,9 @@ class DyFM_Array {
29
29
  static last(array) {
30
30
  return array.length ? array[array.length - 1] : null;
31
31
  }
32
+ static lastString(array) {
33
+ return array.length ? array[array.length - 1] : null;
34
+ }
32
35
  static remove(array, element) {
33
36
  const index = array.indexOf(element);
34
37
  if (-1 < index) {
@@ -1 +1 @@
1
- {"version":3,"file":"array.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export declare class DyFM_Math {
2
2
  static between(value: number, minExclusive: number, maxExclusive: number): boolean;
3
3
  static around(value: number, target: number, range: number): boolean;
4
4
  static getRandomInt(min: number, max: number): number;
5
+ static readonly toFixed: typeof DyFM_Math.round;
5
6
  static round(value: number, decimals?: number): number;
6
7
  static numberWithSpaces(x: number): string;
7
8
  static numberWithShorters(x: number): string;
@@ -1 +1 @@
1
- {"version":3,"file":"math.util.d.ts","sourceRoot":"","sources":["../../../../src/_collections/utils/math/math.util.ts"],"names":[],"mappings":"AASA,qBAAa,SAAS;IAEpB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAIlF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIrD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM;IAIzD,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAY5C,MAAM,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrD,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAQlD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,MAAM;CAO5D"}
1
+ {"version":3,"file":"math.util.d.ts","sourceRoot":"","sources":["../../../../src/_collections/utils/math/math.util.ts"],"names":[],"mappings":"AASA,qBAAa,SAAS;IAEpB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAIlF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIrD,MAAM,CAAC,QAAQ,CAAC,OAAO,yBAAc;IACrC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM;IAUzD,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAY5C,MAAM,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrD,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAQlD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,MAAM;CAO5D"}
@@ -11,8 +11,15 @@ class DyFM_Math {
11
11
  static getRandomInt(min, max) {
12
12
  return min + Math.round((max - min) * Math.random());
13
13
  }
14
+ static toFixed = this.round;
14
15
  static round(value, decimals = 2) {
15
- return Number(value.toFixed(decimals));
16
+ if (0 <= decimals) {
17
+ return Number(value.toFixed(decimals));
18
+ }
19
+ else {
20
+ const factor = Math.pow(10, -decimals);
21
+ return Math.round(value / factor) * factor;
22
+ }
16
23
  }
17
24
  static numberWithSpaces(x) {
18
25
  return x?.toString()?.replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
@@ -1 +1 @@
1
- {"version":3,"file":"math.util.js","sourceRoot":"","sources":["../../../../src/_collections/utils/math/math.util.ts"],"names":[],"mappings":";;;AASA,MAAa,SAAS;IAEpB,MAAM,CAAC,OAAO,CAAC,KAAa,EAAE,YAAoB,EAAE,YAAoB;QACtE,OAAO,YAAY,GAAG,KAAK,IAAI,KAAK,GAAG,YAAY,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAa,EAAE,MAAc,EAAE,KAAa;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAW,EAAE,GAAW;QAC1C,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,WAAmB,CAAC;QAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,CAAS;QAC/B,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,CAAS;QACjC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtC,CAAC;aAAM,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,CAAS;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,CAAS;QACvC,MAAM,KAAK,GAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAElD,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAE7D,OAAO,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,CAAS,EAAE,YAAoB,GAAG;QAChD,MAAM,KAAK,GAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAElD,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QAEnE,OAAO,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF;AArDD,8BAqDC"}
1
+ {"version":3,"file":"math.util.js","sourceRoot":"","sources":["../../../../src/_collections/utils/math/math.util.ts"],"names":[],"mappings":"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"}
@@ -79,10 +79,15 @@ export declare class DyFM_Vector2_Util implements DyFM_Vector2 {
79
79
  private calcMagnitude;
80
80
  clone?(): DyFM_Vector2_Util;
81
81
  static isChanged(a: DyFM_Vector2_Util, b: DyFM_Vector2_Util): boolean;
82
+ static isEqual(a: DyFM_Vector2, b: DyFM_Vector2): boolean;
82
83
  static vectorChanged(a: DyFM_Vector2, b: DyFM_Vector2): boolean;
84
+ static equals(a: DyFM_Vector2, b: DyFM_Vector2): boolean;
83
85
  static abs(v: DyFM_Vector2): DyFM_Vector2_Util;
84
86
  abs?(): this;
87
+ static round(v: DyFM_Vector2, decimals?: number): DyFM_Vector2_Util;
88
+ static toVector2(v: DyFM_Vector2_Util): DyFM_Vector2;
85
89
  get(): DyFM_Vector2;
86
90
  getVector2: () => DyFM_Vector2;
91
+ toVector2: () => DyFM_Vector2;
87
92
  }
88
93
  //# sourceMappingURL=vector2.util.d.ts.map
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyFM_Vector2_Util = void 0;
4
+ const math_util_1 = require("./math.util");
4
5
  const trigonometry_util_1 = require("./trigonometry.util");
5
6
  /**
6
7
  * The main difference between static class functions and instance functions
@@ -203,19 +204,32 @@ class DyFM_Vector2_Util {
203
204
  static isChanged(a, b) {
204
205
  return a.x !== b.x || a.y !== b.y;
205
206
  }
207
+ static isEqual(a, b) {
208
+ return a.x === b.x && a.y === b.y;
209
+ }
206
210
  static vectorChanged(a, b) {
207
211
  return a.x !== b.x || a.y !== b.y;
208
212
  }
213
+ static equals(a, b) {
214
+ return a.x === b.x && a.y === b.y;
215
+ }
209
216
  static abs(v) {
210
217
  return new DyFM_Vector2_Util(Math.abs(v.x), Math.abs(v.y));
211
218
  }
212
219
  abs() {
213
220
  return this.newXY(Math.abs(this.x), Math.abs(this.y));
214
221
  }
222
+ static round(v, decimals = 0) {
223
+ return new DyFM_Vector2_Util(math_util_1.DyFM_Math.round(v.x, decimals), math_util_1.DyFM_Math.round(v.y, decimals));
224
+ }
225
+ static toVector2(v) {
226
+ return (new DyFM_Vector2_Util(v)).get();
227
+ }
215
228
  get() {
216
229
  return { x: this.x, y: this.y };
217
230
  }
218
231
  getVector2 = this.get;
232
+ toVector2 = this.get;
219
233
  }
220
234
  exports.DyFM_Vector2_Util = DyFM_Vector2_Util;
221
235
  //# sourceMappingURL=vector2.util.js.map
@@ -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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"}
@@ -68,5 +68,10 @@ export declare class DyFM_Shared {
68
68
  * @returns modified data
69
69
  */
70
70
  static nestRecursiveListedData<T>(parentObj: T, nestedListKey: string, nestIndexes: number[], dataToSet: any): T;
71
+ /**
72
+ * recursive function that returns mutated data structure,
73
+ * with locations at which circular references are found
74
+ */
75
+ static resolveCirculation<T>(data: T, location?: string[], objs?: any[]): any;
71
76
  }
72
77
  //# sourceMappingURL=shared.static-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.static-service.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/shared.static-service.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;IAgBjE;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,GAAG;IAYtE;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM;IAe9E;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM;IAerF;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM;IAmBvF;;;;;;;OAOG;IACH,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAC9B,SAAS,EAAE,CAAC,EACZ,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,GAAG,GACb,CAAC;CAgBL"}
1
+ {"version":3,"file":"shared.static-service.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/shared.static-service.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;IAgBjE;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,GAAG;IAYtE;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM;IAe9E;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM;IAerF;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM;IAmBvF;;;;;;;OAOG;IACH,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAC9B,SAAS,EAAE,CAAC,EACZ,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,GAAG,GACb,CAAC;IAiBJ;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,IAAI,GAAE,GAAG,EAAO,GAAG,GAAG;CAmBtF"}
@@ -139,6 +139,28 @@ class DyFM_Shared {
139
139
  }
140
140
  return newData;
141
141
  }
142
+ /**
143
+ * recursive function that returns mutated data structure,
144
+ * with locations at which circular references are found
145
+ */
146
+ static resolveCirculation(data, location = [], objs = []) {
147
+ const newData = {};
148
+ Object.keys(data).forEach((key) => {
149
+ if (typeof data[key] === 'object' || Array.isArray(data[key])) {
150
+ if (objs.includes(data[key])) {
151
+ newData[key] = location.join('.');
152
+ }
153
+ else {
154
+ objs.push(data[key]);
155
+ newData[key] = this.resolveCirculation(data[key], [...location, key], objs);
156
+ }
157
+ }
158
+ else {
159
+ newData[key] = data[key];
160
+ }
161
+ });
162
+ return newData;
163
+ }
142
164
  }
143
165
  exports.DyFM_Shared = DyFM_Shared;
144
166
  //# sourceMappingURL=shared.static-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.static-service.js","sourceRoot":"","sources":["../../../src/_collections/utils/shared.static-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.static-service.js","sourceRoot":"","sources":["../../../src/_collections/utils/shared.static-service.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,26 @@ export declare function DyFM_clone<T>(object: T): T;
3
3
  export declare const DyFM_copy: typeof DyFM_clone;
4
4
  export declare function DyFM_surfaceClone<T>(object: T): T;
5
5
  export declare const DyFM_surfaceCopy: typeof DyFM_surfaceClone;
6
+ export declare function DyFM_deepClone<T>(object: T): T;
7
+ /**
8
+ * A simple object comparison function that uses JSON.stringify() to compare objects.
9
+ *
10
+ * We experienced that sameObjects() function is not working properly for cases when
11
+ * deleting a key from the objects (to prevent strict results).
12
+ * So, we created orderedSameObject() function to prevent that issue.
13
+ * But be aware that, that function is not as fast as sameObjects() function.
14
+ */
6
15
  export declare function DyFM_sameObjects<T>(objA: T, objB: T): boolean;
16
+ /**
17
+ * We experienced that sameObjects() function is not working properly for cases when
18
+ * deleting a key from the objects (to prevent strict results).
19
+ *
20
+ * This function is created to prevent that issue.
21
+ * But be aware that this function is not as fast as sameObjects() function.
22
+ */
23
+ export declare function DyFM_orderedSameObject<T>(objA: T, objB: T): boolean;
24
+ export declare function DyFM_orderedSameObject2<T>(objA: T, objB: T): boolean;
25
+ export declare function DyFM_sameObjectSurface<T>(objA: T, objB: T): boolean;
7
26
  /**
8
27
  * sets values if its existing on To, even if its null (but if undefined)
9
28
  * @param setOn
@@ -18,6 +37,11 @@ export declare const DyFM_wait: typeof DyFM_delay;
18
37
  * because it can cause performance issues.
19
38
  */
20
39
  export declare function DyFM_waitUntil(check: () => boolean, interval?: number, timeout?: number): Promise<void>;
40
+ /**
41
+ * WARNING: This function is recommended to use ONLY for limited instances,
42
+ * because it can cause performance issues.
43
+ */
44
+ export declare function DyFM_waitUntilAsync(check: () => Promise<boolean>, interval?: number, timeout?: number): Promise<void>;
21
45
  /**
22
46
  * Creates a promise that resolves when the observable emits a value that passes the check function
23
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAW1C;AACD,eAAO,MAAM,SAAS,mBAAa,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAiBjD;AACD,eAAO,MAAM,gBAAgB,0BAAoB,CAAC;AAElD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAW7D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAMvE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;AACD,eAAO,MAAM,UAAU,mBAAa,CAAC;AACrC,eAAO,MAAM,SAAS,mBAAa,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,OAAO,EACpB,QAAQ,GAAE,MAAY,EACtB,OAAO,GAAE,MAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,OAAO,GAC5B,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GACvB,kBAAkB,CAIpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,kBAAkB,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,KAAA,GAAG,CAAC,EAAE,CAQjD"}
1
+ {"version":3,"file":"utilities.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AASlC,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAW1C;AACD,eAAO,MAAM,SAAS,mBAAa,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAiBjD;AACD,eAAO,MAAM,gBAAgB,0BAAoB,CAAC;AAElD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAuB9C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAW7D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CA4CnE;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAgCpE;AAMD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAWnE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAMvE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;AACD,eAAO,MAAM,UAAU,mBAAa,CAAC;AACrC,eAAO,MAAM,SAAS,mBAAa,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,OAAO,EACpB,QAAQ,GAAE,MAAY,EACtB,OAAO,GAAE,MAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC7B,QAAQ,GAAE,MAAY,EACtB,OAAO,GAAE,MAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,OAAO,GAC5B,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GACvB,kBAAkB,CAIpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,kBAAkB,CAEpC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,KAAA,GAAG,CAAC,EAAE,CAQjD"}
@@ -1,16 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DyFM_JSONListify = exports.DyFM_getSortForTrueFn = exports.DyFM_sortForTrue = exports.DyFM_takeUntil = exports.DyFM_waitUntil = exports.DyFM_wait = exports.DyFM_sleep = exports.DyFM_delay = exports.DyFM_setExistingValuesOnly = exports.DyFM_sameObjects = exports.DyFM_surfaceCopy = exports.DyFM_surfaceClone = exports.DyFM_copy = exports.DyFM_clone = void 0;
3
+ exports.DyFM_JSONListify = exports.DyFM_getSortForTrueFn = exports.DyFM_sortForTrue = exports.DyFM_takeUntil = exports.DyFM_waitUntilAsync = exports.DyFM_waitUntil = exports.DyFM_wait = exports.DyFM_sleep = exports.DyFM_delay = exports.DyFM_setExistingValuesOnly = exports.DyFM_sameObjectSurface = exports.DyFM_orderedSameObject2 = exports.DyFM_orderedSameObject = exports.DyFM_sameObjects = exports.DyFM_deepClone = exports.DyFM_surfaceCopy = exports.DyFM_surfaceClone = exports.DyFM_copy = exports.DyFM_clone = void 0;
4
+ const log_util_1 = require("./log.util");
4
5
  const defaultErrorMsg = ' failed. ' +
5
- '\nThis might be happening becouse the object you trying to clone, ' +
6
- 'containes object hooks for its own objects, therefore its creating an object loop. ' +
6
+ '\nThis might be happening because the object you trying to clone, ' +
7
+ 'contains object hooks for its own objects, therefore its creating an object loop. ' +
7
8
  'See further information in the detailed error:\n\n';
8
9
  function DyFM_clone(object) {
9
10
  try {
10
11
  return object ? JSON.parse(JSON.stringify(object)) : object;
11
12
  }
12
13
  catch (error) {
13
- console.error('clone()' + defaultErrorMsg, error);
14
+ log_util_1.DyFM_Log.error('clone()' + defaultErrorMsg, error);
14
15
  throw error;
15
16
  }
16
17
  }
@@ -25,22 +26,127 @@ function DyFM_surfaceClone(object) {
25
26
  return result;
26
27
  }
27
28
  catch (error) {
28
- console.error('surfaceClone()' + defaultErrorMsg, error);
29
+ log_util_1.DyFM_Log.error('surfaceClone()' + defaultErrorMsg, error);
29
30
  throw error;
30
31
  }
31
32
  }
32
33
  exports.DyFM_surfaceClone = DyFM_surfaceClone;
33
34
  exports.DyFM_surfaceCopy = DyFM_surfaceClone;
35
+ function DyFM_deepClone(object) {
36
+ try {
37
+ const result = {};
38
+ Object.keys(object).forEach((key) => {
39
+ if (typeof object[key] === 'object') {
40
+ result[key] = DyFM_deepClone(object[key]);
41
+ }
42
+ else if (Array.isArray(object[key])) {
43
+ result[key] = object[key].map((item) => DyFM_deepClone(item));
44
+ }
45
+ else {
46
+ result[key] = object[key];
47
+ }
48
+ });
49
+ return result;
50
+ }
51
+ catch (error) {
52
+ log_util_1.DyFM_Log.error('deepClone()' + defaultErrorMsg, error);
53
+ throw error;
54
+ }
55
+ }
56
+ exports.DyFM_deepClone = DyFM_deepClone;
57
+ /**
58
+ * A simple object comparison function that uses JSON.stringify() to compare objects.
59
+ *
60
+ * We experienced that sameObjects() function is not working properly for cases when
61
+ * deleting a key from the objects (to prevent strict results).
62
+ * So, we created orderedSameObject() function to prevent that issue.
63
+ * But be aware that, that function is not as fast as sameObjects() function.
64
+ */
34
65
  function DyFM_sameObjects(objA, objB) {
35
66
  try {
36
67
  return JSON.stringify(objA) === JSON.stringify(objB);
37
68
  }
38
69
  catch (error) {
39
- console.error('sameObjects()' + defaultErrorMsg, error);
70
+ log_util_1.DyFM_Log.error('sameObjects()' + defaultErrorMsg, error);
40
71
  throw error;
41
72
  }
42
73
  }
43
74
  exports.DyFM_sameObjects = DyFM_sameObjects;
75
+ /**
76
+ * We experienced that sameObjects() function is not working properly for cases when
77
+ * deleting a key from the objects (to prevent strict results).
78
+ *
79
+ * This function is created to prevent that issue.
80
+ * But be aware that this function is not as fast as sameObjects() function.
81
+ */
82
+ function DyFM_orderedSameObject(objA, objB) {
83
+ try {
84
+ if (typeof objA !== 'object' ||
85
+ typeof objB !== 'object' ||
86
+ Array.isArray(objA) ||
87
+ Array.isArray(objB) ||
88
+ objA === null ||
89
+ objB === null ||
90
+ objA === undefined ||
91
+ objB === undefined) {
92
+ return JSON.stringify(objA) === JSON.stringify(objB);
93
+ }
94
+ const keysA = Object.keys(objA);
95
+ const keysB = Object.keys(objB);
96
+ if (keysA.length !== keysB.length) {
97
+ return false;
98
+ }
99
+ keysA.sort();
100
+ keysB.sort();
101
+ for (let i = 0; i < keysA.length; i++) {
102
+ if (JSON.stringify(keysA[i]) !== JSON.stringify(keysB[i])) {
103
+ return false;
104
+ }
105
+ }
106
+ return true;
107
+ }
108
+ catch (error) {
109
+ /* try {
110
+ return DyFM_orderedSameObject2(objA, objB);
111
+ } catch (error) { */
112
+ log_util_1.DyFM_Log.error('orderedSameObject()' + defaultErrorMsg, error);
113
+ throw error;
114
+ /* } */
115
+ }
116
+ }
117
+ exports.DyFM_orderedSameObject = DyFM_orderedSameObject;
118
+ function DyFM_orderedSameObject2(objA, objB) {
119
+ try {
120
+ console.log('using orderedSameObject2');
121
+ if (typeof objA !== 'object' ||
122
+ typeof objB !== 'object' ||
123
+ Array.isArray(objA) ||
124
+ Array.isArray(objB) ||
125
+ objA === null ||
126
+ objB === null ||
127
+ objA === undefined ||
128
+ objB === undefined) {
129
+ return JSON.stringify(objA) === JSON.stringify(objB);
130
+ }
131
+ return JSON.stringify(objA, Object.keys(objA).sort()) === JSON.stringify(objB, Object.keys(objB).sort());
132
+ }
133
+ catch (error) {
134
+ log_util_1.DyFM_Log.error('sameObjects()' + defaultErrorMsg, error);
135
+ throw error;
136
+ }
137
+ }
138
+ exports.DyFM_orderedSameObject2 = DyFM_orderedSameObject2;
139
+ function DyFM_sameObjectSurface(objA, objB) {
140
+ let result = true;
141
+ for (const key in objA) {
142
+ if (objA[key] !== objB[key]) {
143
+ result = false;
144
+ break;
145
+ }
146
+ }
147
+ return result;
148
+ }
149
+ exports.DyFM_sameObjectSurface = DyFM_sameObjectSurface;
44
150
  /**
45
151
  * sets values if its existing on To, even if its null (but if undefined)
46
152
  * @param setOn
@@ -80,6 +186,26 @@ function DyFM_waitUntil(check, interval = 100, timeout = 10000) {
80
186
  });
81
187
  }
82
188
  exports.DyFM_waitUntil = DyFM_waitUntil;
189
+ /**
190
+ * WARNING: This function is recommended to use ONLY for limited instances,
191
+ * because it can cause performance issues.
192
+ */
193
+ function DyFM_waitUntilAsync(check, interval = 100, timeout = 10000) {
194
+ return new Promise((resolve, reject) => {
195
+ const startTime = Date.now();
196
+ const intervalId = setInterval(async () => {
197
+ if (await check()) {
198
+ clearInterval(intervalId);
199
+ resolve();
200
+ }
201
+ else if (Date.now() - startTime > timeout) {
202
+ clearInterval(intervalId);
203
+ reject('timeout');
204
+ }
205
+ }, interval);
206
+ });
207
+ }
208
+ exports.DyFM_waitUntilAsync = DyFM_waitUntilAsync;
83
209
  /**
84
210
  * Creates a promise that resolves when the observable emits a value that passes the check function
85
211
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.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.34",
3
+ "version": "01.09.36",
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",
@@ -53,6 +53,10 @@ export class DyFM_Array {
53
53
  return array.length ? array[array.length - 1] : null;
54
54
  }
55
55
 
56
+ static lastString(array: string): string {
57
+ return array.length ? array[array.length - 1] : null;
58
+ }
59
+
56
60
  static remove<T>(array: T[], element: T): T[] {
57
61
  const index = array.indexOf(element);
58
62
 
@@ -21,8 +21,15 @@ export class DyFM_Math {
21
21
  return min + Math.round((max - min) * Math.random());
22
22
  }
23
23
 
24
+ static readonly toFixed = this.round;
24
25
  static round(value: number, decimals: number = 2): number {
25
- return Number(value.toFixed(decimals));
26
+ if (0 <= decimals) {
27
+ return Number(value.toFixed(decimals));
28
+ } else {
29
+ const factor = Math.pow(10, -decimals);
30
+
31
+ return Math.round(value / factor) * factor;
32
+ }
26
33
  }
27
34
 
28
35
  static numberWithSpaces(x: number): string {
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { DyFM_Vector2 } from '../../../_models/interfaces/vector2.interface';
3
+ import { DyFM_Math } from './math.util';
3
4
 
4
5
  import { DyFM_Trigonometry } from './trigonometry.util';
5
6
 
@@ -249,10 +250,18 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
249
250
  return a.x !== b.x || a.y !== b.y;
250
251
  }
251
252
 
253
+ static isEqual(a: DyFM_Vector2, b: DyFM_Vector2): boolean {
254
+ return a.x === b.x && a.y === b.y;
255
+ }
256
+
252
257
  static vectorChanged(a: DyFM_Vector2, b: DyFM_Vector2): boolean {
253
258
  return a.x !== b.x || a.y !== b.y;
254
259
  }
255
260
 
261
+ static equals(a: DyFM_Vector2, b: DyFM_Vector2): boolean {
262
+ return a.x === b.x && a.y === b.y;
263
+ }
264
+
256
265
  static abs(v: DyFM_Vector2): DyFM_Vector2_Util {
257
266
  return new DyFM_Vector2_Util(Math.abs(v.x), Math.abs(v.y));
258
267
  }
@@ -260,10 +269,22 @@ export class DyFM_Vector2_Util implements DyFM_Vector2 {
260
269
  return this.newXY(Math.abs(this.x), Math.abs(this.y));
261
270
  }
262
271
 
272
+ static round(v: DyFM_Vector2, decimals: number = 0): DyFM_Vector2_Util {
273
+ return new DyFM_Vector2_Util(
274
+ DyFM_Math.round(v.x, decimals),
275
+ DyFM_Math.round(v.y, decimals)
276
+ );
277
+ }
278
+
279
+ static toVector2(v: DyFM_Vector2_Util): DyFM_Vector2 {
280
+ return (new DyFM_Vector2_Util(v)).get();
281
+ }
282
+
263
283
  get(): DyFM_Vector2 {
264
284
  return { x: this.x, y: this.y };
265
285
  }
266
286
  getVector2 = this.get;
287
+ toVector2 = this.get;
267
288
  }
268
289
 
269
290
 
@@ -164,4 +164,28 @@ export class DyFM_Shared {
164
164
 
165
165
  return newData;
166
166
  }
167
+
168
+ /**
169
+ * recursive function that returns mutated data structure,
170
+ * with locations at which circular references are found
171
+ */
172
+ static resolveCirculation<T>(data: T, location: string[] = [], objs: any[] = []): any {
173
+ const newData = {};
174
+
175
+ Object.keys(data).forEach((key: string): void => {
176
+ if (typeof data[key] === 'object' || Array.isArray(data[key])) {
177
+ if (objs.includes(data[key])) {
178
+ newData[key] = location.join('.');
179
+ } else {
180
+ objs.push(data[key]);
181
+ newData[key] = this.resolveCirculation(data[key], [ ...location, key ], objs);
182
+ }
183
+ } else {
184
+ newData[key] = data[key];
185
+ }
186
+ });
187
+
188
+ return newData;
189
+ }
190
+
167
191
  }
@@ -1,16 +1,17 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { DyFM_Log } from './log.util';
2
3
 
3
4
  const defaultErrorMsg =
4
5
  ' failed. ' +
5
- '\nThis might be happening becouse the object you trying to clone, ' +
6
- 'containes object hooks for its own objects, therefore its creating an object loop. ' +
6
+ '\nThis might be happening because the object you trying to clone, ' +
7
+ 'contains object hooks for its own objects, therefore its creating an object loop. ' +
7
8
  'See further information in the detailed error:\n\n';
8
9
 
9
10
  export function DyFM_clone<T>(object: T): T {
10
11
  try {
11
12
  return object ? JSON.parse(JSON.stringify(object)) as T : object;
12
13
  } catch (error) {
13
- console.error(
14
+ DyFM_Log.error(
14
15
  'clone()' + defaultErrorMsg,
15
16
  error
16
17
  );
@@ -30,7 +31,7 @@ export function DyFM_surfaceClone<T>(object: T): T {
30
31
 
31
32
  return result as T;
32
33
  } catch (error) {
33
- console.error(
34
+ DyFM_Log.error(
34
35
  'surfaceClone()' + defaultErrorMsg,
35
36
  error
36
37
  );
@@ -40,11 +41,44 @@ export function DyFM_surfaceClone<T>(object: T): T {
40
41
  }
41
42
  export const DyFM_surfaceCopy = DyFM_surfaceClone;
42
43
 
44
+ export function DyFM_deepClone<T>(object: T): T {
45
+ try {
46
+ const result = {};
47
+
48
+ Object.keys(object).forEach((key: string): void => {
49
+ if (typeof object[key] === 'object') {
50
+ result[key] = DyFM_deepClone(object[key]);
51
+ } else if (Array.isArray(object[key])) {
52
+ result[key] = object[key].map((item: any): any => DyFM_deepClone(item));
53
+ } else {
54
+ result[key] = object[key];
55
+ }
56
+ });
57
+
58
+ return result as T;
59
+ } catch (error) {
60
+ DyFM_Log.error(
61
+ 'deepClone()' + defaultErrorMsg,
62
+ error
63
+ );
64
+
65
+ throw error;
66
+ }
67
+ }
68
+
69
+ /**
70
+ * A simple object comparison function that uses JSON.stringify() to compare objects.
71
+ *
72
+ * We experienced that sameObjects() function is not working properly for cases when
73
+ * deleting a key from the objects (to prevent strict results).
74
+ * So, we created orderedSameObject() function to prevent that issue.
75
+ * But be aware that, that function is not as fast as sameObjects() function.
76
+ */
43
77
  export function DyFM_sameObjects<T>(objA: T, objB: T): boolean {
44
78
  try {
45
79
  return JSON.stringify(objA) === JSON.stringify(objB);
46
80
  } catch (error) {
47
- console.error(
81
+ DyFM_Log.error(
48
82
  'sameObjects()' + defaultErrorMsg,
49
83
  error
50
84
  );
@@ -53,6 +87,110 @@ export function DyFM_sameObjects<T>(objA: T, objB: T): boolean {
53
87
  }
54
88
  }
55
89
 
90
+ /**
91
+ * We experienced that sameObjects() function is not working properly for cases when
92
+ * deleting a key from the objects (to prevent strict results).
93
+ *
94
+ * This function is created to prevent that issue.
95
+ * But be aware that this function is not as fast as sameObjects() function.
96
+ */
97
+ export function DyFM_orderedSameObject<T>(objA: T, objB: T): boolean {
98
+ try {
99
+ if (
100
+ typeof objA !== 'object' ||
101
+ typeof objB !== 'object' ||
102
+ Array.isArray(objA) ||
103
+ Array.isArray(objB) ||
104
+ objA === null ||
105
+ objB === null ||
106
+ objA === undefined ||
107
+ objB === undefined
108
+ ) {
109
+ return JSON.stringify(objA) === JSON.stringify(objB);
110
+ }
111
+
112
+ const keysA = Object.keys(objA);
113
+ const keysB = Object.keys(objB);
114
+
115
+ if (keysA.length !== keysB.length) {
116
+ return false;
117
+ }
118
+
119
+ keysA.sort();
120
+ keysB.sort();
121
+
122
+ for (let i = 0; i < keysA.length; i++) {
123
+ if (JSON.stringify(keysA[i]) !== JSON.stringify(keysB[i])) {
124
+ return false;
125
+ }
126
+ }
127
+
128
+ return true;
129
+ } catch (error) {
130
+ /* try {
131
+ return DyFM_orderedSameObject2(objA, objB);
132
+ } catch (error) { */
133
+ DyFM_Log.error(
134
+ 'orderedSameObject()' + defaultErrorMsg,
135
+ error
136
+ );
137
+
138
+ throw error;
139
+ /* } */
140
+ }
141
+ }
142
+
143
+ export function DyFM_orderedSameObject2<T>(objA: T, objB: T): boolean {
144
+ try {
145
+ console.log('using orderedSameObject2');
146
+
147
+ if (
148
+ typeof objA !== 'object' ||
149
+ typeof objB !== 'object' ||
150
+ Array.isArray(objA) ||
151
+ Array.isArray(objB) ||
152
+ objA === null ||
153
+ objB === null ||
154
+ objA === undefined ||
155
+ objB === undefined
156
+ ) {
157
+ return JSON.stringify(objA) === JSON.stringify(objB);
158
+ }
159
+
160
+ return JSON.stringify(
161
+ objA,
162
+ Object.keys(objA).sort()
163
+ ) === JSON.stringify(
164
+ objB,
165
+ Object.keys(objB).sort()
166
+ );
167
+ } catch (error) {
168
+ DyFM_Log.error(
169
+ 'sameObjects()' + defaultErrorMsg,
170
+ error
171
+ );
172
+
173
+ throw error;
174
+ }
175
+ }
176
+
177
+
178
+
179
+
180
+
181
+ export function DyFM_sameObjectSurface<T>(objA: T, objB: T): boolean {
182
+ let result = true;
183
+
184
+ for (const key in objA) {
185
+ if (objA[key] !== objB[key]) {
186
+ result = false;
187
+ break;
188
+ }
189
+ }
190
+
191
+ return result;
192
+ }
193
+
56
194
  /**
57
195
  * sets values if its existing on To, even if its null (but if undefined)
58
196
  * @param setOn
@@ -96,6 +234,30 @@ export function DyFM_waitUntil(
96
234
  });
97
235
  }
98
236
 
237
+ /**
238
+ * WARNING: This function is recommended to use ONLY for limited instances,
239
+ * because it can cause performance issues.
240
+ */
241
+ export function DyFM_waitUntilAsync(
242
+ check: () => Promise<boolean>,
243
+ interval: number = 100,
244
+ timeout: number = 10000
245
+ ): Promise<void> {
246
+ return new Promise((resolve, reject): void => {
247
+ const startTime = Date.now();
248
+
249
+ const intervalId = setInterval(async (): Promise<void> => {
250
+ if (await check()) {
251
+ clearInterval(intervalId);
252
+ resolve();
253
+ } else if (Date.now() - startTime > timeout) {
254
+ clearInterval(intervalId);
255
+ reject('timeout');
256
+ }
257
+ }, interval);
258
+ });
259
+ }
260
+
99
261
  /**
100
262
  * Creates a promise that resolves when the observable emits a value that passes the check function
101
263
  */
@@ -147,7 +309,8 @@ export function DyFM_sortForTrue<T>(
147
309
  * codes.sort(getSortForTrueFn((c: Code) => c.haveImg));
148
310
  */
149
311
  export function DyFM_getSortForTrueFn<T>(
150
- checkFor: (a: T) => boolean): (a: T, b: T) => DyFM_SortDirection {
312
+ checkFor: (a: T) => boolean
313
+ ): (a: T, b: T) => DyFM_SortDirection {
151
314
  return (a: T, b: T): DyFM_SortDirection => DyFM_sortForTrue<T>(a, b, checkFor);
152
315
  }
153
316
 
Binary file