chenyc
2025-12-09 65e034683b28d799e73c7d7e5e4769fab5b9bc9c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"use strict";
 
var isValue             = require("../value/is")
  , resolveErrorMessage = require("./resolve-error-message");
 
module.exports = function (value, defaultMessage, inputOptions) {
    if (inputOptions && !isValue(value)) {
        if ("default" in inputOptions) return inputOptions["default"];
        if (inputOptions.isOptional) return null;
    }
    var ErrorConstructor = (inputOptions && inputOptions.Error) || TypeError;
    var error = new ErrorConstructor(resolveErrorMessage(defaultMessage, value, inputOptions));
    if (inputOptions && inputOptions.errorCode) error.code = inputOptions.errorCode;
    throw error;
};