@vived/core 1.4.0 → 1.4.1

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 (177) hide show
  1. package/package.json +3 -6
  2. package/dist/cjs/AppObject/AppObject.js +0 -59
  3. package/dist/cjs/AppObject/AppObject.js.map +0 -1
  4. package/dist/cjs/AppObject/AppObject.test.js +0 -113
  5. package/dist/cjs/AppObject/AppObject.test.js.map +0 -1
  6. package/dist/cjs/AppObject/AppObjectComponent.js +0 -82
  7. package/dist/cjs/AppObject/AppObjectComponent.js.map +0 -1
  8. package/dist/cjs/AppObject/AppObjectComponent.test.js +0 -132
  9. package/dist/cjs/AppObject/AppObjectComponent.test.js.map +0 -1
  10. package/dist/cjs/AppObject/AppObjectController.js +0 -12
  11. package/dist/cjs/AppObject/AppObjectController.js.map +0 -1
  12. package/dist/cjs/AppObject/AppObjectEntity.js +0 -38
  13. package/dist/cjs/AppObject/AppObjectEntity.js.map +0 -1
  14. package/dist/cjs/AppObject/AppObjectEntity.test.js +0 -108
  15. package/dist/cjs/AppObject/AppObjectEntity.test.js.map +0 -1
  16. package/dist/cjs/AppObject/AppObjectEntityRepo.js +0 -56
  17. package/dist/cjs/AppObject/AppObjectEntityRepo.js.map +0 -1
  18. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js +0 -149
  19. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js.map +0 -1
  20. package/dist/cjs/AppObject/AppObjectPM.js +0 -40
  21. package/dist/cjs/AppObject/AppObjectPM.js.map +0 -1
  22. package/dist/cjs/AppObject/AppObjectPM.test.js +0 -103
  23. package/dist/cjs/AppObject/AppObjectPM.test.js.map +0 -1
  24. package/dist/cjs/AppObject/AppObjectRepo.js +0 -133
  25. package/dist/cjs/AppObject/AppObjectRepo.js.map +0 -1
  26. package/dist/cjs/AppObject/AppObjectRepo.test.js +0 -213
  27. package/dist/cjs/AppObject/AppObjectRepo.test.js.map +0 -1
  28. package/dist/cjs/AppObject/AppObjectUC.js +0 -12
  29. package/dist/cjs/AppObject/AppObjectUC.js.map +0 -1
  30. package/dist/cjs/AppObject/AppObjectView.js +0 -12
  31. package/dist/cjs/AppObject/AppObjectView.js.map +0 -1
  32. package/dist/cjs/AppObject/getSingletonComponent.js +0 -7
  33. package/dist/cjs/AppObject/getSingletonComponent.js.map +0 -1
  34. package/dist/cjs/AppObject/getSingletonComponent.test.js +0 -13
  35. package/dist/cjs/AppObject/getSingletonComponent.test.js.map +0 -1
  36. package/dist/cjs/AppObject/index.js +0 -27
  37. package/dist/cjs/AppObject/index.js.map +0 -1
  38. package/dist/cjs/AppObject/printAppObjectDetails.js +0 -18
  39. package/dist/cjs/AppObject/printAppObjectDetails.js.map +0 -1
  40. package/dist/cjs/Entities/MemoizedAngle.js +0 -23
  41. package/dist/cjs/Entities/MemoizedAngle.js.map +0 -1
  42. package/dist/cjs/Entities/MemoizedAngle.test.js +0 -30
  43. package/dist/cjs/Entities/MemoizedAngle.test.js.map +0 -1
  44. package/dist/cjs/Entities/MemoizedBoolean.js +0 -23
  45. package/dist/cjs/Entities/MemoizedBoolean.js.map +0 -1
  46. package/dist/cjs/Entities/MemoizedBoolean.test.js +0 -34
  47. package/dist/cjs/Entities/MemoizedBoolean.test.js.map +0 -1
  48. package/dist/cjs/Entities/MemoizedColor.js +0 -24
  49. package/dist/cjs/Entities/MemoizedColor.js.map +0 -1
  50. package/dist/cjs/Entities/MemoizedColor.test.js +0 -32
  51. package/dist/cjs/Entities/MemoizedColor.test.js.map +0 -1
  52. package/dist/cjs/Entities/MemoizedNumber.js +0 -23
  53. package/dist/cjs/Entities/MemoizedNumber.js.map +0 -1
  54. package/dist/cjs/Entities/MemoizedNumber.test.js +0 -29
  55. package/dist/cjs/Entities/MemoizedNumber.test.js.map +0 -1
  56. package/dist/cjs/Entities/MemoizedQuaternion.js +0 -24
  57. package/dist/cjs/Entities/MemoizedQuaternion.js.map +0 -1
  58. package/dist/cjs/Entities/MemoizedQuaternion.test.js +0 -32
  59. package/dist/cjs/Entities/MemoizedQuaternion.test.js.map +0 -1
  60. package/dist/cjs/Entities/MemoizedString.js +0 -23
  61. package/dist/cjs/Entities/MemoizedString.js.map +0 -1
  62. package/dist/cjs/Entities/MemoizedString.test.js +0 -29
  63. package/dist/cjs/Entities/MemoizedString.test.js.map +0 -1
  64. package/dist/cjs/Entities/MemoizedVector2.js +0 -24
  65. package/dist/cjs/Entities/MemoizedVector2.js.map +0 -1
  66. package/dist/cjs/Entities/MemoizedVector2.test.js +0 -32
  67. package/dist/cjs/Entities/MemoizedVector2.test.js.map +0 -1
  68. package/dist/cjs/Entities/MemoizedVector3.js +0 -24
  69. package/dist/cjs/Entities/MemoizedVector3.js.map +0 -1
  70. package/dist/cjs/Entities/MemoizedVector3.test.js +0 -32
  71. package/dist/cjs/Entities/MemoizedVector3.test.js.map +0 -1
  72. package/dist/cjs/Entities/ObservableEntity.js +0 -20
  73. package/dist/cjs/Entities/ObservableEntity.js.map +0 -1
  74. package/dist/cjs/Entities/ObservableEntity.test.js +0 -25
  75. package/dist/cjs/Entities/ObservableEntity.test.js.map +0 -1
  76. package/dist/cjs/Entities/ObserverList.js +0 -27
  77. package/dist/cjs/Entities/ObserverList.js.map +0 -1
  78. package/dist/cjs/Entities/ObserverList.test.js +0 -44
  79. package/dist/cjs/Entities/ObserverList.test.js.map +0 -1
  80. package/dist/cjs/Entities/RangedNumber.js +0 -36
  81. package/dist/cjs/Entities/RangedNumber.js.map +0 -1
  82. package/dist/cjs/Entities/RangedNumber.test.js +0 -96
  83. package/dist/cjs/Entities/RangedNumber.test.js.map +0 -1
  84. package/dist/cjs/Entities/index.js +0 -28
  85. package/dist/cjs/Entities/index.js.map +0 -1
  86. package/dist/cjs/Types/AppBoundary.js +0 -3
  87. package/dist/cjs/Types/AppBoundary.js.map +0 -1
  88. package/dist/cjs/Types/EaseFn.js +0 -3
  89. package/dist/cjs/Types/EaseFn.js.map +0 -1
  90. package/dist/cjs/Types/PmAdapter.js +0 -3
  91. package/dist/cjs/Types/PmAdapter.js.map +0 -1
  92. package/dist/cjs/Types/SingletonPmAdapter.js +0 -3
  93. package/dist/cjs/Types/SingletonPmAdapter.js.map +0 -1
  94. package/dist/cjs/Types/index.js +0 -21
  95. package/dist/cjs/Types/index.js.map +0 -1
  96. package/dist/cjs/Utilities/LengthConverters.js +0 -21
  97. package/dist/cjs/Utilities/LengthConverters.js.map +0 -1
  98. package/dist/cjs/Utilities/LengthConverters.test.js +0 -24
  99. package/dist/cjs/Utilities/LengthConverters.test.js.map +0 -1
  100. package/dist/cjs/Utilities/LerpNumber.js +0 -85
  101. package/dist/cjs/Utilities/LerpNumber.js.map +0 -1
  102. package/dist/cjs/Utilities/LerpNumber.test.js +0 -90
  103. package/dist/cjs/Utilities/LerpNumber.test.js.map +0 -1
  104. package/dist/cjs/Utilities/addAlphaToHex.js +0 -16
  105. package/dist/cjs/Utilities/addAlphaToHex.js.map +0 -1
  106. package/dist/cjs/Utilities/addAlphaToHex.test.js +0 -34
  107. package/dist/cjs/Utilities/addAlphaToHex.test.js.map +0 -1
  108. package/dist/cjs/Utilities/alphaToHex.js +0 -21
  109. package/dist/cjs/Utilities/alphaToHex.js.map +0 -1
  110. package/dist/cjs/Utilities/alphaToHex.test.js +0 -75
  111. package/dist/cjs/Utilities/alphaToHex.test.js.map +0 -1
  112. package/dist/cjs/Utilities/degreesToRadians.js +0 -7
  113. package/dist/cjs/Utilities/degreesToRadians.js.map +0 -1
  114. package/dist/cjs/Utilities/degreesToRadians.test.js +0 -9
  115. package/dist/cjs/Utilities/degreesToRadians.test.js.map +0 -1
  116. package/dist/cjs/Utilities/downloadFile.js +0 -14
  117. package/dist/cjs/Utilities/downloadFile.js.map +0 -1
  118. package/dist/cjs/Utilities/easeFunctions.js +0 -208
  119. package/dist/cjs/Utilities/easeFunctions.js.map +0 -1
  120. package/dist/cjs/Utilities/easeFunctions.test.js +0 -209
  121. package/dist/cjs/Utilities/easeFunctions.test.js.map +0 -1
  122. package/dist/cjs/Utilities/generateUniqueID.js +0 -8
  123. package/dist/cjs/Utilities/generateUniqueID.js.map +0 -1
  124. package/dist/cjs/Utilities/index.js +0 -25
  125. package/dist/cjs/Utilities/index.js.map +0 -1
  126. package/dist/cjs/Utilities/interpolateNumber.js +0 -18
  127. package/dist/cjs/Utilities/interpolateNumber.js.map +0 -1
  128. package/dist/cjs/Utilities/interpolateNumber.test.js +0 -26
  129. package/dist/cjs/Utilities/interpolateNumber.test.js.map +0 -1
  130. package/dist/cjs/ValueObjects/Angle.js +0 -47
  131. package/dist/cjs/ValueObjects/Angle.js.map +0 -1
  132. package/dist/cjs/ValueObjects/Angle.test.js +0 -28
  133. package/dist/cjs/ValueObjects/Angle.test.js.map +0 -1
  134. package/dist/cjs/ValueObjects/Color.js +0 -859
  135. package/dist/cjs/ValueObjects/Color.js.map +0 -1
  136. package/dist/cjs/ValueObjects/Color.test.js +0 -147
  137. package/dist/cjs/ValueObjects/Color.test.js.map +0 -1
  138. package/dist/cjs/ValueObjects/LineSegment2D.js +0 -72
  139. package/dist/cjs/ValueObjects/LineSegment2D.js.map +0 -1
  140. package/dist/cjs/ValueObjects/LineSegment2D.test.js +0 -102
  141. package/dist/cjs/ValueObjects/LineSegment2D.test.js.map +0 -1
  142. package/dist/cjs/ValueObjects/Matrix.js +0 -466
  143. package/dist/cjs/ValueObjects/Matrix.js.map +0 -1
  144. package/dist/cjs/ValueObjects/Matrix.test.js +0 -385
  145. package/dist/cjs/ValueObjects/Matrix.test.js.map +0 -1
  146. package/dist/cjs/ValueObjects/ParametricLine.js +0 -77
  147. package/dist/cjs/ValueObjects/ParametricLine.js.map +0 -1
  148. package/dist/cjs/ValueObjects/ParametricLine.test.js +0 -126
  149. package/dist/cjs/ValueObjects/ParametricLine.test.js.map +0 -1
  150. package/dist/cjs/ValueObjects/ParametricPlane.js +0 -65
  151. package/dist/cjs/ValueObjects/ParametricPlane.js.map +0 -1
  152. package/dist/cjs/ValueObjects/ParametricPlane.test.js +0 -101
  153. package/dist/cjs/ValueObjects/ParametricPlane.test.js.map +0 -1
  154. package/dist/cjs/ValueObjects/Quaternion.js +0 -290
  155. package/dist/cjs/ValueObjects/Quaternion.js.map +0 -1
  156. package/dist/cjs/ValueObjects/Quaternion.test.js +0 -240
  157. package/dist/cjs/ValueObjects/Quaternion.test.js.map +0 -1
  158. package/dist/cjs/ValueObjects/Rectangle.js +0 -24
  159. package/dist/cjs/ValueObjects/Rectangle.js.map +0 -1
  160. package/dist/cjs/ValueObjects/Rectangle.test.js +0 -32
  161. package/dist/cjs/ValueObjects/Rectangle.test.js.map +0 -1
  162. package/dist/cjs/ValueObjects/Vector2.js +0 -184
  163. package/dist/cjs/ValueObjects/Vector2.js.map +0 -1
  164. package/dist/cjs/ValueObjects/Vector2.test.js +0 -136
  165. package/dist/cjs/ValueObjects/Vector2.test.js.map +0 -1
  166. package/dist/cjs/ValueObjects/Vector3.js +0 -231
  167. package/dist/cjs/ValueObjects/Vector3.js.map +0 -1
  168. package/dist/cjs/ValueObjects/Vector3.test.js +0 -188
  169. package/dist/cjs/ValueObjects/Vector3.test.js.map +0 -1
  170. package/dist/cjs/ValueObjects/Version.js +0 -171
  171. package/dist/cjs/ValueObjects/Version.js.map +0 -1
  172. package/dist/cjs/ValueObjects/Version.test.js +0 -310
  173. package/dist/cjs/ValueObjects/Version.test.js.map +0 -1
  174. package/dist/cjs/ValueObjects/index.js +0 -28
  175. package/dist/cjs/ValueObjects/index.js.map +0 -1
  176. package/dist/cjs/index.js +0 -22
  177. package/dist/cjs/index.js.map +0 -1
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./addAlphaToHex"), exports);
18
- __exportStar(require("./alphaToHex"), exports);
19
- __exportStar(require("./degreesToRadians"), exports);
20
- __exportStar(require("./downloadFile"), exports);
21
- __exportStar(require("./LengthConverters"), exports);
22
- __exportStar(require("./generateUniqueID"), exports);
23
- __exportStar(require("./easeFunctions"), exports);
24
- __exportStar(require("./interpolateNumber"), exports);
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,+CAA6B;AAC7B,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,sDAAoC","sourcesContent":["export * from \"./addAlphaToHex\";\r\nexport * from \"./alphaToHex\";\r\nexport * from \"./degreesToRadians\";\r\nexport * from \"./downloadFile\";\r\nexport * from \"./LengthConverters\";\r\nexport * from \"./generateUniqueID\";\r\nexport * from \"./easeFunctions\";\r\nexport * from \"./interpolateNumber\";\r\n"]}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.interpolateNumber = interpolateNumber;
4
- function interpolateNumber(start, end, percent, clamp = false) {
5
- const range = end - start;
6
- if (!clamp) {
7
- return percent * range + start;
8
- }
9
- let clampedP = percent;
10
- if (clampedP < 0) {
11
- clampedP = 0;
12
- }
13
- else if (clampedP > 1) {
14
- clampedP = 1;
15
- }
16
- return clampedP * range + start;
17
- }
18
- //# sourceMappingURL=interpolateNumber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpolateNumber.js","sourceRoot":"","sources":["../../../src/Utilities/interpolateNumber.ts"],"names":[],"mappings":";;AAAA,8CAoBC;AApBD,SAAgB,iBAAiB,CAC/B,KAAa,EACb,GAAW,EACX,OAAe,EACf,QAAiB,KAAK;IAEtB,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;IAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,GAAG,OAAO,CAAC;IACvB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAClC,CAAC","sourcesContent":["export function interpolateNumber(\r\n start: number,\r\n end: number,\r\n percent: number,\r\n clamp: boolean = false\r\n): number {\r\n const range = end - start;\r\n\r\n if (!clamp) {\r\n return percent * range + start;\r\n }\r\n\r\n let clampedP = percent;\r\n if (clampedP < 0) {\r\n clampedP = 0;\r\n } else if (clampedP > 1) {\r\n clampedP = 1;\r\n }\r\n\r\n return clampedP * range + start;\r\n}\r\n"]}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const interpolateNumber_1 = require("./interpolateNumber");
4
- describe("Lerp number", () => {
5
- it("Interpolate as expected", () => {
6
- const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, 0.5);
7
- expect(lerpedVal).toEqual(5);
8
- });
9
- it("Interpolate without clamping", () => {
10
- const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, -0.5);
11
- expect(lerpedVal).toEqual(-5);
12
- });
13
- it("Interpolate without clamping", () => {
14
- const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, 1.5);
15
- expect(lerpedVal).toEqual(15);
16
- });
17
- it("Interpolate with clamping", () => {
18
- const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, -0.5, true);
19
- expect(lerpedVal).toEqual(0);
20
- });
21
- it("Interpolate with clamping", () => {
22
- const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, 1.5, true);
23
- expect(lerpedVal).toEqual(10);
24
- });
25
- });
26
- //# sourceMappingURL=interpolateNumber.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpolateNumber.test.js","sourceRoot":"","sources":["../../../src/Utilities/interpolateNumber.test.ts"],"names":[],"mappings":";;AAAA,2DAAwD;AAExD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { interpolateNumber } from \"./interpolateNumber\";\r\n\r\ndescribe(\"Lerp number\", () => {\r\n it(\"Interpolate as expected\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, 0.5);\r\n expect(lerpedVal).toEqual(5);\r\n });\r\n\r\n it(\"Interpolate without clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, -0.5);\r\n expect(lerpedVal).toEqual(-5);\r\n });\r\n\r\n it(\"Interpolate without clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, 1.5);\r\n expect(lerpedVal).toEqual(15);\r\n });\r\n\r\n it(\"Interpolate with clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, -0.5, true);\r\n expect(lerpedVal).toEqual(0);\r\n });\r\n\r\n it(\"Interpolate with clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, 1.5, true);\r\n expect(lerpedVal).toEqual(10);\r\n });\r\n});\r\n"]}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Angle = void 0;
4
- class Angle {
5
- /**
6
- * Creates an angle from degrees
7
- * @param degrees Angle in degrees
8
- * @returns The angle
9
- */
10
- static FromDegrees(degrees) {
11
- return new Angle(degrees);
12
- }
13
- /**
14
- * Creates an angle from radians
15
- * @param radians Angle in radians
16
- * @returns The angle
17
- */
18
- static FromRadians(radians) {
19
- return new Angle((radians * 180) / Math.PI);
20
- }
21
- /**
22
- * Check to see if two angles are close
23
- * @param a Angle A
24
- * @param b Angle B
25
- * @param tolerance Tolerance for "Close" in degrees. Defaults to 0.001;
26
- * @returns True if the difference between A and B (in degress) is less than the tolerance
27
- */
28
- static Close(a, b, tolerance = 0.001) {
29
- let diff = a.degrees - b.degrees;
30
- if (diff < 0) {
31
- diff = -diff;
32
- }
33
- return diff < tolerance;
34
- }
35
- get degrees() {
36
- return this._degrees;
37
- }
38
- get radians() {
39
- return (this._degrees * Math.PI) / 180;
40
- }
41
- constructor(degrees) {
42
- this._degrees = 0;
43
- this._degrees = degrees;
44
- }
45
- }
46
- exports.Angle = Angle;
47
- //# sourceMappingURL=Angle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Angle.js","sourceRoot":"","sources":["../../../src/ValueObjects/Angle.ts"],"names":[],"mappings":";;;AAAA,MAAa,KAAK;IAChB;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe;QACvC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe;QACvC,OAAO,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,CAAQ,EAAE,CAAQ,EAAE,YAAoB,KAAK;QAC/D,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,IAAI,CAAC;QACf,CAAC;QACD,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAGD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACzC,CAAC;IAED,YAAoB,OAAe;QAT3B,aAAQ,GAAG,CAAC,CAAC;QAUnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;CACF;AA9CD,sBA8CC","sourcesContent":["export class Angle {\r\n /**\r\n * Creates an angle from degrees\r\n * @param degrees Angle in degrees\r\n * @returns The angle\r\n */\r\n public static FromDegrees(degrees: number): Angle {\r\n return new Angle(degrees);\r\n }\r\n\r\n /**\r\n * Creates an angle from radians\r\n * @param radians Angle in radians\r\n * @returns The angle\r\n */\r\n public static FromRadians(radians: number): Angle {\r\n return new Angle((radians * 180) / Math.PI);\r\n }\r\n\r\n /**\r\n * Check to see if two angles are close\r\n * @param a Angle A\r\n * @param b Angle B\r\n * @param tolerance Tolerance for \"Close\" in degrees. Defaults to 0.001;\r\n * @returns True if the difference between A and B (in degress) is less than the tolerance\r\n */\r\n public static Close(a: Angle, b: Angle, tolerance: number = 0.001): boolean {\r\n let diff = a.degrees - b.degrees;\r\n if (diff < 0) {\r\n diff = -diff;\r\n }\r\n return diff < tolerance;\r\n }\r\n\r\n private _degrees = 0;\r\n public get degrees() {\r\n return this._degrees;\r\n }\r\n\r\n public get radians() {\r\n return (this._degrees * Math.PI) / 180;\r\n }\r\n\r\n private constructor(degrees: number) {\r\n this._degrees = degrees;\r\n }\r\n}\r\n"]}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Angle_1 = require("./Angle");
4
- describe("Angle Value Object", () => {
5
- it("Creates an angle from degrees", () => {
6
- const ang = Angle_1.Angle.FromDegrees(125);
7
- expect(ang.degrees).toEqual(125);
8
- });
9
- it("Creates an angle from degrees", () => {
10
- const ang = Angle_1.Angle.FromRadians(1.25);
11
- expect(ang.radians).toEqual(1.25);
12
- });
13
- it("Converts from degrees and radians", () => {
14
- const ang = Angle_1.Angle.FromDegrees(125);
15
- expect(ang.radians).toBeCloseTo(2.18166);
16
- });
17
- it("Converts from radians to degrees", () => {
18
- const ang = Angle_1.Angle.FromRadians(1.25);
19
- expect(ang.degrees).toBeCloseTo(71.61972);
20
- });
21
- it("Checks for closeness", () => {
22
- const ang1 = Angle_1.Angle.FromDegrees(1.555);
23
- const ang2 = Angle_1.Angle.FromDegrees(1.556);
24
- expect(Angle_1.Angle.Close(ang1, ang2, 0.0011)).toEqual(true);
25
- expect(Angle_1.Angle.Close(ang1, ang2, 0.001)).toEqual(false);
26
- });
27
- });
28
- //# sourceMappingURL=Angle.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Angle.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Angle.test.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAChC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { Angle } from \"./Angle\";\r\ndescribe(\"Angle Value Object\", () => {\r\n it(\"Creates an angle from degrees\", () => {\r\n const ang = Angle.FromDegrees(125);\r\n expect(ang.degrees).toEqual(125);\r\n });\r\n\r\n it(\"Creates an angle from degrees\", () => {\r\n const ang = Angle.FromRadians(1.25);\r\n expect(ang.radians).toEqual(1.25);\r\n });\r\n\r\n it(\"Converts from degrees and radians\", () => {\r\n const ang = Angle.FromDegrees(125);\r\n expect(ang.radians).toBeCloseTo(2.18166);\r\n });\r\n\r\n it(\"Converts from radians to degrees\", () => {\r\n const ang = Angle.FromRadians(1.25);\r\n expect(ang.degrees).toBeCloseTo(71.61972);\r\n });\r\n\r\n it(\"Checks for closeness\", ()=>{\r\n const ang1 = Angle.FromDegrees(1.555);\r\n const ang2 = Angle.FromDegrees(1.556);\r\n\r\n expect(Angle.Close(ang1, ang2, 0.0011)).toEqual(true);\r\n expect(Angle.Close(ang1, ang2, 0.001)).toEqual(false);\r\n })\r\n});\r\n"]}