[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,10 @@
package expctxkeys
// EnableSnapshotterKey is a context key to indicate that snapshotting should be enabled.
// The context.Context passed to a exported function invocation should have this key set
// to a non-nil value, and host functions will be able to retrieve it using SnapshotterKey.
type EnableSnapshotterKey struct{}
// SnapshotterKey is a context key to access a Snapshotter from a host function.
// It is only present if EnableSnapshotter was set in the function invocation context.
type SnapshotterKey struct{}

View File

@ -0,0 +1,5 @@
package expctxkeys
// CloseNotifierKey is a context.Context Value key. Its associated value should be a
// Notifier.
type CloseNotifierKey struct{}

View File

@ -0,0 +1,2 @@
// Package expctxkeys provides keys for the context used to store the experimental APIs.
package expctxkeys

View File

@ -0,0 +1,7 @@
package expctxkeys
// FunctionListenerFactoryKey is a context.Context Value key.
// Its associated value should be a FunctionListenerFactory.
//
// See https://github.com/tetratelabs/wazero/issues/451
type FunctionListenerFactoryKey struct{}

View File

@ -0,0 +1,4 @@
package expctxkeys
// MemoryAllocatorKey is a context.Context key for the experimental memory allocator.
type MemoryAllocatorKey struct{}