Dan Holmsand
52e729a294
Simplify class creation
2015-10-05 12:18:42 +02:00
Dan Holmsand
038b312dd0
Merge branch 'create-class'
2015-10-05 10:42:51 +02:00
Dan Holmsand
de1e4d4ad5
Get rid of silent in ratom
...
And some small cleanup
2015-10-04 12:53:23 +02:00
Dan Holmsand
9a2d632826
Refactor to avoid circular dependency in ratom
2015-10-04 11:27:47 +02:00
Dan Holmsand
69e39bf6f7
Use keyword as key in with-let
2015-10-04 10:39:18 +02:00
Dan Holmsand
6ad55160eb
Use set to simplify deref handling
2015-10-04 09:29:23 +02:00
Dan Holmsand
dabffb86b6
Cleanup new deref watching a bit
2015-10-03 22:36:40 +02:00
Dan Holmsand
c8b86af635
Get rid of complex deref watching code
2015-10-03 21:47:06 +02:00
Dan Holmsand
b399f30daf
Make Reaction a little smaller
2015-10-03 14:46:46 +02:00
Dan Holmsand
a31c410e08
Faster compare of derefed reactions, and refactor
2015-10-03 12:56:35 +02:00
Dan Holmsand
70dd2a5166
Simplify make-reaction and deref-handling a lot
2015-10-03 11:54:32 +02:00
Dan Holmsand
05fb3ed39d
Start simplifying reaction creation
2015-10-03 11:00:58 +02:00
Dan Holmsand
5d8f1ed116
Get rid of reaction-key
2015-10-03 09:22:33 +02:00
Dan Holmsand
4160704bdc
Store cached reactions directly on function/object
2015-10-02 21:49:35 +02:00
Dan Holmsand
4ee08ea18e
Use array for notify
2015-10-02 20:37:37 +02:00
Dan Holmsand
0cb0de8fc4
Cleanup and perf fixes
2015-10-02 17:34:08 +02:00
Dan Holmsand
4007e6db74
Simplify capture logic
2015-10-02 14:30:25 +02:00
Dan Holmsand
9a13446eea
Try to avoid allocating new array in notify-deref-watcher
2015-10-02 13:02:37 +02:00
Dan Holmsand
eb83776b3d
Use transients for better caching performance
2015-10-02 10:18:48 +02:00
Dan Holmsand
6aa26253d8
Use a plain method for running reaction internally
...
Gives quite a big speedup
2015-09-30 10:32:16 +02:00
Dan Holmsand
94ad9952d8
Use empty context instead of *flushing* in flush!
2015-09-30 09:49:11 +02:00
Dan Holmsand
d0f480f3f2
Remove hack to support sync reactions
...
It became too messy, risky and confusing to be worth it.
2015-09-30 09:40:57 +02:00
Dan Holmsand
3fca2e5d41
Make reactions async by queueing changes instead
...
Reactions now put themselves in a queue when they get a
callback from an atom. The queue is flushed before rendering, and
on deref on individual reactions.
This turns out to perform much better in many cases.
2015-09-30 08:56:06 +02:00
Dan Holmsand
e39bb33ccc
Use plain array instead of set for tracking watched atoms
...
Turns out to be much, much faster in most cases
2015-09-27 16:04:06 +02:00
Dan Holmsand
7cd2d7d860
Do a little cleanup in template.cljs
2015-09-27 11:14:32 +02:00
Dan Holmsand
83b21167ea
Optimize common case of listening to one derefable
2015-09-27 11:11:15 +02:00
Dan Holmsand
97194b6fca
More cleanup in ratom.cljs: get rid of IComputedImpl
...
Calling object methods and plain functions is faster.
2015-09-27 09:46:44 +02:00
Dan Holmsand
6e3a2b415d
Fix stupid with-let bug
2015-09-27 00:07:19 +02:00
Dan Holmsand
4f629d0a34
Big cleanup of ratom.cljs
...
Use a couple of utility functions, and better formatting to
reduce noise.
Don't use some? in performance critical code - avoid a function call.
2015-09-26 23:10:31 +02:00
Dan Holmsand
ab36316c82
Swap arg order in _try-run
2015-09-26 18:13:07 +02:00
Dan Holmsand
5a23bcaad5
Don't call on-dispose in non-reactive deref for now
2015-09-26 18:00:30 +02:00
Dan Holmsand
f940ac3f38
Slimline batching a little
2015-09-26 14:31:06 +02:00
Dan Holmsand
6a206eccf3
Simplify with-let even more
2015-09-26 14:30:11 +02:00
Dan Holmsand
b17ff0a576
Pass state to on-dispose in Reaction
...
Use to simplify with-let some more
2015-09-26 13:59:43 +02:00
Dan Holmsand
415ecd64fd
Simplify with-let and tweak performance
2015-09-26 13:12:59 +02:00
Dan Holmsand
b1294d50e5
Start to make create-class return a proper React class
2015-09-25 20:49:48 +02:00
Dan Holmsand
5fceda2aae
Add tests for lifecycle methods
2015-09-25 13:44:10 +02:00
Dan Holmsand
64d1e11966
Add obj and munging to interop
...
.' and .! now behaves just like builtin interop, except that
they work the same under advanced compilation.
2015-09-25 11:48:50 +02:00
Dan Holmsand
55a4b4e1df
Omit tests running in node
2015-09-25 11:48:11 +02:00
Dan Holmsand
e4fee70ac2
Add support for trapping warning/error messages
...
And use in test for with-let
2015-09-24 17:02:18 +02:00
Dan Holmsand
f62bf44661
Update demo to use rswap!
...
and fix old-style url in new051
2015-09-24 11:05:37 +02:00
Dan Holmsand
be1dfaeba7
Merge branch 'with-let'
2015-09-24 11:00:32 +02:00
Dan Holmsand
572e4bbf96
Merge branch 'betterdemo'
2015-09-24 10:59:55 +02:00
Dan Holmsand
cfcf356743
Add track, track!, dispose! and with-let to core
2015-09-24 10:19:30 +02:00
Dan Holmsand
034ffa6b7f
More tests for with-let
2015-09-24 09:23:21 +02:00
Dan Holmsand
28d454ece9
Include size of cached reactions in tests
2015-09-24 07:48:03 +02:00
Dan Holmsand
d476222abb
Optimize track! and with-let a bit
2015-09-23 20:14:29 +02:00
Dan Holmsand
e1585f6730
Add more with-let tests, and fix dispose bug
2015-09-23 19:40:19 +02:00
Dan Holmsand
9163695832
Start adding more tests for with-let
2015-09-23 17:02:48 +02:00
Dan Holmsand
119fbfe173
Add a couple of more tests for with-let
2015-09-23 15:55:57 +02:00