File

teal-src/util/promise.d.tl @ 12746:7eabf8d78978

util.roles: Return nil if the role has no explicit policy (fixes inheritance) Previously, if the first inherited role had no opinion, it returned false and prevented further consultation of other inherited roles. This bug was found thanks to the implementation of missing test cases identified through mutation testing.
author Matthew Wild <mwild1@gmail.com>
date Fri, 07 Oct 2022 16:58:08 +0100
parent 12612:588b1d175838
line wrap: on
line source


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