<div dir="ltr"><div>Well done Michael,</div><div><br></div><div>This is an important milestone,</div><div>demonstrating the well-designed architecture of FreePascal to support Wasi,</div><div><br></div><div>I was wondering if you are thinking of any limitation using Wasi backend as WebStorage similar to 
your BrowserApp 
but when targeting Pas2JS Service Worker App ?</div><div><br></div><div>Kind Regards, Jyv.<br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 21, 2024 at 2:42 PM Michael Van Canneyt via Pas2js <<a href="mailto:pas2js@lists.freepascal.org">pas2js@lists.freepascal.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Hello,<br>
<br>
I've added an import unit for the ZenFS filesystem emulation in PasJS<br>
(packages/zenfs). There is a demo for it in demo (demo/zenfs).<br>
<br>
More importantly, for those interested in WebAssembly, it is used to<br>
implement a storage backend for WASI file support needed by a <br>
WebAssembly module. This was hitherto unimplemented.<br>
<br>
So now, if you use pas2js to load a webassembly, you can furnish your<br>
webassembly with a virtual filesystem in the browser. <br>
There is a demo for this as well (demo/wasienv/filesystem/)<br>
<br>
You can see it at work here:<br>
<br>
<a href="https://www.freepascal.org/~michael/pas2js-demos/wasienv/filesystem/" rel="noreferrer" target="_blank">https://www.freepascal.org/~michael/pas2js-demos/wasienv/filesystem/</a><br>
<br>
and here:<br>
<br>
<a href="https://www.freepascal.org/~michael/fresnel/basic/" rel="noreferrer" target="_blank">https://www.freepascal.org/~michael/fresnel/basic/</a><br>
<br>
(The webassembly code displays an image. It loads the image from a PNG file...)<br>
<br>
I plan to use the same backend to make the file routines in the units SysUtils, Classes and<br>
IOUtils for pas2js functional.<br>
<br>
Enjoy,<br>
<br>
Michael.<br>
_______________________________________________<br>
Pas2js maillist  -  <a href="mailto:Pas2js@lists.freepascal.org" target="_blank">Pas2js@lists.freepascal.org</a><br>
<a href="https://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js" rel="noreferrer" target="_blank">https://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js</a><br>
</blockquote></div>