Reject some() (and any()) if the input array contains not enough items#34
Reject some() (and any()) if the input array contains not enough items#34
Conversation
|
ping @cboden @clue @WyriHaximus |
There was a problem hiding this comment.
The documentation seems to suggest otherwise. IMO it makes sense to reject this with a RangeException, but we should probably also add this special case to the README.
|
See remark about documentation for |
|
README now LGTM :) However, after further consideration, I think this should probably throw a subclass of |
|
Good point. I've used RangeException after discovering this bug while looking through the bluebird code and extended the SPL RangeException (which in turn extends RuntimeException). I think it would be strange to use the name RangeException and extend LogicException because this would differ from the SPL. Maybe we should use another name...any suggestions? |
There was a problem hiding this comment.
Would UnderflowException or LengthException, both of which extend LogicException, make sense here?
Edit: just realised that UnderflowException extends RuntimeException.
There was a problem hiding this comment.
LengthException might be an option...
|
I'm planning to add this to 3.0. |
|
Any objections against including this in a 2.4.0 release? |
|
Technically isn't this an API break? |
|
I think (and iirc we agreed on IRC) that this is a bug fix, because without this fix some([1, 2, 3], 4)
->then(function() {
// Never called
})
->otherwise(function() {
// Never called
});simply does nothing. It neither calls the fulfillment nor the rejection handler. |
|
ah. 👍 for 2.4 then |
This fixes a bug where some() never resolves if the input array contains not enough items.