Yes, the irony is not lost on me. :)
- Fix issue where
getOwnPropertySymbols
was expected to always be supported whenObject.assign
was natively supported - Greatly improve typings of handlers
- Fix #33 - ensure objects created with
Object.create(null)
do not error - Switch from
babel-minify
toterser
for minified build
Rewrite in TypeScript!
BREAKING CHANGES
transform
has changed to besetWith
, and the signature has changed as well (see the documentation for details)
NEW FEATURES
- Added
is
method for assertion - Added function-first
*With
methods corresponding to each existing method (see the documentation for details) - TypeScript typings
ADDITIONAL CHANGES
- Faster
get
s,set
s,merge
s, andremove
s - Distinct
main
,module
, andbrowser
builds for better universality of consumption
- Fix
rollup
build setup with latestcurriable
andpathington
setups
- Return support for
Symbol
keys when usingassign
,merge
,remove
, andset
- Add documentation for
has
method - Improve speed of
add
by eliminating unneeded call to curried wrapper - Improve speed of
merge
by eliminating unneeded extra cloning - Improve speed of
remove
by eliminating unneeded iterations - Allow cloning to work consistently even with data from across realms
- Add `assign method
- Add
"sideEffects": false
for better tree-shaking in webpack
- Update to use
babel@7
(smaller build, slightly better performance)
- Add
transform
function - Remove use of native
Object.assign
in favor of local code (faster)
- Provide
Object.assign
fallback for IE support without polyfill - Use internal
reduce
method for performance on non-standard objects
- Use direct assignment instead of
.push()
when cloning arrays, to prevent breakage when the array has a custompush
method
- Remove benchmark files from published package
- Add
call
function
- Simplify code for
has
- Add
getOr
function
- Add
rollup
for buildingdist
files - Replace homegrown curry with
curriable
- Improve speed of curried methods by removing unneeded
slice
calls and calling with initial0
index
- Replace
map
withslice
when shallow-cloning arrays (performance and footprint)
- Fix issue with using array keys when using
add
with nested arrays
- Ensure that the original object's prototype is retained on
merge
when it is not a standard object
- Use custom
splice
forremove
instead of native (in case item is an extension of anArray
and has messed withsplice
)
- Do not create a new object if the object type does not match what the key thinks it should be (causes invalid results for array-like objects)
- Remove duplicate call to
isCloneable
(performance improvement when cloning)
- Initial release