@@ -48,7 +48,7 @@ const checkSingleElementWithinLimits = (
4848 }
4949
5050 const number = Number ( element )
51- if ( isNaN ( number ) ) {
51+ if ( Number . isNaN ( number ) ) {
5252 return err ( `Element '${ element } ' of ${ cronFieldType } field is invalid.` )
5353 }
5454
@@ -152,7 +152,7 @@ const checkSingleElement = (
152152 }
153153
154154 const occurrenceNum = Number ( occurrence )
155- if ( ! occurrence || isNaN ( occurrenceNum ) ) {
155+ if ( ! occurrence || Number . isNaN ( occurrenceNum ) ) {
156156 return err (
157157 `Unexpected value following the '#' symbol, a positive number was expected but found ${ occurrence } .` ,
158158 )
@@ -261,7 +261,7 @@ const checkListElement = (
261261 }
262262
263263 if ( ! options . allowStepping ) {
264- return err ( 'Stepping (\'/\') is now allowed.' )
264+ return err ( 'Stepping (\'/\') is not allowed.' )
265265 }
266266
267267 const firstElementResult = checkFirstStepElement (
@@ -283,7 +283,7 @@ const checkListElement = (
283283 )
284284 }
285285
286- if ( isNaN ( Number ( secondStepElement ) ) ) {
286+ if ( Number . isNaN ( Number ( secondStepElement ) ) ) {
287287 return err (
288288 `Second step element '${ secondStepElement } ' of '${ listElement } ' is not valid (not a number).` ,
289289 )
@@ -296,7 +296,11 @@ const checkListElement = (
296296 )
297297 }
298298
299- const { lowerLimit, upperLimit } = options [ cronFieldType ]
299+ if ( secondStepNumber < 0 ) {
300+ return err (
301+ `Second step element '${ secondStepElement } ' of '${ listElement } ' cannot be negative.` ,
302+ )
303+ }
300304
301305 // check if step number is an integer
302306 if ( secondStepNumber % 1 !== 0 ) {
@@ -305,6 +309,9 @@ const checkListElement = (
305309 )
306310 }
307311
312+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
313+ const { lowerLimit, upperLimit } = options [ cronFieldType ]
314+
308315 // check if step number is less than the max number
309316 if ( upperLimit && secondStepNumber > upperLimit ) {
310317 return err (
@@ -318,7 +325,7 @@ const checkListElement = (
318325 if ( rangeArray . length === 2 ) {
319326 const rangeStart = Number ( rangeArray [ 0 ] )
320327 const rangeEnd = Number ( rangeArray [ 1 ] )
321- if ( ! isNaN ( rangeStart ) && ! isNaN ( rangeEnd ) ) {
328+ if ( ! Number . isNaN ( rangeStart ) && ! Number . isNaN ( rangeEnd ) ) {
322329 if ( secondStepNumber <= 0 ) {
323330 return err ( `Step value '${ secondStepElement } ' must be greater than 0.` )
324331 }
0 commit comments