dxcr-waterfall
Version:
waterfall
16 lines (13 loc) • 612 B
JavaScript
;
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;
};