numberType = function numberType(value) {
      var min = typeof value.minimum === 'undefined' ? env.MIN_INTEGER : value.minimum, max = typeof value.maximum === 'undefined' ? env.MAX_INTEGER : value.maximum, multipleOf = value.multipleOf;
      if (multipleOf) {
          max = Math.floor(max / multipleOf) * multipleOf;
          min = Math.ceil(min / multipleOf) * multipleOf;
      }
      min = handleExclusiveMinimum(value, min);
      max = handleExclusiveMaximum(value, max);
      if (min > max) {
          return NaN;
      }
      if (multipleOf) {
          if (String(multipleOf).indexOf('.') === -1) {
              var base = random.number(Math.floor(min / multipleOf), Math.floor(max / multipleOf)) * multipleOf;
              while (base < min) {
                  base += value.multipleOf;
              }
              return base;
          }
          var boundary = (max - min) / multipleOf;
          do {
              var num = random.number(0, boundary) * multipleOf;
              var fix = (num / multipleOf) % 1;
          } while (fix !== 0);
          return num;
      }
      return random.number(min, max, undefined, undefined, true);
  }
Below condition puts more computation load to check unique data across multiple items by
traversing through all data and making sure it's unique.
As such only apply unique constraint when parameter resolution is set to "example".
As in other case, i.e. "schema", generated value for will be same anyways.