# HG changeset patch # User Kim Alvefur # Date 1658690741 -7200 # Node ID 588b1d1758387ed186b10ea2605fea5a5199b915 # Parent 33b7e7bd83fdeade07b18557ddfe861758475a16 util.promise: Add Teal interface specification file diff -r 33b7e7bd83fd -r 588b1d175838 teal-src/net/http.d.tl --- 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 diff -r 33b7e7bd83fd -r 588b1d175838 teal-src/util/promise.d.tl --- /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 + 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