From 523d844c789556f259244c2139009eff924e91ae Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 24 Jul 2022 21:25:41 +0200 Subject: util.promise: Add Teal interface specification file --- teal-src/net/http.d.tl | 4 +--- teal-src/util/promise.d.tl | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 teal-src/util/promise.d.tl (limited to 'teal-src') 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 + type on_resolved = function (A) : any + type on_rejected = function (B) : any + next : function (Promise, on_resolved, on_rejected) : Promise + 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 -- cgit v1.2.3