@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,88 @@
1
+ import { LerpNumber } from "./LerpNumber";
2
+ describe("Lerp Number", () => {
3
+ let lerpNumber;
4
+ let updateFn;
5
+ beforeEach(() => {
6
+ lerpNumber = new LerpNumber();
7
+ updateFn = jest.fn();
8
+ jest.useFakeTimers();
9
+ });
10
+ afterEach(() => {
11
+ jest.useRealTimers();
12
+ });
13
+ it("should lerp from start to end value", async () => {
14
+ lerpNumber.defaultDurationMS = 1000;
15
+ const promise = lerpNumber.lerp({
16
+ start: 0,
17
+ end: 100,
18
+ update: updateFn,
19
+ });
20
+ // Test middle point (should have multiple updates by this point)
21
+ jest.advanceTimersByTime(500);
22
+ expect(updateFn).toHaveBeenCalledWith(expect.closeTo(50, 5)); // Allow some margin due to interval timing
23
+ // Complete animation
24
+ jest.advanceTimersByTime(500);
25
+ await promise;
26
+ expect(updateFn).toHaveBeenCalledWith(0); // Start value
27
+ expect(updateFn).toHaveBeenLastCalledWith(100); // End value
28
+ });
29
+ it("should cancel lerp when requested", async () => {
30
+ const onCancel = jest.fn();
31
+ const promise = lerpNumber.lerp({
32
+ start: 0,
33
+ end: 100,
34
+ update: updateFn,
35
+ onCancel,
36
+ });
37
+ expect(lerpNumber.isLerping).toBe(true);
38
+ lerpNumber.cancel();
39
+ jest.advanceTimersByTime(10); // Allow interval to execute
40
+ await promise;
41
+ expect(lerpNumber.isLerping).toBe(false);
42
+ expect(onCancel).toHaveBeenCalled();
43
+ });
44
+ it("should respect custom duration", async () => {
45
+ const promise = lerpNumber.lerp({
46
+ start: 0,
47
+ end: 100,
48
+ update: updateFn,
49
+ durationMS: 500,
50
+ });
51
+ jest.advanceTimersByTime(250); // Half way
52
+ expect(updateFn).toHaveBeenLastCalledWith(expect.any(Number));
53
+ jest.advanceTimersByTime(250); // Complete
54
+ await promise;
55
+ expect(updateFn).toHaveBeenLastCalledWith(100);
56
+ });
57
+ it("should call onComplete when finished", async () => {
58
+ const onComplete = jest.fn();
59
+ const promise = lerpNumber.lerp({
60
+ start: 0,
61
+ end: 100,
62
+ update: updateFn,
63
+ onComplete,
64
+ });
65
+ jest.advanceTimersByTime(1000);
66
+ await promise;
67
+ expect(onComplete).toHaveBeenCalled();
68
+ });
69
+ it("should cancel existing lerp when starting a new one", async () => {
70
+ const onCancel = jest.fn();
71
+ const firstPromise = lerpNumber.lerp({
72
+ start: 0,
73
+ end: 100,
74
+ update: updateFn,
75
+ onCancel,
76
+ });
77
+ const secondPromise = lerpNumber.lerp({
78
+ start: 200,
79
+ end: 300,
80
+ update: updateFn,
81
+ });
82
+ jest.advanceTimersByTime(1000);
83
+ await Promise.all([firstPromise, secondPromise]);
84
+ expect(onCancel).toHaveBeenCalled();
85
+ expect(updateFn).toHaveBeenLastCalledWith(300);
86
+ });
87
+ });
88
+ //# sourceMappingURL=LerpNumber.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LerpNumber.test.js","sourceRoot":"","sources":["../../../src/Utilities/LerpNumber.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export function degreesToRadians(deg) {
2
+ return deg * Math.PI / 180;
3
+ }
4
+ //# sourceMappingURL=degreesToRadians.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"degreesToRadians.js","sourceRoot":"","sources":["../../../src/Utilities/degreesToRadians.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { degreesToRadians } from "./degreesToRadians";
2
+ test("Converting degrees to radians", () => {
3
+ expect(degreesToRadians(0)).toEqual(0);
4
+ expect(degreesToRadians(180)).toBeCloseTo(Math.PI);
5
+ expect(degreesToRadians(-90)).toBeCloseTo(-Math.PI / 2);
6
+ });
7
+ //# sourceMappingURL=degreesToRadians.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"degreesToRadians.test.js","sourceRoot":"","sources":["../../../src/Utilities/degreesToRadians.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,IAAI,CAAC,+BAA+B,EAAE,GAAE,EAAE;IACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,GAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAA"}
@@ -0,0 +1,183 @@
1
+ export const easeLinear = (x) => {
2
+ if (x <= 0)
3
+ return 0;
4
+ if (x >= 1)
5
+ return 1;
6
+ return x;
7
+ };
8
+ export const quadIn = (x) => {
9
+ if (x <= 0)
10
+ return 0;
11
+ if (x >= 1)
12
+ return 1;
13
+ return x * x;
14
+ };
15
+ export const quadOut = (x) => {
16
+ if (x <= 0)
17
+ return 0;
18
+ if (x >= 1)
19
+ return 1;
20
+ return x * (2 - x);
21
+ };
22
+ export const quadInOut = (x) => {
23
+ if (x <= 0)
24
+ return 0;
25
+ if (x >= 1)
26
+ return 1;
27
+ if (x < 0.5) {
28
+ return 2 * x * x;
29
+ }
30
+ else {
31
+ return 1 - Math.pow(-2 * x + 2, 2) / 2;
32
+ }
33
+ };
34
+ export const cubicIn = (x) => {
35
+ if (x <= 0)
36
+ return 0;
37
+ if (x >= 1)
38
+ return 1;
39
+ return x * x * x;
40
+ };
41
+ export const cubicOut = (x) => {
42
+ if (x <= 0)
43
+ return 0;
44
+ if (x >= 1)
45
+ return 1;
46
+ return --x * x * x + 1;
47
+ };
48
+ export const cubicInOut = (x) => {
49
+ if (x <= 0)
50
+ return 0;
51
+ if (x >= 1)
52
+ return 1;
53
+ x *= 2;
54
+ if (x <= 1) {
55
+ return (x * x * x) / 2;
56
+ }
57
+ else {
58
+ return ((x -= 2) * x * x + 2) / 2;
59
+ }
60
+ };
61
+ export const expoIn = (x) => {
62
+ if (x <= 0)
63
+ return 0;
64
+ if (x >= 1)
65
+ return 1;
66
+ return Math.pow(2, 10 * x - 10);
67
+ };
68
+ export const expoOut = (x) => {
69
+ if (x <= 0)
70
+ return 0;
71
+ if (x >= 1)
72
+ return 1;
73
+ return 1 - Math.pow(2, -10 * x);
74
+ };
75
+ export const expoInOut = (x) => {
76
+ if (x <= 0)
77
+ return 0;
78
+ if (x >= 1)
79
+ return 1;
80
+ return x < 0.5
81
+ ? Math.pow(2, 20 * x - 10) / 2
82
+ : (2 - Math.pow(2, -20 * x + 10)) / 2;
83
+ };
84
+ export const sinIn = (x) => {
85
+ if (x <= 0)
86
+ return 0;
87
+ if (x >= 1)
88
+ return 1;
89
+ return 1 - Math.cos((x * Math.PI) / 2);
90
+ };
91
+ export const sinOut = (x) => {
92
+ if (x <= 0)
93
+ return 0;
94
+ if (x >= 1)
95
+ return 1;
96
+ return Math.sin((x * Math.PI) / 2);
97
+ };
98
+ export const sinInOut = (x) => {
99
+ if (x <= 0)
100
+ return 0;
101
+ if (x >= 1)
102
+ return 1;
103
+ return -(Math.cos(Math.PI * x) - 1) / 2;
104
+ };
105
+ export const quartIn = (x) => {
106
+ if (x <= 0)
107
+ return 0;
108
+ if (x >= 1)
109
+ return 1;
110
+ return x * x * x * x;
111
+ };
112
+ export const quartOut = (x) => {
113
+ if (x <= 0)
114
+ return 0;
115
+ if (x >= 1)
116
+ return 1;
117
+ return 1 - Math.pow(1 - x, 4);
118
+ };
119
+ export const quartInOut = (x) => {
120
+ if (x <= 0)
121
+ return 0;
122
+ if (x >= 1)
123
+ return 1;
124
+ if (x < 0.5) {
125
+ return 8 * x * x * x * x;
126
+ }
127
+ else {
128
+ return 1 - Math.pow(-2 * x + 2, 4) / 2;
129
+ }
130
+ };
131
+ export const quintIn = (x) => {
132
+ if (x <= 0)
133
+ return 0;
134
+ if (x >= 1)
135
+ return 1;
136
+ return x * x * x * x * x;
137
+ };
138
+ export const quintOut = (x) => {
139
+ if (x <= 0)
140
+ return 0;
141
+ if (x >= 1)
142
+ return 1;
143
+ return 1 - Math.pow(1 - x, 5);
144
+ };
145
+ export const quintInOut = (x) => {
146
+ if (x <= 0)
147
+ return 0;
148
+ if (x >= 1)
149
+ return 1;
150
+ if (x < 0.5) {
151
+ return 16 * x * x * x * x * x;
152
+ }
153
+ else {
154
+ return 1 - Math.pow(-2 * x + 2, 5) / 2;
155
+ }
156
+ };
157
+ export const circIn = (x) => {
158
+ if (x <= 0)
159
+ return 0;
160
+ if (x >= 1)
161
+ return 1;
162
+ return 1 - Math.sqrt(1 - Math.pow(x, 2));
163
+ };
164
+ export const circOut = (x) => {
165
+ if (x <= 0)
166
+ return 0;
167
+ if (x >= 1)
168
+ return 1;
169
+ return Math.sqrt(1 - Math.pow(x - 1, 2));
170
+ };
171
+ export const circInOut = (x) => {
172
+ if (x <= 0)
173
+ return 0;
174
+ if (x >= 1)
175
+ return 1;
176
+ if (x < 0.5) {
177
+ return (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2;
178
+ }
179
+ else {
180
+ return (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2;
181
+ }
182
+ };
183
+ //# sourceMappingURL=easeFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easeFunctions.js","sourceRoot":"","sources":["../../../src/Utilities/easeFunctions.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,UAAU,GAAW,CAAC,CAAS,EAAU,EAAE;IACtD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAW,CAAC,CAAS,EAAE,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,CAAC,CAAS,EAAE,EAAE;IAC3C,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAW,CAAC,CAAS,EAAU,EAAE;IACrD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,CAAC,CAAS,EAAU,EAAE;IACnD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,CAAS,EAAU,EAAE;IACpD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAW,CAAC,CAAS,EAAU,EAAE;IACtD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,CAAC,IAAI,CAAC,CAAC;IAEP,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAW,CAAC,CAAS,EAAU,EAAE;IAClD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,CAAC,CAAS,EAAU,EAAE;IACnD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAW,CAAC,CAAS,EAAU,EAAE;IACrD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,GAAG;QACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAW,CAAC,CAAS,EAAU,EAAE;IACjD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAW,CAAC,CAAS,EAAU,EAAE;IAClD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,CAAS,EAAU,EAAE;IACpD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,CAAC,CAAS,EAAU,EAAE;IACnD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,CAAS,EAAU,EAAE;IACpD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAW,CAAC,CAAS,EAAU,EAAE;IACtD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,CAAC,CAAS,EAAU,EAAE;IACnD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,CAAS,EAAU,EAAE;IACpD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAW,CAAC,CAAS,EAAU,EAAE;IACtD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAW,CAAC,CAAS,EAAU,EAAE;IAClD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,CAAC,CAAS,EAAU,EAAE;IACnD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAW,CAAC,CAAS,EAAU,EAAE;IACrD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAErB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,207 @@
1
+ import { easeLinear, quadIn, quadInOut, quadOut, cubicIn, cubicInOut, cubicOut, expoIn, expoInOut, expoOut, sinIn, sinInOut, sinOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, circIn, circInOut, circOut, } from "./easeFunctions";
2
+ it("Returns the proper values for ease linear", () => {
3
+ expect(easeLinear(-1)).toEqual(0);
4
+ expect(easeLinear(0)).toEqual(0);
5
+ expect(easeLinear(0.25)).toEqual(0.25);
6
+ expect(easeLinear(0.5)).toEqual(0.5);
7
+ expect(easeLinear(0.75)).toEqual(0.75);
8
+ expect(easeLinear(1)).toEqual(1);
9
+ expect(easeLinear(2)).toEqual(1);
10
+ });
11
+ // Quad
12
+ it("Returns the proper val for quad in", () => {
13
+ expect(quadIn(-1)).toEqual(0);
14
+ expect(quadIn(0)).toEqual(0);
15
+ expect(quadIn(0.25)).toEqual(0.0625);
16
+ expect(quadIn(0.5)).toEqual(0.25);
17
+ expect(quadIn(0.75)).toEqual(0.5625);
18
+ expect(quadIn(1)).toEqual(1);
19
+ expect(quadIn(2)).toEqual(1);
20
+ });
21
+ it("Returns the proper val for quad out", () => {
22
+ expect(quadOut(-1)).toEqual(0);
23
+ expect(quadOut(0)).toEqual(0);
24
+ expect(quadOut(0.25)).toEqual(0.4375);
25
+ expect(quadOut(0.5)).toEqual(0.75);
26
+ expect(quadOut(0.75)).toEqual(0.9375);
27
+ expect(quadOut(1)).toEqual(1);
28
+ expect(quadOut(2)).toEqual(1);
29
+ });
30
+ it("Returns the proper val for quad in out", () => {
31
+ expect(quadInOut(-1)).toEqual(0);
32
+ expect(quadInOut(0)).toEqual(0);
33
+ expect(quadInOut(0.25)).toEqual(0.125);
34
+ expect(quadInOut(0.5)).toEqual(0.5);
35
+ expect(quadInOut(0.75)).toEqual(0.875);
36
+ expect(quadInOut(1)).toEqual(1);
37
+ expect(quadInOut(2)).toEqual(1);
38
+ });
39
+ // Cubic
40
+ it("Returns the proper val for cubic in", () => {
41
+ expect(cubicIn(-1)).toEqual(0);
42
+ expect(cubicIn(0)).toEqual(0);
43
+ expect(cubicIn(0.25)).toEqual(0.015625);
44
+ expect(cubicIn(0.5)).toEqual(0.125);
45
+ expect(cubicIn(0.75)).toEqual(0.421875);
46
+ expect(cubicIn(1)).toEqual(1);
47
+ expect(cubicIn(2)).toEqual(1);
48
+ });
49
+ it("Returns the proper val for cubic out", () => {
50
+ expect(cubicOut(-1)).toEqual(0);
51
+ expect(cubicOut(0)).toEqual(0);
52
+ expect(cubicOut(0.25)).toEqual(0.578125);
53
+ expect(cubicOut(0.5)).toEqual(0.875);
54
+ expect(cubicOut(0.75)).toEqual(0.984375);
55
+ expect(cubicOut(1)).toEqual(1);
56
+ expect(cubicOut(2)).toEqual(1);
57
+ });
58
+ it("Returns the proper val for cubic in out", () => {
59
+ expect(cubicInOut(-1)).toEqual(0);
60
+ expect(cubicInOut(0)).toEqual(0);
61
+ expect(cubicInOut(0.25)).toEqual(0.0625);
62
+ expect(cubicInOut(0.5)).toEqual(0.5);
63
+ expect(cubicInOut(0.75)).toEqual(0.9375);
64
+ expect(cubicInOut(1)).toEqual(1);
65
+ expect(cubicInOut(2)).toEqual(1);
66
+ });
67
+ // Expo
68
+ it("Returns the proper val for Expo in", () => {
69
+ expect(expoIn(-1)).toEqual(0);
70
+ expect(expoIn(0)).toEqual(0);
71
+ expect(expoIn(0.25)).toEqual(0.005524271728019902);
72
+ expect(expoIn(0.5)).toEqual(0.03125);
73
+ expect(expoIn(0.75)).toEqual(0.17677669529663687);
74
+ expect(expoIn(1)).toEqual(1);
75
+ expect(expoIn(2)).toEqual(1);
76
+ });
77
+ it("Returns the proper val for Expo out", () => {
78
+ expect(expoOut(-1)).toEqual(0);
79
+ expect(expoOut(0)).toEqual(0);
80
+ expect(expoOut(0.25)).toEqual(0.8232233047033631);
81
+ expect(expoOut(0.5)).toEqual(0.96875);
82
+ expect(expoOut(0.75)).toEqual(0.99447572827198);
83
+ expect(expoOut(1)).toEqual(1);
84
+ expect(expoOut(2)).toEqual(1);
85
+ });
86
+ it("Returns the proper val for Expo in out", () => {
87
+ expect(expoInOut(-1)).toEqual(0);
88
+ expect(expoInOut(0)).toEqual(0);
89
+ expect(expoInOut(0.25)).toEqual(0.015625);
90
+ expect(expoInOut(0.5)).toEqual(0.5);
91
+ expect(expoInOut(0.75)).toEqual(0.984375);
92
+ expect(expoInOut(1)).toEqual(1);
93
+ expect(expoInOut(2)).toEqual(1);
94
+ });
95
+ // Sin
96
+ it("Returns the proper val for Sin in", () => {
97
+ expect(sinIn(-1)).toEqual(0);
98
+ expect(sinIn(0)).toEqual(0);
99
+ expect(sinIn(0.25)).toEqual(0.07612046748871326);
100
+ expect(sinIn(0.5)).toEqual(0.2928932188134524);
101
+ expect(sinIn(0.75)).toEqual(0.6173165676349102);
102
+ expect(sinIn(1)).toEqual(1);
103
+ expect(sinIn(2)).toEqual(1);
104
+ });
105
+ it("Returns the proper val for Sin out", () => {
106
+ expect(sinOut(-1)).toEqual(0);
107
+ expect(sinOut(0)).toEqual(0);
108
+ expect(sinOut(0.25)).toEqual(0.3826834323650898);
109
+ expect(sinOut(0.5)).toEqual(0.7071067811865475);
110
+ expect(sinOut(0.75)).toEqual(0.9238795325112867);
111
+ expect(sinOut(1)).toEqual(1);
112
+ expect(sinOut(2)).toEqual(1);
113
+ });
114
+ it("Returns the proper val for Sin in out", () => {
115
+ expect(sinInOut(-1)).toEqual(0);
116
+ expect(sinInOut(0)).toEqual(0);
117
+ expect(sinInOut(0.25)).toEqual(0.1464466094067262);
118
+ expect(sinInOut(0.5)).toBeCloseTo(0.5);
119
+ expect(sinInOut(0.75)).toEqual(0.8535533905932737);
120
+ expect(sinInOut(1)).toEqual(1);
121
+ expect(sinInOut(2)).toEqual(1);
122
+ });
123
+ // Quart
124
+ it("Returns the proper val for Quart in", () => {
125
+ expect(quartIn(-1)).toEqual(0);
126
+ expect(quartIn(0)).toEqual(0);
127
+ expect(quartIn(0.25)).toEqual(0.00390625);
128
+ expect(quartIn(0.5)).toEqual(0.0625);
129
+ expect(quartIn(0.75)).toEqual(0.31640625);
130
+ expect(quartIn(1)).toEqual(1);
131
+ expect(quartIn(2)).toEqual(1);
132
+ });
133
+ it("Returns the proper val for Quart out", () => {
134
+ expect(quartOut(-1)).toEqual(0);
135
+ expect(quartOut(0)).toEqual(0);
136
+ expect(quartOut(0.25)).toEqual(0.68359375);
137
+ expect(quartOut(0.5)).toEqual(0.9375);
138
+ expect(quartOut(0.75)).toEqual(0.99609375);
139
+ expect(quartOut(1)).toEqual(1);
140
+ expect(quartOut(2)).toEqual(1);
141
+ });
142
+ it("Returns the proper val for Quart in out", () => {
143
+ expect(quartInOut(-1)).toEqual(0);
144
+ expect(quartInOut(0)).toEqual(0);
145
+ expect(quartInOut(0.25)).toEqual(0.03125);
146
+ expect(quartInOut(0.5)).toBeCloseTo(0.5);
147
+ expect(quartInOut(0.75)).toEqual(0.96875);
148
+ expect(quartInOut(1)).toEqual(1);
149
+ expect(quartInOut(2)).toEqual(1);
150
+ });
151
+ // Quint
152
+ it("Returns the proper val for Quint in", () => {
153
+ expect(quintIn(-1)).toEqual(0);
154
+ expect(quintIn(0)).toEqual(0);
155
+ expect(quintIn(0.25)).toEqual(0.0009765625);
156
+ expect(quintIn(0.5)).toEqual(0.03125);
157
+ expect(quintIn(0.75)).toEqual(0.2373046875);
158
+ expect(quintIn(1)).toEqual(1);
159
+ expect(quintIn(2)).toEqual(1);
160
+ });
161
+ it("Returns the proper val for Quint out", () => {
162
+ expect(quintOut(-1)).toEqual(0);
163
+ expect(quintOut(0)).toEqual(0);
164
+ expect(quintOut(0.25)).toEqual(0.7626953125);
165
+ expect(quintOut(0.5)).toEqual(0.96875);
166
+ expect(quintOut(0.75)).toEqual(0.9990234375);
167
+ expect(quintOut(1)).toEqual(1);
168
+ expect(quintOut(2)).toEqual(1);
169
+ });
170
+ it("Returns the proper val for Quint in out", () => {
171
+ expect(quintInOut(-1)).toEqual(0);
172
+ expect(quintInOut(0)).toEqual(0);
173
+ expect(quintInOut(0.25)).toEqual(0.015625);
174
+ expect(quintInOut(0.5)).toBeCloseTo(0.5);
175
+ expect(quintInOut(0.75)).toEqual(0.984375);
176
+ expect(quintInOut(1)).toEqual(1);
177
+ expect(quintInOut(2)).toEqual(1);
178
+ });
179
+ // Circ
180
+ it("Returns the proper val for Circ in", () => {
181
+ expect(circIn(-1)).toEqual(0);
182
+ expect(circIn(0)).toEqual(0);
183
+ expect(circIn(0.25)).toEqual(0.031754163448145745);
184
+ expect(circIn(0.5)).toEqual(0.1339745962155614);
185
+ expect(circIn(0.75)).toEqual(0.3385621722338523);
186
+ expect(circIn(1)).toEqual(1);
187
+ expect(circIn(2)).toEqual(1);
188
+ });
189
+ it("Returns the proper val for Circ out", () => {
190
+ expect(circOut(-1)).toEqual(0);
191
+ expect(circOut(0)).toEqual(0);
192
+ expect(circOut(0.25)).toEqual(0.6614378277661477);
193
+ expect(circOut(0.5)).toEqual(0.8660254037844386);
194
+ expect(circOut(0.75)).toEqual(0.9682458365518543);
195
+ expect(circOut(1)).toEqual(1);
196
+ expect(circOut(2)).toEqual(1);
197
+ });
198
+ it("Returns the proper val for Circ in out", () => {
199
+ expect(circInOut(-1)).toEqual(0);
200
+ expect(circInOut(0)).toEqual(0);
201
+ expect(circInOut(0.25)).toEqual(0.0669872981077807);
202
+ expect(circInOut(0.5)).toBeCloseTo(0.5);
203
+ expect(circInOut(0.75)).toEqual(0.9330127018922193);
204
+ expect(circInOut(1)).toEqual(1);
205
+ expect(circInOut(2)).toEqual(1);
206
+ });
207
+ //# sourceMappingURL=easeFunctions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easeFunctions.test.js","sourceRoot":"","sources":["../../../src/Utilities/easeFunctions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,GACR,MAAM,iBAAiB,CAAC;AAEzB,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACnD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,OAAO;AACP,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAChD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,QAAQ;AACR,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACjD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,OAAO;AACP,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAChD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,MAAM;AACN,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC3C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;IAC/C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,QAAQ;AACR,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACjD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,QAAQ;AACR,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACjD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,OAAO;AACP,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAChD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { v4 as uuidv4 } from "uuid";
2
+ export function generateUniqueID() {
3
+ return uuidv4();
4
+ }
5
+ //# sourceMappingURL=generateUniqueID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateUniqueID.js","sourceRoot":"","sources":["../../../src/Utilities/generateUniqueID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./degreesToRadians";
2
+ export * from "./LengthConverters";
3
+ export * from "./generateUniqueID";
4
+ export * from "./easeFunctions";
5
+ export * from "./interpolateNumber";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export function interpolateNumber(start, end, percent, clamp = false) {
2
+ const range = end - start;
3
+ if (!clamp) {
4
+ return percent * range + start;
5
+ }
6
+ let clampedP = percent;
7
+ if (clampedP < 0) {
8
+ clampedP = 0;
9
+ }
10
+ else if (clampedP > 1) {
11
+ clampedP = 1;
12
+ }
13
+ return clampedP * range + start;
14
+ }
15
+ //# sourceMappingURL=interpolateNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolateNumber.js","sourceRoot":"","sources":["../../../src/Utilities/interpolateNumber.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,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,24 @@
1
+ import { interpolateNumber } from "./interpolateNumber";
2
+ describe("Lerp number", () => {
3
+ it("Interpolate as expected", () => {
4
+ const lerpedVal = interpolateNumber(0, 10, 0.5);
5
+ expect(lerpedVal).toEqual(5);
6
+ });
7
+ it("Interpolate without clamping", () => {
8
+ const lerpedVal = interpolateNumber(0, 10, -0.5);
9
+ expect(lerpedVal).toEqual(-5);
10
+ });
11
+ it("Interpolate without clamping", () => {
12
+ const lerpedVal = interpolateNumber(0, 10, 1.5);
13
+ expect(lerpedVal).toEqual(15);
14
+ });
15
+ it("Interpolate with clamping", () => {
16
+ const lerpedVal = interpolateNumber(0, 10, -0.5, true);
17
+ expect(lerpedVal).toEqual(0);
18
+ });
19
+ it("Interpolate with clamping", () => {
20
+ const lerpedVal = interpolateNumber(0, 10, 1.5, true);
21
+ expect(lerpedVal).toEqual(10);
22
+ });
23
+ });
24
+ //# 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,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,SAAS,GAAG,iBAAiB,CAAC,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,iBAAiB,CAAC,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,iBAAiB,CAAC,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,iBAAiB,CAAC,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,iBAAiB,CAAC,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/esm/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./AppObject";
2
2
  export * from "./Entities";
3
3
  export * from "./Types";
4
+ export * from "./Utilities";
4
5
  export * from "./ValueObjects";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/appobject/appobject.test.ts","../src/appobject/appobject.ts","../src/appobject/appobjectcomponent.test.ts","../src/appobject/appobjectcomponent.ts","../src/appobject/appobjectcontroller.ts","../src/appobject/appobjectentity.test.ts","../src/appobject/appobjectentity.ts","../src/appobject/appobjectentityrepo.test.ts","../src/appobject/appobjectentityrepo.ts","../src/appobject/appobjectpm.test.ts","../src/appobject/appobjectpm.ts","../src/appobject/appobjectrepo.test.ts","../src/appobject/appobjectrepo.ts","../src/appobject/appobjectuc.ts","../src/appobject/appobjectview.ts","../src/appobject/getsingletoncomponent.test.ts","../src/appobject/getsingletoncomponent.ts","../src/appobject/index.ts","../src/appobject/printappobjectdetails.ts","../src/entities/memoizedangle.test.ts","../src/entities/memoizedangle.ts","../src/entities/memoizedboolean.test.ts","../src/entities/memoizedboolean.ts","../src/entities/memoizedcolor.test.ts","../src/entities/memoizedcolor.ts","../src/entities/memoizednumber.test.ts","../src/entities/memoizednumber.ts","../src/entities/memoizedquaternion.test.ts","../src/entities/memoizedquaternion.ts","../src/entities/memoizedstring.test.ts","../src/entities/memoizedstring.ts","../src/entities/memoizedvector2.test.ts","../src/entities/memoizedvector2.ts","../src/entities/memoizedvector3.test.ts","../src/entities/memoizedvector3.ts","../src/entities/observableentity.test.ts","../src/entities/observableentity.ts","../src/entities/observerlist.test.ts","../src/entities/observerlist.ts","../src/entities/index.ts","../src/types/appboundary.ts","../src/types/easefn.ts","../src/types/pmadapter.ts","../src/types/singletonpmadapter.ts","../src/types/index.ts","../src/valueobjects/angle.test.ts","../src/valueobjects/angle.ts","../src/valueobjects/color.test.ts","../src/valueobjects/color.ts","../src/valueobjects/linesegment2d.test.ts","../src/valueobjects/linesegment2d.ts","../src/valueobjects/matrix.test.ts","../src/valueobjects/matrix.ts","../src/valueobjects/parametricline.test.ts","../src/valueobjects/parametricline.ts","../src/valueobjects/parametricplane.test.ts","../src/valueobjects/parametricplane.ts","../src/valueobjects/quaternion.test.ts","../src/valueobjects/quaternion.ts","../src/valueobjects/rectangle.test.ts","../src/valueobjects/rectangle.ts","../src/valueobjects/vector2.test.ts","../src/valueobjects/vector2.ts","../src/valueobjects/vector3.test.ts","../src/valueobjects/vector3.ts","../src/valueobjects/index.ts"],"version":"5.8.2"}
1
+ {"root":["../src/index.ts","../src/appobject/appobject.test.ts","../src/appobject/appobject.ts","../src/appobject/appobjectcomponent.test.ts","../src/appobject/appobjectcomponent.ts","../src/appobject/appobjectcontroller.ts","../src/appobject/appobjectentity.test.ts","../src/appobject/appobjectentity.ts","../src/appobject/appobjectentityrepo.test.ts","../src/appobject/appobjectentityrepo.ts","../src/appobject/appobjectpm.test.ts","../src/appobject/appobjectpm.ts","../src/appobject/appobjectrepo.test.ts","../src/appobject/appobjectrepo.ts","../src/appobject/appobjectuc.ts","../src/appobject/appobjectview.ts","../src/appobject/getsingletoncomponent.test.ts","../src/appobject/getsingletoncomponent.ts","../src/appobject/index.ts","../src/appobject/printappobjectdetails.ts","../src/entities/memoizedangle.test.ts","../src/entities/memoizedangle.ts","../src/entities/memoizedboolean.test.ts","../src/entities/memoizedboolean.ts","../src/entities/memoizedcolor.test.ts","../src/entities/memoizedcolor.ts","../src/entities/memoizednumber.test.ts","../src/entities/memoizednumber.ts","../src/entities/memoizedquaternion.test.ts","../src/entities/memoizedquaternion.ts","../src/entities/memoizedstring.test.ts","../src/entities/memoizedstring.ts","../src/entities/memoizedvector2.test.ts","../src/entities/memoizedvector2.ts","../src/entities/memoizedvector3.test.ts","../src/entities/memoizedvector3.ts","../src/entities/observableentity.test.ts","../src/entities/observableentity.ts","../src/entities/observerlist.test.ts","../src/entities/observerlist.ts","../src/entities/rangednumber.test.ts","../src/entities/rangednumber.ts","../src/entities/index.ts","../src/types/appboundary.ts","../src/types/easefn.ts","../src/types/pmadapter.ts","../src/types/singletonpmadapter.ts","../src/types/index.ts","../src/utilities/lengthconverters.test.ts","../src/utilities/lengthconverters.ts","../src/utilities/lerpnumber.test.ts","../src/utilities/lerpnumber.ts","../src/utilities/degreestoradians.test.ts","../src/utilities/degreestoradians.ts","../src/utilities/easefunctions.test.ts","../src/utilities/easefunctions.ts","../src/utilities/generateuniqueid.ts","../src/utilities/index.ts","../src/utilities/interpolatenumber.test.ts","../src/utilities/interpolatenumber.ts","../src/valueobjects/angle.test.ts","../src/valueobjects/angle.ts","../src/valueobjects/color.test.ts","../src/valueobjects/color.ts","../src/valueobjects/linesegment2d.test.ts","../src/valueobjects/linesegment2d.ts","../src/valueobjects/matrix.test.ts","../src/valueobjects/matrix.ts","../src/valueobjects/parametricline.test.ts","../src/valueobjects/parametricline.ts","../src/valueobjects/parametricplane.test.ts","../src/valueobjects/parametricplane.ts","../src/valueobjects/quaternion.test.ts","../src/valueobjects/quaternion.ts","../src/valueobjects/rectangle.test.ts","../src/valueobjects/rectangle.ts","../src/valueobjects/vector2.test.ts","../src/valueobjects/vector2.ts","../src/valueobjects/vector3.test.ts","../src/valueobjects/vector3.ts","../src/valueobjects/index.ts"],"version":"5.8.2"}