Sha256: 348a48b09f86629d2fa2eae720272a4949004d22b6a053e57036ea2dbaafc29d
Contents?: true
Size: 782 Bytes
Versions: 29
Compression:
Stored size: 782 Bytes
Contents
"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)); };
Version data entries
29 entries across 29 versions & 2 rubygems