From 26080b785375df5e5ceb9dc3e85ddb7716a34db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Tue, 26 Dec 2023 17:38:07 +0100 Subject: [PATCH] * AbortSignal --- packages/rtl/src/weborworker.pas | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/rtl/src/weborworker.pas b/packages/rtl/src/weborworker.pas index 29dcaf9..a820f29 100644 --- a/packages/rtl/src/weborworker.pas +++ b/packages/rtl/src/weborworker.pas @@ -1146,6 +1146,32 @@ type property crypto : TJSCrypto Read FCrypto; end; + { TJSAbortSignal } + + TJSAbortSignal = class external name 'AbortSignal' (TJSEventTarget) + private + FAborted: Boolean; external name 'aborted'; + FReason: JSValue; external name 'reason'; + Public + Class function abort : TJSAbortSignal; + Class function any(iterable : TJSIterator) : TJSAbortSignal; + Class function any(iterable : array of TJSAbortSignal) : TJSAbortSignal; + Class function timeout(aTimeout : NativeInt) : TJSAbortSignal; + procedure throwIfAborted; + Property Aborted : Boolean Read FAborted; + Property Reason : JSValue Read FReason; + end; + + { TJSAbortController } + + TJSAbortController = class external name 'AbortController' (TJSAbortSignal) + private + FSignal: TJSAbortSignal; external name 'signal'; + Public + Procedure abort; + Procedure abort(aReason : JSValue); + Property signal : TJSAbortSignal Read FSignal; + end; var Console : TJSConsole; external name 'console';