heyujie
2021-06-07 8f8155aa4c83f7c2577ac123add550766b6a7ce3
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;
};