summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/experimental/importresolver.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/experimental/importresolver.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/experimental/importresolver.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/experimental/importresolver.go b/vendor/github.com/tetratelabs/wazero/experimental/importresolver.go
new file mode 100644
index 000000000..36c0e22b1
--- /dev/null
+++ b/vendor/github.com/tetratelabs/wazero/experimental/importresolver.go
@@ -0,0 +1,19 @@
+package experimental
+
+import (
+ "context"
+
+ "github.com/tetratelabs/wazero/api"
+ "github.com/tetratelabs/wazero/internal/expctxkeys"
+)
+
+// ImportResolver is an experimental func type that, if set,
+// will be used as the first step in resolving imports.
+// See issue 2294.
+// If the import name is not found, it should return nil.
+type ImportResolver func(name string) api.Module
+
+// WithImportResolver returns a new context with the given ImportResolver.
+func WithImportResolver(ctx context.Context, resolver ImportResolver) context.Context {
+ return context.WithValue(ctx, expctxkeys.ImportResolverKey{}, resolver)
+}