Features:
-
new Merge.White().merge
will construct amerge.white
instance -
new Merge.Black().merge
will construct amerge.black
instance - Both are also exported as
{ MergeWhite, MergeBlack }
Breaking changes:
- No more seperate npm modules for each function, only
lutils
-
typeOf.Boolean
etc. are renamed toisBoolean
and exported individually -
merge
api simplified to onlymerge(subject, ...sources[])
-
clone
api simplified to onlyclone(subject)
New features:
- Full rewrite in Typescript, providing intellisense
- Performance increases:
-
typeOf
performance improved by ~220%!!! -merge
performance improved by ~30%! -clone
performance on par. -
typeOf
functions can act as type guards in typescript & Flow -
Merge
provides a constructor for configuration -
Clone
provides a constructor for configuration -
Merge
andClone
have added warnings: - When defaultdepth
is hit - When invalid parameters are supplied
- Adding typings
- Version bumps
- Tidy up
- Constrain versions
- Rebuilt lutils, splitting each function off
lutils-typeof
lutils-merge
lutils-clone
lutils
simply exposes all three
- Converted to ES5 from CoffeeScript
- Refactored API to be more flexible and consitant with similar utilities, such as underscore
merge
,merge.whtie
,merge.black
merge(obj1, obj2, obj3, ...)
merge(obj1, obj2, obj3, ..., function() {})
merge([obj1, obj2, obj3, ...], options)
merge
now supports test functions for custom mergingclone
clone(obj, options)
typeOf
reamins the same- See each modules readme for precise api
- Fixed
depth
being compared one unit too low.
- Fixed an
{}.__proto__
mutation bug.clone
is now significantly faster.