react-native-timer-picker 2.2.0 → 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 (56) hide show
  1. package/README.md +35 -34
  2. package/dist/commonjs/tests/DurationScroll.test.js +94 -0
  3. package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
  4. package/dist/commonjs/tests/Modal.test.js +79 -2
  5. package/dist/commonjs/tests/Modal.test.js.map +1 -1
  6. package/dist/commonjs/tests/TimerPicker.test.js +115 -0
  7. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  8. package/dist/commonjs/tests/TimerPickerModal.test.js +120 -0
  9. package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
  10. package/dist/commonjs/tests/colorToRgba.test.js +176 -0
  11. package/dist/commonjs/tests/colorToRgba.test.js.map +1 -0
  12. package/dist/commonjs/tests/generateNumbers.test.js +350 -0
  13. package/dist/commonjs/tests/generateNumbers.test.js.map +1 -0
  14. package/dist/commonjs/tests/getAdjustedLimit.test.js +324 -0
  15. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +1 -0
  16. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js +424 -0
  17. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
  18. package/dist/commonjs/tests/getInitialScrollIndex.test.js +396 -0
  19. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +1 -0
  20. package/dist/commonjs/tests/getSafeInitialValue.test.js +497 -0
  21. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +1 -0
  22. package/dist/commonjs/tests/padNumber.test.js +301 -0
  23. package/dist/commonjs/tests/padNumber.test.js.map +1 -0
  24. package/dist/commonjs/utils/colorToRgba.js +5 -0
  25. package/dist/commonjs/utils/colorToRgba.js.map +1 -1
  26. package/dist/commonjs/utils/getAdjustedLimit.js +3 -3
  27. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  28. package/dist/module/tests/DurationScroll.test.js +94 -0
  29. package/dist/module/tests/DurationScroll.test.js.map +1 -1
  30. package/dist/module/tests/Modal.test.js +80 -3
  31. package/dist/module/tests/Modal.test.js.map +1 -1
  32. package/dist/module/tests/TimerPicker.test.js +115 -0
  33. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  34. package/dist/module/tests/TimerPickerModal.test.js +121 -1
  35. package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
  36. package/dist/module/tests/colorToRgba.test.js +174 -0
  37. package/dist/module/tests/colorToRgba.test.js.map +1 -0
  38. package/dist/module/tests/generateNumbers.test.js +348 -0
  39. package/dist/module/tests/generateNumbers.test.js.map +1 -0
  40. package/dist/module/tests/getAdjustedLimit.test.js +322 -0
  41. package/dist/module/tests/getAdjustedLimit.test.js.map +1 -0
  42. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js +422 -0
  43. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -0
  44. package/dist/module/tests/getInitialScrollIndex.test.js +394 -0
  45. package/dist/module/tests/getInitialScrollIndex.test.js.map +1 -0
  46. package/dist/module/tests/getSafeInitialValue.test.js +495 -0
  47. package/dist/module/tests/getSafeInitialValue.test.js.map +1 -0
  48. package/dist/module/tests/padNumber.test.js +299 -0
  49. package/dist/module/tests/padNumber.test.js.map +1 -0
  50. package/dist/module/utils/colorToRgba.js +5 -0
  51. package/dist/module/utils/colorToRgba.js.map +1 -1
  52. package/dist/module/utils/getAdjustedLimit.js +3 -3
  53. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  54. package/dist/typescript/components/TimerPicker/styles.d.ts +0 -247
  55. package/dist/typescript/components/TimerPickerModal/styles.d.ts +0 -152
  56. package/package.json +3 -4
@@ -0,0 +1,348 @@
1
+ import { generateNumbers, generate12HourNumbers } from "../utils/generateNumbers";
2
+ describe("generateNumbers", () => {
3
+ describe("basic functionality", () => {
4
+ it("generates correct number of items", () => {
5
+ const result = generateNumbers(10, {
6
+ interval: 1,
7
+ padWithNItems: 0,
8
+ repeatNTimes: 1,
9
+ disableInfiniteScroll: true
10
+ });
11
+ expect(result).toHaveLength(10);
12
+ });
13
+ it("generates numbers with correct interval", () => {
14
+ const result = generateNumbers(5, {
15
+ interval: 2,
16
+ padWithNItems: 0,
17
+ repeatNTimes: 1,
18
+ disableInfiniteScroll: true
19
+ });
20
+ expect(result).toEqual([" 0", " 2", " 4", " 6", " 8"]);
21
+ });
22
+ it("generates numbers with interval of 5", () => {
23
+ const result = generateNumbers(4, {
24
+ interval: 5,
25
+ padWithNItems: 0,
26
+ repeatNTimes: 1,
27
+ disableInfiniteScroll: true
28
+ });
29
+ expect(result).toEqual([" 0", " 5", "10", "15"]);
30
+ });
31
+ it("returns empty array when numberOfItems is 0", () => {
32
+ const result = generateNumbers(0, {
33
+ interval: 1,
34
+ padWithNItems: 0,
35
+ repeatNTimes: 1
36
+ });
37
+ expect(result).toEqual([]);
38
+ });
39
+ it("returns empty array when numberOfItems is negative", () => {
40
+ const result = generateNumbers(-5, {
41
+ interval: 1,
42
+ padWithNItems: 0,
43
+ repeatNTimes: 1
44
+ });
45
+ expect(result).toEqual([]);
46
+ });
47
+ });
48
+ describe("padding with zeros", () => {
49
+ it("pads single-digit numbers with zeros", () => {
50
+ const result = generateNumbers(5, {
51
+ interval: 1,
52
+ padWithNItems: 0,
53
+ repeatNTimes: 1,
54
+ padNumbersWithZero: true,
55
+ disableInfiniteScroll: true
56
+ });
57
+ expect(result).toEqual(["00", "01", "02", "03", "04"]);
58
+ });
59
+ it("does not pad double-digit numbers", () => {
60
+ const result = generateNumbers(15, {
61
+ interval: 1,
62
+ padWithNItems: 0,
63
+ repeatNTimes: 1,
64
+ padNumbersWithZero: true,
65
+ disableInfiniteScroll: true
66
+ });
67
+ expect(result[0]).toBe("00");
68
+ expect(result[9]).toBe("09");
69
+ expect(result[10]).toBe("10");
70
+ expect(result[14]).toBe("14");
71
+ });
72
+ it("pads with space when padNumbersWithZero is false", () => {
73
+ const result = generateNumbers(5, {
74
+ interval: 1,
75
+ padWithNItems: 0,
76
+ repeatNTimes: 1,
77
+ padNumbersWithZero: false,
78
+ disableInfiniteScroll: true
79
+ });
80
+ expect(result).toEqual([" 0", " 1", " 2", " 3", " 4"]);
81
+ });
82
+ });
83
+ describe("padding with empty items", () => {
84
+ it("adds padding items at start and end when infinite scroll is disabled", () => {
85
+ const result = generateNumbers(3, {
86
+ interval: 1,
87
+ padWithNItems: 2,
88
+ repeatNTimes: 1,
89
+ disableInfiniteScroll: true
90
+ });
91
+ expect(result).toEqual(["", "", " 0", " 1", " 2", "", ""]);
92
+ expect(result).toHaveLength(7);
93
+ });
94
+ it("adds padding with 1 item", () => {
95
+ const result = generateNumbers(3, {
96
+ interval: 1,
97
+ padWithNItems: 1,
98
+ repeatNTimes: 1,
99
+ disableInfiniteScroll: true
100
+ });
101
+ expect(result).toEqual(["", " 0", " 1", " 2", ""]);
102
+ });
103
+ it("adds padding with 3 items", () => {
104
+ const result = generateNumbers(2, {
105
+ interval: 1,
106
+ padWithNItems: 3,
107
+ repeatNTimes: 1,
108
+ disableInfiniteScroll: true
109
+ });
110
+ expect(result).toEqual(["", "", "", " 0", " 1", "", "", ""]);
111
+ });
112
+ });
113
+ describe("number repetition", () => {
114
+ it("repeats numbers when repeatNTimes is 2", () => {
115
+ const result = generateNumbers(3, {
116
+ interval: 1,
117
+ padWithNItems: 0,
118
+ repeatNTimes: 2,
119
+ disableInfiniteScroll: false
120
+ });
121
+ expect(result).toEqual([" 0", " 1", " 2", " 0", " 1", " 2"]);
122
+ });
123
+ it("repeats numbers when repeatNTimes is 3", () => {
124
+ const result = generateNumbers(2, {
125
+ interval: 1,
126
+ padWithNItems: 0,
127
+ repeatNTimes: 3,
128
+ disableInfiniteScroll: false
129
+ });
130
+ expect(result).toEqual([" 0", " 1", " 0", " 1", " 0", " 1"]);
131
+ });
132
+ });
133
+ describe("combined options", () => {
134
+ it("combines padding with zeros and empty items", () => {
135
+ const result = generateNumbers(3, {
136
+ interval: 1,
137
+ padWithNItems: 1,
138
+ repeatNTimes: 1,
139
+ padNumbersWithZero: true,
140
+ disableInfiniteScroll: true
141
+ });
142
+ expect(result).toEqual(["", "00", "01", "02", ""]);
143
+ });
144
+ it("combines interval, padding with zeros, and repetition", () => {
145
+ const result = generateNumbers(3, {
146
+ interval: 5,
147
+ padWithNItems: 0,
148
+ repeatNTimes: 2,
149
+ padNumbersWithZero: true,
150
+ disableInfiniteScroll: false
151
+ });
152
+ expect(result).toEqual(["00", "05", "10", "00", "05", "10"]);
153
+ });
154
+ it("handles all options together", () => {
155
+ const result = generateNumbers(3, {
156
+ interval: 2,
157
+ padWithNItems: 1,
158
+ repeatNTimes: 2,
159
+ padNumbersWithZero: true,
160
+ disableInfiniteScroll: false
161
+ });
162
+ expect(result).toEqual(["00", "02", "04", "00", "02", "04"]);
163
+ });
164
+ });
165
+ });
166
+ describe("generate12HourNumbers", () => {
167
+ describe("basic functionality", () => {
168
+ it("generates all 24 hours with 1-hour interval", () => {
169
+ const result = generate12HourNumbers({
170
+ interval: 1,
171
+ padWithNItems: 0,
172
+ disableInfiniteScroll: false
173
+ });
174
+ expect(result).toHaveLength(24);
175
+ expect(result[0]).toBe(" 0 AM");
176
+ expect(result[11]).toBe("11 AM");
177
+ expect(result[12]).toBe("12 PM");
178
+ expect(result[23]).toBe("11 PM");
179
+ });
180
+ it("generates hours with 2-hour interval", () => {
181
+ const result = generate12HourNumbers({
182
+ interval: 2,
183
+ padWithNItems: 0,
184
+ disableInfiniteScroll: false
185
+ });
186
+ expect(result).toHaveLength(12);
187
+ expect(result[0]).toBe(" 0 AM");
188
+ expect(result[5]).toBe("10 AM");
189
+ expect(result[6]).toBe("12 PM");
190
+ expect(result[11]).toBe("10 PM");
191
+ });
192
+ it("generates hours with 3-hour interval", () => {
193
+ const result = generate12HourNumbers({
194
+ interval: 3,
195
+ padWithNItems: 0,
196
+ disableInfiniteScroll: false
197
+ });
198
+ expect(result).toHaveLength(8);
199
+ expect(result[0]).toBe(" 0 AM");
200
+ expect(result[3]).toBe(" 9 AM");
201
+ expect(result[4]).toBe("12 PM");
202
+ expect(result[7]).toBe(" 9 PM");
203
+ });
204
+ it("generates hours with 4-hour interval", () => {
205
+ const result = generate12HourNumbers({
206
+ interval: 4,
207
+ padWithNItems: 0,
208
+ disableInfiniteScroll: false
209
+ });
210
+ expect(result).toHaveLength(6);
211
+ expect(result[0]).toBe(" 0 AM");
212
+ expect(result[2]).toBe(" 8 AM");
213
+ expect(result[3]).toBe("12 PM");
214
+ expect(result[5]).toBe(" 8 PM");
215
+ });
216
+ it("generates hours with 6-hour interval", () => {
217
+ const result = generate12HourNumbers({
218
+ interval: 6,
219
+ padWithNItems: 0,
220
+ disableInfiniteScroll: false
221
+ });
222
+ expect(result).toHaveLength(4);
223
+ expect(result[0]).toBe(" 0 AM");
224
+ expect(result[1]).toBe(" 6 AM");
225
+ expect(result[2]).toBe("12 PM");
226
+ expect(result[3]).toBe(" 6 PM");
227
+ });
228
+ });
229
+ describe("padding with zeros", () => {
230
+ it("pads hours with zeros", () => {
231
+ const result = generate12HourNumbers({
232
+ interval: 1,
233
+ padWithNItems: 0,
234
+ padNumbersWithZero: true,
235
+ disableInfiniteScroll: false
236
+ });
237
+ expect(result[0]).toBe("00 AM");
238
+ expect(result[1]).toBe("01 AM");
239
+ expect(result[9]).toBe("09 AM");
240
+ expect(result[10]).toBe("10 AM");
241
+ expect(result[12]).toBe("12 PM");
242
+ });
243
+ it("handles 12-hour format correctly with zero padding", () => {
244
+ const result = generate12HourNumbers({
245
+ interval: 1,
246
+ padWithNItems: 0,
247
+ padNumbersWithZero: true,
248
+ disableInfiniteScroll: false
249
+ });
250
+ expect(result[12]).toBe("12 PM"); // 12 PM should not be 00 PM
251
+ expect(result[13]).toBe("01 PM");
252
+ });
253
+ });
254
+ describe("padding with empty items", () => {
255
+ it("adds padding at start and end when infinite scroll is disabled", () => {
256
+ const result = generate12HourNumbers({
257
+ interval: 6,
258
+ padWithNItems: 2,
259
+ disableInfiniteScroll: true
260
+ });
261
+ expect(result[0]).toBe("");
262
+ expect(result[1]).toBe("");
263
+ expect(result[2]).toBe(" 0 AM");
264
+ expect(result[3]).toBe(" 6 AM");
265
+ expect(result[4]).toBe("12 PM");
266
+ expect(result[5]).toBe(" 6 PM");
267
+ expect(result[6]).toBe("");
268
+ expect(result[7]).toBe("");
269
+ expect(result).toHaveLength(8);
270
+ });
271
+ it("does not add padding when infinite scroll is enabled", () => {
272
+ const result = generate12HourNumbers({
273
+ interval: 6,
274
+ padWithNItems: 2,
275
+ disableInfiniteScroll: false
276
+ });
277
+ expect(result[0]).toBe(" 0 AM");
278
+ expect(result[3]).toBe(" 6 PM");
279
+ expect(result).toHaveLength(4);
280
+ });
281
+ });
282
+ describe("number repetition", () => {
283
+ it("repeats hours when repeatNTimes is 2", () => {
284
+ const result = generate12HourNumbers({
285
+ interval: 6,
286
+ padWithNItems: 0,
287
+ repeatNTimes: 2,
288
+ disableInfiniteScroll: false
289
+ });
290
+ expect(result).toHaveLength(8);
291
+ expect(result[0]).toBe(" 0 AM");
292
+ expect(result[3]).toBe(" 6 PM");
293
+ expect(result[4]).toBe(" 0 AM");
294
+ expect(result[7]).toBe(" 6 PM");
295
+ });
296
+ it("repeats hours when repeatNTimes is 3", () => {
297
+ const result = generate12HourNumbers({
298
+ interval: 12,
299
+ padWithNItems: 0,
300
+ repeatNTimes: 3,
301
+ disableInfiniteScroll: false
302
+ });
303
+ expect(result).toHaveLength(6);
304
+ expect(result[0]).toBe(" 0 AM");
305
+ expect(result[1]).toBe("12 PM");
306
+ expect(result[2]).toBe(" 0 AM");
307
+ expect(result[3]).toBe("12 PM");
308
+ expect(result[4]).toBe(" 0 AM");
309
+ expect(result[5]).toBe("12 PM");
310
+ });
311
+ it("defaults to repeatNTimes of 1 when not provided", () => {
312
+ const result = generate12HourNumbers({
313
+ interval: 12,
314
+ padWithNItems: 0,
315
+ disableInfiniteScroll: false
316
+ });
317
+ expect(result).toHaveLength(2);
318
+ });
319
+ });
320
+ describe("combined options", () => {
321
+ it("combines padding with zeros and empty items", () => {
322
+ const result = generate12HourNumbers({
323
+ interval: 12,
324
+ padWithNItems: 1,
325
+ padNumbersWithZero: true,
326
+ disableInfiniteScroll: true
327
+ });
328
+ expect(result).toEqual(["", "00 AM", "12 PM", ""]);
329
+ });
330
+ it("combines all options", () => {
331
+ const result = generate12HourNumbers({
332
+ interval: 6,
333
+ padWithNItems: 1,
334
+ padNumbersWithZero: true,
335
+ repeatNTimes: 2,
336
+ disableInfiniteScroll: false
337
+ });
338
+ expect(result).toHaveLength(8);
339
+ expect(result[0]).toBe("00 AM");
340
+ expect(result[1]).toBe("06 AM");
341
+ expect(result[2]).toBe("12 PM");
342
+ expect(result[3]).toBe("06 PM");
343
+ expect(result[4]).toBe("00 AM");
344
+ expect(result[7]).toBe("06 PM");
345
+ });
346
+ });
347
+ });
348
+ //# sourceMappingURL=generateNumbers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["generateNumbers","generate12HourNumbers","describe","it","result","interval","padWithNItems","repeatNTimes","disableInfiniteScroll","expect","toHaveLength","toEqual","padNumbersWithZero","toBe"],"sources":["generateNumbers.test.ts"],"sourcesContent":["import {\n generateNumbers,\n generate12HourNumbers,\n} from \"../utils/generateNumbers\";\n\ndescribe(\"generateNumbers\", () => {\n describe(\"basic functionality\", () => {\n it(\"generates correct number of items\", () => {\n const result = generateNumbers(10, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toHaveLength(10);\n });\n\n it(\"generates numbers with correct interval\", () => {\n const result = generateNumbers(5, {\n interval: 2,\n padWithNItems: 0,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\" 0\", \" 2\", \" 4\", \" 6\", \" 8\"]);\n });\n\n it(\"generates numbers with interval of 5\", () => {\n const result = generateNumbers(4, {\n interval: 5,\n padWithNItems: 0,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\" 0\", \" 5\", \"10\", \"15\"]);\n });\n\n it(\"returns empty array when numberOfItems is 0\", () => {\n const result = generateNumbers(0, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([]);\n });\n\n it(\"returns empty array when numberOfItems is negative\", () => {\n const result = generateNumbers(-5, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([]);\n });\n });\n\n describe(\"padding with zeros\", () => {\n it(\"pads single-digit numbers with zeros\", () => {\n const result = generateNumbers(5, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"00\", \"01\", \"02\", \"03\", \"04\"]);\n });\n\n it(\"does not pad double-digit numbers\", () => {\n const result = generateNumbers(15, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result[0]).toBe(\"00\");\n expect(result[9]).toBe(\"09\");\n expect(result[10]).toBe(\"10\");\n expect(result[14]).toBe(\"14\");\n });\n\n it(\"pads with space when padNumbersWithZero is false\", () => {\n const result = generateNumbers(5, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n padNumbersWithZero: false,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\" 0\", \" 1\", \" 2\", \" 3\", \" 4\"]);\n });\n });\n\n describe(\"padding with empty items\", () => {\n it(\"adds padding items at start and end when infinite scroll is disabled\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 2,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"\", \" 0\", \" 1\", \" 2\", \"\", \"\"]);\n expect(result).toHaveLength(7);\n });\n\n it(\"adds padding with 1 item\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 1,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \" 0\", \" 1\", \" 2\", \"\"]);\n });\n\n it(\"adds padding with 3 items\", () => {\n const result = generateNumbers(2, {\n interval: 1,\n padWithNItems: 3,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"\", \"\", \" 0\", \" 1\", \"\", \"\", \"\"]);\n });\n });\n\n describe(\"number repetition\", () => {\n it(\"repeats numbers when repeatNTimes is 2\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 2,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\" 0\", \" 1\", \" 2\", \" 0\", \" 1\", \" 2\"]);\n });\n\n it(\"repeats numbers when repeatNTimes is 3\", () => {\n const result = generateNumbers(2, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 3,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\" 0\", \" 1\", \" 0\", \" 1\", \" 0\", \" 1\"]);\n });\n });\n\n describe(\"combined options\", () => {\n it(\"combines padding with zeros and empty items\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 1,\n repeatNTimes: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"00\", \"01\", \"02\", \"\"]);\n });\n\n it(\"combines interval, padding with zeros, and repetition\", () => {\n const result = generateNumbers(3, {\n interval: 5,\n padWithNItems: 0,\n repeatNTimes: 2,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\"00\", \"05\", \"10\", \"00\", \"05\", \"10\"]);\n });\n\n it(\"handles all options together\", () => {\n const result = generateNumbers(3, {\n interval: 2,\n padWithNItems: 1,\n repeatNTimes: 2,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\"00\", \"02\", \"04\", \"00\", \"02\", \"04\"]);\n });\n });\n});\n\ndescribe(\"generate12HourNumbers\", () => {\n describe(\"basic functionality\", () => {\n it(\"generates all 24 hours with 1-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 1,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(24);\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[11]).toBe(\"11 AM\");\n expect(result[12]).toBe(\"12 PM\");\n expect(result[23]).toBe(\"11 PM\");\n });\n\n it(\"generates hours with 2-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 2,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(12);\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[5]).toBe(\"10 AM\");\n expect(result[6]).toBe(\"12 PM\");\n expect(result[11]).toBe(\"10 PM\");\n });\n\n it(\"generates hours with 3-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 3,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[3]).toBe(\" 9 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[7]).toBe(\" 9 PM\");\n });\n\n it(\"generates hours with 4-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 4,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(6);\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[2]).toBe(\" 8 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[5]).toBe(\" 8 PM\");\n });\n\n it(\"generates hours with 6-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(4);\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[1]).toBe(\" 6 AM\");\n expect(result[2]).toBe(\"12 PM\");\n expect(result[3]).toBe(\" 6 PM\");\n });\n });\n\n describe(\"padding with zeros\", () => {\n it(\"pads hours with zeros\", () => {\n const result = generate12HourNumbers({\n interval: 1,\n padWithNItems: 0,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result[0]).toBe(\"00 AM\");\n expect(result[1]).toBe(\"01 AM\");\n expect(result[9]).toBe(\"09 AM\");\n expect(result[10]).toBe(\"10 AM\");\n expect(result[12]).toBe(\"12 PM\");\n });\n\n it(\"handles 12-hour format correctly with zero padding\", () => {\n const result = generate12HourNumbers({\n interval: 1,\n padWithNItems: 0,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result[12]).toBe(\"12 PM\"); // 12 PM should not be 00 PM\n expect(result[13]).toBe(\"01 PM\");\n });\n });\n\n describe(\"padding with empty items\", () => {\n it(\"adds padding at start and end when infinite scroll is disabled\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 2,\n disableInfiniteScroll: true,\n });\n expect(result[0]).toBe(\"\");\n expect(result[1]).toBe(\"\");\n expect(result[2]).toBe(\" 0 AM\");\n expect(result[3]).toBe(\" 6 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[5]).toBe(\" 6 PM\");\n expect(result[6]).toBe(\"\");\n expect(result[7]).toBe(\"\");\n expect(result).toHaveLength(8);\n });\n\n it(\"does not add padding when infinite scroll is enabled\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 2,\n disableInfiniteScroll: false,\n });\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[3]).toBe(\" 6 PM\");\n expect(result).toHaveLength(4);\n });\n });\n\n describe(\"number repetition\", () => {\n it(\"repeats hours when repeatNTimes is 2\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 0,\n repeatNTimes: 2,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[3]).toBe(\" 6 PM\");\n expect(result[4]).toBe(\" 0 AM\");\n expect(result[7]).toBe(\" 6 PM\");\n });\n\n it(\"repeats hours when repeatNTimes is 3\", () => {\n const result = generate12HourNumbers({\n interval: 12,\n padWithNItems: 0,\n repeatNTimes: 3,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(6);\n expect(result[0]).toBe(\" 0 AM\");\n expect(result[1]).toBe(\"12 PM\");\n expect(result[2]).toBe(\" 0 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[4]).toBe(\" 0 AM\");\n expect(result[5]).toBe(\"12 PM\");\n });\n\n it(\"defaults to repeatNTimes of 1 when not provided\", () => {\n const result = generate12HourNumbers({\n interval: 12,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(2);\n });\n });\n\n describe(\"combined options\", () => {\n it(\"combines padding with zeros and empty items\", () => {\n const result = generate12HourNumbers({\n interval: 12,\n padWithNItems: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"00 AM\", \"12 PM\", \"\"]);\n });\n\n it(\"combines all options\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 1,\n padNumbersWithZero: true,\n repeatNTimes: 2,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\"00 AM\");\n expect(result[1]).toBe(\"06 AM\");\n expect(result[2]).toBe(\"12 PM\");\n expect(result[3]).toBe(\"06 PM\");\n expect(result[4]).toBe(\"00 AM\");\n expect(result[7]).toBe(\"06 PM\");\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}