|
@@ -754,33 +754,45 @@ type
|
|
class function JSClassName: UnicodeString; override;
|
|
class function JSClassName: UnicodeString; override;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ IJSBaseArrayBuffer = interface(IJSObject) ['{F08E3A2D-8948-44C9-9F4A-4E1422C01640}']
|
|
|
|
+ function _getByteLength: Nativeint;
|
|
|
|
+ function _getMaxByteLength: Nativeint;
|
|
|
|
+ property maxByteLength : Nativeint Read _getMaxByteLength;
|
|
|
|
+ property byteLength : Nativeint Read _getByteLength;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ TJSBaseArrayBuffer = class(TJSObject,IJSBaseArrayBuffer)
|
|
|
|
+ Protected
|
|
|
|
+ function _getByteLength: Nativeint;
|
|
|
|
+ function _getMaxByteLength: Nativeint;
|
|
|
|
+ Public
|
|
|
|
+ property maxByteLength : Nativeint Read _getMaxByteLength;
|
|
|
|
+ property byteLength : Nativeint Read _getByteLength;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+
|
|
{ IJSArrayBuffer }
|
|
{ IJSArrayBuffer }
|
|
|
|
|
|
- IJSArrayBuffer = interface(IJSObject)
|
|
|
|
|
|
+ IJSArrayBuffer = interface(IJSBaseArrayBuffer)
|
|
['{A1612EED-4F05-46C0-90BE-ACD511B15E89}']
|
|
['{A1612EED-4F05-46C0-90BE-ACD511B15E89}']
|
|
function Slice : IJSArrayBuffer;
|
|
function Slice : IJSArrayBuffer;
|
|
function Slice (aStart : NativeInt): IJSArrayBuffer;
|
|
function Slice (aStart : NativeInt): IJSArrayBuffer;
|
|
function Slice (aStart,aEndExclusive : NativeInt): IJSArrayBuffer;
|
|
function Slice (aStart,aEndExclusive : NativeInt): IJSArrayBuffer;
|
|
- function _getByteLength: Nativeint;
|
|
|
|
function _getDetached: Boolean;
|
|
function _getDetached: Boolean;
|
|
- function _getMaxByteLength: Nativeint;
|
|
|
|
function _getResizable: Boolean;
|
|
function _getResizable: Boolean;
|
|
procedure CopyToMemory(aMemory : PByte; aMaxByteLen : Cardinal = 0);
|
|
procedure CopyToMemory(aMemory : PByte; aMaxByteLen : Cardinal = 0);
|
|
procedure CopyFromMemory(aMemory : PByte; aMaxByteLen : Cardinal);
|
|
procedure CopyFromMemory(aMemory : PByte; aMaxByteLen : Cardinal);
|
|
- property byteLength : Nativeint Read _getByteLength;
|
|
|
|
- property maxByteLength : Nativeint Read _getMaxByteLength;
|
|
|
|
property detached : Boolean Read _getDetached;
|
|
property detached : Boolean Read _getDetached;
|
|
property resizable : Boolean Read _getResizable;
|
|
property resizable : Boolean Read _getResizable;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
{ TJSArrayBuffer }
|
|
{ TJSArrayBuffer }
|
|
|
|
|
|
- TJSArrayBuffer = class(TJSObject,IJSArrayBuffer)
|
|
|
|
|
|
+ TJSArrayBuffer = class(TJSBaseArrayBuffer,IJSArrayBuffer)
|
|
Protected
|
|
Protected
|
|
- function _getByteLength: Nativeint;
|
|
|
|
function _getDetached: Boolean;
|
|
function _getDetached: Boolean;
|
|
- function _getMaxByteLength: Nativeint;
|
|
|
|
function _getResizable: Boolean;
|
|
function _getResizable: Boolean;
|
|
public
|
|
public
|
|
constructor create (aSize : integer);
|
|
constructor create (aSize : integer);
|
|
@@ -796,16 +808,65 @@ type
|
|
property maxByteLength : Nativeint Read _getMaxByteLength;
|
|
property maxByteLength : Nativeint Read _getMaxByteLength;
|
|
property detached : Boolean Read _getDetached;
|
|
property detached : Boolean Read _getDetached;
|
|
property resizable : Boolean Read _getResizable;
|
|
property resizable : Boolean Read _getResizable;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ IJSSharedArrayBuffer = interface(IJSBaseArrayBuffer) ['{667CD88A-4BB2-4C14-BDBD-39BDEA8DC7A1}']
|
|
|
|
+ function _getgrowable : Boolean;
|
|
|
|
+ function Slice : IJSSharedArrayBuffer;
|
|
|
|
+ function Slice (aStart : NativeInt): IJSSharedArrayBuffer;
|
|
|
|
+ function Slice (aStart,aEndExclusive : NativeInt): IJSSharedArrayBuffer;
|
|
|
|
+ procedure grow(aNewSize : NativeInt);
|
|
|
|
+ property growable : Boolean read _getgrowable;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ { IJSSharedArrayBufferOptions }
|
|
|
|
+
|
|
|
|
+ IJSSharedArrayBufferOptions = interface(IJSObject) ['{FB7C6786-AF40-4B98-92CA-50CF2E64E931}']
|
|
|
|
+ function _maxByteLength: NativeInt;
|
|
|
|
+ procedure _setmaxByteLength(AValue: NativeInt);
|
|
|
|
+ property maxByteLength : NativeInt read _maxByteLength Write _setmaxByteLength;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ { TJSSharedArrayBufferOptions }
|
|
|
|
+
|
|
|
|
+ TJSSharedArrayBufferOptions = Class(TJSObject,IJSSharedArrayBufferOptions)
|
|
|
|
+ Protected
|
|
|
|
+ function _maxByteLength: NativeInt;
|
|
|
|
+ procedure _setmaxByteLength(AValue: NativeInt);
|
|
|
|
+ Public
|
|
|
|
+ class function Cast(const Intf: IJSObject): IJSSharedArrayBufferOptions; overload;
|
|
|
|
+ property maxByteLength : NativeInt read _maxByteLength Write _setmaxByteLength;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ { TJSSharedArrayBuffer }
|
|
|
|
|
|
|
|
+ TJSSharedArrayBuffer = class(TJSBaseArrayBuffer,IJSSharedArrayBuffer)
|
|
|
|
+ Protected
|
|
|
|
+ function _getGrowable: Boolean;
|
|
|
|
+ public
|
|
|
|
+ constructor create (aSize : integer);
|
|
|
|
+ constructor create (aSize : integer; aOptions : IJSObject);
|
|
|
|
+ class function GlobalMemory : IJSSharedArrayBuffer;
|
|
|
|
+ class function Cast(const Intf: IJSObject): IJSSharedArrayBuffer; overload;
|
|
|
|
+ class function JSClassName: UnicodeString; override;
|
|
|
|
+ procedure CopyToMemory(aMemory : PByte; aMaxByteLen : Cardinal = 0);
|
|
|
|
+ procedure CopyFromMemory(aMemory : PByte; aMaxByteLen : Cardinal);
|
|
|
|
+ function Slice : IJSSharedArrayBuffer;
|
|
|
|
+ function Slice (aStart : NativeInt): IJSSharedArrayBuffer;
|
|
|
|
+ function Slice (aStart,aEndExclusive : NativeInt): IJSSharedArrayBuffer;
|
|
|
|
+ procedure grow(aNewSize : NativeInt);
|
|
|
|
+ property growable : Boolean read _getgrowable;
|
|
end;
|
|
end;
|
|
|
|
|
|
IJSArrayBufferView = interface (IJSObject) ['{E4585865-E907-40CE-B3E5-7E5E343EBED6}']
|
|
IJSArrayBufferView = interface (IJSObject) ['{E4585865-E907-40CE-B3E5-7E5E343EBED6}']
|
|
|
|
|
|
function _getBuffer: IJSArrayBuffer;
|
|
function _getBuffer: IJSArrayBuffer;
|
|
|
|
+ function _getSharedBuffer: IJSSharedArrayBuffer;
|
|
function _getByteLength: NativeInt;
|
|
function _getByteLength: NativeInt;
|
|
function _getByteOffset: NativeInt;
|
|
function _getByteOffset: NativeInt;
|
|
|
|
|
|
property buffer : IJSArrayBuffer Read _getBuffer;
|
|
property buffer : IJSArrayBuffer Read _getBuffer;
|
|
|
|
+ property Sharedbuffer : IJSSharedArrayBuffer Read _getSharedBuffer;
|
|
property byteLength : NativeInt Read _getByteLength;
|
|
property byteLength : NativeInt Read _getByteLength;
|
|
property byteOffset : NativeInt Read _getByteOffset;
|
|
property byteOffset : NativeInt Read _getByteOffset;
|
|
end;
|
|
end;
|
|
@@ -827,6 +888,7 @@ type
|
|
TJSTypedArray = class(TJSObject,IJSTypedArray)
|
|
TJSTypedArray = class(TJSObject,IJSTypedArray)
|
|
protected
|
|
protected
|
|
function _GetBuffer: IJSArrayBuffer;
|
|
function _GetBuffer: IJSArrayBuffer;
|
|
|
|
+ function _GetSharedBuffer: IJSSharedArrayBuffer;
|
|
function _GetLength: NativeInt;
|
|
function _GetLength: NativeInt;
|
|
function _GetByteLength: NativeInt;
|
|
function _GetByteLength: NativeInt;
|
|
function _GetByteOffset: NativeInt;
|
|
function _GetByteOffset: NativeInt;
|
|
@@ -835,15 +897,16 @@ type
|
|
constructor Create(aObject : IJSObject);
|
|
constructor Create(aObject : IJSObject);
|
|
constructor Create(aBytes : PByte; aLen : NativeUInt);
|
|
constructor Create(aBytes : PByte; aLen : NativeUInt);
|
|
constructor Create(aBytes : TBytes);
|
|
constructor Create(aBytes : TBytes);
|
|
- constructor create(aArray : IJSArrayBuffer);
|
|
|
|
- constructor create(aArray : IJSArrayBuffer; aByteOffset: NativeUint);
|
|
|
|
- constructor create(aArray : IJSArrayBuffer; aByteOffset: NativeUint; Len : NativeUint);
|
|
|
|
|
|
+ constructor create(aArray : IJSBaseArrayBuffer);
|
|
|
|
+ constructor create(aArray : IJSBaseArrayBuffer; aByteOffset: NativeUint);
|
|
|
|
+ constructor create(aArray : IJSBaseArrayBuffer; aByteOffset: NativeUint; Len : NativeUint);
|
|
class function Cast(const Intf: IJSObject): IJSTypedArray; overload;
|
|
class function Cast(const Intf: IJSObject): IJSTypedArray; overload;
|
|
procedure set_(aArray : IJSTypedArray; TargetOffset : Integer);
|
|
procedure set_(aArray : IJSTypedArray; TargetOffset : Integer);
|
|
procedure set_(aArray : IJSTypedArray);
|
|
procedure set_(aArray : IJSTypedArray);
|
|
procedure CopyToMemory(aMemory : PByte; aMaxByteLen : Cardinal = 0);
|
|
procedure CopyToMemory(aMemory : PByte; aMaxByteLen : Cardinal = 0);
|
|
procedure CopyFromMemory(aMemory : PByte; aMaxByteLen : Cardinal);
|
|
procedure CopyFromMemory(aMemory : PByte; aMaxByteLen : Cardinal);
|
|
property Buffer : IJSArrayBuffer read _GetBuffer;
|
|
property Buffer : IJSArrayBuffer read _GetBuffer;
|
|
|
|
+ property SharedBuffer : IJSSharedArrayBuffer read _GetSharedBuffer;
|
|
Property Length: NativeInt Read _GetLength;
|
|
Property Length: NativeInt Read _GetLength;
|
|
Property byteLength: NativeInt Read _GetByteLength;
|
|
Property byteLength: NativeInt Read _GetByteLength;
|
|
Property byteOffset: NativeInt Read _GetByteOffset;
|
|
Property byteOffset: NativeInt Read _GetByteOffset;
|
|
@@ -1105,12 +1168,13 @@ type
|
|
TJSDataView = class(TJSObject,IJSDataView)
|
|
TJSDataView = class(TJSObject,IJSDataView)
|
|
protected
|
|
protected
|
|
function _getBuffer: IJSArrayBuffer;
|
|
function _getBuffer: IJSArrayBuffer;
|
|
|
|
+ function _getSharedBuffer: IJSSharedArrayBuffer;
|
|
function _getByteLength: NativeInt;
|
|
function _getByteLength: NativeInt;
|
|
function _getByteOffset: NativeInt;
|
|
function _getByteOffset: NativeInt;
|
|
public
|
|
public
|
|
- constructor create(aBuffer : IJSArrayBuffer);
|
|
|
|
- constructor create(aBuffer : IJSArrayBuffer; aOffset : longint);
|
|
|
|
- constructor create(aBuffer : IJSArrayBuffer; aOffset, aByteLength : longint);
|
|
|
|
|
|
+ constructor create(aBuffer : IJSBaseArrayBuffer);
|
|
|
|
+ constructor create(aBuffer : IJSBAseArrayBuffer; aOffset : longint);
|
|
|
|
+ constructor create(aBuffer : IJSBaseArrayBuffer; aOffset, aByteLength : longint);
|
|
class function JSClassName: UnicodeString; override;
|
|
class function JSClassName: UnicodeString; override;
|
|
class function Cast(const Intf: IJSObject): IJSDataView; overload;
|
|
class function Cast(const Intf: IJSObject): IJSDataView; overload;
|
|
function getBigInt64(aByteOffset : Longint) : Int64;
|
|
function getBigInt64(aByteOffset : Longint) : Int64;
|
|
@@ -1864,6 +1928,11 @@ begin
|
|
Result:=ReadJSPropertyObject('buffer',TJSArrayBuffer) as IJSArrayBuffer;
|
|
Result:=ReadJSPropertyObject('buffer',TJSArrayBuffer) as IJSArrayBuffer;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function TJSDataView._getSharedBuffer: IJSSharedArrayBuffer;
|
|
|
|
+begin
|
|
|
|
+ Result:=ReadJSPropertyObject('buffer',TJSSharedArrayBuffer) as IJSSharedArrayBuffer;
|
|
|
|
+end;
|
|
|
|
+
|
|
function TJSDataView._getByteLength: NativeInt;
|
|
function TJSDataView._getByteLength: NativeInt;
|
|
begin
|
|
begin
|
|
Result:=ReadJSPropertyLongInt('byteLength');
|
|
Result:=ReadJSPropertyLongInt('byteLength');
|
|
@@ -1874,17 +1943,17 @@ begin
|
|
Result:=ReadJSPropertyLongInt('byteOffset');
|
|
Result:=ReadJSPropertyLongInt('byteOffset');
|
|
end;
|
|
end;
|
|
|
|
|
|
-constructor TJSDataView.create(aBuffer: IJSArrayBuffer);
|
|
|
|
|
|
+constructor TJSDataView.create(aBuffer: IJSBaseArrayBuffer);
|
|
begin
|
|
begin
|
|
JOBCreate([aBuffer]);
|
|
JOBCreate([aBuffer]);
|
|
end;
|
|
end;
|
|
|
|
|
|
-constructor TJSDataView.create(aBuffer: IJSArrayBuffer; aOffset: longint);
|
|
|
|
|
|
+constructor TJSDataView.create(aBuffer: IJSBaseArrayBuffer; aOffset: longint);
|
|
begin
|
|
begin
|
|
JOBCreate([aBuffer,aOffset]);
|
|
JOBCreate([aBuffer,aOffset]);
|
|
end;
|
|
end;
|
|
|
|
|
|
-constructor TJSDataView.create(aBuffer: IJSArrayBuffer; aOffset, aByteLength: longint);
|
|
|
|
|
|
+constructor TJSDataView.create(aBuffer: IJSBaseArrayBuffer; aOffset, aByteLength: longint);
|
|
begin
|
|
begin
|
|
JOBCreate([aBuffer,aOffset,aByteLength]);
|
|
JOBCreate([aBuffer,aOffset,aByteLength]);
|
|
end;
|
|
end;
|
|
@@ -2279,6 +2348,11 @@ begin
|
|
Result:=ReadJSPropertyObject('buffer',TJSArrayBuffer) as IJSArrayBuffer;
|
|
Result:=ReadJSPropertyObject('buffer',TJSArrayBuffer) as IJSArrayBuffer;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function TJSTypedArray._GetSharedBuffer: IJSSharedArrayBuffer;
|
|
|
|
+begin
|
|
|
|
+ Result:=ReadJSPropertyObject('buffer',TJSSharedArrayBuffer) as IJSSharedArrayBuffer;
|
|
|
|
+end;
|
|
|
|
+
|
|
function TJSTypedArray._GetLength: NativeInt;
|
|
function TJSTypedArray._GetLength: NativeInt;
|
|
begin
|
|
begin
|
|
// For the time being
|
|
// For the time being
|
|
@@ -2323,17 +2397,17 @@ begin
|
|
JobCreate(True,[Data]);
|
|
JobCreate(True,[Data]);
|
|
end;
|
|
end;
|
|
|
|
|
|
-constructor TJSTypedArray.create(aArray: IJSArrayBuffer);
|
|
|
|
|
|
+constructor TJSTypedArray.create(aArray: IJSBAseArrayBuffer);
|
|
begin
|
|
begin
|
|
JobCreate(True,[aArray]);
|
|
JobCreate(True,[aArray]);
|
|
end;
|
|
end;
|
|
|
|
|
|
-constructor TJSTypedArray.create(aArray: IJSArrayBuffer; aByteOffset: NativeUint);
|
|
|
|
|
|
+constructor TJSTypedArray.create(aArray: IJSBaseArrayBuffer; aByteOffset: NativeUint);
|
|
begin
|
|
begin
|
|
JobCreate(True,[aArray,aByteOffset]);
|
|
JobCreate(True,[aArray,aByteOffset]);
|
|
end;
|
|
end;
|
|
|
|
|
|
-constructor TJSTypedArray.create(aArray: IJSArrayBuffer; aByteOffset: NativeUint; Len: NativeUint);
|
|
|
|
|
|
+constructor TJSTypedArray.create(aArray: IJSBaseArrayBuffer; aByteOffset: NativeUint; Len: NativeUint);
|
|
begin
|
|
begin
|
|
JobCreate(True,[aArray,aByteOffset,Len]);
|
|
JobCreate(True,[aArray,aByteOffset,Len]);
|
|
end;
|
|
end;
|
|
@@ -2365,30 +2439,33 @@ end;
|
|
|
|
|
|
{ TJSArrayBuffer }
|
|
{ TJSArrayBuffer }
|
|
|
|
|
|
-function TJSArrayBuffer._getByteLength: Nativeint;
|
|
|
|
|
|
+function TJSBaseArrayBuffer._getByteLength: Nativeint;
|
|
begin
|
|
begin
|
|
Result:=ReadJSPropertyInt64('byteLength');
|
|
Result:=ReadJSPropertyInt64('byteLength');
|
|
-
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TJSArrayBuffer._getDetached: Boolean;
|
|
|
|
|
|
+
|
|
|
|
+function TJSBaseArrayBuffer._getMaxByteLength: Nativeint;
|
|
begin
|
|
begin
|
|
- Result:=ReadJSPropertyBoolean('detached');
|
|
|
|
|
|
+ Result:=ReadJSPropertyInt64('maxByteLength');
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TJSArrayBuffer._getMaxByteLength: Nativeint;
|
|
|
|
|
|
+
|
|
|
|
+{ TJSArrayBuffer }
|
|
|
|
+
|
|
|
|
+constructor TJSArrayBuffer.create(aSize: integer);
|
|
begin
|
|
begin
|
|
- Result:=ReadJSPropertyInt64('maxByteLength');
|
|
|
|
|
|
+ JobCreate(True,[aSize])
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TJSArrayBuffer._getResizable: Boolean;
|
|
|
|
|
|
+function TJSArrayBuffer._getDetached: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=ReadJSPropertyBoolean('resizable');
|
|
|
|
|
|
+ Result:=ReadJSPropertyBoolean('detached');
|
|
end;
|
|
end;
|
|
|
|
|
|
-constructor TJSArrayBuffer.create(aSize: integer);
|
|
|
|
|
|
+function TJSArrayBuffer._getResizable: Boolean;
|
|
begin
|
|
begin
|
|
- JobCreate(True,[aSize])
|
|
|
|
|
|
+ Result:=ReadJSPropertyBoolean('resizable');
|
|
end;
|
|
end;
|
|
|
|
|
|
class function TJSArrayBuffer.GlobalMemory: IJSArrayBuffer;
|
|
class function TJSArrayBuffer.GlobalMemory: IJSArrayBuffer;
|
|
@@ -2437,6 +2514,92 @@ begin
|
|
__job_set_array_from_mem(GetJSObjectID,aMemory,aMaxByteLen);
|
|
__job_set_array_from_mem(GetJSObjectID,aMemory,aMaxByteLen);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+{ TJSSharedArrayBufferOptions }
|
|
|
|
+
|
|
|
|
+function TJSSharedArrayBufferOptions._maxByteLength: NativeInt;
|
|
|
|
+begin
|
|
|
|
+ Result:=ReadJSPropertyLongInt('maxByteLength');
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TJSSharedArrayBufferOptions._setmaxByteLength(AValue: NativeInt);
|
|
|
|
+begin
|
|
|
|
+ WriteJSPropertyLongInt('maxByteLength',aValue);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+class function TJSSharedArrayBufferOptions.Cast(const Intf: IJSObject): IJSSharedArrayBufferOptions;
|
|
|
|
+begin
|
|
|
|
+ Result:=TJSSharedArrayBufferOptions.JOBCast(Intf);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+{ TJSSharedArrayBuffer }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+function TJSSharedArrayBuffer._getGrowable: Boolean;
|
|
|
|
+begin
|
|
|
|
+ Result:=ReadJSPropertyBoolean('growable');
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+constructor TJSSharedArrayBuffer.create(aSize: integer);
|
|
|
|
+begin
|
|
|
|
+ JobCreate(True,[aSize])
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+constructor TJSSharedArrayBuffer.create(aSize: integer; aOptions: IJSObject);
|
|
|
|
+begin
|
|
|
|
+ JobCreate(True,[aSize,aOptions])
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+class function TJSSharedArrayBuffer.GlobalMemory: IJSSharedArrayBuffer;
|
|
|
|
+
|
|
|
|
+var
|
|
|
|
+ Obj : TJSSharedArrayBuffer;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ Obj:=TJSSharedArrayBuffer.JOBCreateGlobal('InstanceBuffer');
|
|
|
|
+ Obj.FJOBObjectIDOwner:=True;
|
|
|
|
+ Result:=Obj;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+class function TJSSharedArrayBuffer.Cast(const Intf: IJSObject): IJSSharedArrayBuffer;
|
|
|
|
+begin
|
|
|
|
+ Result:=TJSSharedArrayBuffer.JOBCast(Intf);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+class function TJSSharedArrayBuffer.JSClassName: UnicodeString;
|
|
|
|
+begin
|
|
|
|
+ Result:='SharedArrayBuffer';
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TJSSharedArrayBuffer.CopyToMemory(aMemory: PByte; aMaxByteLen: Cardinal);
|
|
|
|
+begin
|
|
|
|
+ __job_set_mem_from_array(GetJSObjectID,aMemory,aMaxByteLen);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TJSSharedArrayBuffer.CopyFromMemory(aMemory: PByte; aMaxByteLen: Cardinal);
|
|
|
|
+begin
|
|
|
|
+ __job_set_array_from_mem(GetJSObjectID,aMemory,aMaxByteLen);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function TJSSharedArrayBuffer.Slice: IJSSharedArrayBuffer;
|
|
|
|
+begin
|
|
|
|
+ Result:=InvokeJSObjectResult('slice',[],TJSSharedArrayBuffer) as IJSSharedArrayBuffer;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function TJSSharedArrayBuffer.Slice(aStart: NativeInt): IJSSharedArrayBuffer;
|
|
|
|
+begin
|
|
|
|
+ Result:=InvokeJSObjectResult('slice',[aStart],TJSSharedArrayBuffer) as IJSSharedArrayBuffer;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function TJSSharedArrayBuffer.Slice(aStart, aEndExclusive: NativeInt): IJSSharedArrayBuffer;
|
|
|
|
+begin
|
|
|
|
+ Result:=InvokeJSObjectResult('slice',[aStart,aEndExclusive],TJSSharedArrayBuffer) as IJSSharedArrayBuffer;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TJSSharedArrayBuffer.grow(aNewSize: NativeInt);
|
|
|
|
+begin
|
|
|
|
+ InvokeJSNoResult('grow',[aNewSize]);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
|
|
{ TJSArray }
|
|
{ TJSArray }
|
|
|
|
|