eryn L. K
2e5b07f0d8
Merge pull request #32 from Validark/patch-1
...
Promise.delay fix
2020-08-12 22:52:04 -04:00
Niles
313d1cb6ab
Revert back to Promise._timeEvent and Promise._getTime statics
2020-08-07 00:52:41 -05:00
eryn L. K
2ffad609d6
Merge pull request #33 from evaera/dependabot/npm_and_yarn/lodash-4.17.19
...
Bump lodash from 4.17.15 to 4.17.19
2020-07-21 14:15:54 -04:00
dependabot[bot]
a879d641aa
Bump lodash from 4.17.15 to 4.17.19
...
Bumps [lodash](https://github.com/lodash/lodash ) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-18 05:56:31 +00:00
Niles
d1ff9be774
Promise.delay fix
2020-07-16 05:51:54 -05:00
Eryn Lynn
06066c2dd0
v3.0.0-rc.3
2020-07-10 23:48:09 -04:00
Eryn Lynn
13ae48a5ee
Fix #31
2020-07-10 23:45:47 -04:00
Eryn Lynn
6b71fa3896
Update testez
2020-07-10 23:45:10 -04:00
Eryn Lynn
e110f537cb
v3.0.0-rc.2
2020-06-16 19:41:57 -04:00
eryn L. K
ad71d3021c
Merge pull request #27 from howmanysmall/patch-3
...
Update init.lua
2020-06-10 18:40:12 -04:00
eryn L. K
f15b298030
Merge pull request #26 from evaera/dependabot/npm_and_yarn/websocket-extensions-0.1.4
...
Bump websocket-extensions from 0.1.3 to 0.1.4
2020-06-10 16:58:26 -04:00
eryn L. K
b5865e925d
Merge pull request #20 from evaera/dependabot/npm_and_yarn/acorn-6.4.1
...
Bump acorn from 6.3.0 to 6.4.1
2020-06-10 16:57:50 -04:00
eryn L. K
168239707b
Merge pull request #28 from FableRBX/patch-1
...
Update Tour.md
2020-06-10 16:57:36 -04:00
FableRBX
6fb7ed746f
Update Tour.md
2020-06-10 13:53:24 -07:00
howmanysmall
dde1c6517e
Update init.lua
...
- [Prefer calling string functions directly](https://developer.roblox.com/en-us/resources/release-note/Release-Notes-for-433 )
- Fixed spaces being used in `Promise.retry`.
- Fixed `Promise:done` calling itself `Promise:finallyO` in the assert. (intentional?)
- Prefer using the first return of `ipairs` to add a Promise to the array instead of `table.insert`.
- Removed the unused `reject` in `Promise._try`
- Trailing commas as per Roblox Lua style guide.
Other suggestions:
- You could use `table.create` in `Promise:timeout` like so:
```Lua
function Promise.prototype:timeout(seconds, rejectionValue)
local traceback = debug.traceback(nil, 2)
local racedPromises = table.create(2)
racedPromises[1] = Promise.delay(seconds):andThen(function()
return Promise.reject(rejectionValue == nil and Error.new({
kind = Error.Kind.TimedOut,
error = "Timed out",
context = string.format(
"Timeout of %d seconds exceeded.\n:timeout() called at:\n\n%s",
seconds,
traceback
),
}) or rejectionValue)
end)
racedPromises[2] = self
return Promise.race(racedPromises)
end
```
2020-06-09 12:53:06 -06:00
dependabot[bot]
1b1a6a7bbf
Bump websocket-extensions from 0.1.3 to 0.1.4
...
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node ) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases )
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md )
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-06-07 06:35:54 +00:00
eryn L. K
36b789e2b6
Update README.md
2020-06-02 01:00:03 -04:00
eryn L. K
061c3a8659
Merge pull request #24 from evaera/use-xpcall
...
v3 (xpcall & better debugging)
2020-06-02 00:58:40 -04:00
Eryn Lynn
bcbd3385f4
Update docs
2020-06-02 00:54:36 -04:00
Eryn Lynn
b7d6a935be
Update documentation
2020-06-02 00:19:02 -04:00
Eryn Lynn
b4ba6d2414
Add Promise.fromEvent
...
closes #14
2020-05-29 02:10:45 -04:00
Eryn Lynn
e5843cf5a2
Add Promise.retry
...
Closes #16
2020-05-29 02:10:29 -04:00
Eryn Lynn
8cb4b21f60
Write docs for Promise.each
2020-05-13 20:16:07 -04:00
Eryn Lynn
0c0d7f0464
Add Promise.each
...
closes #21
2020-05-13 19:48:45 -04:00
Eryn Lynn
078abeae83
improve api reference
2020-05-13 17:12:22 -04:00
Eryn Lynn
1ad5ab8b3e
fix capitalization
2020-05-11 15:43:58 -04:00
Eryn Lynn
fc134adb73
mprove Promise.delay accuracy
2020-05-11 15:43:50 -04:00
Eryn Lynn
266e265e20
Allow rejection with error objects
2020-05-11 15:43:35 -04:00
Eryn Lynn
faa4f73dd3
Add Promise:now()
...
closes #23
2020-05-06 19:22:48 -04:00
Eryn Lynn
ff345ea31b
Expose & refactor RuntimeError
2020-05-06 18:02:10 -04:00
Eryn Lynn
292e47293c
Let Promise:expect() throw rejection objects
2020-05-06 14:20:34 -04:00
Eryn Lynn
0c30e0c40b
Merge branch 'master' into use-xpcall
2020-05-05 18:15:45 -04:00
Eryn Lynn
fd120b5c76
Update CHANGELOG.md
2020-05-04 23:57:08 -04:00
Eryn Lynn
1ca3fff6f5
Use xpcall, revamp error handling
2020-05-04 23:56:49 -04:00
Eryn Lynn
344c9759aa
Update testez
...
Closes #1
2020-05-04 22:07:55 -04:00
Eryn Lynn
7c394f4d61
Remove unused files
2020-05-04 22:07:36 -04:00
eryn L. K
e06f087d54
Update CHANGELOG.md
2020-05-04 15:29:11 -04:00
eryn L. K
2e63e8b7cc
Merge pull request #22 from ddavness/promise-is-pcall
...
Use pcall() on Promise.is when looking for the .andThen function
2020-05-04 15:27:12 -04:00
David Duque
9cf49499bd
Apply suggestions
...
Co-authored-by: eryn L. K. <eryn@eryn.io>
2020-05-04 20:19:54 +01:00
David Duque
4586cc5a90
Use pcall() on Promise.is when looking for the .andThen function
...
Some tables might have strict metatables that error if a non-existant
member is indexed, causing the chain to fail.
2020-05-02 19:24:05 +01:00
Eryn Lynn
17becff40b
Update dependencies for docs website
2020-04-29 19:41:45 -04:00
eryn L. K
dfd3251849
Create FUNDING.yml
2020-04-24 17:51:14 -04:00
Eryn Lynn
57d98880b5
make promisify test more clear
2020-04-17 20:00:54 -04:00
dependabot[bot]
6b8b758cf3
Bump acorn from 6.3.0 to 6.4.1
...
Bumps [acorn](https://github.com/acornjs/acorn ) from 6.3.0 to 6.4.1.
- [Release notes](https://github.com/acornjs/acorn/releases )
- [Commits](https://github.com/acornjs/acorn/compare/6.3.0...6.4.1 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-04-05 02:59:36 +00:00
eryn L. K
01499e5b7f
Merge pull request #19 from Quenty/users/quenty/avoid_realloc
...
Avoid reallocating another table for the _consumers() metatable, lead…
2020-03-29 18:16:49 -04:00
James Onnen
ffd4cd94a1
Avoid reallocating another table for the _consumers() metatable, leading to a 5%-10% speed up of the trivial Promise.new(function() end) case
2020-03-29 03:35:15 -07:00
eryn L. K
f0fd3020fd
Merge pull request #18 from Validark/patch-1
...
Optimize Promise.delay with linked-list impl
2020-02-28 21:21:16 -05:00
Eryn Lynn
5a4a30e221
Fix broken tests
2020-02-28 21:21:01 -05:00
Niles
4e6b0de633
Update init.lua
2020-02-14 15:08:53 -06:00
Niles
e1e183d632
Optimize Promise.delay with linked-list impl
...
- Always iterate over promises via `ipairs`
- Avoid pushing the call arguments stack to a table in Promise.prototype.expect and Promise.prototype.await
- Use a doubly-linked list implementation of a queue
The old queue/dequeue implementation used an array which:
- has items removed from the front (`table.remove(queue, 1)` O(n) each time)
- this is especially bad in the main loop which could run multiple times in-a-row on a large array
- new: O(1)
- uses table.insert() followed by table.sort() to add a new node (O(n log n))
- new: O(n)
- has to lookup the index of the node being dequeued (O(n))
- new: O(1)
2020-02-14 06:02:48 -06:00