Commit Graph

41 Commits

Author SHA1 Message Date
Aaron Jensen
d2d0703ef1 Add support for non-plain objects
Fixes #36
2015-09-15 07:50:36 -07:00
Aaron Jensen
2dfa674124 Add support for wildcards to u.updateIn
Fixes #27
2015-09-11 22:48:10 -07:00
Aaron Jensen
b8ca7f5407 Use identity with u.if's false condition
Fixes #35
2015-09-11 11:57:39 -07:00
Andy Brown
0b0f6dc376 default to array when update keys are integers 2015-08-30 16:54:22 -07:00
Andy Brown
932da9f7d5 report correct arity for curried functions
fixes #31
2015-08-21 09:11:16 -07:00
Aaron Jensen
dea78333ff Add some jsdoc 2015-08-19 07:29:06 -07:00
Aaron Jensen
c083f4a330 Allow update to preserve empty objects
fixes #29
2015-08-18 04:28:19 -07:00
Aaron Jensen
287c4fefad Add u.constant for replacing an object outright
Fixes #10
2015-08-12 22:19:32 -07:00
Aaron Jensen
5b58b8cfc8 Fix handling null differently than undefined.
`u` and friends will now coerce null to an object if there are updates for it.

Fixes #20
2015-08-12 22:04:31 -07:00
Aaron Jensen
571102d947 Add u._ 2015-08-12 08:35:10 -07:00
Aaron Jensen
324b165e2a Use lodash's map, it's faster 2015-08-12 00:23:51 -07:00
Aaron Jensen
3ce001a4f6 Replace lodash curry with our own
lodash's curry is great and does a lot, but we don't need it all. This
is quite a bit faster.

Currently, it does away with placeholder support.

updeep curry partial call x 9,951,410 ops/sec ±1.61% (62 runs sampled)
lodash curry partial call x 988,949 ops/sec ±1.36% (62 runs sampled)
2015-08-11 23:58:54 -07:00
Aaron Jensen
ff195645cd Add curry 2015-08-11 23:55:23 -07:00
Aaron Jensen
efb669f017 Use lodash's forEach
It's a lot faster
2015-08-10 00:02:49 -07:00
Aaron Jensen
167760fb24 Do not use update in map if iteratee is a function
Performance bump, especially while curry is slow.
2015-08-10 00:02:49 -07:00
Aaron Jensen
92ae098659 Make u.map return same instance if nothing changes 2015-08-09 00:21:24 -07:00
Aaron Jensen
8e82692be2 Refactor update.js and remove some lodash 2015-08-08 23:35:53 -07:00
Aaron Jensen
b6b2daf824 Add u.update as alias to u 2015-08-06 21:40:57 -07:00
Aaron Jensen
333ca47cfd Rename u.in to u.updateIn
With u.if and u.is, it was too confusing. Originally I thought that because
u stood for update, it would make sense, but as I add more functions,
I think that was wrong.
2015-08-06 20:52:06 -07:00
Aaron Jensen
5c0855b9df Add u.is 2015-08-06 20:48:04 -07:00
Aaron Jensen
ddd5c84d49 Add u.ifElse
Fixes #12
2015-08-05 23:10:16 -07:00
Aaron Jensen
a7156e29a1 Fix lint 2015-08-05 08:39:42 -07:00
Aaron Jensen
b1e000b06d Freeze objects returned by helper methods 2015-08-05 04:44:14 -07:00
Aaron Jensen
cc42bbb2a4 Replace object outright when updates are constant 2015-08-05 04:28:32 -07:00
Aaron Jensen
78c30e038a Rename obj to object 2015-08-05 00:31:10 -07:00
Aaron Jensen
1a1e2b313a Add u.map 2015-08-05 00:25:34 -07:00
Aaron Jensen
750200df76 Add u.if 2015-08-04 23:57:01 -07:00
Aaron Jensen
8013605e7b Actually expose u.in 2015-08-04 22:34:06 -07:00
Aaron Jensen
2ae6f0a113 Add u.in and rework readme 2015-08-04 22:28:31 -07:00
Aaron Jensen
7a84944f99 Add u.freeze
Fixes #7
2015-08-04 21:56:01 -07:00
Aaron Jensen
08ebbf5c89 Allow updating to null
Fixes #8
2015-08-04 21:34:05 -07:00
Matthew Findley
2f110e5a23 Handle freezing with null values 2015-08-03 10:37:26 -07:00
Aaron Jensen
2dd272e429 Do not call isFrozen on non-freezables
fixes #1
2015-08-02 07:06:35 -07:00
Aaron Jensen
772e92789b Freeze results by default 2015-08-02 00:32:32 -07:00
Aaron Jensen
3ef66e17e4 Add freeze 2015-08-02 00:17:22 -07:00
Aaron Jensen
f199cd335a Add some javadoc to update 2015-08-01 23:38:27 -07:00
Aaron Jensen
54137398ea use airbnb's eslint 2015-08-01 23:25:08 -07:00
Aaron Jensen
0e48adc468 Use lodash assign instead 2015-08-01 09:09:52 -07:00
Aaron Jensen
743b603216 Convert to es6 modules 2015-08-01 08:13:25 -07:00
Aaron Jensen
35fe73e080 Add initial code, tests don't work yet. 2015-07-31 09:16:19 -07:00
Aaron Jensen
454dd69b53 Initial commit w/ yo node 2015-07-31 08:53:25 -07:00