This file includes at least a partial list of the major changes in each version.
- added public
equals()
method (#139) - added public
Lazy.curry
andLazy.curryRight
methods (#24) - added public
Lazy.createCallback
andLazy.createComparator
methods (#140) - added shallow option to
flatten()
(#125) - added equalityFn paramter to
indexOf
,lastIndexOf
, andcontains
- fixed bug with return value from
consecutive()
not being reusable (#212) - fixed bug with
concat()
unexpectedly flattening results (#127)
- sequences now support ES6 iterable protocol (#186)
- added support for ES6 Set and Map objects
memoize().get
no longer iterates entire sequence (#191)- fixed bug causing failure on
defaults().defaults()
(#183) - fixed bug with setting encoding in
Lazy.readFile
(#160)
- added
push
andunshift
toArrayLikeSequence
(#173) - changed behavior of
min
andmax
to returnundefined
for empty sequences (#194) - made
zip
andintersection
communicative (#196 and #197) - fixed bug w/ shuffling empty array returning
[undefined]
(#198) - added support for non-string delimiters in
join
(#193) - fixed bug w/ missing return value in full iteration of
groupBy
(#179) - fixed bug w/ ignoring delimiter in
values().join
(#184) - fixed behavior of
ObjectLikeSequence.keys
(#164) - fixed broken
DomEventSequence.each
(#163) - fixed handling of falsey values in
get
(#170) - changed behavior of
ObjectLikeSequence.each
(see #165)
- dropped support for node 0.8
- Lazy is now exposed as a UMD module
- added value transform function to
groupBy
/indexBy
(#97) - fixed biased implementation of
shuffle
(see #142) - fixed bug where
split
couldn't be called onStringSegments
(see #123) - fixed
merge
to better handle arrays, dates, and other object types (see #154)
- now
Lazy.AsyncHandle
implements the Promises/A+ specification! (see #71) - made
Sequence#get
available to all sequences, not justArrayLikeSequence
s (see #106) - made
ObjectLikeSequence#filter
return anObjectLikeSequence
(see #75) - fixed issue with
Sequence#shuffle
always putting first element last (#113) - fixed issue with
Sequence#join
skipping empty strings (#115) - fixed issue with
Lazy.range
sometimes providing one value too few (#119)
- fixed
Sequence#groupBy
to work for async sequences (see #72) - fixed
StreamLikeSequence#split
to split properly across chunks (see #70) - changed
Sequence#filter
so it passes a simple incrementing index with each element (like Underscore/Lo-Dash) - added
Lazy.clone
to create a shallow copy of an object or array - added
Sequence#sort
, which can accept a 2-arity function for more customized sorting (see #65) - both
Sequence#sort
andSequence#sortBy
now accept adescending
argument - added
Sequence#indexBy
- added
Sequence.createWrapper
(see http://stackoverflow.com/questions/20959394) - added
Sequence#memoize
andSequence#none
- fixed
Sequence#reject
to accept a string or object (like other methods involving predicates) - fixed bug in
Sequence#all
AsyncSequence#getIterator
now throws an error (see #63)
- added
Sequence#apply
(see #61) andSequence#size
(see #56) - added
ObjectLikeSequence#merge
(see #55) - added
Sequence#toStream
to create an actualstream.Readable
in Node, to interact w/ stream-based libraries (see #53)
- now these methods on
AsyncSequence
return a promise-likeAsyncHandle
, allowing you to do something w/ the result once iteration is complete (usingonComplete
, which is aliased asthen
):reduce
min
max
sum
find
indexOf
contains
toArray
toObject
join
/toString
- added
Lazy(object).watch
to monitor changes to a property as a sequence (see #49) - added
Sequence#chunk
,Sequence#tap
, andSequence#ofType
- deprecated
Lazy.events
in favor ofNodeSequence#on
(note: I should probably renameNodeSequence
toDOMSequence
)
- reverted change to
Lazy()
helper function, addedLazy.strict()
to provide the stricter form (see #44) - added
Lazy.parseJSON
method along with demo (see experimental/ folder) - added
onComplete
to handle returned byAsyncSequence#each
- updated
Lazy()
helper function to throw an error onnull
orundefined
- changed behavior of
Sequence.define
--init
no longer must acceptparent
as a first parameter (see #45) - added
ArrayLikeSequence.define
,ObjectLikeSequence.define
, andStringLikeSequence.define
- added
takeWhile
,dropWhile
, andconsecutive
- implemented many string-specific methods for
StringLikeSequence
:indexOf
,lastIndexOf
, andcontains
(all accept a substring)startsWith
andendsWith
reverse
(returns aStringLikeSequence
)toUpperCase
andtoLowerCase
charCodeAt
substring
- implemented array-specific methods for
ArrayLikeSequence
:pop
shift
slice
- added support for supplying
pluck
-style callbacks (strings) tomap
,filter
,sortBy
,groupBy
,countBy
,any
, andall
- now
groupBy
andcountBy
both return anObjectLikeSequence
- added value selector callbacks to
min
,max
, andsum
- fixed some cases where
each
did not pass along an index with each element - fixed
map().async()
- fixed handling of
NaN
in some cases - added
Lazy.noop
andLazy.identity
convenience methods
flatten
can now flatten inner sequences (not just arrays)- added
Sequence#toString
- significant perf improvements for
uniq
,union
,intersection
,concat
,zip
- removed
Lazy.async
in favor ofSequence#async
- added Bower and Component support
- added
Lazy.readFile
andLazy.makeHttpRequest
(for Node)
Initial release.