Skip to content

Commit

Permalink
feat: Validate options.ensureItem in iterable/ensure
Browse files Browse the repository at this point in the history
  • Loading branch information
medikoo committed Oct 10, 2019
1 parent cf0557b commit 78da6c1
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion iterable/ensure.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
var resolveException = require("../lib/resolve-exception")
, resolveErrorMessage = require("../lib/resolve-error-message")
, toShortString = require("../lib/to-short-string")
, ensurePlainFunction = require("../plain-function/ensure")
, is = require("./is");

var invalidItemsLimit = 3, defaultErrorMessage = "%v is not expected iterable value";
Expand Down Expand Up @@ -38,6 +39,6 @@ var ensureItems = function (value, options) {
module.exports = function (value/*, options*/) {
var options = arguments[1];
if (!is(value, options)) return resolveException(value, defaultErrorMessage, options);
if (!options || typeof options.ensureItem !== "function") return value;
if (!options || !ensurePlainFunction(options.ensureItem, { isOptional: true })) return value;
return ensureItems(value, options);
};

0 comments on commit 78da6c1

Please sign in to comment.