mangrove 0.7.2 → 0.8.0

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.
@@ -66,6 +66,11 @@ module Mangrove
66
66
  @inner
67
67
  end
68
68
 
69
+ sig { override.params(_block: T.proc.returns(T.untyped)).returns(InnerType) }
70
+ def expect_with!(&_block)
71
+ @inner
72
+ end
73
+
69
74
  sig { override.returns(T::Boolean) }
70
75
  def some? = true
71
76
 
@@ -123,12 +128,17 @@ module Mangrove
123
128
 
124
129
  sig { override.returns(InnerType) }
125
130
  def unwrap!
126
- raise Option::ControlSignal, Result::Err.new("called `Option#unwrap!` on an `None` value: #{self}")
131
+ raise Option::ControlSignal, "called `Option#unwrap!` on an `None` value: #{self}"
127
132
  end
128
133
 
129
134
  sig { override.params(message: String).returns(InnerType) }
130
135
  def expect!(message)
131
- raise Option::ControlSignal, Result::Err.new(message)
136
+ raise Option::ControlSignal, message
137
+ end
138
+
139
+ sig { override.params(block: T.proc.returns(T.untyped)).returns(InnerType) }
140
+ def expect_with!(&block)
141
+ raise Option::ControlSignal, block.call
132
142
  end
133
143
 
134
144
  sig { override.returns(T::Boolean) }
@@ -165,6 +175,9 @@ module Mangrove
165
175
  sig { abstract.params(message: String).returns(InnerType) }
166
176
  def expect!(message); end
167
177
 
178
+ sig { abstract.params(block: T.proc.returns(T.untyped)).returns(InnerType) }
179
+ def expect_with!(&block); end
180
+
168
181
  sig { abstract.returns(T::Boolean) }
169
182
  def some?; end
170
183
 
@@ -33,6 +33,9 @@ module Mangrove
33
33
  sig { abstract.params(message: String).returns(OkType) }
34
34
  def expect!(message); end
35
35
 
36
+ sig { abstract.params(block: T.proc.returns(T.untyped)).returns(OkType) }
37
+ def expect_with!(&block); end
38
+
36
39
  sig { abstract.params(block: T.proc.params(this: OkType).returns(Result[OkType, ErrType])).returns(Result[OkType, ErrType]) }
37
40
  def map_ok(&block); end
38
41
 
@@ -102,6 +105,11 @@ module Mangrove
102
105
  @inner
103
106
  end
104
107
 
108
+ sig { override.params(_block: T.proc.returns(T.untyped)).returns(OkType) }
109
+ def expect_with!(&_block)
110
+ @inner
111
+ end
112
+
105
113
  sig { override.returns(T::Boolean) }
106
114
  def ok? = true
107
115
 
@@ -166,6 +174,11 @@ module Mangrove
166
174
  raise Result::ControlSignal, message
167
175
  end
168
176
 
177
+ sig { override.params(block: T.proc.returns(T.untyped)).returns(OkType) }
178
+ def expect_with!(&block)
179
+ raise Result::ControlSignal, block.call
180
+ end
181
+
169
182
  sig { override.returns(T::Boolean) }
170
183
  def ok? = false
171
184
 
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Mangrove
5
- VERSION = "0.7.2"
5
+ VERSION = "0.8.0"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mangrove
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuma Murata
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-15 00:00:00.000000000 Z
11
+ date: 2023-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime