@vived/core 1.0.1 → 1.2.0

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 (115) hide show
  1. package/dist/cjs/Entities/RangedNumber.js +36 -0
  2. package/dist/cjs/Entities/RangedNumber.js.map +1 -0
  3. package/dist/cjs/Entities/RangedNumber.test.js +96 -0
  4. package/dist/cjs/Entities/RangedNumber.test.js.map +1 -0
  5. package/dist/cjs/Entities/index.js +3 -2
  6. package/dist/cjs/Entities/index.js.map +1 -1
  7. package/dist/cjs/Utilities/LengthConverters.js +21 -0
  8. package/dist/cjs/Utilities/LengthConverters.js.map +1 -0
  9. package/dist/cjs/Utilities/LengthConverters.test.js +24 -0
  10. package/dist/cjs/Utilities/LengthConverters.test.js.map +1 -0
  11. package/dist/cjs/Utilities/LerpNumber.js +85 -0
  12. package/dist/cjs/Utilities/LerpNumber.js.map +1 -0
  13. package/dist/cjs/Utilities/LerpNumber.test.js +90 -0
  14. package/dist/cjs/Utilities/LerpNumber.test.js.map +1 -0
  15. package/dist/cjs/Utilities/degreesToRadians.js +7 -0
  16. package/dist/cjs/Utilities/degreesToRadians.js.map +1 -0
  17. package/dist/cjs/Utilities/degreesToRadians.test.js +9 -0
  18. package/dist/cjs/Utilities/degreesToRadians.test.js.map +1 -0
  19. package/dist/cjs/Utilities/easeFunctions.js +208 -0
  20. package/dist/cjs/Utilities/easeFunctions.js.map +1 -0
  21. package/dist/cjs/Utilities/easeFunctions.test.js +209 -0
  22. package/dist/cjs/Utilities/easeFunctions.test.js.map +1 -0
  23. package/dist/cjs/Utilities/generateUniqueID.js +8 -0
  24. package/dist/cjs/Utilities/generateUniqueID.js.map +1 -0
  25. package/dist/cjs/Utilities/index.js +22 -0
  26. package/dist/cjs/Utilities/index.js.map +1 -0
  27. package/dist/cjs/Utilities/interpolateNumber.js +18 -0
  28. package/dist/cjs/Utilities/interpolateNumber.js.map +1 -0
  29. package/dist/cjs/Utilities/interpolateNumber.test.js +26 -0
  30. package/dist/cjs/Utilities/interpolateNumber.test.js.map +1 -0
  31. package/dist/cjs/index.js +1 -0
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/esm/Entities/RangedNumber.js +32 -0
  34. package/dist/esm/Entities/RangedNumber.js.map +1 -0
  35. package/dist/esm/Entities/RangedNumber.test.js +94 -0
  36. package/dist/esm/Entities/RangedNumber.test.js.map +1 -0
  37. package/dist/esm/Entities/index.js +3 -2
  38. package/dist/esm/Entities/index.js.map +1 -1
  39. package/dist/esm/Utilities/LengthConverters.js +15 -0
  40. package/dist/esm/Utilities/LengthConverters.js.map +1 -0
  41. package/dist/esm/Utilities/LengthConverters.test.js +22 -0
  42. package/dist/esm/Utilities/LengthConverters.test.js.map +1 -0
  43. package/dist/esm/Utilities/LerpNumber.js +81 -0
  44. package/dist/esm/Utilities/LerpNumber.js.map +1 -0
  45. package/dist/esm/Utilities/LerpNumber.test.js +88 -0
  46. package/dist/esm/Utilities/LerpNumber.test.js.map +1 -0
  47. package/dist/esm/Utilities/degreesToRadians.js +4 -0
  48. package/dist/esm/Utilities/degreesToRadians.js.map +1 -0
  49. package/dist/esm/Utilities/degreesToRadians.test.js +7 -0
  50. package/dist/esm/Utilities/degreesToRadians.test.js.map +1 -0
  51. package/dist/esm/Utilities/easeFunctions.js +183 -0
  52. package/dist/esm/Utilities/easeFunctions.js.map +1 -0
  53. package/dist/esm/Utilities/easeFunctions.test.js +207 -0
  54. package/dist/esm/Utilities/easeFunctions.test.js.map +1 -0
  55. package/dist/esm/Utilities/generateUniqueID.js +5 -0
  56. package/dist/esm/Utilities/generateUniqueID.js.map +1 -0
  57. package/dist/esm/Utilities/index.js +6 -0
  58. package/dist/esm/Utilities/index.js.map +1 -0
  59. package/dist/esm/Utilities/interpolateNumber.js +15 -0
  60. package/dist/esm/Utilities/interpolateNumber.js.map +1 -0
  61. package/dist/esm/Utilities/interpolateNumber.test.js +24 -0
  62. package/dist/esm/Utilities/interpolateNumber.test.js.map +1 -0
  63. package/dist/esm/index.js +1 -0
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  66. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  67. package/dist/types/Entities/RangedNumber.d.ts +17 -0
  68. package/dist/types/Entities/RangedNumber.d.ts.map +1 -0
  69. package/dist/types/Entities/RangedNumber.test.d.ts +2 -0
  70. package/dist/types/Entities/RangedNumber.test.d.ts.map +1 -0
  71. package/dist/types/Entities/index.d.ts +3 -2
  72. package/dist/types/Entities/index.d.ts.map +1 -1
  73. package/dist/types/Utilities/LengthConverters.d.ts +5 -0
  74. package/dist/types/Utilities/LengthConverters.d.ts.map +1 -0
  75. package/dist/types/Utilities/LengthConverters.test.d.ts +2 -0
  76. package/dist/types/Utilities/LengthConverters.test.d.ts.map +1 -0
  77. package/dist/types/Utilities/LerpNumber.d.ts +57 -0
  78. package/dist/types/Utilities/LerpNumber.d.ts.map +1 -0
  79. package/dist/types/Utilities/LerpNumber.test.d.ts +2 -0
  80. package/dist/types/Utilities/LerpNumber.test.d.ts.map +1 -0
  81. package/dist/types/Utilities/degreesToRadians.d.ts +2 -0
  82. package/dist/types/Utilities/degreesToRadians.d.ts.map +1 -0
  83. package/dist/types/Utilities/degreesToRadians.test.d.ts +2 -0
  84. package/dist/types/Utilities/degreesToRadians.test.d.ts.map +1 -0
  85. package/dist/types/Utilities/easeFunctions.d.ts +24 -0
  86. package/dist/types/Utilities/easeFunctions.d.ts.map +1 -0
  87. package/dist/types/Utilities/easeFunctions.test.d.ts +2 -0
  88. package/dist/types/Utilities/easeFunctions.test.d.ts.map +1 -0
  89. package/dist/types/Utilities/generateUniqueID.d.ts +2 -0
  90. package/dist/types/Utilities/generateUniqueID.d.ts.map +1 -0
  91. package/dist/types/Utilities/index.d.ts +6 -0
  92. package/dist/types/Utilities/index.d.ts.map +1 -0
  93. package/dist/types/Utilities/interpolateNumber.d.ts +2 -0
  94. package/dist/types/Utilities/interpolateNumber.d.ts.map +1 -0
  95. package/dist/types/Utilities/interpolateNumber.test.d.ts +2 -0
  96. package/dist/types/Utilities/interpolateNumber.test.d.ts.map +1 -0
  97. package/dist/types/index.d.ts +1 -0
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/package.json +6 -2
  100. package/src/Entities/RangedNumber.test.ts +118 -0
  101. package/src/Entities/RangedNumber.ts +45 -0
  102. package/src/Entities/index.ts +3 -2
  103. package/src/Utilities/LengthConverters.test.ts +30 -0
  104. package/src/Utilities/LengthConverters.ts +18 -0
  105. package/src/Utilities/LerpNumber.test.ts +109 -0
  106. package/src/Utilities/LerpNumber.ts +109 -0
  107. package/src/Utilities/degreesToRadians.test.ts +8 -0
  108. package/src/Utilities/degreesToRadians.ts +3 -0
  109. package/src/Utilities/easeFunctions.test.ts +251 -0
  110. package/src/Utilities/easeFunctions.ts +180 -0
  111. package/src/Utilities/generateUniqueID.ts +5 -0
  112. package/src/Utilities/index.ts +6 -0
  113. package/src/Utilities/interpolateNumber.test.ts +28 -0
  114. package/src/Utilities/interpolateNumber.ts +21 -0
  115. package/src/index.ts +1 -0
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const easeFunctions_1 = require("./easeFunctions");
4
+ it("Returns the proper values for ease linear", () => {
5
+ expect((0, easeFunctions_1.easeLinear)(-1)).toEqual(0);
6
+ expect((0, easeFunctions_1.easeLinear)(0)).toEqual(0);
7
+ expect((0, easeFunctions_1.easeLinear)(0.25)).toEqual(0.25);
8
+ expect((0, easeFunctions_1.easeLinear)(0.5)).toEqual(0.5);
9
+ expect((0, easeFunctions_1.easeLinear)(0.75)).toEqual(0.75);
10
+ expect((0, easeFunctions_1.easeLinear)(1)).toEqual(1);
11
+ expect((0, easeFunctions_1.easeLinear)(2)).toEqual(1);
12
+ });
13
+ // Quad
14
+ it("Returns the proper val for quad in", () => {
15
+ expect((0, easeFunctions_1.quadIn)(-1)).toEqual(0);
16
+ expect((0, easeFunctions_1.quadIn)(0)).toEqual(0);
17
+ expect((0, easeFunctions_1.quadIn)(0.25)).toEqual(0.0625);
18
+ expect((0, easeFunctions_1.quadIn)(0.5)).toEqual(0.25);
19
+ expect((0, easeFunctions_1.quadIn)(0.75)).toEqual(0.5625);
20
+ expect((0, easeFunctions_1.quadIn)(1)).toEqual(1);
21
+ expect((0, easeFunctions_1.quadIn)(2)).toEqual(1);
22
+ });
23
+ it("Returns the proper val for quad out", () => {
24
+ expect((0, easeFunctions_1.quadOut)(-1)).toEqual(0);
25
+ expect((0, easeFunctions_1.quadOut)(0)).toEqual(0);
26
+ expect((0, easeFunctions_1.quadOut)(0.25)).toEqual(0.4375);
27
+ expect((0, easeFunctions_1.quadOut)(0.5)).toEqual(0.75);
28
+ expect((0, easeFunctions_1.quadOut)(0.75)).toEqual(0.9375);
29
+ expect((0, easeFunctions_1.quadOut)(1)).toEqual(1);
30
+ expect((0, easeFunctions_1.quadOut)(2)).toEqual(1);
31
+ });
32
+ it("Returns the proper val for quad in out", () => {
33
+ expect((0, easeFunctions_1.quadInOut)(-1)).toEqual(0);
34
+ expect((0, easeFunctions_1.quadInOut)(0)).toEqual(0);
35
+ expect((0, easeFunctions_1.quadInOut)(0.25)).toEqual(0.125);
36
+ expect((0, easeFunctions_1.quadInOut)(0.5)).toEqual(0.5);
37
+ expect((0, easeFunctions_1.quadInOut)(0.75)).toEqual(0.875);
38
+ expect((0, easeFunctions_1.quadInOut)(1)).toEqual(1);
39
+ expect((0, easeFunctions_1.quadInOut)(2)).toEqual(1);
40
+ });
41
+ // Cubic
42
+ it("Returns the proper val for cubic in", () => {
43
+ expect((0, easeFunctions_1.cubicIn)(-1)).toEqual(0);
44
+ expect((0, easeFunctions_1.cubicIn)(0)).toEqual(0);
45
+ expect((0, easeFunctions_1.cubicIn)(0.25)).toEqual(0.015625);
46
+ expect((0, easeFunctions_1.cubicIn)(0.5)).toEqual(0.125);
47
+ expect((0, easeFunctions_1.cubicIn)(0.75)).toEqual(0.421875);
48
+ expect((0, easeFunctions_1.cubicIn)(1)).toEqual(1);
49
+ expect((0, easeFunctions_1.cubicIn)(2)).toEqual(1);
50
+ });
51
+ it("Returns the proper val for cubic out", () => {
52
+ expect((0, easeFunctions_1.cubicOut)(-1)).toEqual(0);
53
+ expect((0, easeFunctions_1.cubicOut)(0)).toEqual(0);
54
+ expect((0, easeFunctions_1.cubicOut)(0.25)).toEqual(0.578125);
55
+ expect((0, easeFunctions_1.cubicOut)(0.5)).toEqual(0.875);
56
+ expect((0, easeFunctions_1.cubicOut)(0.75)).toEqual(0.984375);
57
+ expect((0, easeFunctions_1.cubicOut)(1)).toEqual(1);
58
+ expect((0, easeFunctions_1.cubicOut)(2)).toEqual(1);
59
+ });
60
+ it("Returns the proper val for cubic in out", () => {
61
+ expect((0, easeFunctions_1.cubicInOut)(-1)).toEqual(0);
62
+ expect((0, easeFunctions_1.cubicInOut)(0)).toEqual(0);
63
+ expect((0, easeFunctions_1.cubicInOut)(0.25)).toEqual(0.0625);
64
+ expect((0, easeFunctions_1.cubicInOut)(0.5)).toEqual(0.5);
65
+ expect((0, easeFunctions_1.cubicInOut)(0.75)).toEqual(0.9375);
66
+ expect((0, easeFunctions_1.cubicInOut)(1)).toEqual(1);
67
+ expect((0, easeFunctions_1.cubicInOut)(2)).toEqual(1);
68
+ });
69
+ // Expo
70
+ it("Returns the proper val for Expo in", () => {
71
+ expect((0, easeFunctions_1.expoIn)(-1)).toEqual(0);
72
+ expect((0, easeFunctions_1.expoIn)(0)).toEqual(0);
73
+ expect((0, easeFunctions_1.expoIn)(0.25)).toEqual(0.005524271728019902);
74
+ expect((0, easeFunctions_1.expoIn)(0.5)).toEqual(0.03125);
75
+ expect((0, easeFunctions_1.expoIn)(0.75)).toEqual(0.17677669529663687);
76
+ expect((0, easeFunctions_1.expoIn)(1)).toEqual(1);
77
+ expect((0, easeFunctions_1.expoIn)(2)).toEqual(1);
78
+ });
79
+ it("Returns the proper val for Expo out", () => {
80
+ expect((0, easeFunctions_1.expoOut)(-1)).toEqual(0);
81
+ expect((0, easeFunctions_1.expoOut)(0)).toEqual(0);
82
+ expect((0, easeFunctions_1.expoOut)(0.25)).toEqual(0.8232233047033631);
83
+ expect((0, easeFunctions_1.expoOut)(0.5)).toEqual(0.96875);
84
+ expect((0, easeFunctions_1.expoOut)(0.75)).toEqual(0.99447572827198);
85
+ expect((0, easeFunctions_1.expoOut)(1)).toEqual(1);
86
+ expect((0, easeFunctions_1.expoOut)(2)).toEqual(1);
87
+ });
88
+ it("Returns the proper val for Expo in out", () => {
89
+ expect((0, easeFunctions_1.expoInOut)(-1)).toEqual(0);
90
+ expect((0, easeFunctions_1.expoInOut)(0)).toEqual(0);
91
+ expect((0, easeFunctions_1.expoInOut)(0.25)).toEqual(0.015625);
92
+ expect((0, easeFunctions_1.expoInOut)(0.5)).toEqual(0.5);
93
+ expect((0, easeFunctions_1.expoInOut)(0.75)).toEqual(0.984375);
94
+ expect((0, easeFunctions_1.expoInOut)(1)).toEqual(1);
95
+ expect((0, easeFunctions_1.expoInOut)(2)).toEqual(1);
96
+ });
97
+ // Sin
98
+ it("Returns the proper val for Sin in", () => {
99
+ expect((0, easeFunctions_1.sinIn)(-1)).toEqual(0);
100
+ expect((0, easeFunctions_1.sinIn)(0)).toEqual(0);
101
+ expect((0, easeFunctions_1.sinIn)(0.25)).toEqual(0.07612046748871326);
102
+ expect((0, easeFunctions_1.sinIn)(0.5)).toEqual(0.2928932188134524);
103
+ expect((0, easeFunctions_1.sinIn)(0.75)).toEqual(0.6173165676349102);
104
+ expect((0, easeFunctions_1.sinIn)(1)).toEqual(1);
105
+ expect((0, easeFunctions_1.sinIn)(2)).toEqual(1);
106
+ });
107
+ it("Returns the proper val for Sin out", () => {
108
+ expect((0, easeFunctions_1.sinOut)(-1)).toEqual(0);
109
+ expect((0, easeFunctions_1.sinOut)(0)).toEqual(0);
110
+ expect((0, easeFunctions_1.sinOut)(0.25)).toEqual(0.3826834323650898);
111
+ expect((0, easeFunctions_1.sinOut)(0.5)).toEqual(0.7071067811865475);
112
+ expect((0, easeFunctions_1.sinOut)(0.75)).toEqual(0.9238795325112867);
113
+ expect((0, easeFunctions_1.sinOut)(1)).toEqual(1);
114
+ expect((0, easeFunctions_1.sinOut)(2)).toEqual(1);
115
+ });
116
+ it("Returns the proper val for Sin in out", () => {
117
+ expect((0, easeFunctions_1.sinInOut)(-1)).toEqual(0);
118
+ expect((0, easeFunctions_1.sinInOut)(0)).toEqual(0);
119
+ expect((0, easeFunctions_1.sinInOut)(0.25)).toEqual(0.1464466094067262);
120
+ expect((0, easeFunctions_1.sinInOut)(0.5)).toBeCloseTo(0.5);
121
+ expect((0, easeFunctions_1.sinInOut)(0.75)).toEqual(0.8535533905932737);
122
+ expect((0, easeFunctions_1.sinInOut)(1)).toEqual(1);
123
+ expect((0, easeFunctions_1.sinInOut)(2)).toEqual(1);
124
+ });
125
+ // Quart
126
+ it("Returns the proper val for Quart in", () => {
127
+ expect((0, easeFunctions_1.quartIn)(-1)).toEqual(0);
128
+ expect((0, easeFunctions_1.quartIn)(0)).toEqual(0);
129
+ expect((0, easeFunctions_1.quartIn)(0.25)).toEqual(0.00390625);
130
+ expect((0, easeFunctions_1.quartIn)(0.5)).toEqual(0.0625);
131
+ expect((0, easeFunctions_1.quartIn)(0.75)).toEqual(0.31640625);
132
+ expect((0, easeFunctions_1.quartIn)(1)).toEqual(1);
133
+ expect((0, easeFunctions_1.quartIn)(2)).toEqual(1);
134
+ });
135
+ it("Returns the proper val for Quart out", () => {
136
+ expect((0, easeFunctions_1.quartOut)(-1)).toEqual(0);
137
+ expect((0, easeFunctions_1.quartOut)(0)).toEqual(0);
138
+ expect((0, easeFunctions_1.quartOut)(0.25)).toEqual(0.68359375);
139
+ expect((0, easeFunctions_1.quartOut)(0.5)).toEqual(0.9375);
140
+ expect((0, easeFunctions_1.quartOut)(0.75)).toEqual(0.99609375);
141
+ expect((0, easeFunctions_1.quartOut)(1)).toEqual(1);
142
+ expect((0, easeFunctions_1.quartOut)(2)).toEqual(1);
143
+ });
144
+ it("Returns the proper val for Quart in out", () => {
145
+ expect((0, easeFunctions_1.quartInOut)(-1)).toEqual(0);
146
+ expect((0, easeFunctions_1.quartInOut)(0)).toEqual(0);
147
+ expect((0, easeFunctions_1.quartInOut)(0.25)).toEqual(0.03125);
148
+ expect((0, easeFunctions_1.quartInOut)(0.5)).toBeCloseTo(0.5);
149
+ expect((0, easeFunctions_1.quartInOut)(0.75)).toEqual(0.96875);
150
+ expect((0, easeFunctions_1.quartInOut)(1)).toEqual(1);
151
+ expect((0, easeFunctions_1.quartInOut)(2)).toEqual(1);
152
+ });
153
+ // Quint
154
+ it("Returns the proper val for Quint in", () => {
155
+ expect((0, easeFunctions_1.quintIn)(-1)).toEqual(0);
156
+ expect((0, easeFunctions_1.quintIn)(0)).toEqual(0);
157
+ expect((0, easeFunctions_1.quintIn)(0.25)).toEqual(0.0009765625);
158
+ expect((0, easeFunctions_1.quintIn)(0.5)).toEqual(0.03125);
159
+ expect((0, easeFunctions_1.quintIn)(0.75)).toEqual(0.2373046875);
160
+ expect((0, easeFunctions_1.quintIn)(1)).toEqual(1);
161
+ expect((0, easeFunctions_1.quintIn)(2)).toEqual(1);
162
+ });
163
+ it("Returns the proper val for Quint out", () => {
164
+ expect((0, easeFunctions_1.quintOut)(-1)).toEqual(0);
165
+ expect((0, easeFunctions_1.quintOut)(0)).toEqual(0);
166
+ expect((0, easeFunctions_1.quintOut)(0.25)).toEqual(0.7626953125);
167
+ expect((0, easeFunctions_1.quintOut)(0.5)).toEqual(0.96875);
168
+ expect((0, easeFunctions_1.quintOut)(0.75)).toEqual(0.9990234375);
169
+ expect((0, easeFunctions_1.quintOut)(1)).toEqual(1);
170
+ expect((0, easeFunctions_1.quintOut)(2)).toEqual(1);
171
+ });
172
+ it("Returns the proper val for Quint in out", () => {
173
+ expect((0, easeFunctions_1.quintInOut)(-1)).toEqual(0);
174
+ expect((0, easeFunctions_1.quintInOut)(0)).toEqual(0);
175
+ expect((0, easeFunctions_1.quintInOut)(0.25)).toEqual(0.015625);
176
+ expect((0, easeFunctions_1.quintInOut)(0.5)).toBeCloseTo(0.5);
177
+ expect((0, easeFunctions_1.quintInOut)(0.75)).toEqual(0.984375);
178
+ expect((0, easeFunctions_1.quintInOut)(1)).toEqual(1);
179
+ expect((0, easeFunctions_1.quintInOut)(2)).toEqual(1);
180
+ });
181
+ // Circ
182
+ it("Returns the proper val for Circ in", () => {
183
+ expect((0, easeFunctions_1.circIn)(-1)).toEqual(0);
184
+ expect((0, easeFunctions_1.circIn)(0)).toEqual(0);
185
+ expect((0, easeFunctions_1.circIn)(0.25)).toEqual(0.031754163448145745);
186
+ expect((0, easeFunctions_1.circIn)(0.5)).toEqual(0.1339745962155614);
187
+ expect((0, easeFunctions_1.circIn)(0.75)).toEqual(0.3385621722338523);
188
+ expect((0, easeFunctions_1.circIn)(1)).toEqual(1);
189
+ expect((0, easeFunctions_1.circIn)(2)).toEqual(1);
190
+ });
191
+ it("Returns the proper val for Circ out", () => {
192
+ expect((0, easeFunctions_1.circOut)(-1)).toEqual(0);
193
+ expect((0, easeFunctions_1.circOut)(0)).toEqual(0);
194
+ expect((0, easeFunctions_1.circOut)(0.25)).toEqual(0.6614378277661477);
195
+ expect((0, easeFunctions_1.circOut)(0.5)).toEqual(0.8660254037844386);
196
+ expect((0, easeFunctions_1.circOut)(0.75)).toEqual(0.9682458365518543);
197
+ expect((0, easeFunctions_1.circOut)(1)).toEqual(1);
198
+ expect((0, easeFunctions_1.circOut)(2)).toEqual(1);
199
+ });
200
+ it("Returns the proper val for Circ in out", () => {
201
+ expect((0, easeFunctions_1.circInOut)(-1)).toEqual(0);
202
+ expect((0, easeFunctions_1.circInOut)(0)).toEqual(0);
203
+ expect((0, easeFunctions_1.circInOut)(0.25)).toEqual(0.0669872981077807);
204
+ expect((0, easeFunctions_1.circInOut)(0.5)).toBeCloseTo(0.5);
205
+ expect((0, easeFunctions_1.circInOut)(0.75)).toEqual(0.9330127018922193);
206
+ expect((0, easeFunctions_1.circInOut)(1)).toEqual(1);
207
+ expect((0, easeFunctions_1.circInOut)(2)).toEqual(1);
208
+ });
209
+ //# sourceMappingURL=easeFunctions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easeFunctions.test.js","sourceRoot":"","sources":["../../../src/Utilities/easeFunctions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateUniqueID = generateUniqueID;
4
+ const uuid_1 = require("uuid");
5
+ function generateUniqueID() {
6
+ return (0, uuid_1.v4)();
7
+ }
8
+ //# sourceMappingURL=generateUniqueID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateUniqueID.js","sourceRoot":"","sources":["../../../src/Utilities/generateUniqueID.ts"],"names":[],"mappings":";;AAEA,4CAEC;AAJD,+BAAoC;AAEpC,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,SAAM,GAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,22 @@
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("./degreesToRadians"), exports);
18
+ __exportStar(require("./LengthConverters"), exports);
19
+ __exportStar(require("./generateUniqueID"), exports);
20
+ __exportStar(require("./easeFunctions"), exports);
21
+ __exportStar(require("./interpolateNumber"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,sDAAoC"}
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,26 @@
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
@@ -0,0 +1 @@
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"}
package/dist/cjs/index.js CHANGED
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./AppObject"), exports);
18
18
  __exportStar(require("./Entities"), exports);
19
19
  __exportStar(require("./Types"), exports);
20
+ __exportStar(require("./Utilities"), exports);
20
21
  __exportStar(require("./ValueObjects"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,0CAAwB;AACxB,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,iDAA+B"}
@@ -0,0 +1,32 @@
1
+ export class RangedNumber {
2
+ get val() {
3
+ return this._val;
4
+ }
5
+ set val(x) {
6
+ const y = this.clamp(x);
7
+ if (this._val === y)
8
+ return;
9
+ this._val = y;
10
+ this.onChangeCallback();
11
+ }
12
+ setValQuietly(val) {
13
+ this._val = this.clamp(val);
14
+ }
15
+ clamp(x) {
16
+ let rVal = x;
17
+ if (x > this.maxValue) {
18
+ rVal = this.maxValue;
19
+ }
20
+ else if (x < this.minValue) {
21
+ rVal = this.minValue;
22
+ }
23
+ return rVal;
24
+ }
25
+ constructor(props, onChangeCallback) {
26
+ this.maxValue = props.max;
27
+ this.minValue = props.min;
28
+ this._val = this.clamp(props.initialValue);
29
+ this.onChangeCallback = onChangeCallback;
30
+ }
31
+ }
32
+ //# sourceMappingURL=RangedNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangedNumber.js","sourceRoot":"","sources":["../../../src/Entities/RangedNumber.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,YAAY;IAIvB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAS;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAW;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,CAAS;QACrB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,YAAY,KAA6B,EAAE,gBAA4B;QACrE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,94 @@
1
+ import { RangedNumber } from "./RangedNumber";
2
+ it("Stores the initial value", () => {
3
+ const props = {
4
+ initialValue: 5,
5
+ max: 10,
6
+ min: 1,
7
+ };
8
+ const memoizedNumber = new RangedNumber(props, jest.fn());
9
+ expect(memoizedNumber.val).toEqual(5);
10
+ });
11
+ it("Clamps the initial value", () => {
12
+ const props = {
13
+ initialValue: 50,
14
+ max: 10,
15
+ min: 1,
16
+ };
17
+ const memoizedNumber = new RangedNumber(props, jest.fn());
18
+ expect(memoizedNumber.val).toEqual(10);
19
+ });
20
+ it("Clamps the value", () => {
21
+ const props = {
22
+ initialValue: 5,
23
+ max: 10,
24
+ min: 1,
25
+ };
26
+ const memoizedNumber = new RangedNumber(props, jest.fn());
27
+ expect(memoizedNumber.val).toEqual(5);
28
+ memoizedNumber.val = 11;
29
+ expect(memoizedNumber.val).toEqual(10);
30
+ memoizedNumber.val = 0;
31
+ expect(memoizedNumber.val).toEqual(1);
32
+ });
33
+ it("Triggers the callback when something changes", () => {
34
+ const cb = jest.fn();
35
+ const props = {
36
+ initialValue: 5,
37
+ max: 10,
38
+ min: 1,
39
+ };
40
+ const memoizedNumber = new RangedNumber(props, cb);
41
+ expect(cb).not.toBeCalled();
42
+ memoizedNumber.val = 6;
43
+ expect(cb).toBeCalled();
44
+ });
45
+ it("Only triggers the CB when something changes", () => {
46
+ const cb = jest.fn();
47
+ const props = {
48
+ initialValue: 5,
49
+ max: 10,
50
+ min: 1,
51
+ };
52
+ const memoizedNumber = new RangedNumber(props, cb);
53
+ memoizedNumber.val = 5;
54
+ memoizedNumber.val = 5;
55
+ memoizedNumber.val = 5;
56
+ expect(cb).not.toBeCalled();
57
+ });
58
+ it("Checks the clamped value before triggering", () => {
59
+ const cb = jest.fn();
60
+ const props = {
61
+ initialValue: 10,
62
+ max: 10,
63
+ min: 1,
64
+ };
65
+ const memoizedNumber = new RangedNumber(props, cb);
66
+ memoizedNumber.val = 11;
67
+ memoizedNumber.val = 12;
68
+ memoizedNumber.val = 13;
69
+ expect(cb).not.toBeCalled();
70
+ });
71
+ it("Does not notify if set quietly", () => {
72
+ const cb = jest.fn();
73
+ const props = {
74
+ initialValue: 5,
75
+ max: 10,
76
+ min: 1,
77
+ };
78
+ const memoizedNumber = new RangedNumber(props, cb);
79
+ memoizedNumber.setValQuietly(6);
80
+ expect(memoizedNumber.val).toEqual(6);
81
+ expect(cb).not.toBeCalled();
82
+ });
83
+ it("Setting quietly is clamped", () => {
84
+ const cb = jest.fn();
85
+ const props = {
86
+ initialValue: 5,
87
+ max: 10,
88
+ min: 1,
89
+ };
90
+ const memoizedNumber = new RangedNumber(props, cb);
91
+ memoizedNumber.setValQuietly(-1);
92
+ expect(memoizedNumber.val).toEqual(1);
93
+ });
94
+ //# sourceMappingURL=RangedNumber.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangedNumber.test.js","sourceRoot":"","sources":["../../../src/Entities/RangedNumber.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- export * from "./ObservableEntity";
2
- export * from "./ObserverList";
3
1
  export * from "./MemoizedAngle";
4
2
  export * from "./MemoizedBoolean";
5
3
  export * from "./MemoizedColor";
@@ -8,4 +6,7 @@ export * from "./MemoizedQuaternion";
8
6
  export * from "./MemoizedString";
9
7
  export * from "./MemoizedVector2";
10
8
  export * from "./MemoizedVector3";
9
+ export * from "./ObservableEntity";
10
+ export * from "./ObserverList";
11
+ export * from "./RangedNumber";
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,15 @@
1
+ const inchesPerMeter = 39.3701;
2
+ const feetPerMeter = 3.28084;
3
+ export function inchesToMeters(inches) {
4
+ return inches / inchesPerMeter;
5
+ }
6
+ export function metersToInches(meters) {
7
+ return meters * inchesPerMeter;
8
+ }
9
+ export function feetToMeters(feet) {
10
+ return feet / feetPerMeter;
11
+ }
12
+ export function metersToFeet(meters) {
13
+ return meters * feetPerMeter;
14
+ }
15
+ //# sourceMappingURL=LengthConverters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LengthConverters.js","sourceRoot":"","sources":["../../../src/Utilities/LengthConverters.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,GAAG,cAAc,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,GAAG,cAAc,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,GAAG,YAAY,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,MAAM,GAAG,YAAY,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { feetToMeters, inchesToMeters, metersToFeet, metersToInches, } from "./LengthConverters";
2
+ test("Converting inches to meters", () => {
3
+ expect(inchesToMeters(0)).toEqual(0);
4
+ expect(inchesToMeters(12)).toEqual(0.30479983540808886);
5
+ expect(inchesToMeters(-12)).toEqual(-0.30479983540808886);
6
+ });
7
+ test("Converting meters to inches", () => {
8
+ expect(metersToInches(0)).toEqual(0);
9
+ expect(metersToInches(2)).toEqual(78.7402);
10
+ expect(metersToInches(-2)).toEqual(-78.7402);
11
+ });
12
+ test("Converting feet to meters", () => {
13
+ expect(feetToMeters(0)).toEqual(0);
14
+ expect(feetToMeters(5)).toEqual(1.5239999512320015);
15
+ expect(feetToMeters(-5)).toEqual(-1.5239999512320015);
16
+ });
17
+ test("Converting meters to feet", () => {
18
+ expect(metersToFeet(0)).toEqual(0);
19
+ expect(metersToFeet(2)).toEqual(6.56168);
20
+ expect(metersToFeet(-2)).toEqual(-6.56168);
21
+ });
22
+ //# sourceMappingURL=LengthConverters.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LengthConverters.test.js","sourceRoot":"","sources":["../../../src/Utilities/LengthConverters.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACvC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACvC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { quintInOut } from "./easeFunctions";
2
+ /**
3
+ * Utility class for smoothly interpolating between two numbers over time.
4
+ * Uses requestAnimationFrame for smooth animation and supports custom easing functions.
5
+ *
6
+ * @example
7
+ * const lerper = new LerpNumber();
8
+ * // Animate from 0 to 100 over 2 seconds
9
+ * await lerper.lerp({
10
+ * start: 0,
11
+ * end: 100,
12
+ * durationMS: 2000,
13
+ * update: (value) => console.log(value)
14
+ * });
15
+ */
16
+ export class LerpNumber {
17
+ constructor() {
18
+ this.defaultDurationMS = 1000;
19
+ this.defaultEase = quintInOut;
20
+ this._isLerping = false;
21
+ this._cancelLerp = false;
22
+ /**
23
+ * Initiates a lerp (linear interpolation) operation.
24
+ * If a lerp is already in progress, it will be cancelled before starting the new one.
25
+ *
26
+ * @param data - Configuration object for the lerp operation
27
+ * @returns Promise that resolves when the lerp completes or is cancelled
28
+ * @throws Never throws, but may reject if the update function throws
29
+ */
30
+ this.lerp = (data) => {
31
+ if (this._isLerping) {
32
+ this.cancel();
33
+ }
34
+ const { start, end, durationMS, ease, onComplete, update, onCancel } = data;
35
+ const durationToUse = durationMS ?? this.defaultDurationMS;
36
+ const easeToUse = ease ?? this.defaultEase;
37
+ return new Promise((resolve) => {
38
+ const startTime = performance.now();
39
+ this._isLerping = true;
40
+ update(start);
41
+ const interval = setInterval(() => {
42
+ if (this._cancelLerp) {
43
+ clearInterval(interval);
44
+ this._isLerping = false;
45
+ this._cancelLerp = false;
46
+ if (onCancel)
47
+ onCancel();
48
+ return resolve();
49
+ }
50
+ const currentTime = performance.now();
51
+ const elapsedTime = currentTime - startTime;
52
+ const progress = Math.min(elapsedTime / durationToUse, 1);
53
+ const easedProgress = easeToUse(progress);
54
+ const value = start + (end - start) * easedProgress;
55
+ update(value);
56
+ if (progress >= 1) {
57
+ clearInterval(interval);
58
+ this._isLerping = false;
59
+ update(end);
60
+ if (onComplete)
61
+ onComplete();
62
+ resolve();
63
+ }
64
+ }, 10);
65
+ });
66
+ };
67
+ }
68
+ get isLerping() {
69
+ return this._isLerping;
70
+ }
71
+ /**
72
+ * Cancels the current lerp operation if one is in progress.
73
+ * Triggers the onCancel callback if provided in the original lerp configuration.
74
+ */
75
+ cancel() {
76
+ if (!this._isLerping)
77
+ return;
78
+ this._cancelLerp = true;
79
+ }
80
+ }
81
+ //# sourceMappingURL=LerpNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LerpNumber.js","sourceRoot":"","sources":["../../../src/Utilities/LerpNumber.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAuB7C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,UAAU;IAAvB;QACS,sBAAiB,GAAG,IAAI,CAAC;QACzB,gBAAW,GAAW,UAAU,CAAC;QAKhC,eAAU,GAAG,KAAK,CAAC;QAYnB,gBAAW,GAAG,KAAK,CAAC;QAE5B;;;;;;;WAOG;QACH,SAAI,GAAG,CAAC,IAAmB,EAAiB,EAAE;YAC5C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAE5E,MAAM,aAAa,GAAG,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;YAE3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEvB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEd,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;oBAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACrB,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;wBACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wBACzB,IAAI,QAAQ;4BAAE,QAAQ,EAAE,CAAC;wBACzB,OAAO,OAAO,EAAE,CAAC;oBACnB,CAAC;oBAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBACtC,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;oBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;oBAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC;oBACpD,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEd,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;wBAClB,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;wBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,IAAI,UAAU;4BAAE,UAAU,EAAE,CAAC;wBAC7B,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAlEC,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAGD;;;OAGG;IACI,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;CAqDF"}