HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //var/www/api.javaapp.co.uk/node_modules/node-input-validator/lib/rules/digitsBetween.js
/* eslint-disable radix */
const numeric = require('./numeric');
const integer = require('./integer');

module.exports = function digitsBetween({ attr, value, args }) {
  // const isNumeric = numeric({ attr,value });

  if (args.length !== 2) {
    throw new Error(`The number of arguments for digitsBetween rule in the field ${attr} are invalid.`);
  }

  let [min, max] = args;

  if (!integer({ value: min }) || !integer({ value: max })) {
    throw new Error(`Seeds must be integer for ${attr} under digitsBetween rule.`);
  }

  if (!numeric({ value })) {
    return false;
  }

  min = parseInt(min);
  max = parseInt(max);

  if (min >= max) {
    throw new Error(`Seed min must be less then max in digitsBetween rule for ${attr}.`);
  }

  if (value.length < min || value.length > max) {
    return false;
  }

  return true;
};