Software /
code /
prosody
Annotate
teal-src/util/promise.d.tl @ 12714:82bca7191f13
util.crypto: Use stack space buffers
Removes assumption that LUAL_BUFFERSIZE is known at pre-processing time,
which it is not in Lua 5.3 and 5.4, where it is a computed macro based
on sizeof.
Allocation of stack space is safer and faster, no need to worry about
luaL_prepbuffer failing to allocate memory and skipping free()
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 11 Jul 2022 17:01:55 +0200 |
parent | 12612:588b1d175838 |
rev | line source |
---|---|
12612
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 local record lib |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 type resolve_func = function (any) |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 type promise_body = function (resolve_func, resolve_func) |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 record Promise<A, B> |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 type on_resolved = function (A) : any |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 type on_rejected = function (B) : any |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 next : function (Promise, on_resolved, on_rejected) : Promise<any, any> |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 end |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 new : function (promise_body) : Promise |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 resolve : function (any) : Promise |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 reject : function (any) : Promise |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 all : function ({ Promise }) : Promise |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 all_settled : function ({ Promise }) : Promise |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 race : function ({ Promise }) : Promise |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 try : function |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 is_promise : function(any) : boolean |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 end |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 |
588b1d175838
util.promise: Add Teal interface specification file
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 return lib |