frontend/.pnpm-store/v3/files/24/20391de8bd4467d45d8e3293f101e693bf3600eaecb117a8a5c1132c5ab57ce9dad376d0ef3260798a8dde841b0e60be999afa149179c4ba226e3ea5e010a9

22 lines
782 B
Plaintext

"use strict";
var isValue = require("../value/is")
, isObject = require("../object/is")
, stringCoerce = require("../string/coerce")
, toShortString = require("./to-short-string");
var resolveMessage = function (message, value) {
return message.replace("%v", toShortString(value));
};
module.exports = function (value, defaultMessage, inputOptions) {
if (!isObject(inputOptions)) throw new TypeError(resolveMessage(defaultMessage, value));
if (!isValue(value)) {
if ("default" in inputOptions) return inputOptions["default"];
if (inputOptions.isOptional) return null;
}
var errorMessage = stringCoerce(inputOptions.errorMessage);
if (!isValue(errorMessage)) errorMessage = defaultMessage;
throw new TypeError(resolveMessage(errorMessage, value));
};