UNPKG

iter-tools-es

Version:
32 lines (26 loc) 644 B
const { isInteger } = require('../../../internal/number.js'); const { isObject } = require('../../is-object/is-object.js'); const { notUndefined } = require('../../not-undefined/not-undefined.js'); const makeValidateArgs = methodName => function validateArgs(args) { if (isObject(args[1])) { const { start, step } = args[1]; args[1] = start; args[2] = step; } if (notUndefined(args[2])) { args[2] = Number(args[2]); if (!isInteger(args[2], true)) { throw new Error(`step argument to ${methodName} must be a non-zero integer`); } } }; exports.makeValidateArgs = makeValidateArgs;