[experiment] add alternative wasm sqlite3 implementation available via build-tag (#2863)

This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3) and accessed through [Wazero](https://wazero.io/).
This commit is contained in:
kim
2024-05-27 15:46:15 +00:00
committed by GitHub
parent cce21c11cb
commit 1e7b32490d
398 changed files with 86174 additions and 684 deletions

View File

@ -0,0 +1,27 @@
package fsapi
import experimentalsys "github.com/tetratelabs/wazero/experimental/sys"
func Adapt(f experimentalsys.File) File {
if f, ok := f.(File); ok {
return f
}
return unimplementedFile{f}
}
type unimplementedFile struct{ experimentalsys.File }
// IsNonblock implements File.IsNonblock
func (unimplementedFile) IsNonblock() bool {
return false
}
// SetNonblock implements File.SetNonblock
func (unimplementedFile) SetNonblock(bool) experimentalsys.Errno {
return experimentalsys.ENOSYS
}
// Poll implements File.Poll
func (unimplementedFile) Poll(Pflag, int32) (ready bool, errno experimentalsys.Errno) {
return false, experimentalsys.ENOSYS
}