wasmtime 26.0.0-x86_64-linux → 28.0.0-x86_64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 505c71f3a731f937765803a564bac0794b3915c8813e9914efe4836b57a84693
4
- data.tar.gz: 9ea764f55bcc8314385db06835836b697bedc4ea197547cf94cbc96ee0ec5796
3
+ metadata.gz: cc895a4aaf7514084788aca206b7cadbdec96d5f92d83af806f8da0cdad19eb3
4
+ data.tar.gz: ed08e1cb2116b77ac6919a4a06480845830a4bb1692815d6180f25f750e7bc6d
5
5
  SHA512:
6
- metadata.gz: 94871ac5f24a7f9f4edcb64e0dcac03a1d552374320a30444a4321385974503f7be5aa753cce308d9d66ac5c91e8e0063d0b47bc7351bf90590e3bd40617c697
7
- data.tar.gz: cb2099d7a60e053026e17e84113389081062936735a808e085b2ad4812ace75ec5244146890a3262a93812975a0fa94d2546c5b0ec394a0b1e2a7793617a905e
6
+ metadata.gz: dd1b9238ea4799309c51e56b43ebacd3a53d20a5ee59b04152504ff986c3802b3adbb845148c1757435fa92dfb1d75a9726b41dc235af6e391b7140adb2d5c9d
7
+ data.tar.gz: 8da120973f61816cb545a4dd8573731555a48f6c69266cddfa214f357f235c05c8fdbadd09a809ffb4e9f621ab94353ef0c864ee5efa2ad312b0c07cab2c99fa
Binary file
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wasmtime
4
- VERSION = "26.0.0"
4
+ VERSION = "28.0.0"
5
5
  end
data/lib/wasmtime.rb CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  require_relative "wasmtime/version"
4
4
 
5
+ module Wasmtime
6
+ end
7
+
5
8
  # Tries to require the extension for the given Ruby version first
6
9
  begin
7
10
  RUBY_VERSION =~ /(\d+\.\d+)/
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: 26.0.0
4
+ version: 28.0.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - The Wasmtime Project Developers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-24 00:00:00.000000000 Z
11
+ date: 2025-01-14 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,8 @@ 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/3.4/wasmtime_rb.so
27
+ - lib/wasmtime/component.rb
26
28
  - lib/wasmtime/error.rb
27
29
  - lib/wasmtime/version.rb
28
30
  homepage: https://github.com/BytecodeAlliance/wasmtime-rb
@@ -45,14 +47,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
45
47
  version: '3.1'
46
48
  - - "<"
47
49
  - !ruby/object:Gem::Version
48
- version: 3.4.dev
50
+ version: 3.5.dev
49
51
  required_rubygems_version: !ruby/object:Gem::Requirement
50
52
  requirements:
51
53
  - - ">="
52
54
  - !ruby/object:Gem::Version
53
55
  version: '0'
54
56
  requirements: []
55
- rubygems_version: 3.4.4
57
+ rubygems_version: 3.5.23
56
58
  signing_key:
57
59
  specification_version: 4
58
60
  summary: Wasmtime bindings for Ruby