Mariusz Nowak
eb72d16bf6
Major reorganization and partial refactoring
...
- Move out main modules from `lib` folder
- Introduce `normalizer` based configurations, and convert primitive and regular handlers into thos normalizers (can be found in lib/normalizers folder). Custom normalizers can be provided at run time via `normaizer` option
- Provide `plain` module which does not load any extensions or normalizers. Any extensions that have to be used should be required upfront and normalizers should be provided directly
- Remove `method` option, instead `methods` and `methods-plan` modules are provided which generate descriptors for lazy created memoized methods
- `profile` is no longer extension. To be used it should be required directly
- Improve logic for `async` handling
- Take out `max` extensionLRU logic into external `lru-queue` package
- Remove `context` option
- Remove possibility to access original arguments when resolvers are used
- Assure expected length of memoized functions
2014-04-27 12:11:06 +02:00
Mariusz Nowak
38f907315d
Update up to changes in event-emitter package
2014-04-24 21:58:25 +02:00
Mariusz Nowak
0fe6670fed
Update up to changes in event-emitter package
2014-04-24 16:00:11 +02:00
Mariusz Nowak
223a34623d
Provide access to references count
2013-11-22 19:21:15 +01:00
Mariusz Nowak
0cc9969de0
Memoized methods factory
...
Based on `d` descriptors factory.
It's first step to replace `method` option
2013-10-23 18:18:39 +02:00
Mariusz Nowak
f9e9c9edc5
Update up to changes in es5-ext
2013-10-08 18:55:10 +02:00
Mariusz Nowak
05949b19e3
Merge with v0.2
2013-10-08 15:27:12 +02:00
Mariusz Nowak
ff85fb5228
Do not emit asyncpurge on uninitialized values
...
Fix #9
2013-10-08 15:20:23 +02:00
Mariusz Nowak
9846a233ab
-- whitespace
2013-10-03 21:09:37 +02:00
Mariusz Nowak
3a25f3d14c
Update up to changes in es5-ext package
2013-10-01 15:14:15 +02:00
Mariusz Nowak
2986e6d0e9
Update up to changes in es5-ext package
2013-08-28 12:59:22 +02:00
Mariusz Nowak
b0ad851327
-- lint
2013-08-07 22:40:53 +02:00
Mariusz Nowak
343b6cdcd4
serialize option, for custom args serialization
2013-07-22 20:37:15 +02:00
Mariusz Nowak
baae9f8d54
Define once
2013-07-22 20:24:04 +02:00
Mariusz Nowak
2b4cf268c8
Fix primitive handling for dynamic length
2013-07-22 19:35:28 +02:00
Mariusz Nowak
748a9aa2d5
Fix primitive handling for dynamic length
2013-07-22 19:34:28 +02:00
Mariusz Nowak
aa79f75eb6
-- whitespace
2013-07-22 19:33:23 +02:00
Mariusz Nowak
f955c6ffbd
Rename get to serialize
2013-07-22 19:15:49 +02:00
Mariusz Nowak
53a6304f27
-- whitespace
2013-05-18 10:12:07 +02:00
Mariusz Nowak
434b866ec3
force option
...
Force memoization of already memoized function
2013-05-18 10:11:09 +02:00
Mariusz Nowak
f57bac383c
Merge with v0.2
2013-03-23 16:13:23 +01:00
Mariusz Nowak
28c770166e
Prevent circular function calls
2013-03-23 16:00:07 +01:00
Mariusz Nowak
83f31df6f7
Bind function to context with 'method' option
2013-02-12 15:36:30 +01:00
Mariusz Nowak
fb4439692d
Improve 'method' functionality.
...
- Proto chain safe
- Memoized method is ready right after first access (previously it was bundled on first invokation which was problematic)
- memoize when used with method option returns object with name -> descriptor content, it should be used with Object.defineProperties on target object
2013-02-11 17:43:55 +01:00
Mariusz Nowak
0e32a471f6
Run dispose in same context as main function
2013-02-11 16:28:59 +01:00
Mariusz Nowak
8a5e0a3d26
-- whitespace
2013-02-04 14:33:37 +01:00
Mariusz Nowak
48fb305cdd
-- whitespace
2013-02-04 14:33:01 +01:00
Mariusz Nowak
0a1e34be71
-- whitespace
2013-02-04 14:32:43 +01:00
Mariusz Nowak
a65cf0b236
Do not import whole event-emitter
2013-01-25 00:01:08 +01:00
Mariusz Nowak
bcf03e72cc
Fix cache clear in regular mode
...
Overlooked (serious) bug introduced after switching to id matching algorithm.
Improved tests
2012-10-04 20:06:29 +02:00
Mariusz Nowak
e31e498ff9
Fix null pre-fetch cache issue
2012-10-03 15:46:32 +02:00
Mariusz Nowak
28da3c9c0d
preFetch option for maxAge variant
...
Thanks @puzrin for comments on that!
2012-10-03 15:40:37 +02:00
Mariusz Nowak
3a16a6feca
Provide arguments and context with 'hit' event
2012-10-03 15:06:36 +02:00
Mariusz Nowak
a0db6b4b22
Do not memoize already memoized functions
2012-10-03 13:31:49 +02:00
Mariusz Nowak
625b831533
Readability
2012-09-21 15:52:57 +02:00
Mariusz Nowak
1452a76dac
Basic documentation for each module
2012-09-21 15:49:09 +02:00
Mariusz Nowak
a62f1680af
-- lint
2012-09-21 15:14:19 +02:00
Mariusz Nowak
4ddf5b3238
Fix variable visibility. Lint
2012-09-21 15:13:52 +02:00
Mariusz Nowak
c2843dd16a
Add missing global dependency
2012-09-21 15:02:41 +02:00
Mariusz Nowak
49b181f559
Clean verbosity
2012-09-21 14:44:10 +02:00
Mariusz Nowak
f2d0dacd17
Support for async mode in refCounter
2012-09-21 14:06:32 +02:00
Mariusz Nowak
01735bd218
max: Handle async with async events
2012-09-21 13:54:29 +02:00
Mariusz Nowak
213ee0dc65
(fix) maxAge: Rely on async events
2012-09-21 13:52:26 +02:00
Mariusz Nowak
4c57e47a6d
maxAge: Rely on async events
2012-09-21 13:51:29 +02:00
Mariusz Nowak
851a6293ac
dispose: rely on async events
2012-09-21 13:50:30 +02:00
Mariusz Nowak
54fb4e4f13
async: safe purgeAll
2012-09-21 13:47:48 +02:00
Mariusz Nowak
d23505d700
maxAge: Handle init time properly when in async mode
2012-09-21 13:40:51 +02:00
Mariusz Nowak
22f4772556
Fix id for initasync event
2012-09-21 13:39:47 +02:00
Mariusz Nowak
329456db58
Improved async handling algorithm.
...
Introduced async events
2012-09-21 13:26:59 +02:00
Mariusz Nowak
146e59e543
Modularization. Cleanup and logic improvements.
...
Additionally changed max option algorithm from FIFO to LRU
2012-09-21 12:04:55 +02:00