Changeset

12612:588b1d175838

util.promise: Add Teal interface specification file
author Kim Alvefur <zash@zash.se>
date Sun, 24 Jul 2022 21:25:41 +0200
parents 12611:33b7e7bd83fd
children 12613:a27870dcaf24
files teal-src/net/http.d.tl teal-src/util/promise.d.tl
diffstat 2 files changed, 23 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/teal-src/net/http.d.tl	Sun Jul 24 21:25:31 2022 +0200
+++ b/teal-src/net/http.d.tl	Sun Jul 24 21:25:41 2022 +0200
@@ -1,6 +1,4 @@
-local record Promise
-	-- util.promise
-end
+local Promise = require "util.promise".Promise;
 
 local record sslctx -- from LuaSec
 end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/teal-src/util/promise.d.tl	Sun Jul 24 21:25:41 2022 +0200
@@ -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