* Memory property for exports

This commit is contained in:
Michaël Van Canneyt 2021-12-24 13:40:44 +01:00
parent 2a840f9e58
commit 4b07d2f9bb

View File

@ -9,13 +9,32 @@ uses
js, Web; js, Web;
Type Type
{ TJSWebAssemblyMemory }
TJSWebAssemblyMemoryDescriptor = record
initial,
maximum : integer;
end;
TJSWebAssemblyMemory = class external name 'WebAssembly.Memory' (TJSObject)
private
FBuffer: TJSArrayBuffer; external name 'buffer';
FLength: NativeInt; external name 'length';
Public
constructor new (memorydescriptor : TJSWebAssemblyMemoryDescriptor);
constructor new (memorydescriptor : TJSObject);
Property buffer : TJSArrayBuffer Read FBuffer;
Property length: NativeInt Read FLength;
end;
{ TJSModulesArray } { TJSModulesArray }
TJSModulesExports = Class external name 'anon' (TJSObject) TJSModulesExports = Class external name 'anon' (TJSObject)
private private
FMemory : TJSWebAssemblyMemory; external name 'memory';
function GetFun(aName : String): TJSFunction; external name '[]'; function GetFun(aName : String): TJSFunction; external name '[]';
public public
Property Memory : TJSWebAssemblyMemory Read FMemory;
Property functions [aName : String] : TJSFunction read GetFun; default; Property functions [aName : String] : TJSFunction read GetFun; default;
end; end;
@ -81,23 +100,7 @@ Type
constructor new (tabledescriptor : TJSObject); constructor new (tabledescriptor : TJSObject);
Property length: NativeInt Read FLength; Property length: NativeInt Read FLength;
end; end;
{ TJSWebAssemblyMemory }
TJSWebAssemblyMemoryDescriptor = record
initial,
maximum : integer;
end;
TJSWebAssemblyMemory = class external name 'WebAssembly.Memory' (TJSObject)
private
FBuffer: TJSArrayBuffer; external name 'buffer';
FLength: NativeInt; external name 'length';
Public
constructor new (memorydescriptor : TJSWebAssemblyMemoryDescriptor);
constructor new (memorydescriptor : TJSObject);
Property buffer : TJSArrayBuffer Read FBuffer;
Property length: NativeInt Read FLength;
end;
implementation implementation