1
0
mirror of https://github.com/danog/amp.git synced 2024-12-12 17:37:34 +01:00
Commit Graph

160 Commits

Author SHA1 Message Date
Niklas Keller
01cd49994f Add further generics for static analysis 2020-03-28 13:52:48 +01:00
Niklas Keller
a75164b66b Add psalm static analysis on level 6
This also fixes mixed types in some cases.
2020-03-28 12:23:46 +01:00
Niklas Keller
c73528e839 Expose getCurrentTime as public API 2019-11-11 13:20:38 -06:00
c6a775a6c9 Add delay function (#278) 2019-08-02 22:37:42 +02:00
Masiukevich Maksim
0fd6b8c157 Fix phpdoc types for call / asyncCall (#260)
Incorrect types were indicated, due to which static analysis led to false positives.
2019-02-05 18:32:32 +01:00
Sascha-Oliver Prolic
96c2eeaa1f Add Promise\wrap (#234) 2018-11-26 19:36:46 +01:00
Sascha-Oliver Prolic
4a98cc4fde Add timeoutWithDefault function (#245) 2018-11-25 17:56:42 +01:00
Niklas Keller
b73e03bfe2 Rename Iterator\collect to Iterator\toArray 2018-11-25 17:09:50 +01:00
Niklas Keller
22a8332261 Add Iterator\collect 2018-11-25 17:09:50 +01:00
Niklas Keller
fa3fe1d20b Apply PSR-2 2018-06-18 20:00:01 +02:00
Niklas Keller
98cfaa63ca Remove unused variables 2017-12-05 08:48:56 +01:00
Bob Weinand
7837d8ce08 Fix #172 - Preserve Promise order within combinator functions 2017-10-10 15:37:31 +02:00
Niklas Keller
50b37b23ef Add asyncCall 2017-05-03 15:21:49 +02:00
Niklas Keller
141875b133 🔥 Kill pipe and capture
Use Amp\call instead.
2017-05-02 18:32:59 +02:00
Aaron Piotrowski
da9b724f5b getIterator → iterate 2017-05-02 07:07:43 +02:00
Aaron Piotrowski
38d53304ae Stream → Iterator 2017-05-02 07:07:20 +02:00
Aaron Piotrowski
4992d3ebac Update stream tests 2017-05-02 07:06:20 +02:00
Aaron Piotrowski
a096a36f9a Emitter::resolve → Emitter::complete 2017-05-02 07:04:30 +02:00
Aaron Piotrowski
7e6eb3689e Update stream functions 2017-05-02 07:04:30 +02:00
Niklas Keller
1286087c06 Rename Pause to Delayed
Pause doesn't cover the delayed value use case.
2017-05-02 07:02:02 +02:00
Niklas Keller
e9d48a68d5 Rename createRunnable to asyncCoroutine and createCallable to coroutine 2017-04-24 15:27:04 +02:00
Niklas Keller
dc21d094c5 Throw error in case the loop throws during wait 2017-04-24 15:27:04 +02:00
Niklas Keller
e1c63c62f4 Minor documentation changes 2017-04-24 15:27:04 +02:00
Niklas Keller
65a37484a2 Replace UnionTypeError with factory function + minor doc changes 2017-04-24 15:27:04 +02:00
Niklas Keller
70e63a3748 Fix code style according to new rules 2017-04-24 15:27:04 +02:00
Niklas Keller
dfa40f5b00 Rename wrap to createRunnable and coroutine to createCallable 2017-04-24 15:27:04 +02:00
Niklas Keller
4f8b656513 Document wrap and coroutine better by explicitly naming the differences 2017-04-24 15:27:04 +02:00
Niklas Keller
fed09e42ac Fix line lengths 2017-04-13 18:49:32 +02:00
Niklas Keller
5e545301cd Rename Listener to StreamIterator 2017-04-13 18:20:46 +02:00
Niklas Keller
3e8b37f21f Remove Amp\Stream\interval and add delay option to fromIterable 2017-04-13 18:05:41 +02:00
Aaron Piotrowski
a0b8de40fb Null deferred refs 2017-04-07 12:50:01 -05:00
Bob Weinand
f100d9cd8b Fix possible double resolutions 2017-04-07 18:47:44 +02:00
Bob Weinand
c52279065d Remove unnecessary use of temporary variables 2017-04-07 18:09:39 +02:00
Aaron Piotrowski
e43f9afc8f Refactor functions to remove circular refs
This will provide for faster garbage collection of unused promises/deferreds/etc.
2017-04-07 10:51:57 -05:00
Aaron Piotrowski
cb717952f1 Validate number of required promises 2017-03-27 11:42:11 -05:00
Aaron Piotrowski
c464e070e4 s/fail/succeed 2017-03-26 12:53:26 -05:00
Aaron Piotrowski
67f9f4a569 Drop lift and Promise\map; add required param to Promise\some 2017-03-26 12:34:34 -05:00
Niklas Keller
2aa91a6c25 Rename Stream::listen to Stream::onEmit 2017-03-21 18:29:51 +01:00
Niklas Keller
ce269fa516 Rename Promise::when to Promise::onResolve, resolves #77 2017-03-21 17:23:37 +01:00
Aaron Piotrowski
a927b3cb06 Separate functions into Promise and Stream namespaces 2017-03-15 19:02:04 -05:00
Aaron Piotrowski
6b9ec609c1 Add UnionTypeError 2017-03-14 13:15:31 -05:00
Aaron Piotrowski
44c5a1b1dc Cleanup React promise adaption 2017-03-14 13:15:31 -05:00
Niklas Keller
ee11b70395 Fix remaining InvalidWatcherError renames 2017-03-14 18:24:14 +01:00
Aaron Piotrowski
f187d4b31a Accept React promises in rethrow, wait, timeout, pipe, and capture
Fixes #75.
2017-03-13 07:17:06 +01:00
Niklas Keller
0006c6cb56 Fix async-interop docblock leftover 2017-03-12 21:39:17 +01:00
Aaron Piotrowski
cd4328ab48 Merge branch 'react-compatibility' 2017-03-12 11:38:48 -05:00
Niklas Keller
d748855a51 Fix some risky tests 2017-03-12 17:33:46 +01:00
Aaron Piotrowski
a98fe5cdf6 Rethrow React promise rejections
Adapt React promises returned from watcher callbacks to promises so that rethrow is called on them.
2017-03-11 09:17:55 -06:00
Aaron Piotrowski
7ad10f5d7d Add support for React promises 2017-03-11 09:17:43 -06:00
Aaron Piotrowski
7ebe70e0ae Fix docblock param formatting
Callable prototypes make alignment a mess… maybe something better can be done.
2017-03-10 23:08:40 -06:00
Aaron Piotrowski
2a9d7cb97b Remove unnecessary parameter 2017-03-10 22:59:11 -06:00
Niklas Keller
0be9ae9ade Switch from AsyncInterop\Promise to Amp\Promise 2017-03-10 21:58:46 +01:00
Niklas Keller
e64bbfb9f5 Add Loop::set, auto-wrapping, fixup things 2017-03-10 21:31:57 +01:00
Aaron Piotrowski
72378e2b82 Add Amp\call() 2017-02-22 15:52:30 -06:00
Aaron Piotrowski
b72e504eab Ensure correct argument order in multi-argument lift 2017-02-09 22:34:24 -06:00
Aaron Piotrowski
3861c6b5da Simpler each and filter implementation 2017-02-09 22:17:45 -06:00
Niklas Keller
8f245fa677 Drop Amp\choose 2017-01-13 19:09:17 +01:00
Niklas Keller
ae69e92266 Update to promise 0.4.0 and event-loop 0.5.0, add humbug config 2017-01-07 13:47:45 +01:00
Aaron Piotrowski
210b6ff258 Observable → Stream 2017-01-03 19:10:27 -06:00
Aaron Piotrowski
a872f14fd4 Drop Amp\range(), add Amp\observableFromIterable() 2016-12-30 12:50:09 -06:00
Aaron Piotrowski
b5d5b8dff1 Drop loop wrapper functions 2016-12-29 16:57:08 -06:00
Aaron Piotrowski
5651240615 Update to promise spec v0.3
Dropped strict-types due to spec requiring weak types in callbacks.
2016-12-29 16:29:27 -06:00
Aaron Piotrowski
bc1ae1822c Unreference watcher in Amp\timout() 2016-12-17 08:28:19 -06:00
Aaron Piotrowski
11f1c7e7c4 Amp\lazy() → Amp\Lazy
Plus some tests!
2016-12-15 18:50:33 -06:00
Aaron Piotrowski
6e97e6630d Fix some function bugs and add more tests 2016-12-15 17:31:57 -06:00
Niklas Keller
e4d97caad7 Fix whitespace 2016-12-11 16:17:51 +01:00
Niklas Keller
2ba73e90fc Fix documentation to point to when instead of then and done 2016-12-11 16:16:12 +01:00
Niklas Keller
bd7e84a138 Improve error messages 2016-12-11 16:12:42 +01:00
Aaron Piotrowski
9927ad5b4f Awaitable → Promise 2016-11-14 13:59:21 -06:00
Aaron Piotrowski
7f5142be88 Fix map() return type 2016-09-09 18:05:01 -05:00
Aaron Piotrowski
220c969e12 Allow Amp\*() loop callbacks to return values
Asserting that the function be void if not a Generator turned out to be just annoying rather than helpful.
2016-08-29 12:40:13 -05:00
Aaron Piotrowski
44aee8de47 Restrict callback returns to void or Generator 2016-08-26 16:29:57 -05:00
Aaron Piotrowski
edf2984863 Update Observable-based functions
Some of the changes to Observables broke functions using them.
2016-08-23 13:22:24 -05:00
Aaron Piotrowski
96e1178b89 Code, docblock, and comment cleanup 2016-08-17 22:25:54 -05:00
Aaron Piotrowski
bdc26e1e8b Combine use statements 2016-08-16 13:07:51 -05:00
Aaron Piotrowski
888229d667 Use strict types 2016-08-15 23:46:26 -05:00
Aaron Piotrowski
7bc08b9a6a Replace leftover LogicExceptions exceptions with Error 2016-08-12 16:58:53 -05:00
Aaron Piotrowski
66c38e1480 Refactor Amp\coroutine()
Any function can now be passed to this function, which now returns a function returning an awaitable.
2016-08-12 14:50:44 -05:00
Aaron Piotrowski
69ec812bc0 Require PHP 7 2016-08-11 14:52:40 -05:00
Aaron Piotrowski
aa7b76e842 Add awaitable/coroutine-aware loop functions
These functions mirror the standard loop methods, but run returned Generators as coroutines and invoke rethrow() on returned awaitables.
2016-08-02 12:48:32 -05:00
Aaron Piotrowski
13908fe2e5 Add concat() function 2016-08-01 11:10:59 -05:00
Aaron Piotrowski
9055f159e7 Revert some() to v1 behavior 2016-07-31 00:31:04 -05:00
Aaron Piotrowski
c2caca9d02 Fix functions using Subscriber as Awaitable
Use PHP_INT_MAX instead of 0 for infinite interval() count.
2016-07-20 08:53:18 -05:00
Aaron Piotrowski
8e794ba1d7 Fix stream() 2016-07-19 15:24:05 -05:00
Bob Weinand
1642bf9195 s/settle/any/ which now returns [$errors, $succeeds] 2016-07-19 21:39:09 +02:00
Aaron Piotrowski
dad93a6da0 Merge branch 'observable' into v2 2016-07-18 23:29:19 -05:00
Aaron Piotrowski
b9d554dd7b Add more functions 2016-07-18 23:23:25 -05:00
Aaron Piotrowski
3f654cbd5b Initial tests plus some fixes 2016-07-12 11:20:06 -05:00
Aaron Piotrowski
60d560d70e Add $className param to capture(); other cleanup 2016-06-14 21:40:04 -05:00
Aaron Piotrowski
5715bec9e1 Refactor functions with Emitter 2016-06-02 10:43:46 -05:00
Aaron Piotrowski
57e25f9354 Simpler implementation 2016-05-29 11:46:58 -05:00
Aaron Piotrowski
4a2baa670e Subscriber model 2016-05-27 15:44:01 -05:00
Aaron Piotrowski
99eecc1a3f Refactor 2016-05-26 18:20:05 -05:00
Aaron Piotrowski
3edab2dfd3 Put Loop::get() back
Why do I keep thinking null uses the current loop... bah
2016-05-26 18:15:33 -05:00
Aaron Piotrowski
dd70850682 Remove driver argument 2016-05-26 00:09:50 -05:00
Aaron Piotrowski
a9362780ed Initial commit 2016-05-24 11:47:14 -05:00
Aaron Piotrowski
ccec7acc94 Remove Exception namespace 2016-05-24 10:39:19 -05:00
Aaron Piotrowski
6d263ffb84 Drop Awaitable from namespace 2016-05-23 22:48:28 -05:00
Aaron Piotrowski
13e807d564 Throw on repeated resolution 2016-05-23 21:32:41 -05:00
Aaron Piotrowski
6fc6ad1ab5 Throw instead of returning Failure object 2016-05-23 10:19:48 -05:00