wasmtime 25.0.2-x86_64-linux-musl → 27.0.0-x86_64-linux-musl
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/wasmtime/3.1/wasmtime_rb.so +0 -0
- data/lib/wasmtime/3.2/wasmtime_rb.so +0 -0
- data/lib/wasmtime/3.3/wasmtime_rb.so +0 -0
- data/lib/wasmtime/component.rb +132 -0
- data/lib/wasmtime/version.rb +1 -1
- data/lib/wasmtime.rb +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57d7ad6d6ce574efa71cf930fb325cab2bc2aa0c8750f00f62300e536bc9ae72
|
4
|
+
data.tar.gz: 2f7f7901bbce001e3a822f5fb8f44f50ec229fb9f6f811ca81c12f25f866ea6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa7281b232c5d2c12adde7829169ab4a23164fd132b82e11f2b1f8d3e077e185c59a43b92c020eb86b3b91a29df3933719255bcb980beb6cb980f9508eb35315
|
7
|
+
data.tar.gz: ad00ff3e5134cba49320541a232185c36fa23d23d3bb025e5105b17957140caa2925889c223750620544f86821af7188bccdf15c341b4606ed2faa57426dd764
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,132 @@
|
|
1
|
+
# To prevent double loading of this file when `ruby-api` is enabled
|
2
|
+
return if defined?(Wasmtime::Component::Result)
|
3
|
+
|
4
|
+
module Wasmtime
|
5
|
+
# @note Support for Wasm components in the Ruby bindings is experimental. APIs may change in the future.
|
6
|
+
module Component
|
7
|
+
# Represents a component model's +result<O, E>+ type.
|
8
|
+
class Result
|
9
|
+
class << self
|
10
|
+
# Construct an ok result.
|
11
|
+
# @param ok [Object] the ok value
|
12
|
+
# @return [Result]
|
13
|
+
def ok(ok)
|
14
|
+
new(true, ok)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Construct an error result.
|
18
|
+
# @param error [Object] the error value
|
19
|
+
# @return [Result]
|
20
|
+
def error(error)
|
21
|
+
new(false, error)
|
22
|
+
end
|
23
|
+
|
24
|
+
private :new
|
25
|
+
end
|
26
|
+
|
27
|
+
# Returns the ok value of this Result if it is {#ok?}, otherwise raises.
|
28
|
+
# @raise [UncheckedResult] if this is an error
|
29
|
+
# @return [Object]
|
30
|
+
def ok
|
31
|
+
raise UncheckedResult, "expected ok, was error" unless ok?
|
32
|
+
|
33
|
+
@value
|
34
|
+
end
|
35
|
+
|
36
|
+
# Returns the error value of this Result if it is {#error?}, otherwise raises.
|
37
|
+
# @raise [UncheckedResult] if this is an ok
|
38
|
+
# @return [Object]
|
39
|
+
def error
|
40
|
+
raise UncheckedResult, "expected error, was ok" unless error?
|
41
|
+
|
42
|
+
@value
|
43
|
+
end
|
44
|
+
|
45
|
+
# @return [Boolean] Whether the result is ok
|
46
|
+
def ok?
|
47
|
+
@ok
|
48
|
+
end
|
49
|
+
|
50
|
+
# @return [Boolean] Whether the result is an error
|
51
|
+
def error?
|
52
|
+
!@ok
|
53
|
+
end
|
54
|
+
|
55
|
+
def ==(other)
|
56
|
+
eql?(other)
|
57
|
+
end
|
58
|
+
|
59
|
+
def eql?(other)
|
60
|
+
return false unless self.class == other.class
|
61
|
+
return false unless ok? == other.ok?
|
62
|
+
|
63
|
+
if ok?
|
64
|
+
ok == other.ok
|
65
|
+
else
|
66
|
+
error == other.error
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def hash
|
71
|
+
[self.class, @ok, @value].hash
|
72
|
+
end
|
73
|
+
|
74
|
+
def initialize(ok, value)
|
75
|
+
@ok = ok
|
76
|
+
@value = value
|
77
|
+
end
|
78
|
+
|
79
|
+
class UncheckedResult < Wasmtime::Error; end
|
80
|
+
|
81
|
+
# Hide the constructor from YARD's doc so that `.ok` or
|
82
|
+
# `.error` is used over `.new`.
|
83
|
+
private :initialize
|
84
|
+
end
|
85
|
+
|
86
|
+
# Represents a value for component model's variant case.
|
87
|
+
# A variant case has a name that uniquely identify the case within the
|
88
|
+
# variant and optionally a value.
|
89
|
+
#
|
90
|
+
# @example Constructing variants
|
91
|
+
# # Given the following variant:
|
92
|
+
# # variant filter {
|
93
|
+
# # all,
|
94
|
+
# # none,
|
95
|
+
# # lt(u32),
|
96
|
+
# # }
|
97
|
+
#
|
98
|
+
# Variant.new("all")
|
99
|
+
# Variant.new("none")
|
100
|
+
# Variant.new("lt", 100)
|
101
|
+
class Variant
|
102
|
+
# The name of the variant case
|
103
|
+
# @return [String]
|
104
|
+
attr_reader :name
|
105
|
+
|
106
|
+
# The optional payload of the variant case
|
107
|
+
# @return [Object]
|
108
|
+
attr_reader :value
|
109
|
+
|
110
|
+
# @param name [String] the name of variant case
|
111
|
+
# @param value [Object] the optional payload of the variant case
|
112
|
+
def initialize(name, value = nil)
|
113
|
+
@name = name
|
114
|
+
@value = value
|
115
|
+
end
|
116
|
+
|
117
|
+
def ==(other)
|
118
|
+
eql?(other)
|
119
|
+
end
|
120
|
+
|
121
|
+
def eql?(other)
|
122
|
+
self.class == other.class &&
|
123
|
+
name == other.name &&
|
124
|
+
value == other.value
|
125
|
+
end
|
126
|
+
|
127
|
+
def hash
|
128
|
+
[self.class, @name, @value].hash
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
data/lib/wasmtime/version.rb
CHANGED
data/lib/wasmtime.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wasmtime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 27.0.0
|
5
5
|
platform: x86_64-linux-musl
|
6
6
|
authors:
|
7
7
|
- The Wasmtime Project Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A Ruby binding for Wasmtime, a WebAssembly runtime.
|
14
14
|
email:
|
@@ -23,6 +23,7 @@ files:
|
|
23
23
|
- lib/wasmtime/3.1/wasmtime_rb.so
|
24
24
|
- lib/wasmtime/3.2/wasmtime_rb.so
|
25
25
|
- lib/wasmtime/3.3/wasmtime_rb.so
|
26
|
+
- lib/wasmtime/component.rb
|
26
27
|
- lib/wasmtime/error.rb
|
27
28
|
- lib/wasmtime/version.rb
|
28
29
|
homepage: https://github.com/BytecodeAlliance/wasmtime-rb
|