Releases: canjs/can-reflect
Making it possible to serialize observable built-ins
This is necessary so you can use StacheElement
as route.data
as described in canjs/can-stache-element#56.
QUNIT2 upgrade
This updates the tests to use QUnit@2.x.x.
Treat Date objects as primitive in schema.cloneKeySort()
cloneKeySort() creates a clone of an object with all keys and subkeys added in alphabetical order. This ensures that regardless of platform and JS engine, two objects with the same keys and values can stringify to the same string, regardless of the order in which keys were added.
However, Dates were being treated as any other object by cloneKeySort(), and the output would replace date objects with empty plain objects. The value of a Date isn't based on enumerable properties, but rather as internal state that is reflected in string representations. By treating Dates as primitives, more information is preserved when making the clone.
not using relative module path with steal-clone
Using canSymbol polyfill instead of another polyfill
Allows hasOwnKey to work on null derived objects
This fixes this case:
var obj = Object.create(null);
obj.foo = "bar";
reflect.hasOwnKey(obj, "foo");
IE 11 Compatibility
Fixes missing function.name in IE 11
assignDeep assigns deep
For #144, assignDeep on a list was doing an update on the items directly within the list.
Fixes documentation on update and updateDeep
This fixes the documentation and code examples for update
and updateDeep
.