wasmtime 26.0.0-x86_64-darwin → 28.0.0-x86_64-darwin

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46d65655f38221f398df533be1b0106c1d7aeaa9637fafceb6ae9345c3a9c1a9
4
- data.tar.gz: 29bcefd4ffc1887fbce93cf960b2f50fddaca08cf9b00cb5a5a2ed53a6fedfbb
3
+ metadata.gz: 8fe201f8012d114671836ced719f67e0486f00da0448da50192134ffd95c8d0c
4
+ data.tar.gz: bd0ef8c5b714072f8df8627ee2cb0a339e6e94f5ff96d1986d025bbd3df15fb8
5
5
  SHA512:
6
- metadata.gz: 89162fcd923edd3179d8a4ec4b02d77ed833a4332a483d51fe9e36106ffd6393c7cb3b69c2d797988a7a8d5c9da67522d23ef98668493a43d71f8015c1db64dc
7
- data.tar.gz: 613b1d112f36606abda3c476ab7719c5023a6963f4b5106b5519c1926eb5d079a2ef21906e3c2443ee9f65f978e6ed274d1e580d4cf525e98b9dc07846c96833
6
+ metadata.gz: de4bab53f313213605ed1e43448929de5f2e68e8859fff68a0e65c561ddf59e5c9da5daf8c81963d55bc5fa2ddac8fb8f1cbbb3cd097c42efb651b521a27acd4
7
+ data.tar.gz: 12b88a3edc1da23799905592d1137edceb4a67919df291dc8aa8eeff588b4821f82ef1c02bc262dad60cddd522bd3684131d09f0d7169a5a569dab9698917866
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-darwin
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.bundle
24
24
  - lib/wasmtime/3.2/wasmtime_rb.bundle
25
25
  - lib/wasmtime/3.3/wasmtime_rb.bundle
26
+ - lib/wasmtime/3.4/wasmtime_rb.bundle
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