react-native-timer-picker 2.4.0 → 2.6.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.
- package/README.md +35 -25
- package/package.json +143 -126
- package/dist/commonjs/components/DurationScroll/DurationScroll.js +0 -403
- package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +0 -1
- package/dist/commonjs/components/DurationScroll/index.js +0 -27
- package/dist/commonjs/components/DurationScroll/index.js.map +0 -1
- package/dist/commonjs/components/DurationScroll/types.js +0 -6
- package/dist/commonjs/components/DurationScroll/types.js.map +0 -1
- package/dist/commonjs/components/Modal/Modal.js +0 -107
- package/dist/commonjs/components/Modal/Modal.js.map +0 -1
- package/dist/commonjs/components/Modal/index.js +0 -27
- package/dist/commonjs/components/Modal/index.js.map +0 -1
- package/dist/commonjs/components/Modal/styles.js +0 -25
- package/dist/commonjs/components/Modal/styles.js.map +0 -1
- package/dist/commonjs/components/Modal/types.js +0 -6
- package/dist/commonjs/components/Modal/types.js.map +0 -1
- package/dist/commonjs/components/PickerItem/PickerItem.js +0 -45
- package/dist/commonjs/components/PickerItem/PickerItem.js.map +0 -1
- package/dist/commonjs/components/PickerItem/index.js +0 -14
- package/dist/commonjs/components/PickerItem/index.js.map +0 -1
- package/dist/commonjs/components/TimerPicker/TimerPicker.js +0 -236
- package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +0 -1
- package/dist/commonjs/components/TimerPicker/index.js +0 -39
- package/dist/commonjs/components/TimerPicker/index.js.map +0 -1
- package/dist/commonjs/components/TimerPicker/styles.js +0 -121
- package/dist/commonjs/components/TimerPicker/styles.js.map +0 -1
- package/dist/commonjs/components/TimerPicker/types.js +0 -6
- package/dist/commonjs/components/TimerPicker/types.js.map +0 -1
- package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +0 -153
- package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +0 -1
- package/dist/commonjs/components/TimerPickerModal/index.js +0 -39
- package/dist/commonjs/components/TimerPickerModal/index.js.map +0 -1
- package/dist/commonjs/components/TimerPickerModal/styles.js +0 -89
- package/dist/commonjs/components/TimerPickerModal/styles.js.map +0 -1
- package/dist/commonjs/components/TimerPickerModal/types.js +0 -6
- package/dist/commonjs/components/TimerPickerModal/types.js.map +0 -1
- package/dist/commonjs/index.js +0 -57
- package/dist/commonjs/index.js.map +0 -1
- package/dist/commonjs/tests/DurationScroll.test.js +0 -163
- package/dist/commonjs/tests/DurationScroll.test.js.map +0 -1
- package/dist/commonjs/tests/Modal.test.js +0 -119
- package/dist/commonjs/tests/Modal.test.js.map +0 -1
- package/dist/commonjs/tests/TimerPicker.test.js +0 -169
- package/dist/commonjs/tests/TimerPicker.test.js.map +0 -1
- package/dist/commonjs/tests/TimerPickerModal.test.js +0 -276
- package/dist/commonjs/tests/TimerPickerModal.test.js.map +0 -1
- package/dist/commonjs/tests/colorToRgba.test.js +0 -176
- package/dist/commonjs/tests/colorToRgba.test.js.map +0 -1
- package/dist/commonjs/tests/generateNumbers.test.js +0 -350
- package/dist/commonjs/tests/generateNumbers.test.js.map +0 -1
- package/dist/commonjs/tests/getAdjustedLimit.test.js +0 -324
- package/dist/commonjs/tests/getAdjustedLimit.test.js.map +0 -1
- package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js +0 -424
- package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +0 -1
- package/dist/commonjs/tests/getInitialScrollIndex.test.js +0 -396
- package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +0 -1
- package/dist/commonjs/tests/getSafeInitialValue.test.js +0 -497
- package/dist/commonjs/tests/getSafeInitialValue.test.js.map +0 -1
- package/dist/commonjs/tests/padNumber.test.js +0 -301
- package/dist/commonjs/tests/padNumber.test.js.map +0 -1
- package/dist/commonjs/utils/colorToRgba.js +0 -87
- package/dist/commonjs/utils/colorToRgba.js.map +0 -1
- package/dist/commonjs/utils/generateNumbers.js +0 -124
- package/dist/commonjs/utils/generateNumbers.js.map +0 -1
- package/dist/commonjs/utils/getAdjustedLimit.js +0 -58
- package/dist/commonjs/utils/getAdjustedLimit.js.map +0 -1
- package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js +0 -62
- package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +0 -1
- package/dist/commonjs/utils/getInitialScrollIndex.js +0 -57
- package/dist/commonjs/utils/getInitialScrollIndex.js.map +0 -1
- package/dist/commonjs/utils/getSafeInitialValue.js +0 -41
- package/dist/commonjs/utils/getSafeInitialValue.js.map +0 -1
- package/dist/commonjs/utils/padNumber.js +0 -40
- package/dist/commonjs/utils/padNumber.js.map +0 -1
- package/dist/module/components/DurationScroll/DurationScroll.js +0 -395
- package/dist/module/components/DurationScroll/DurationScroll.js.map +0 -1
- package/dist/module/components/DurationScroll/index.js +0 -3
- package/dist/module/components/DurationScroll/index.js.map +0 -1
- package/dist/module/components/DurationScroll/types.js +0 -2
- package/dist/module/components/DurationScroll/types.js.map +0 -1
- package/dist/module/components/Modal/Modal.js +0 -99
- package/dist/module/components/Modal/Modal.js.map +0 -1
- package/dist/module/components/Modal/index.js +0 -3
- package/dist/module/components/Modal/index.js.map +0 -1
- package/dist/module/components/Modal/styles.js +0 -19
- package/dist/module/components/Modal/styles.js.map +0 -1
- package/dist/module/components/Modal/types.js +0 -2
- package/dist/module/components/Modal/types.js.map +0 -1
- package/dist/module/components/PickerItem/PickerItem.js +0 -38
- package/dist/module/components/PickerItem/PickerItem.js.map +0 -1
- package/dist/module/components/PickerItem/index.js +0 -2
- package/dist/module/components/PickerItem/index.js.map +0 -1
- package/dist/module/components/TimerPicker/TimerPicker.js +0 -228
- package/dist/module/components/TimerPicker/TimerPicker.js.map +0 -1
- package/dist/module/components/TimerPicker/index.js +0 -4
- package/dist/module/components/TimerPicker/index.js.map +0 -1
- package/dist/module/components/TimerPicker/styles.js +0 -114
- package/dist/module/components/TimerPicker/styles.js.map +0 -1
- package/dist/module/components/TimerPicker/types.js +0 -2
- package/dist/module/components/TimerPicker/types.js.map +0 -1
- package/dist/module/components/TimerPickerModal/TimerPickerModal.js +0 -145
- package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +0 -1
- package/dist/module/components/TimerPickerModal/index.js +0 -4
- package/dist/module/components/TimerPickerModal/index.js.map +0 -1
- package/dist/module/components/TimerPickerModal/styles.js +0 -82
- package/dist/module/components/TimerPickerModal/styles.js.map +0 -1
- package/dist/module/components/TimerPickerModal/types.js +0 -2
- package/dist/module/components/TimerPickerModal/types.js.map +0 -1
- package/dist/module/index.js +0 -3
- package/dist/module/index.js.map +0 -1
- package/dist/module/tests/DurationScroll.test.js +0 -160
- package/dist/module/tests/DurationScroll.test.js.map +0 -1
- package/dist/module/tests/Modal.test.js +0 -116
- package/dist/module/tests/Modal.test.js.map +0 -1
- package/dist/module/tests/TimerPicker.test.js +0 -166
- package/dist/module/tests/TimerPicker.test.js.map +0 -1
- package/dist/module/tests/TimerPickerModal.test.js +0 -273
- package/dist/module/tests/TimerPickerModal.test.js.map +0 -1
- package/dist/module/tests/colorToRgba.test.js +0 -174
- package/dist/module/tests/colorToRgba.test.js.map +0 -1
- package/dist/module/tests/generateNumbers.test.js +0 -348
- package/dist/module/tests/generateNumbers.test.js.map +0 -1
- package/dist/module/tests/getAdjustedLimit.test.js +0 -322
- package/dist/module/tests/getAdjustedLimit.test.js.map +0 -1
- package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js +0 -422
- package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +0 -1
- package/dist/module/tests/getInitialScrollIndex.test.js +0 -394
- package/dist/module/tests/getInitialScrollIndex.test.js.map +0 -1
- package/dist/module/tests/getSafeInitialValue.test.js +0 -495
- package/dist/module/tests/getSafeInitialValue.test.js.map +0 -1
- package/dist/module/tests/padNumber.test.js +0 -299
- package/dist/module/tests/padNumber.test.js.map +0 -1
- package/dist/module/utils/colorToRgba.js +0 -80
- package/dist/module/utils/colorToRgba.js.map +0 -1
- package/dist/module/utils/generateNumbers.js +0 -117
- package/dist/module/utils/generateNumbers.js.map +0 -1
- package/dist/module/utils/getAdjustedLimit.js +0 -51
- package/dist/module/utils/getAdjustedLimit.js.map +0 -1
- package/dist/module/utils/getDurationAndIndexFromScrollOffset.js +0 -55
- package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +0 -1
- package/dist/module/utils/getInitialScrollIndex.js +0 -50
- package/dist/module/utils/getInitialScrollIndex.js.map +0 -1
- package/dist/module/utils/getSafeInitialValue.js +0 -34
- package/dist/module/utils/getSafeInitialValue.js.map +0 -1
- package/dist/module/utils/padNumber.js +0 -33
- package/dist/module/utils/padNumber.js.map +0 -1
- package/dist/typescript/components/DurationScroll/DurationScroll.d.ts +0 -4
- package/dist/typescript/components/DurationScroll/index.d.ts +0 -2
- package/dist/typescript/components/DurationScroll/types.d.ts +0 -66
- package/dist/typescript/components/Modal/Modal.d.ts +0 -5
- package/dist/typescript/components/Modal/index.d.ts +0 -2
- package/dist/typescript/components/Modal/styles.d.ts +0 -17
- package/dist/typescript/components/Modal/types.d.ts +0 -15
- package/dist/typescript/components/PickerItem/PickerItem.d.ts +0 -14
- package/dist/typescript/components/PickerItem/index.d.ts +0 -1
- package/dist/typescript/components/TimerPicker/TimerPicker.d.ts +0 -4
- package/dist/typescript/components/TimerPicker/index.d.ts +0 -3
- package/dist/typescript/components/TimerPicker/styles.d.ts +0 -1451
- package/dist/typescript/components/TimerPicker/types.d.ts +0 -90
- package/dist/typescript/components/TimerPickerModal/TimerPickerModal.d.ts +0 -4
- package/dist/typescript/components/TimerPickerModal/index.d.ts +0 -3
- package/dist/typescript/components/TimerPickerModal/styles.d.ts +0 -947
- package/dist/typescript/components/TimerPickerModal/types.d.ts +0 -55
- package/dist/typescript/index.d.ts +0 -2
- package/dist/typescript/utils/colorToRgba.d.ts +0 -38
- package/dist/typescript/utils/generateNumbers.d.ts +0 -80
- package/dist/typescript/utils/getAdjustedLimit.d.ts +0 -30
- package/dist/typescript/utils/getDurationAndIndexFromScrollOffset.d.ts +0 -49
- package/dist/typescript/utils/getInitialScrollIndex.d.ts +0 -46
- package/dist/typescript/utils/getSafeInitialValue.d.ts +0 -38
- package/dist/typescript/utils/padNumber.d.ts +0 -28
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_generateNumbers","require","describe","it","result","generateNumbers","interval","padWithNItems","repeatNTimes","disableInfiniteScroll","expect","toHaveLength","toEqual","padNumbersWithZero","toBe","generate12HourNumbers"],"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([\"\\u20070\", \"\\u20072\", \"\\u20074\", \"\\u20076\", \"\\u20078\"]);\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([\"\\u20070\", \"\\u20075\", \"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([\"\\u20070\", \"\\u20071\", \"\\u20072\", \"\\u20073\", \"\\u20074\"]);\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([\"\", \"\", \"\\u20070\", \"\\u20071\", \"\\u20072\", \"\", \"\"]);\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([\"\", \"\\u20070\", \"\\u20071\", \"\\u20072\", \"\"]);\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([\"\", \"\", \"\", \"\\u20070\", \"\\u20071\", \"\", \"\", \"\"]);\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([\"\\u20070\", \"\\u20071\", \"\\u20072\", \"\\u20070\", \"\\u20071\", \"\\u20072\"]);\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([\"\\u20070\", \"\\u20071\", \"\\u20070\", \"\\u20071\", \"\\u20070\", \"\\u20071\"]);\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(\"12 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(\"12 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(\"12 AM\");\n expect(result[3]).toBe(\"\\u20079 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[7]).toBe(\"\\u20079 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(\"12 AM\");\n expect(result[2]).toBe(\"\\u20078 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[5]).toBe(\"\\u20078 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(\"12 AM\");\n expect(result[1]).toBe(\"\\u20076 AM\");\n expect(result[2]).toBe(\"12 PM\");\n expect(result[3]).toBe(\"\\u20076 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(\"12 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(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[5]).toBe(\"\\u20076 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(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 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(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 PM\");\n expect(result[4]).toBe(\"12 AM\");\n expect(result[7]).toBe(\"\\u20076 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(\"12 AM\");\n expect(result[1]).toBe(\"12 PM\");\n expect(result[2]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[4]).toBe(\"12 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([\"\", \"12 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(\"12 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(\"12 AM\");\n expect(result[7]).toBe(\"06 PM\");\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _getAdjustedLimit = require("../utils/getAdjustedLimit");
|
|
4
|
-
describe("getAdjustedLimit", () => {
|
|
5
|
-
describe("undefined or empty limits", () => {
|
|
6
|
-
it("returns default limits when limit is undefined", () => {
|
|
7
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 60, 1);
|
|
8
|
-
expect(result).toEqual({
|
|
9
|
-
max: 59,
|
|
10
|
-
min: 0
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
it("returns default limits when limit has no max or min", () => {
|
|
14
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({}, 60, 1);
|
|
15
|
-
expect(result).toEqual({
|
|
16
|
-
max: 59,
|
|
17
|
-
min: 0
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
it("calculates max value correctly with interval", () => {
|
|
21
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 30, 2);
|
|
22
|
-
expect(result).toEqual({
|
|
23
|
-
max: 58,
|
|
24
|
-
min: 0
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe("valid limits within bounds", () => {
|
|
29
|
-
it("accepts valid min and max within bounds", () => {
|
|
30
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
31
|
-
min: 5,
|
|
32
|
-
max: 15
|
|
33
|
-
}, 20, 1);
|
|
34
|
-
expect(result).toEqual({
|
|
35
|
-
max: 15,
|
|
36
|
-
min: 5
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
it("accepts limits at exact boundaries", () => {
|
|
40
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
41
|
-
min: 0,
|
|
42
|
-
max: 59
|
|
43
|
-
}, 60, 1);
|
|
44
|
-
expect(result).toEqual({
|
|
45
|
-
max: 59,
|
|
46
|
-
min: 0
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
it("handles min of 0", () => {
|
|
50
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
51
|
-
min: 0,
|
|
52
|
-
max: 10
|
|
53
|
-
}, 20, 1);
|
|
54
|
-
expect(result).toEqual({
|
|
55
|
-
max: 10,
|
|
56
|
-
min: 0
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
it("handles max at maximum value", () => {
|
|
60
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
61
|
-
min: 10,
|
|
62
|
-
max: 19
|
|
63
|
-
}, 20, 1);
|
|
64
|
-
expect(result).toEqual({
|
|
65
|
-
max: 19,
|
|
66
|
-
min: 10
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
describe("partial limits", () => {
|
|
71
|
-
it("uses default max when only min is provided", () => {
|
|
72
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
73
|
-
min: 10
|
|
74
|
-
}, 60, 1);
|
|
75
|
-
expect(result).toEqual({
|
|
76
|
-
max: 59,
|
|
77
|
-
min: 10
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
it("uses default min when only max is provided", () => {
|
|
81
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
82
|
-
max: 30
|
|
83
|
-
}, 60, 1);
|
|
84
|
-
expect(result).toEqual({
|
|
85
|
-
max: 30,
|
|
86
|
-
min: 0
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
it("handles only min provided at boundary", () => {
|
|
90
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
91
|
-
min: 0
|
|
92
|
-
}, 24, 1);
|
|
93
|
-
expect(result).toEqual({
|
|
94
|
-
max: 23,
|
|
95
|
-
min: 0
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
it("handles only max provided at boundary", () => {
|
|
99
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
100
|
-
max: 23
|
|
101
|
-
}, 24, 1);
|
|
102
|
-
expect(result).toEqual({
|
|
103
|
-
max: 23,
|
|
104
|
-
min: 0
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
describe("out-of-bounds limits", () => {
|
|
109
|
-
it("adjusts max when it exceeds maximum value", () => {
|
|
110
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
111
|
-
min: 5,
|
|
112
|
-
max: 100
|
|
113
|
-
}, 20, 1);
|
|
114
|
-
expect(result).toEqual({
|
|
115
|
-
max: 19,
|
|
116
|
-
min: 5
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
it("adjusts min when it is negative", () => {
|
|
120
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
121
|
-
min: -5,
|
|
122
|
-
max: 15
|
|
123
|
-
}, 20, 1);
|
|
124
|
-
expect(result).toEqual({
|
|
125
|
-
max: 15,
|
|
126
|
-
min: 0
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
it("adjusts both limits when out of bounds", () => {
|
|
130
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
131
|
-
min: -10,
|
|
132
|
-
max: 100
|
|
133
|
-
}, 20, 1);
|
|
134
|
-
expect(result).toEqual({
|
|
135
|
-
max: 19,
|
|
136
|
-
min: 0
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
it("adjusts max when only max is out of bounds", () => {
|
|
140
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
141
|
-
max: 100
|
|
142
|
-
}, 20, 1);
|
|
143
|
-
expect(result).toEqual({
|
|
144
|
-
max: 19,
|
|
145
|
-
min: 0
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
it("adjusts min when only min is out of bounds", () => {
|
|
149
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
150
|
-
min: -10
|
|
151
|
-
}, 20, 1);
|
|
152
|
-
expect(result).toEqual({
|
|
153
|
-
max: 19,
|
|
154
|
-
min: 0
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
describe("invalid limits (max < min)", () => {
|
|
159
|
-
it("returns default limits when adjusted max < adjusted min", () => {
|
|
160
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
161
|
-
min: 15,
|
|
162
|
-
max: 5
|
|
163
|
-
}, 20, 1);
|
|
164
|
-
expect(result).toEqual({
|
|
165
|
-
max: 19,
|
|
166
|
-
min: 0
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
it("handles edge case where both are equal after adjustment", () => {
|
|
170
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
171
|
-
min: 10,
|
|
172
|
-
max: 10
|
|
173
|
-
}, 20, 1);
|
|
174
|
-
expect(result).toEqual({
|
|
175
|
-
max: 10,
|
|
176
|
-
min: 10
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
it("returns default when min is too high and max is too low", () => {
|
|
180
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
181
|
-
min: 50,
|
|
182
|
-
max: 5
|
|
183
|
-
}, 20, 1);
|
|
184
|
-
expect(result).toEqual({
|
|
185
|
-
max: 19,
|
|
186
|
-
min: 0
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
describe("different intervals", () => {
|
|
191
|
-
it("handles interval of 5", () => {
|
|
192
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
193
|
-
min: 10,
|
|
194
|
-
max: 30
|
|
195
|
-
}, 10, 5);
|
|
196
|
-
expect(result).toEqual({
|
|
197
|
-
max: 30,
|
|
198
|
-
min: 10
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
it("calculates max with interval of 5", () => {
|
|
202
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 10, 5);
|
|
203
|
-
expect(result).toEqual({
|
|
204
|
-
max: 45,
|
|
205
|
-
min: 0
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
it("handles interval of 15 for minutes", () => {
|
|
209
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
210
|
-
min: 15,
|
|
211
|
-
max: 45
|
|
212
|
-
}, 4, 15);
|
|
213
|
-
expect(result).toEqual({
|
|
214
|
-
max: 45,
|
|
215
|
-
min: 15
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
it("calculates max with interval of 15", () => {
|
|
219
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 4, 15);
|
|
220
|
-
expect(result).toEqual({
|
|
221
|
-
max: 45,
|
|
222
|
-
min: 0
|
|
223
|
-
});
|
|
224
|
-
});
|
|
225
|
-
it("handles large interval", () => {
|
|
226
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 3, 30);
|
|
227
|
-
expect(result).toEqual({
|
|
228
|
-
max: 60,
|
|
229
|
-
min: 0
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
describe("edge cases", () => {
|
|
234
|
-
it("handles numberOfItems of 1", () => {
|
|
235
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)(undefined, 1, 1);
|
|
236
|
-
expect(result).toEqual({
|
|
237
|
-
max: 0,
|
|
238
|
-
min: 0
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
it("handles large numberOfItems", () => {
|
|
242
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
243
|
-
min: 50,
|
|
244
|
-
max: 150
|
|
245
|
-
}, 200, 1);
|
|
246
|
-
expect(result).toEqual({
|
|
247
|
-
max: 150,
|
|
248
|
-
min: 50
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
it("handles zero min limit", () => {
|
|
252
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
253
|
-
min: 0,
|
|
254
|
-
max: 0
|
|
255
|
-
}, 60, 1);
|
|
256
|
-
expect(result).toEqual({
|
|
257
|
-
max: 0,
|
|
258
|
-
min: 0
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
it("handles limits with decimal-like values (should work with integers)", () => {
|
|
262
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
263
|
-
min: 5,
|
|
264
|
-
max: 15
|
|
265
|
-
}, 20, 1);
|
|
266
|
-
expect(result).toEqual({
|
|
267
|
-
max: 15,
|
|
268
|
-
min: 5
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
describe("real-world scenarios", () => {
|
|
273
|
-
it("handles typical hours picker (0-23)", () => {
|
|
274
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
275
|
-
min: 9,
|
|
276
|
-
max: 17
|
|
277
|
-
}, 24, 1);
|
|
278
|
-
expect(result).toEqual({
|
|
279
|
-
max: 17,
|
|
280
|
-
min: 9
|
|
281
|
-
}); // 9 AM to 5 PM
|
|
282
|
-
});
|
|
283
|
-
it("handles typical minutes picker (0-59)", () => {
|
|
284
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
285
|
-
min: 0,
|
|
286
|
-
max: 45
|
|
287
|
-
}, 60, 1);
|
|
288
|
-
expect(result).toEqual({
|
|
289
|
-
max: 45,
|
|
290
|
-
min: 0
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
it("handles minutes with 15-minute interval", () => {
|
|
294
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
295
|
-
min: 15,
|
|
296
|
-
max: 45
|
|
297
|
-
}, 4, 15);
|
|
298
|
-
expect(result).toEqual({
|
|
299
|
-
max: 45,
|
|
300
|
-
min: 15
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
|
-
it("handles seconds picker (0-59)", () => {
|
|
304
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
305
|
-
min: 0,
|
|
306
|
-
max: 30
|
|
307
|
-
}, 60, 1);
|
|
308
|
-
expect(result).toEqual({
|
|
309
|
-
max: 30,
|
|
310
|
-
min: 0
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
it("handles days with no upper limit", () => {
|
|
314
|
-
const result = (0, _getAdjustedLimit.getAdjustedLimit)({
|
|
315
|
-
min: 1
|
|
316
|
-
}, 100, 1);
|
|
317
|
-
expect(result).toEqual({
|
|
318
|
-
max: 99,
|
|
319
|
-
min: 1
|
|
320
|
-
});
|
|
321
|
-
});
|
|
322
|
-
});
|
|
323
|
-
});
|
|
324
|
-
//# sourceMappingURL=getAdjustedLimit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_getAdjustedLimit","require","describe","it","result","getAdjustedLimit","undefined","expect","toEqual","max","min"],"sources":["getAdjustedLimit.test.ts"],"sourcesContent":["import { getAdjustedLimit } from \"../utils/getAdjustedLimit\";\n\ndescribe(\"getAdjustedLimit\", () => {\n describe(\"undefined or empty limits\", () => {\n it(\"returns default limits when limit is undefined\", () => {\n const result = getAdjustedLimit(undefined, 60, 1);\n expect(result).toEqual({ max: 59, min: 0 });\n });\n\n it(\"returns default limits when limit has no max or min\", () => {\n const result = getAdjustedLimit({}, 60, 1);\n expect(result).toEqual({ max: 59, min: 0 });\n });\n\n it(\"calculates max value correctly with interval\", () => {\n const result = getAdjustedLimit(undefined, 30, 2);\n expect(result).toEqual({ max: 58, min: 0 });\n });\n });\n\n describe(\"valid limits within bounds\", () => {\n it(\"accepts valid min and max within bounds\", () => {\n const result = getAdjustedLimit({ min: 5, max: 15 }, 20, 1);\n expect(result).toEqual({ max: 15, min: 5 });\n });\n\n it(\"accepts limits at exact boundaries\", () => {\n const result = getAdjustedLimit({ min: 0, max: 59 }, 60, 1);\n expect(result).toEqual({ max: 59, min: 0 });\n });\n\n it(\"handles min of 0\", () => {\n const result = getAdjustedLimit({ min: 0, max: 10 }, 20, 1);\n expect(result).toEqual({ max: 10, min: 0 });\n });\n\n it(\"handles max at maximum value\", () => {\n const result = getAdjustedLimit({ min: 10, max: 19 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 10 });\n });\n });\n\n describe(\"partial limits\", () => {\n it(\"uses default max when only min is provided\", () => {\n const result = getAdjustedLimit({ min: 10 }, 60, 1);\n expect(result).toEqual({ max: 59, min: 10 });\n });\n\n it(\"uses default min when only max is provided\", () => {\n const result = getAdjustedLimit({ max: 30 }, 60, 1);\n expect(result).toEqual({ max: 30, min: 0 });\n });\n\n it(\"handles only min provided at boundary\", () => {\n const result = getAdjustedLimit({ min: 0 }, 24, 1);\n expect(result).toEqual({ max: 23, min: 0 });\n });\n\n it(\"handles only max provided at boundary\", () => {\n const result = getAdjustedLimit({ max: 23 }, 24, 1);\n expect(result).toEqual({ max: 23, min: 0 });\n });\n });\n\n describe(\"out-of-bounds limits\", () => {\n it(\"adjusts max when it exceeds maximum value\", () => {\n const result = getAdjustedLimit({ min: 5, max: 100 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 5 });\n });\n\n it(\"adjusts min when it is negative\", () => {\n const result = getAdjustedLimit({ min: -5, max: 15 }, 20, 1);\n expect(result).toEqual({ max: 15, min: 0 });\n });\n\n it(\"adjusts both limits when out of bounds\", () => {\n const result = getAdjustedLimit({ min: -10, max: 100 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n\n it(\"adjusts max when only max is out of bounds\", () => {\n const result = getAdjustedLimit({ max: 100 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n\n it(\"adjusts min when only min is out of bounds\", () => {\n const result = getAdjustedLimit({ min: -10 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n });\n\n describe(\"invalid limits (max < min)\", () => {\n it(\"returns default limits when adjusted max < adjusted min\", () => {\n const result = getAdjustedLimit({ min: 15, max: 5 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n\n it(\"handles edge case where both are equal after adjustment\", () => {\n const result = getAdjustedLimit({ min: 10, max: 10 }, 20, 1);\n expect(result).toEqual({ max: 10, min: 10 });\n });\n\n it(\"returns default when min is too high and max is too low\", () => {\n const result = getAdjustedLimit({ min: 50, max: 5 }, 20, 1);\n expect(result).toEqual({ max: 19, min: 0 });\n });\n });\n\n describe(\"different intervals\", () => {\n it(\"handles interval of 5\", () => {\n const result = getAdjustedLimit({ min: 10, max: 30 }, 10, 5);\n expect(result).toEqual({ max: 30, min: 10 });\n });\n\n it(\"calculates max with interval of 5\", () => {\n const result = getAdjustedLimit(undefined, 10, 5);\n expect(result).toEqual({ max: 45, min: 0 });\n });\n\n it(\"handles interval of 15 for minutes\", () => {\n const result = getAdjustedLimit({ min: 15, max: 45 }, 4, 15);\n expect(result).toEqual({ max: 45, min: 15 });\n });\n\n it(\"calculates max with interval of 15\", () => {\n const result = getAdjustedLimit(undefined, 4, 15);\n expect(result).toEqual({ max: 45, min: 0 });\n });\n\n it(\"handles large interval\", () => {\n const result = getAdjustedLimit(undefined, 3, 30);\n expect(result).toEqual({ max: 60, min: 0 });\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"handles numberOfItems of 1\", () => {\n const result = getAdjustedLimit(undefined, 1, 1);\n expect(result).toEqual({ max: 0, min: 0 });\n });\n\n it(\"handles large numberOfItems\", () => {\n const result = getAdjustedLimit({ min: 50, max: 150 }, 200, 1);\n expect(result).toEqual({ max: 150, min: 50 });\n });\n\n it(\"handles zero min limit\", () => {\n const result = getAdjustedLimit({ min: 0, max: 0 }, 60, 1);\n expect(result).toEqual({ max: 0, min: 0 });\n });\n\n it(\"handles limits with decimal-like values (should work with integers)\", () => {\n const result = getAdjustedLimit({ min: 5, max: 15 }, 20, 1);\n expect(result).toEqual({ max: 15, min: 5 });\n });\n });\n\n describe(\"real-world scenarios\", () => {\n it(\"handles typical hours picker (0-23)\", () => {\n const result = getAdjustedLimit({ min: 9, max: 17 }, 24, 1);\n expect(result).toEqual({ max: 17, min: 9 }); // 9 AM to 5 PM\n });\n\n it(\"handles typical minutes picker (0-59)\", () => {\n const result = getAdjustedLimit({ min: 0, max: 45 }, 60, 1);\n expect(result).toEqual({ max: 45, min: 0 });\n });\n\n it(\"handles minutes with 15-minute interval\", () => {\n const result = getAdjustedLimit({ min: 15, max: 45 }, 4, 15);\n expect(result).toEqual({ max: 45, min: 15 });\n });\n\n it(\"handles seconds picker (0-59)\", () => {\n const result = getAdjustedLimit({ min: 0, max: 30 }, 60, 1);\n expect(result).toEqual({ max: 30, min: 0 });\n });\n\n it(\"handles days with no upper limit\", () => {\n const result = getAdjustedLimit({ min: 1 }, 100, 1);\n expect(result).toEqual({ max: 99, min: 1 });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|