mangrove 0.37.3 → 0.39.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53c438d43a8ff4aae2a467f52ac6faced044aabdf88357cd8818a09d74c7ca40
4
- data.tar.gz: 1c3414ce2b4f1252e0315e6988e893038efab94dde41f0779c94f67674cfff81
3
+ metadata.gz: 32160c54f407fc70b9945fcd503835e9082718ea03b2b2d2265e852000751614
4
+ data.tar.gz: a56347a1e2284e707f9bc32c15350c71014680aa1d8244ca61677fb4a8a0f14f
5
5
  SHA512:
6
- metadata.gz: 24d15a804905537e8cd8d962a90e71c37b88f01d7bbaf7e8a68fd52feff5dc5257edd393a3372f28de5d1d96a417f9e44a79a60865785ff963127bd8c8b8ab4d
7
- data.tar.gz: 48d135571df40dd837be9bdbce8609d353ef691589fbfc97d6addcb78c22ef378842971830c91f2adfaaf9614f7d4948af9874c1ac744249895c9c33316b0845
6
+ metadata.gz: 478cf3eb662ce82b067b1ff152f2783b70dfa581e8b1c266c7a5c0779e74e92ed1af003573ba52560617cb143f427c1deaf9a64f387f8ab46f1317d7ecc9a517
7
+ data.tar.gz: c10620686e56df0f918679f727876680b435275897758179ca43a368fd41834699cebd34812fbf2b82d73b783f6c32c588035bff68ebd0486cb9d6294b8cae81
@@ -0,0 +1,22 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module Mangrove
5
+ module Result
6
+ class Collector
7
+ extend T::Sig
8
+ extend T::Generic
9
+ extend T::Helpers
10
+
11
+ OkType = type_member
12
+ ErrType = type_member
13
+
14
+ sig { params(block: T.proc.params(ctx: CollectingContext[OkType, ErrType]).returns(Result[OkType, ErrType])).returns(Result[OkType, ErrType]) }
15
+ def collecting(&block)
16
+ catch(:__mangrove_result_collecting_context_return) {
17
+ block.call(CollectingContext[OkType, ErrType].new)
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -3,6 +3,7 @@
3
3
 
4
4
  require_relative "result/control_signal"
5
5
  require_relative "result/ext"
6
+ require_relative "result/collector"
6
7
 
7
8
  module Mangrove
8
9
  # Result is a type that represents either success (`Ok`) or failure (`Err`).
@@ -43,7 +44,7 @@ module Mangrove
43
44
  sig { abstract.returns(OkType) }
44
45
  def unwrap_or_raise_inner!; end
45
46
 
46
- sig { abstract.params(ctx: Result::CollectingContext[OkType, ErrType]).returns(OkType) }
47
+ sig { abstract.params(ctx: Result::CollectingContext[T.untyped, ErrType]).returns(OkType) }
47
48
  def unwrap_in(ctx); end
48
49
 
49
50
  sig { abstract.params(message: String).returns(OkType) }
@@ -187,7 +188,7 @@ module Mangrove
187
188
  O = type_member
188
189
  E = type_member
189
190
 
190
- sig { params(result: Mangrove::Result[O, E]).returns(O) }
191
+ sig { type_parameters(:T).params(result: Mangrove::Result[T.type_parameter(:T), E]).returns(T.type_parameter(:T)) }
191
192
  def try!(result)
192
193
  case result
193
194
  when Mangrove::Result::Ok
@@ -253,7 +254,7 @@ module Mangrove
253
254
  @inner
254
255
  end
255
256
 
256
- sig { override.params(_ctx: Result::CollectingContext[OkType, ErrType]).returns(OkType) }
257
+ sig { override.params(_ctx: Result::CollectingContext[T.untyped, ErrType]).returns(OkType) }
257
258
  def unwrap_in(_ctx)
258
259
  @inner
259
260
  end
@@ -444,7 +445,7 @@ module Mangrove
444
445
  raise T.unsafe(@inner)
445
446
  end
446
447
 
447
- sig { override.params(_ctx: Result::CollectingContext[OkType, ErrType]).returns(T.noreturn) }
448
+ sig { override.params(_ctx: Result::CollectingContext[T.untyped, ErrType]).returns(T.noreturn) }
448
449
  def unwrap_in(_ctx)
449
450
  throw :__mangrove_result_collecting_context_return, self
450
451
  end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Mangrove
5
- VERSION = "0.37.3"
5
+ VERSION = "0.39.0"
6
6
  end
data/sorbet/config CHANGED
@@ -1,5 +1,4 @@
1
- --dir
2
- .
1
+ --dir=.
3
2
  --ignore=tmp/
4
3
  --ignore=vendor/
5
4
  --enable-experimental-requires-ancestor
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for dynamic methods in `ActiveSupport::Callbacks`.
5
+ # Please instead update this file by running `bin/tapioca dsl ActiveSupport::Callbacks`.
6
+
7
+
8
+ module ActiveSupport::Callbacks
9
+ include GeneratedInstanceMethods
10
+
11
+ mixes_in_class_methods GeneratedClassMethods
12
+
13
+ module GeneratedClassMethods
14
+ def __callbacks; end
15
+ def __callbacks=(value); end
16
+ end
17
+
18
+ module GeneratedInstanceMethods
19
+ def __callbacks; end
20
+ end
21
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mangrove
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.37.3
4
+ version: 0.39.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuma Murata
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-08-14 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: sorbet-runtime
@@ -45,6 +45,7 @@ files:
45
45
  - lib/mangrove/option.rb
46
46
  - lib/mangrove/option/control_signal.rb
47
47
  - lib/mangrove/result.rb
48
+ - lib/mangrove/result/collector.rb
48
49
  - lib/mangrove/result/control_signal.rb
49
50
  - lib/mangrove/result/ext.rb
50
51
  - lib/mangrove/try_from_ext.rb
@@ -58,6 +59,7 @@ files:
58
59
  - sorbet/rbi/annotations/.gitattributes
59
60
  - sorbet/rbi/annotations/rainbow.rbi
60
61
  - sorbet/rbi/dsl/.gitattributes
62
+ - sorbet/rbi/dsl/active_support/callbacks.rbi
61
63
  - sorbet/rbi/gems/.gitattributes
62
64
  - sorbet/rbi/gems/ast@2.4.2.rbi
63
65
  - sorbet/rbi/gems/benchmark@0.4.0.rbi
@@ -135,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
137
  - !ruby/object:Gem::Version
136
138
  version: '0'
137
139
  requirements: []
138
- rubygems_version: 3.6.2
140
+ rubygems_version: 3.6.9
139
141
  specification_version: 4
140
142
  summary: Toolkit for leveraging Sorbet's type system.
141
143
  test_files: []