Browse Source

* IteratorResult & AsyncIterator

michael 5 years ago
parent
commit
482d7d0690
1 changed files with 15 additions and 0 deletions
  1. 15 0
      packages/rtl/js.pas

+ 15 - 0
packages/rtl/js.pas

@@ -837,6 +837,7 @@ type
     function _finally(value : TJSPromiseFinallyHandler): TJSPromise;
   end;
 
+
   TJSFunctionArguments = class external name 'arguments'
   private
     FLength: NativeInt; external name 'length';
@@ -847,6 +848,20 @@ type
     property Elements[Index: NativeInt]: JSValue read GetElements write SetElements; default;
   end;
 
+  TJSIteratorResult = Class external name 'IteratorResult' (TJSObject)
+  Private
+    fDone : Boolean; external name 'done';
+    fValue : JSValue; external name 'value';
+  Public
+    property done : boolean Read FDone;
+    property value : JSValue read FValue;
+  end;
+
+  TJSAsyncIterator = Class external name 'AsyncIterator' (TJSObject)
+    function next: TJSIteratorResult;
+  end;
+
+
 var
   // JSArguments can be used in procedures/functions to provide access to the 'arguments' array.
   JSArguments: TJSFunctionArguments; external name 'arguments';