HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/nowruzgan/rest/node_modules/rttc/lib/validate-strict.js
/**
 * Module dependencies
 */

var validateRecursive = require('./helpers/validate-recursive');
var consolidateErrors = require('./helpers/consolidate-errors');

/**
 * Like `validate()`, but doesn't tolerate and coerce minor
 * type incompatibilities such as '1'=>1, 'true'=>true, etc.
 *
 * @param  {~Schema} expected   type schema
 * @param  {===} actual           "mystery meat"
 */
module.exports = function validateStrict (expected, actual) {

  var errors = [];
  var result = validateRecursive(expected, actual, errors, [], true);
  // ( `true` => `strict` -- i.e. don't ignore minor type errors)

  // If there are still errors, coallesce the remaining list of errors into a single
  // Error object we can throw.
  var err = consolidateErrors(errors, 'validating value');
  if (err) {
    throw err;
  }
};