aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--teal-src/net/http.d.tl4
-rw-r--r--teal-src/util/promise.d.tl22
2 files changed, 23 insertions, 3 deletions
diff --git a/teal-src/net/http.d.tl b/teal-src/net/http.d.tl
index 38da56b6..9135ec12 100644
--- a/teal-src/net/http.d.tl
+++ b/teal-src/net/http.d.tl
@@ -1,6 +1,4 @@
-local record Promise
- -- util.promise
-end
+local Promise = require "util.promise".Promise;
local record sslctx -- from LuaSec
end
diff --git a/teal-src/util/promise.d.tl b/teal-src/util/promise.d.tl
new file mode 100644
index 00000000..d895a828
--- /dev/null
+++ b/teal-src/util/promise.d.tl
@@ -0,0 +1,22 @@
+
+local record lib
+ type resolve_func = function (any)
+ type promise_body = function (resolve_func, resolve_func)
+
+ record Promise<A, B>
+ type on_resolved = function (A) : any
+ type on_rejected = function (B) : any
+ next : function (Promise, on_resolved, on_rejected) : Promise<any, any>
+ end
+
+ new : function (promise_body) : Promise
+ resolve : function (any) : Promise
+ reject : function (any) : Promise
+ all : function ({ Promise }) : Promise
+ all_settled : function ({ Promise }) : Promise
+ race : function ({ Promise }) : Promise
+ try : function
+ is_promise : function(any) : boolean
+end
+
+return lib