react-native-timer-picker 2.1.1 → 2.2.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 (139) hide show
  1. package/README.md +250 -174
  2. package/dist/commonjs/components/DurationScroll/DurationScroll.js +417 -0
  3. package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -0
  4. package/dist/commonjs/components/DurationScroll/index.js +20 -392
  5. package/dist/commonjs/components/DurationScroll/index.js.map +1 -1
  6. package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
  7. package/dist/commonjs/components/Modal/Modal.js +107 -0
  8. package/dist/commonjs/components/Modal/Modal.js.map +1 -0
  9. package/dist/commonjs/components/Modal/index.js +20 -101
  10. package/dist/commonjs/components/Modal/index.js.map +1 -1
  11. package/dist/commonjs/components/TimerPicker/TimerPicker.js +225 -0
  12. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -0
  13. package/dist/commonjs/components/TimerPicker/index.js +29 -166
  14. package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
  15. package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
  16. package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
  17. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +143 -0
  18. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +1 -0
  19. package/dist/commonjs/components/TimerPickerModal/index.js +30 -131
  20. package/dist/commonjs/components/TimerPickerModal/index.js.map +1 -1
  21. package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -1
  22. package/dist/commonjs/index.js +9 -13
  23. package/dist/commonjs/index.js.map +1 -1
  24. package/dist/commonjs/tests/DurationScroll.test.js +94 -0
  25. package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
  26. package/dist/commonjs/tests/Modal.test.js +79 -2
  27. package/dist/commonjs/tests/Modal.test.js.map +1 -1
  28. package/dist/commonjs/tests/TimerPicker.test.js +119 -1
  29. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  30. package/dist/commonjs/tests/TimerPickerModal.test.js +120 -0
  31. package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
  32. package/dist/commonjs/tests/colorToRgba.test.js +176 -0
  33. package/dist/commonjs/tests/colorToRgba.test.js.map +1 -0
  34. package/dist/commonjs/tests/generateNumbers.test.js +350 -0
  35. package/dist/commonjs/tests/generateNumbers.test.js.map +1 -0
  36. package/dist/commonjs/tests/getAdjustedLimit.test.js +324 -0
  37. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +1 -0
  38. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js +424 -0
  39. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
  40. package/dist/commonjs/tests/getInitialScrollIndex.test.js +396 -0
  41. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +1 -0
  42. package/dist/commonjs/tests/getSafeInitialValue.test.js +497 -0
  43. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +1 -0
  44. package/dist/commonjs/tests/padNumber.test.js +301 -0
  45. package/dist/commonjs/tests/padNumber.test.js.map +1 -0
  46. package/dist/commonjs/utils/colorToRgba.js +40 -4
  47. package/dist/commonjs/utils/colorToRgba.js.map +1 -1
  48. package/dist/commonjs/utils/generateNumbers.js +67 -0
  49. package/dist/commonjs/utils/generateNumbers.js.map +1 -1
  50. package/dist/commonjs/utils/getAdjustedLimit.js +28 -3
  51. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  52. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js +38 -0
  53. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  54. package/dist/commonjs/utils/getInitialScrollIndex.js +38 -0
  55. package/dist/commonjs/utils/getInitialScrollIndex.js.map +1 -1
  56. package/dist/commonjs/utils/getSafeInitialValue.js +28 -0
  57. package/dist/commonjs/utils/getSafeInitialValue.js.map +1 -1
  58. package/dist/commonjs/utils/padNumber.js +25 -0
  59. package/dist/commonjs/utils/padNumber.js.map +1 -1
  60. package/dist/module/components/DurationScroll/DurationScroll.js +410 -0
  61. package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -0
  62. package/dist/module/components/DurationScroll/index.js +2 -390
  63. package/dist/module/components/DurationScroll/index.js.map +1 -1
  64. package/dist/module/components/DurationScroll/types.js.map +1 -1
  65. package/dist/module/components/Modal/Modal.js +99 -0
  66. package/dist/module/components/Modal/Modal.js.map +1 -0
  67. package/dist/module/components/Modal/index.js +2 -98
  68. package/dist/module/components/Modal/index.js.map +1 -1
  69. package/dist/module/components/TimerPicker/TimerPicker.js +217 -0
  70. package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -0
  71. package/dist/module/components/TimerPicker/index.js +3 -166
  72. package/dist/module/components/TimerPicker/index.js.map +1 -1
  73. package/dist/module/components/TimerPicker/styles.js.map +1 -1
  74. package/dist/module/components/TimerPicker/types.js.map +1 -1
  75. package/dist/module/components/TimerPickerModal/TimerPickerModal.js +135 -0
  76. package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +1 -0
  77. package/dist/module/components/TimerPickerModal/index.js +3 -130
  78. package/dist/module/components/TimerPickerModal/index.js.map +1 -1
  79. package/dist/module/components/TimerPickerModal/types.js.map +1 -1
  80. package/dist/module/index.js +2 -6
  81. package/dist/module/index.js.map +1 -1
  82. package/dist/module/tests/DurationScroll.test.js +94 -0
  83. package/dist/module/tests/DurationScroll.test.js.map +1 -1
  84. package/dist/module/tests/Modal.test.js +80 -3
  85. package/dist/module/tests/Modal.test.js.map +1 -1
  86. package/dist/module/tests/TimerPicker.test.js +119 -1
  87. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  88. package/dist/module/tests/TimerPickerModal.test.js +121 -1
  89. package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
  90. package/dist/module/tests/colorToRgba.test.js +174 -0
  91. package/dist/module/tests/colorToRgba.test.js.map +1 -0
  92. package/dist/module/tests/generateNumbers.test.js +348 -0
  93. package/dist/module/tests/generateNumbers.test.js.map +1 -0
  94. package/dist/module/tests/getAdjustedLimit.test.js +322 -0
  95. package/dist/module/tests/getAdjustedLimit.test.js.map +1 -0
  96. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js +422 -0
  97. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
  98. package/dist/module/tests/getInitialScrollIndex.test.js +394 -0
  99. package/dist/module/tests/getInitialScrollIndex.test.js.map +1 -0
  100. package/dist/module/tests/getSafeInitialValue.test.js +495 -0
  101. package/dist/module/tests/getSafeInitialValue.test.js.map +1 -0
  102. package/dist/module/tests/padNumber.test.js +299 -0
  103. package/dist/module/tests/padNumber.test.js.map +1 -0
  104. package/dist/module/utils/colorToRgba.js +40 -4
  105. package/dist/module/utils/colorToRgba.js.map +1 -1
  106. package/dist/module/utils/generateNumbers.js +68 -0
  107. package/dist/module/utils/generateNumbers.js.map +1 -1
  108. package/dist/module/utils/getAdjustedLimit.js +28 -3
  109. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  110. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js +38 -0
  111. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  112. package/dist/module/utils/getInitialScrollIndex.js +38 -0
  113. package/dist/module/utils/getInitialScrollIndex.js.map +1 -1
  114. package/dist/module/utils/getSafeInitialValue.js +28 -0
  115. package/dist/module/utils/getSafeInitialValue.js.map +1 -1
  116. package/dist/module/utils/padNumber.js +25 -0
  117. package/dist/module/utils/padNumber.js.map +1 -1
  118. package/dist/typescript/components/DurationScroll/DurationScroll.d.ts +4 -0
  119. package/dist/typescript/components/DurationScroll/index.d.ts +2 -4
  120. package/dist/typescript/components/DurationScroll/types.d.ts +13 -9
  121. package/dist/typescript/components/Modal/Modal.d.ts +5 -0
  122. package/dist/typescript/components/Modal/index.d.ts +2 -5
  123. package/dist/typescript/components/TimerPicker/TimerPicker.d.ts +4 -0
  124. package/dist/typescript/components/TimerPicker/index.d.ts +3 -4
  125. package/dist/typescript/components/TimerPicker/styles.d.ts +922 -771
  126. package/dist/typescript/components/TimerPicker/types.d.ts +26 -10
  127. package/dist/typescript/components/TimerPickerModal/TimerPickerModal.d.ts +4 -0
  128. package/dist/typescript/components/TimerPickerModal/index.d.ts +3 -4
  129. package/dist/typescript/components/TimerPickerModal/styles.d.ts +570 -474
  130. package/dist/typescript/components/TimerPickerModal/types.d.ts +8 -5
  131. package/dist/typescript/index.d.ts +2 -6
  132. package/dist/typescript/utils/colorToRgba.d.ts +34 -0
  133. package/dist/typescript/utils/generateNumbers.d.ts +66 -0
  134. package/dist/typescript/utils/getAdjustedLimit.d.ts +27 -2
  135. package/dist/typescript/utils/getDurationAndIndexFromScrollOffset.d.ts +38 -0
  136. package/dist/typescript/utils/getInitialScrollIndex.d.ts +38 -0
  137. package/dist/typescript/utils/getSafeInitialValue.d.ts +29 -0
  138. package/dist/typescript/utils/padNumber.d.ts +25 -0
  139. package/package.json +12 -30
@@ -0,0 +1,497 @@
1
+ "use strict";
2
+
3
+ var _getSafeInitialValue = require("../utils/getSafeInitialValue");
4
+ describe("getSafeInitialValue", () => {
5
+ describe("valid values", () => {
6
+ it("returns all values when all are valid", () => {
7
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
8
+ days: 5,
9
+ hours: 10,
10
+ minutes: 30,
11
+ seconds: 45
12
+ });
13
+ expect(result).toEqual({
14
+ days: 5,
15
+ hours: 10,
16
+ minutes: 30,
17
+ seconds: 45
18
+ });
19
+ });
20
+ it("handles zero values", () => {
21
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
22
+ days: 0,
23
+ hours: 0,
24
+ minutes: 0,
25
+ seconds: 0
26
+ });
27
+ expect(result).toEqual({
28
+ days: 0,
29
+ hours: 0,
30
+ minutes: 0,
31
+ seconds: 0
32
+ });
33
+ });
34
+ it("handles large values", () => {
35
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
36
+ days: 365,
37
+ hours: 23,
38
+ minutes: 59,
39
+ seconds: 59
40
+ });
41
+ expect(result).toEqual({
42
+ days: 365,
43
+ hours: 23,
44
+ minutes: 59,
45
+ seconds: 59
46
+ });
47
+ });
48
+ it("handles negative values as valid numbers", () => {
49
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
50
+ days: -5,
51
+ hours: -2,
52
+ minutes: -30,
53
+ seconds: -15
54
+ });
55
+ expect(result).toEqual({
56
+ days: -5,
57
+ hours: -2,
58
+ minutes: -30,
59
+ seconds: -15
60
+ });
61
+ });
62
+ it("handles decimal values", () => {
63
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
64
+ days: 1.5,
65
+ hours: 2.7,
66
+ minutes: 30.3,
67
+ seconds: 45.9
68
+ });
69
+ expect(result).toEqual({
70
+ days: 1.5,
71
+ hours: 2.7,
72
+ minutes: 30.3,
73
+ seconds: 45.9
74
+ });
75
+ });
76
+ });
77
+ describe("undefined input", () => {
78
+ it("returns all zeros when input is undefined", () => {
79
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)(undefined);
80
+ expect(result).toEqual({
81
+ days: 0,
82
+ hours: 0,
83
+ minutes: 0,
84
+ seconds: 0
85
+ });
86
+ });
87
+ });
88
+ describe("partial values", () => {
89
+ it("defaults missing days to 0", () => {
90
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
91
+ hours: 10,
92
+ minutes: 30,
93
+ seconds: 45
94
+ });
95
+ expect(result).toEqual({
96
+ days: 0,
97
+ hours: 10,
98
+ minutes: 30,
99
+ seconds: 45
100
+ });
101
+ });
102
+ it("defaults missing hours to 0", () => {
103
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
104
+ days: 5,
105
+ minutes: 30,
106
+ seconds: 45
107
+ });
108
+ expect(result).toEqual({
109
+ days: 5,
110
+ hours: 0,
111
+ minutes: 30,
112
+ seconds: 45
113
+ });
114
+ });
115
+ it("defaults missing minutes to 0", () => {
116
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
117
+ days: 5,
118
+ hours: 10,
119
+ seconds: 45
120
+ });
121
+ expect(result).toEqual({
122
+ days: 5,
123
+ hours: 10,
124
+ minutes: 0,
125
+ seconds: 45
126
+ });
127
+ });
128
+ it("defaults missing seconds to 0", () => {
129
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
130
+ days: 5,
131
+ hours: 10,
132
+ minutes: 30
133
+ });
134
+ expect(result).toEqual({
135
+ days: 5,
136
+ hours: 10,
137
+ minutes: 30,
138
+ seconds: 0
139
+ });
140
+ });
141
+ it("handles only days provided", () => {
142
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
143
+ days: 7
144
+ });
145
+ expect(result).toEqual({
146
+ days: 7,
147
+ hours: 0,
148
+ minutes: 0,
149
+ seconds: 0
150
+ });
151
+ });
152
+ it("handles only hours provided", () => {
153
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
154
+ hours: 12
155
+ });
156
+ expect(result).toEqual({
157
+ days: 0,
158
+ hours: 12,
159
+ minutes: 0,
160
+ seconds: 0
161
+ });
162
+ });
163
+ it("handles only minutes provided", () => {
164
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
165
+ minutes: 45
166
+ });
167
+ expect(result).toEqual({
168
+ days: 0,
169
+ hours: 0,
170
+ minutes: 45,
171
+ seconds: 0
172
+ });
173
+ });
174
+ it("handles only seconds provided", () => {
175
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
176
+ seconds: 30
177
+ });
178
+ expect(result).toEqual({
179
+ days: 0,
180
+ hours: 0,
181
+ minutes: 0,
182
+ seconds: 30
183
+ });
184
+ });
185
+ it("handles empty object", () => {
186
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({});
187
+ expect(result).toEqual({
188
+ days: 0,
189
+ hours: 0,
190
+ minutes: 0,
191
+ seconds: 0
192
+ });
193
+ });
194
+ });
195
+ describe("invalid values - NaN", () => {
196
+ it("defaults days to 0 when NaN", () => {
197
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
198
+ days: NaN,
199
+ hours: 10,
200
+ minutes: 30,
201
+ seconds: 45
202
+ });
203
+ expect(result).toEqual({
204
+ days: 0,
205
+ hours: 10,
206
+ minutes: 30,
207
+ seconds: 45
208
+ });
209
+ });
210
+ it("defaults hours to 0 when NaN", () => {
211
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
212
+ days: 5,
213
+ hours: NaN,
214
+ minutes: 30,
215
+ seconds: 45
216
+ });
217
+ expect(result).toEqual({
218
+ days: 5,
219
+ hours: 0,
220
+ minutes: 30,
221
+ seconds: 45
222
+ });
223
+ });
224
+ it("defaults minutes to 0 when NaN", () => {
225
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
226
+ days: 5,
227
+ hours: 10,
228
+ minutes: NaN,
229
+ seconds: 45
230
+ });
231
+ expect(result).toEqual({
232
+ days: 5,
233
+ hours: 10,
234
+ minutes: 0,
235
+ seconds: 45
236
+ });
237
+ });
238
+ it("defaults seconds to 0 when NaN", () => {
239
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
240
+ days: 5,
241
+ hours: 10,
242
+ minutes: 30,
243
+ seconds: NaN
244
+ });
245
+ expect(result).toEqual({
246
+ days: 5,
247
+ hours: 10,
248
+ minutes: 30,
249
+ seconds: 0
250
+ });
251
+ });
252
+ it("defaults all to 0 when all are NaN", () => {
253
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
254
+ days: NaN,
255
+ hours: NaN,
256
+ minutes: NaN,
257
+ seconds: NaN
258
+ });
259
+ expect(result).toEqual({
260
+ days: 0,
261
+ hours: 0,
262
+ minutes: 0,
263
+ seconds: 0
264
+ });
265
+ });
266
+ });
267
+ describe("invalid values - wrong types", () => {
268
+ it("defaults days to 0 when string", () => {
269
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
270
+ days: "5",
271
+ hours: 10,
272
+ minutes: 30,
273
+ seconds: 45
274
+ });
275
+ expect(result).toEqual({
276
+ days: 0,
277
+ hours: 10,
278
+ minutes: 30,
279
+ seconds: 45
280
+ });
281
+ });
282
+ it("defaults hours to 0 when string", () => {
283
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
284
+ days: 5,
285
+ hours: "10",
286
+ minutes: 30,
287
+ seconds: 45
288
+ });
289
+ expect(result).toEqual({
290
+ days: 5,
291
+ hours: 0,
292
+ minutes: 30,
293
+ seconds: 45
294
+ });
295
+ });
296
+ it("defaults minutes to 0 when boolean", () => {
297
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
298
+ days: 5,
299
+ hours: 10,
300
+ minutes: true,
301
+ seconds: 45
302
+ });
303
+ expect(result).toEqual({
304
+ days: 5,
305
+ hours: 10,
306
+ minutes: 0,
307
+ seconds: 45
308
+ });
309
+ });
310
+ it("defaults seconds to 0 when null", () => {
311
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
312
+ days: 5,
313
+ hours: 10,
314
+ minutes: 30,
315
+ seconds: null
316
+ });
317
+ expect(result).toEqual({
318
+ days: 5,
319
+ hours: 10,
320
+ minutes: 30,
321
+ seconds: 0
322
+ });
323
+ });
324
+ it("defaults all to 0 when all are invalid types", () => {
325
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
326
+ days: "invalid",
327
+ hours: true,
328
+ minutes: null,
329
+ seconds: undefined
330
+ });
331
+ expect(result).toEqual({
332
+ days: 0,
333
+ hours: 0,
334
+ minutes: 0,
335
+ seconds: 0
336
+ });
337
+ });
338
+ it("defaults values to 0 when objects", () => {
339
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
340
+ days: {},
341
+ hours: [],
342
+ minutes: {
343
+ value: 30
344
+ },
345
+ seconds: [45]
346
+ });
347
+ expect(result).toEqual({
348
+ days: 0,
349
+ hours: 0,
350
+ minutes: 0,
351
+ seconds: 0
352
+ });
353
+ });
354
+ });
355
+ describe("mixed valid and invalid values", () => {
356
+ it("handles mix of valid and NaN values", () => {
357
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
358
+ days: 5,
359
+ hours: NaN,
360
+ minutes: 30,
361
+ seconds: NaN
362
+ });
363
+ expect(result).toEqual({
364
+ days: 5,
365
+ hours: 0,
366
+ minutes: 30,
367
+ seconds: 0
368
+ });
369
+ });
370
+ it("handles mix of valid and undefined values", () => {
371
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
372
+ days: 5,
373
+ minutes: 30
374
+ });
375
+ expect(result).toEqual({
376
+ days: 5,
377
+ hours: 0,
378
+ minutes: 30,
379
+ seconds: 0
380
+ });
381
+ });
382
+ it("handles mix of valid and invalid type values", () => {
383
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
384
+ days: 5,
385
+ hours: "invalid",
386
+ minutes: 30,
387
+ seconds: null
388
+ });
389
+ expect(result).toEqual({
390
+ days: 5,
391
+ hours: 0,
392
+ minutes: 30,
393
+ seconds: 0
394
+ });
395
+ });
396
+ });
397
+ describe("special number values", () => {
398
+ it("handles Infinity", () => {
399
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
400
+ days: Infinity,
401
+ hours: -Infinity,
402
+ minutes: 30,
403
+ seconds: 45
404
+ });
405
+ expect(result).toEqual({
406
+ days: Infinity,
407
+ hours: -Infinity,
408
+ minutes: 30,
409
+ seconds: 45
410
+ });
411
+ });
412
+ it("handles very small numbers", () => {
413
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
414
+ days: 0.00001,
415
+ hours: 0.00002,
416
+ minutes: 0.00003,
417
+ seconds: 0.00004
418
+ });
419
+ expect(result).toEqual({
420
+ days: 0.00001,
421
+ hours: 0.00002,
422
+ minutes: 0.00003,
423
+ seconds: 0.00004
424
+ });
425
+ });
426
+ it("handles very large numbers", () => {
427
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
428
+ days: 999999,
429
+ hours: 999999,
430
+ minutes: 999999,
431
+ seconds: 999999
432
+ });
433
+ expect(result).toEqual({
434
+ days: 999999,
435
+ hours: 999999,
436
+ minutes: 999999,
437
+ seconds: 999999
438
+ });
439
+ });
440
+ });
441
+ describe("real-world scenarios", () => {
442
+ it("handles typical timer value", () => {
443
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
444
+ hours: 2,
445
+ minutes: 30,
446
+ seconds: 0
447
+ });
448
+ expect(result).toEqual({
449
+ days: 0,
450
+ hours: 2,
451
+ minutes: 30,
452
+ seconds: 0
453
+ });
454
+ });
455
+ it("handles countdown timer", () => {
456
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
457
+ minutes: 5,
458
+ seconds: 0
459
+ });
460
+ expect(result).toEqual({
461
+ days: 0,
462
+ hours: 0,
463
+ minutes: 5,
464
+ seconds: 0
465
+ });
466
+ });
467
+ it("handles duration with days", () => {
468
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
469
+ days: 7,
470
+ hours: 12,
471
+ minutes: 30,
472
+ seconds: 45
473
+ });
474
+ expect(result).toEqual({
475
+ days: 7,
476
+ hours: 12,
477
+ minutes: 30,
478
+ seconds: 45
479
+ });
480
+ });
481
+ it("handles invalid user input gracefully", () => {
482
+ const result = (0, _getSafeInitialValue.getSafeInitialValue)({
483
+ days: parseInt("abc"),
484
+ hours: parseInt(""),
485
+ minutes: parseFloat("not a number"),
486
+ seconds: 30
487
+ });
488
+ expect(result).toEqual({
489
+ days: 0,
490
+ hours: 0,
491
+ minutes: 0,
492
+ seconds: 30
493
+ });
494
+ });
495
+ });
496
+ });
497
+ //# sourceMappingURL=getSafeInitialValue.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_getSafeInitialValue","require","describe","it","result","getSafeInitialValue","days","hours","minutes","seconds","expect","toEqual","undefined","NaN","value","Infinity","parseInt","parseFloat"],"sources":["getSafeInitialValue.test.ts"],"sourcesContent":["import { getSafeInitialValue } from \"../utils/getSafeInitialValue\";\n\ndescribe(\"getSafeInitialValue\", () => {\n describe(\"valid values\", () => {\n it(\"returns all values when all are valid\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 5,\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"handles zero values\", () => {\n const result = getSafeInitialValue({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n });\n\n it(\"handles large values\", () => {\n const result = getSafeInitialValue({\n days: 365,\n hours: 23,\n minutes: 59,\n seconds: 59,\n });\n expect(result).toEqual({\n days: 365,\n hours: 23,\n minutes: 59,\n seconds: 59,\n });\n });\n\n it(\"handles negative values as valid numbers\", () => {\n const result = getSafeInitialValue({\n days: -5,\n hours: -2,\n minutes: -30,\n seconds: -15,\n });\n expect(result).toEqual({\n days: -5,\n hours: -2,\n minutes: -30,\n seconds: -15,\n });\n });\n\n it(\"handles decimal values\", () => {\n const result = getSafeInitialValue({\n days: 1.5,\n hours: 2.7,\n minutes: 30.3,\n seconds: 45.9,\n });\n expect(result).toEqual({\n days: 1.5,\n hours: 2.7,\n minutes: 30.3,\n seconds: 45.9,\n });\n });\n });\n\n describe(\"undefined input\", () => {\n it(\"returns all zeros when input is undefined\", () => {\n const result = getSafeInitialValue(undefined);\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n });\n });\n\n describe(\"partial values\", () => {\n it(\"defaults missing days to 0\", () => {\n const result = getSafeInitialValue({\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 0,\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"defaults missing hours to 0\", () => {\n const result = getSafeInitialValue({\n days: 5,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 5,\n hours: 0,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"defaults missing minutes to 0\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: 10,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 5,\n hours: 10,\n minutes: 0,\n seconds: 45,\n });\n });\n\n it(\"defaults missing seconds to 0\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: 10,\n minutes: 30,\n });\n expect(result).toEqual({\n days: 5,\n hours: 10,\n minutes: 30,\n seconds: 0,\n });\n });\n\n it(\"handles only days provided\", () => {\n const result = getSafeInitialValue({ days: 7 });\n expect(result).toEqual({\n days: 7,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n });\n\n it(\"handles only hours provided\", () => {\n const result = getSafeInitialValue({ hours: 12 });\n expect(result).toEqual({\n days: 0,\n hours: 12,\n minutes: 0,\n seconds: 0,\n });\n });\n\n it(\"handles only minutes provided\", () => {\n const result = getSafeInitialValue({ minutes: 45 });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 45,\n seconds: 0,\n });\n });\n\n it(\"handles only seconds provided\", () => {\n const result = getSafeInitialValue({ seconds: 30 });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 30,\n });\n });\n\n it(\"handles empty object\", () => {\n const result = getSafeInitialValue({});\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n });\n });\n\n describe(\"invalid values - NaN\", () => {\n it(\"defaults days to 0 when NaN\", () => {\n const result = getSafeInitialValue({\n days: NaN,\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 0,\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"defaults hours to 0 when NaN\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: NaN,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 5,\n hours: 0,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"defaults minutes to 0 when NaN\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: 10,\n minutes: NaN,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 5,\n hours: 10,\n minutes: 0,\n seconds: 45,\n });\n });\n\n it(\"defaults seconds to 0 when NaN\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: 10,\n minutes: 30,\n seconds: NaN,\n });\n expect(result).toEqual({\n days: 5,\n hours: 10,\n minutes: 30,\n seconds: 0,\n });\n });\n\n it(\"defaults all to 0 when all are NaN\", () => {\n const result = getSafeInitialValue({\n days: NaN,\n hours: NaN,\n minutes: NaN,\n seconds: NaN,\n });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n });\n });\n\n describe(\"invalid values - wrong types\", () => {\n it(\"defaults days to 0 when string\", () => {\n const result = getSafeInitialValue({\n days: \"5\" as any,\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 0,\n hours: 10,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"defaults hours to 0 when string\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: \"10\" as any,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 5,\n hours: 0,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"defaults minutes to 0 when boolean\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: 10,\n minutes: true as any,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 5,\n hours: 10,\n minutes: 0,\n seconds: 45,\n });\n });\n\n it(\"defaults seconds to 0 when null\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: 10,\n minutes: 30,\n seconds: null as any,\n });\n expect(result).toEqual({\n days: 5,\n hours: 10,\n minutes: 30,\n seconds: 0,\n });\n });\n\n it(\"defaults all to 0 when all are invalid types\", () => {\n const result = getSafeInitialValue({\n days: \"invalid\" as any,\n hours: true as any,\n minutes: null as any,\n seconds: undefined as any,\n });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n });\n\n it(\"defaults values to 0 when objects\", () => {\n const result = getSafeInitialValue({\n days: {} as any,\n hours: [] as any,\n minutes: { value: 30 } as any,\n seconds: [45] as any,\n });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n });\n });\n\n describe(\"mixed valid and invalid values\", () => {\n it(\"handles mix of valid and NaN values\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: NaN,\n minutes: 30,\n seconds: NaN,\n });\n expect(result).toEqual({\n days: 5,\n hours: 0,\n minutes: 30,\n seconds: 0,\n });\n });\n\n it(\"handles mix of valid and undefined values\", () => {\n const result = getSafeInitialValue({\n days: 5,\n minutes: 30,\n });\n expect(result).toEqual({\n days: 5,\n hours: 0,\n minutes: 30,\n seconds: 0,\n });\n });\n\n it(\"handles mix of valid and invalid type values\", () => {\n const result = getSafeInitialValue({\n days: 5,\n hours: \"invalid\" as any,\n minutes: 30,\n seconds: null as any,\n });\n expect(result).toEqual({\n days: 5,\n hours: 0,\n minutes: 30,\n seconds: 0,\n });\n });\n });\n\n describe(\"special number values\", () => {\n it(\"handles Infinity\", () => {\n const result = getSafeInitialValue({\n days: Infinity,\n hours: -Infinity,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: Infinity,\n hours: -Infinity,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"handles very small numbers\", () => {\n const result = getSafeInitialValue({\n days: 0.00001,\n hours: 0.00002,\n minutes: 0.00003,\n seconds: 0.00004,\n });\n expect(result).toEqual({\n days: 0.00001,\n hours: 0.00002,\n minutes: 0.00003,\n seconds: 0.00004,\n });\n });\n\n it(\"handles very large numbers\", () => {\n const result = getSafeInitialValue({\n days: 999999,\n hours: 999999,\n minutes: 999999,\n seconds: 999999,\n });\n expect(result).toEqual({\n days: 999999,\n hours: 999999,\n minutes: 999999,\n seconds: 999999,\n });\n });\n });\n\n describe(\"real-world scenarios\", () => {\n it(\"handles typical timer value\", () => {\n const result = getSafeInitialValue({\n hours: 2,\n minutes: 30,\n seconds: 0,\n });\n expect(result).toEqual({\n days: 0,\n hours: 2,\n minutes: 30,\n seconds: 0,\n });\n });\n\n it(\"handles countdown timer\", () => {\n const result = getSafeInitialValue({\n minutes: 5,\n seconds: 0,\n });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 5,\n seconds: 0,\n });\n });\n\n it(\"handles duration with days\", () => {\n const result = getSafeInitialValue({\n days: 7,\n hours: 12,\n minutes: 30,\n seconds: 45,\n });\n expect(result).toEqual({\n days: 7,\n hours: 12,\n minutes: 30,\n seconds: 45,\n });\n });\n\n it(\"handles invalid user input gracefully\", () => {\n const result = getSafeInitialValue({\n days: parseInt(\"abc\"),\n hours: parseInt(\"\"),\n minutes: parseFloat(\"not a number\"),\n seconds: 30,\n });\n expect(result).toEqual({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 30,\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}