dry-monads-sorbet 1.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3c5965a0f167ece1beaf05b22c473323d653e4b6c34600b01890127264186368
4
+ data.tar.gz: 290798ca858d2101ead489df61ba3321eebad985145ac19f04aa78bd810ef9ff
5
+ SHA512:
6
+ metadata.gz: 45cf68ceaed400c7b1baed20b7085cfc664ea4a1e554a9078a55b5d7252ca391a8011155482fa6165ca5530c92d402b55a38e30489016a79ea26277d5514bdb3
7
+ data.tar.gz: b56702acd5840bf58fbfcff813ce4bf954d7967b9882f614af9261a8e6367baed03ea445bea5adc40e467ec5ea81924b3dee32761c464fbf990a9d83ce0508d2
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: Continuous Integration
3
+ on:
4
+ push:
5
+ branches-ignore:
6
+ - refs/tags/*_staging
7
+ - refs/tags/*_production
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-18.04
11
+ steps:
12
+ - name: Checkout branch
13
+ uses: actions/checkout@v2
14
+ - name: Extract branch name
15
+ shell: bash
16
+ run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
17
+ id: extract_branch
18
+ - name: Install Linux dependencies
19
+ run: sudo apt-get update -qq && sudo apt-get install -y libsqlite3-dev
20
+ - name: Set up Ruby
21
+ uses: actions/setup-ruby@v1.1.1
22
+ with:
23
+ ruby-version: 2.6.6
24
+ - name: Cache gems
25
+ uses: actions/cache@v1
26
+ with:
27
+ path: vendor/bundle
28
+ key: "${{ runner.OS }}-gem-cache-${{ hashFiles('**/dry-monads-sorbet.gemspec')
29
+ }}"
30
+ restore-keys: "${{ runner.OS }}-gem-cache-\n"
31
+ - name: Install bundler
32
+ run: (bundler -v | grep "2.1.4") || gem install bundler:2.1.4
33
+ - name: Install gems
34
+ run: bundle install --jobs $(nproc) --retry 3 --without metrics --path vendor/bundle
35
+ - name: Create cache directory
36
+ run: mkdir -p tmp/cache
37
+ - name: Run RSpec test suite
38
+ run: bundle exec rspec spec
39
+ env:
40
+ METRICS: '1'
41
+ - name: Post to Slack if build fails
42
+ if: failure() && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/stable')
43
+ uses: pullreminders/slack-action@master
44
+ env:
45
+ SLACK_BOT_TOKEN: "${{ secrets.SLACK_BOT_TOKEN }}"
46
+ with:
47
+ args: '{\"channel\":\"C33574SJJ\",\"text\":\"* ${{ github.repository }} BUILD
48
+ FAILURE*\", \"attachments\": [{ \"fallback\": \"Failure summary\", \"color\":
49
+ \"#ff0000\", \"fields\": [{\"title\": \"Branch\", \"value\":\"${{ steps.extract_branch.outputs.branch
50
+ }}\"}, {\"title\": \"Who broke it\", \"value\":\"${{ github.actor }}\"},
51
+ { \"title\": \"Build output\", \"value\": \"https://github.com/${{ github.repository
52
+ }}/commit/${{ github.sha }}/checks\", \"short\": false }]}]}'
@@ -0,0 +1,20 @@
1
+ /Gemfile.lock
2
+ /.bundle/
3
+ /.yardoc
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ /vendor/
11
+
12
+ # rspec failure tracking
13
+ .rspec_status
14
+
15
+ /shell.nix
16
+ /tags
17
+
18
+ *.log
19
+
20
+ .ruby-gemset
@@ -0,0 +1,32 @@
1
+ ---
2
+ detectors:
3
+ IrresponsibleModule:
4
+ enabled: false
5
+ TooManyStatements:
6
+ enabled: true
7
+ max_statements: 10
8
+ NilCheck:
9
+ enabled: false
10
+ directories:
11
+ app/controllers:
12
+ NestedIterators:
13
+ max_allowed_nesting: 2
14
+ UnusedPrivateMethod:
15
+ enabled: false
16
+ app/helpers:
17
+ UtilityFunction:
18
+ enabled: false
19
+ exclude_paths:
20
+ - app/assets
21
+ - bin
22
+ - client/node_modules
23
+ - config
24
+ - coverage
25
+ - data
26
+ - db
27
+ - dw
28
+ - log
29
+ - phrase
30
+ - public
31
+ - tmp
32
+ - vendor
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,66 @@
1
+ ---
2
+ Documentation:
3
+ Enabled: false
4
+ Rails:
5
+ Enabled: true
6
+ AllCops:
7
+ Include:
8
+ - app/**/*.rb
9
+ - lib/**/*.rb
10
+ - spec/**/*.rb
11
+ Exclude:
12
+ - app/assets/**/*
13
+ - bin/**/*
14
+ - client/node_modules/**/*
15
+ - config/**/*
16
+ - coverage/**/*
17
+ - data/**/*
18
+ - db/**/*
19
+ - db_*/**/*
20
+ - dw/**/*
21
+ - log/**/*
22
+ - phrase/**/*
23
+ - public/**/*
24
+ - tmp/**/*
25
+ - vendor/**/*
26
+ TargetRubyVersion: 2.5
27
+ Metrics/LineLength:
28
+ Max: 100
29
+ Layout/MultilineMethodCallIndentation:
30
+ EnforcedStyle: indented
31
+ Style/PercentLiteralDelimiters:
32
+ PreferredDelimiters:
33
+ "%w": "[]"
34
+ RSpec/ExampleLength:
35
+ Enabled: false
36
+ Max: 10
37
+ RSpec/MultipleExpectations:
38
+ Enabled: false
39
+ Max: 10
40
+ RSpec/NestedGroups:
41
+ Enabled: false
42
+ Max: 10
43
+ RSpec/MessageExpectation:
44
+ Enabled: false
45
+ RSpec/MissingExampleGroupArgument:
46
+ Enabled: false
47
+ require:
48
+ - rubocop-performance
49
+ - rubocop-rspec
50
+ - test_prof/rubocop
51
+ Metrics/BlockLength:
52
+ Enabled: false
53
+ RSpec/MessageSpies:
54
+ Enabled: false
55
+ RSpec/ExpectInHook:
56
+ Enabled: false
57
+ RSpec/AggregateFailures:
58
+ Enabled: true
59
+ Include:
60
+ - spec/**/*.rb
61
+ Rails/InverseOf:
62
+ Enabled: false
63
+ Rails/Present:
64
+ Enabled: false
65
+ Rails/TimeZone:
66
+ Enabled: false
@@ -0,0 +1 @@
1
+ 2.7.1
@@ -0,0 +1,7 @@
1
+ 1.1.0
2
+
3
+ * Now shipping the rbi bundled with the gem with a rake task to update this as/when we update the gem.
4
+
5
+ 1.0.0
6
+
7
+ * Initial release
data/Gemfile ADDED
@@ -0,0 +1,25 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rspec-sorbet.gemspec
4
+ gemspec
5
+
6
+ group :development, :test do
7
+ gem 'guard-livereload', require: false
8
+ gem 'guard-rspec'
9
+ gem 'pry-byebug'
10
+ gem 'rb-fsevent', require: false
11
+ gem 'rb-readline'
12
+ gem 'reek'
13
+ gem 'rspec'
14
+ gem 'rubocop-rspec'
15
+ gem 'rubocop'
16
+ gem 'shoulda-matchers', require: false
17
+ gem 'sqlite3'
18
+ gem 'stackprof'
19
+ gem 'timecop'
20
+ end
21
+
22
+ group :test do
23
+ gem 'ffaker'
24
+ gem 'simplecov'
25
+ end
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Samuel Giles
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,80 @@
1
+ ![dry-monads-sorbet](https://user-images.githubusercontent.com/2643026/69986703-dfc68200-1535-11ea-9035-38ecbdb67138.png)
2
+
3
+ # Dry Monads Sorbet ![CI Badge](https://github.com/tricycle/dry-monads-sorbet/workflows/RSpec%20Test%20Suite/badge.svg)
4
+
5
+ Sorbet type hints for Dry::Monads.
6
+
7
+ This gem is very small, it opens up the `Dry::Monads::Result` and `Dry::Monads::Maybe` classes to add type members
8
+ that are subsequently referred to in a bundled `.rbi` file for the `dry-monads` gem.
9
+
10
+ The bundled rbi annotations are installed/updated via a rake task included in the gem.
11
+
12
+ ## Installation
13
+
14
+ Add the gem to your Gemfile:
15
+
16
+ `gem 'dry-monads-sorbet'`
17
+
18
+ ### Copying the bundled RBI
19
+
20
+ You must copy in the bundled `.rbi` file that this gem maintains to add type annotations to your own project to type check your usage of `Dry::Monads`.
21
+
22
+ Following in the footsteps of `sorbet-rails` we've extracted this process to a rake task.
23
+
24
+ ### In a Rails project:
25
+
26
+ The rake task that copies the bundled `.rbi` files into your project should already be loaded. You can run it by entering:
27
+
28
+ ```bash
29
+ bundle exec rake dry_monads_sorbet:update_rbi
30
+ ```
31
+
32
+ ### Outside of Rails projects:
33
+
34
+ Include the `Rakefile` in your own projects `Rakefile` to get access to the rbi update command:
35
+
36
+ ```ruby
37
+ require 'dry-monads-sorbet'
38
+
39
+ spec = Gem::Specification.find_by_name 'dry-monads-sorbet'
40
+ rakefile = "#{spec.gem_dir}/lib/dry-monads-sorbet/Rakefile"
41
+ load rakefile
42
+ ```
43
+
44
+ After including the Rakefile you should then have access to the task as described in the Rails project section.
45
+
46
+ ## Usage
47
+
48
+ Usage is fairly simple, just annotate your methods as follows:
49
+
50
+ ```ruby
51
+ require 'dry/monads/sorbet'
52
+
53
+ class MyLoginService
54
+ extend T::Sig
55
+
56
+ sig{params(username: String).returns(Dry::Monads::Result[StandardError, String])}
57
+ def check_username(username)
58
+ case username
59
+ when 'samuelgiles93'
60
+ Dry::Monads::Success('Hi Sam!')
61
+ else
62
+ Dry::Monads::Failure(
63
+ StandardError.new('Unauthorised')
64
+ )
65
+ end
66
+ end
67
+
68
+ sig{params(username: String).returns(Dry::Monads::Maybe[Integer])}
69
+ def find_fullname(username)
70
+ case username
71
+ when 'samuelgiles93'
72
+ Dry::Monads::Some('Samuel Giles')
73
+ else
74
+ Dry::Monads::None()
75
+ end
76
+ end
77
+ end
78
+ ```
79
+
80
+ With the type annotations in place you'll get type errors when you attempt to say call a method that doesn't exist on the `Some` of a `Maybe` or the `Success` of a `Result`.
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'dry/monads/sorbet'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,39 @@
1
+ lib = File.expand_path('lib', __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'dry/monads/sorbet/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'dry-monads-sorbet'
8
+ spec.version = Dry::Monads::Sorbet::VERSION
9
+ spec.authors = ['Luke Worth']
10
+ spec.email = ['luke.worth@bellroy.com']
11
+
12
+ spec.summary = 'Sorbet type hints for Dry::Monads'
13
+ spec.homepage = 'https://github.com/tricycle/dry-monads-sorbet'
14
+ spec.license = 'MIT'
15
+
16
+ # Specify which files should be added to the gem when it is released.
17
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^spec/}) && !f.match(%r{^spec/support/factories/})
20
+ end
21
+ spec.bindir = 'exe'
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ['lib']
24
+ spec.post_install_message = <<~TEXT
25
+ dry-monads-sorbet has been installed/updated.
26
+
27
+ This gem ships with a bundled rbi file that must be copied into your project.
28
+ You can use the included "dry_monads_sorbet:update_rbi" to do this.
29
+ TEXT
30
+
31
+ spec.add_dependency 'sorbet'
32
+ spec.add_dependency 'sorbet-runtime'
33
+ spec.add_dependency 'dry-monads'
34
+
35
+ spec.add_development_dependency 'bundler'
36
+ spec.add_development_dependency 'pry'
37
+ spec.add_development_dependency 'rake', '>= 13.0'
38
+ spec.add_development_dependency 'rspec', '>= 3.0'
39
+ end
@@ -0,0 +1,1109 @@
1
+ # typed: strong
2
+ #
3
+ # This rbi file is bundled in the dry-monads-sorbet gem and is copied down
4
+ # into projects using the dry_monads_sorbet:update_rbi rake task.
5
+ #
6
+ # Any changes to the type annotations for Dry::Monads should be made
7
+ # in the dry-monads-sorbet gem itself in its bundled_rbi directory.
8
+
9
+ module Dry
10
+ end
11
+ module Dry::Monads
12
+ def self.Result(error, **options); end
13
+ def self.[](*monads); end
14
+ def self.all_loaded?; end
15
+ def self.constructors; end
16
+ def self.included(base); end
17
+ def self.known_monads; end
18
+ def self.load_monad(name); end
19
+ def self.register_mixin(name, mod); end
20
+ def self.registry; end
21
+ def self.registry=(registry); end
22
+ extend Dry::Monads::Maybe::Mixin::Constructors
23
+ extend Dry::Monads::Maybe::Mixin::Constructors
24
+ extend Dry::Monads::Result::Mixin::Constructors
25
+ extend Dry::Monads::Validated::Mixin::Constructors
26
+ end
27
+ module Dry::Monads::Curry
28
+ def self.call(value); end
29
+ end
30
+ class Dry::Monads::UnwrapError < StandardError
31
+ def initialize(ctx); end
32
+ end
33
+ class Dry::Monads::InvalidFailureTypeError < StandardError
34
+ def initialize(failure); end
35
+ end
36
+ class Dry::Monads::ConstructorNotAppliedError < NoMethodError
37
+ def initialize(method_name, constructor_name); end
38
+ end
39
+ module Dry::Monads::Transformer
40
+ def fmap2(*args); end
41
+ def fmap3(*args); end
42
+ end
43
+ class Dry::Monads::Maybe
44
+ extend T::Sig
45
+ extend T::Generic
46
+ extend T::Helpers
47
+
48
+ Elem = type_member
49
+
50
+ abstract!
51
+ sealed!
52
+
53
+ sig do
54
+ type_parameters(:New)
55
+ .params(blk: T.proc.params(arg0: Elem).returns(Dry::Monads::Maybe[T.type_parameter(:out, :New)]))
56
+ .returns(Dry::Monads::Maybe[T.type_parameter(:out, :New)])
57
+ end
58
+ def bind(&blk); end
59
+
60
+ sig do
61
+ type_parameters(:New)
62
+ .params(blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:out, :New)))
63
+ .returns(Dry::Monads::Maybe[T.type_parameter(:out, :New)])
64
+ end
65
+ def fmap(&blk); end
66
+
67
+ sig do
68
+ params(val: T.any(Elem, NilClass),
69
+ blk: T.nilable(T.proc.returns(Elem)))
70
+ .returns(Elem)
71
+ end
72
+ def value_or(val = nil, &blk); end
73
+
74
+ sig do
75
+ params(arg0: T.untyped)
76
+ .returns(T.self_type)
77
+ end
78
+ def or(*arg0); end
79
+
80
+ sig do
81
+ type_parameters(:Error)
82
+ .params(val: T.nilable(T.type_parameter(:Error)),
83
+ blk: T.nilable(T.proc.returns(T.type_parameter(:Error))))
84
+ .returns(Dry::Monads::Result[T.type_parameter(:out, :Error), Elem])
85
+ end
86
+ def to_result(val = nil, &blk); end
87
+
88
+ def failure?; end
89
+ def monad; end
90
+ def none?; end
91
+ def self.coerce(value); end
92
+ def self.lift(*args, &block); end
93
+ def self.pure(value = nil, &block); end
94
+ def self.to_proc; end
95
+ def some?; end
96
+ def success?; end
97
+ def to_maybe; end
98
+ def to_monad; end
99
+ include Dry::Monads::Transformer
100
+ end
101
+ class Dry::Monads::Maybe::Some < Dry::Monads::Maybe
102
+ extend T::Sig
103
+ extend T::Generic
104
+ Elem = type_member
105
+
106
+ sig {params(value: Elem).void}
107
+ def initialize(value = nil); end
108
+
109
+ sig do
110
+ returns(Elem)
111
+ end
112
+ def value!; end
113
+
114
+ def inspect; end
115
+ def maybe(*args, &block); end
116
+ def self.[](*value); end
117
+ def self.call(*arg0); end
118
+ def self.to_proc; end
119
+ def to_s; end
120
+ include Anonymous_Dry_Equalizer_33
121
+ include Dry::Equalizer::Methods
122
+ end
123
+ module Anonymous_Dry_Equalizer_33
124
+ def cmp?(comparator, other); end
125
+ def hash; end
126
+ def inspect; end
127
+ end
128
+ class Dry::Monads::Maybe::None < Dry::Monads::Maybe
129
+ extend T::Sig
130
+ extend T::Generic
131
+ Elem = type_member
132
+
133
+ def ==(other); end
134
+ def deconstruct; end
135
+ def eql?(other); end
136
+ def hash; end
137
+ sig {params().void}
138
+ def initialize(); end
139
+ def inspect; end
140
+ def maybe(*arg0); end
141
+ def or(*args); end
142
+ def or_fmap(*args, &block); end
143
+ def self.instance; end
144
+ def self.method_missing(m, *arg1); end
145
+ def to_s; end
146
+ def trace; end
147
+ include Dry::Core::Constants
148
+ end
149
+ module Dry::Monads::Maybe::Mixin
150
+ include Dry::Monads::Maybe::Mixin::Constructors
151
+ end
152
+ module Dry::Monads::Maybe::Mixin::Constructors
153
+ sig {type_parameters(:T).params(value: T.nilable(T.type_parameter(:T))).returns(Dry::Monads::Maybe[T.type_parameter(:T)])}
154
+ def Maybe(value); end
155
+ sig {type_parameters(:T).params().returns(Dry::Monads::Maybe[T.type_parameter(:out, :T)])}
156
+ def None; end
157
+ sig {type_parameters(:T).params(value: T.type_parameter(:T)).returns(Dry::Monads::Maybe[T.type_parameter(:T)])}
158
+ def Some(value = nil); end
159
+ end
160
+ module Dry::Monads::Maybe::Hash
161
+ def self.all(hash, trace = nil); end
162
+ def self.filter(hash); end
163
+ end
164
+ class Dry::Monads::Result
165
+ extend T::Sig
166
+ extend T::Generic
167
+ extend T::Helpers
168
+
169
+ FailureType = type_member
170
+ SuccessType = type_member
171
+
172
+ abstract!
173
+ sealed!
174
+
175
+ sig do
176
+ type_parameters(:NewSuccessType)
177
+ .params(blk: T.proc.params(arg0: SuccessType).returns(Dry::Monads::Result[FailureType, T.type_parameter(:out, :NewSuccessType)]))
178
+ .returns(Dry::Monads::Result[FailureType, T.type_parameter(:out, :NewSuccessType)])
179
+ end
180
+ def bind(&blk); end
181
+
182
+ sig do
183
+ type_parameters(:New)
184
+ .params(blk: T.proc.params(arg0: SuccessType).returns(T.type_parameter(:out, :New)))
185
+ .returns(Dry::Monads::Result[FailureType, T.type_parameter(:out, :New)])
186
+ end
187
+ def fmap(&blk); end
188
+
189
+ sig do
190
+ type_parameters(:Val)
191
+ .params(val: T.nilable(T.type_parameter(:Val)), blk: T.nilable(T.proc.params(arg0: FailureType).returns(T.type_parameter(:Val))))
192
+ .returns(T.any(SuccessType, T.type_parameter(:Val)))
193
+ end
194
+ def value_or(val = nil, &blk); end
195
+
196
+ sig do
197
+ returns(SuccessType)
198
+ end
199
+ def value!; end
200
+ def to_maybe; end
201
+ def either(f, _); end
202
+
203
+ sig {returns(T::Boolean)}
204
+ def success?; end
205
+
206
+ sig {returns(T::Boolean)}
207
+ def failure?; end
208
+
209
+ sig {returns(FailureType)}
210
+ def failure; end
211
+
212
+ sig do
213
+ type_parameters(:NewFailureType)
214
+ .params(blk: T.proc.params(arg0: FailureType).returns(Dry::Monads::Result[T.type_parameter(:out, :NewFailureType), SuccessType]))
215
+ .returns(Dry::Monads::Result[T.type_parameter(:out, :NewFailureType), SuccessType])
216
+ end
217
+ def or(&blk); end
218
+
219
+ def monad; end
220
+ def self.pure(value = nil, &block); end
221
+ def success; end
222
+ def to_monad; end
223
+ def to_result; end
224
+ include Anonymous_Module_34
225
+ include Dry::Monads::Transformer
226
+ end
227
+ class Dry::Monads::Result::Success < Dry::Monads::Result
228
+ extend T::Sig
229
+ extend T::Generic
230
+ FailureType = type_member
231
+ SuccessType = type_member
232
+
233
+ def flip; end
234
+ def initialize(value); end
235
+ def inspect; end
236
+ def result(_, f); end
237
+ def self.[](*value); end
238
+ def self.call(*arg0); end
239
+ def self.to_proc; end
240
+ def success; end
241
+ def to_s; end
242
+ def to_validated; end
243
+ include Anonymous_Dry_Equalizer_35
244
+ include Dry::Equalizer::Methods
245
+ end
246
+ class Dry::Monads::Result::Failure < Dry::Monads::Result
247
+ extend T::Sig
248
+ extend T::Generic
249
+ FailureType = type_member
250
+ SuccessType = type_member
251
+
252
+ def ===(other); end
253
+ def failure; end
254
+ def flip; end
255
+ def initialize(value, trace = nil); end
256
+ def inspect; end
257
+ def or_fmap(*args, &block); end
258
+ def result(f, _); end
259
+ def self.[](*value); end
260
+ def self.call(*arg0); end
261
+ def self.to_proc; end
262
+ def to_s; end
263
+ def to_validated; end
264
+ def trace; end
265
+ def value_or(val = nil); end
266
+ include Anonymous_Dry_Equalizer_36
267
+ include Dry::Equalizer::Methods
268
+ end
269
+ class Dry::Monads::Task
270
+ def ==(other); end
271
+ def apply(val = nil); end
272
+ def bind(&block); end
273
+ def compare_promises(x, y); end
274
+ def complete?; end
275
+ def curry(value); end
276
+ def discard; end
277
+ def fmap(&block); end
278
+ def initialize(promise); end
279
+ def inspect; end
280
+ def monad; end
281
+ def or(&block); end
282
+ def or_fmap(&block); end
283
+ def promise; end
284
+ def self.[](executor, &block); end
285
+ def self.failed(exc); end
286
+ def self.new(promise = nil, &block); end
287
+ def self.pure(value = nil, &block); end
288
+ def then(&block); end
289
+ def to_maybe; end
290
+ def to_monad; end
291
+ def to_result; end
292
+ def to_s; end
293
+ def value!; end
294
+ def value_or(&block); end
295
+ def wait(timeout = nil); end
296
+ include Anonymous_Module_37
297
+ end
298
+ class Dry::Monads::Try
299
+ def error?; end
300
+ def exception; end
301
+ def failure?; end
302
+ def self.[](*exceptions, &block); end
303
+ def self.lift(*args, &block); end
304
+ def self.pure(value = nil, exceptions = nil, &block); end
305
+ def self.run(exceptions, f); end
306
+ def success?; end
307
+ def to_monad; end
308
+ def value?; end
309
+ include Anonymous_Module_38
310
+ end
311
+ class Dry::Monads::Try::Value < Dry::Monads::Try
312
+ extend T::Generic
313
+ FailureType = type_member
314
+ SuccessType = type_member
315
+
316
+ def bind(*args); end
317
+ def bind_call(*args, **kwargs); end
318
+ def catchable; end
319
+ def fmap(*args, &block); end
320
+ def initialize(exceptions, value); end
321
+ def inspect; end
322
+ def self.call(*arg0); end
323
+ def self.to_proc; end
324
+ def to_maybe; end
325
+ def to_result; end
326
+ def to_s; end
327
+ include Anonymous_Dry_Equalizer_39
328
+ include Dry::Equalizer::Methods
329
+ end
330
+ class Dry::Monads::Try::Error < Dry::Monads::Try
331
+ extend T::Generic
332
+ FailureType = type_member
333
+ SuccessType = type_member
334
+
335
+ def ===(other); end
336
+ def initialize(exception); end
337
+ def inspect; end
338
+ def or(*args); end
339
+ def self.call(*arg0); end
340
+ def to_maybe; end
341
+ def to_result; end
342
+ def to_s; end
343
+ include Anonymous_Dry_Equalizer_40
344
+ include Dry::Equalizer::Methods
345
+ end
346
+ class Dry::Monads::Validated
347
+ def bind(*arg0); end
348
+ def self.pure(value = nil, &block); end
349
+ def to_monad; end
350
+ include Anonymous_Module_41
351
+ end
352
+ class Dry::Monads::Validated::Valid < Dry::Monads::Validated
353
+ def ===(other); end
354
+ def alt_map(_ = nil); end
355
+ def apply(val = nil); end
356
+ def fmap(proc = nil, &block); end
357
+ def initialize(value); end
358
+ def inspect; end
359
+ def or(_ = nil); end
360
+ def to_maybe; end
361
+ def to_result; end
362
+ def to_s; end
363
+ def value!; end
364
+ include Anonymous_Dry_Equalizer_42
365
+ include Dry::Equalizer::Methods
366
+ end
367
+ class Dry::Monads::Validated::Invalid < Dry::Monads::Validated
368
+ def ===(other); end
369
+ def alt_map(proc = nil, &block); end
370
+ def apply(val = nil); end
371
+ def error; end
372
+ def fmap(_ = nil); end
373
+ def initialize(error, trace = nil); end
374
+ def inspect; end
375
+ def or(proc = nil, &block); end
376
+ def to_maybe; end
377
+ def to_result; end
378
+ def to_s; end
379
+ def trace; end
380
+ include Anonymous_Dry_Equalizer_43
381
+ include Dry::Equalizer::Methods
382
+ end
383
+ module Dry::Monads::ConversionStubs
384
+ def self.[](*method_names); end
385
+ end
386
+ module Dry::Monads::ConversionStubs::Methods
387
+ def self.to_maybe; end
388
+ def self.to_result; end
389
+ def self.to_validated; end
390
+ def to_maybe; end
391
+ def to_result; end
392
+ def to_validated; end
393
+ end
394
+ class Dry::Monads::Task::Promise < Concurrent::Promise
395
+ def on_fulfill(result); end
396
+ def on_reject(reason); end
397
+ end
398
+ module Anonymous_Module_37
399
+ def to_maybe(*arg0); end
400
+ def to_result(*arg0); end
401
+ end
402
+ module Dry::Monads::Task::Mixin
403
+ def self.[](executor); end
404
+ include Dry::Monads::Task::Mixin::Constructors
405
+ end
406
+ module Dry::Monads::Task::Mixin::Constructors
407
+ def Task(&block); end
408
+ end
409
+ module Anonymous_Module_34
410
+ def to_maybe(*arg0); end
411
+ def to_validated(*arg0); end
412
+ end
413
+ module Anonymous_Dry_Equalizer_35
414
+ def cmp?(comparator, other); end
415
+ def hash; end
416
+ def inspect; end
417
+ end
418
+ module Anonymous_Dry_Equalizer_36
419
+ def cmp?(comparator, other); end
420
+ def hash; end
421
+ def inspect; end
422
+ end
423
+ module Dry::Monads::Result::Mixin
424
+ include Dry::Monads::Result::Mixin::Constructors
425
+ end
426
+ module Dry::Monads::Result::Mixin::Constructors
427
+ sig do
428
+ type_parameters(:FailureType, :SuccessType)
429
+ .params(value: T.nilable(T.type_parameter(:FailureType)),
430
+ block: T.nilable(T.untyped))
431
+ .returns(Dry::Monads::Result[T.type_parameter(:FailureType),
432
+ T.type_parameter(:out, :SuccessType)])
433
+ end
434
+ def Failure(value = nil, &block); end
435
+
436
+ sig do
437
+ type_parameters(:FailureType, :SuccessType)
438
+ .params(value: T.nilable(T.type_parameter(:SuccessType)),
439
+ block: T.nilable(T.untyped))
440
+ .returns(Dry::Monads::Result[T.type_parameter(:out, :FailureType),
441
+ T.type_parameter(:SuccessType)])
442
+ end
443
+ def Success(value = nil, &block); end
444
+ end
445
+ module Anonymous_Module_38
446
+ def to_maybe(*arg0); end
447
+ def to_result(*arg0); end
448
+ end
449
+ module Anonymous_Dry_Equalizer_39
450
+ def cmp?(comparator, other); end
451
+ def hash; end
452
+ def inspect; end
453
+ end
454
+ module Anonymous_Dry_Equalizer_40
455
+ def cmp?(comparator, other); end
456
+ def hash; end
457
+ def inspect; end
458
+ end
459
+ module Dry::Monads::Try::Mixin
460
+ def Error(error = nil, &block); end
461
+ def Value(value = nil, exceptions = nil, &block); end
462
+ include Dry::Monads::Try::Mixin::Constructors
463
+ end
464
+ module Dry::Monads::Try::Mixin::Constructors
465
+ def Try(*exceptions, &f); end
466
+ end
467
+ module Anonymous_Module_41
468
+ def to_maybe(*arg0); end
469
+ def to_result(*arg0); end
470
+ end
471
+ module Anonymous_Dry_Equalizer_42
472
+ def cmp?(comparator, other); end
473
+ def hash; end
474
+ def inspect; end
475
+ end
476
+ module Anonymous_Dry_Equalizer_43
477
+ def cmp?(comparator, other); end
478
+ def hash; end
479
+ def inspect; end
480
+ end
481
+ module Dry::Monads::Validated::Mixin
482
+ include Dry::Monads::Validated::Mixin::Constructors
483
+ end
484
+ module Dry::Monads::Validated::Mixin::Constructors
485
+ def Invalid(value = nil, &block); end
486
+ def Valid(value = nil, &block); end
487
+ end
488
+ class Dry::Monads::List
489
+ def +(other); end
490
+ def apply(list = nil); end
491
+ def bind(*args); end
492
+ def coerce(other); end
493
+ def collect; end
494
+ def deconstruct; end
495
+ def empty?; end
496
+ def filter; end
497
+ def first; end
498
+ def fmap(*args); end
499
+ def fold_left(initial); end
500
+ def fold_right(initial); end
501
+ def foldl(initial); end
502
+ def foldr(initial); end
503
+ def head; end
504
+ def initialize(value, type = nil); end
505
+ def inspect; end
506
+ def last; end
507
+ def map(&block); end
508
+ def monad; end
509
+ def reduce(initial); end
510
+ def reverse; end
511
+ def select; end
512
+ def self.[](*values); end
513
+ def self.coerce(value, type = nil); end
514
+ def self.pure(value = nil, type = nil, &block); end
515
+ def self.unfold(state, type = nil); end
516
+ def size; end
517
+ def sort; end
518
+ def tail; end
519
+ def to_a; end
520
+ def to_ary; end
521
+ def to_monad; end
522
+ def to_s; end
523
+ def traverse(proc = nil, &block); end
524
+ def type; end
525
+ def typed(type = nil); end
526
+ def typed?; end
527
+ def value; end
528
+ extend Anonymous_Dry_Core_Deprecations_Tagged_44
529
+ extend Dry::Core::Deprecations::Interface
530
+ include Anonymous_Dry_Equalizer_45
531
+ include Dry::Equalizer::Methods
532
+ include Dry::Monads::Transformer
533
+ end
534
+ module Anonymous_Dry_Core_Deprecations_Tagged_44
535
+ end
536
+ module Anonymous_Dry_Equalizer_45
537
+ def cmp?(comparator, other); end
538
+ def hash; end
539
+ def inspect; end
540
+ end
541
+ class Dry::Monads::List::ListBuilder
542
+ def [](*args); end
543
+ def coerce(value); end
544
+ def initialize(type); end
545
+ def pure(val = nil, &block); end
546
+ def self.[](*arg0); end
547
+ def type; end
548
+ end
549
+ module Dry::Monads::List::Mixin
550
+ def List(value); end
551
+ end
552
+ module Dry::Monads::Do
553
+ def self.coerce_to_monad(monads); end
554
+ def self.for(*methods); end
555
+ def self.halt(result); end
556
+ def self.included(base); end
557
+ def self.wrap_method(target, method_name); end
558
+ extend Dry::Monads::Do::Mixin
559
+ end
560
+ module Dry::Monads::Do::Mixin
561
+ def bind(monads); end
562
+ def call; end
563
+ end
564
+ class Dry::Monads::Do::Halt < StandardError
565
+ def initialize(result); end
566
+ def result; end
567
+ end
568
+ module Dry::Monads::Do::All
569
+ def self.included(base); end
570
+ extend Dry::Monads::Do::All::InstanceMixin
571
+ end
572
+ class Dry::Monads::Do::All::MethodTracker < Module
573
+ def extend_object(target); end
574
+ def initialize(wrappers); end
575
+ def wrap_method(target, method); end
576
+ def wrappers; end
577
+ end
578
+ module Dry::Monads::Do::All::InstanceMixin
579
+ def extended(object); end
580
+ end
581
+ class Dry::Monads::Lazy < Dry::Monads::Task
582
+ def force!; end
583
+ def force; end
584
+ def inspect; end
585
+ def self.[](executor, &block); end
586
+ def self.new(promise = nil, &block); end
587
+ def to_s; end
588
+ def value!; end
589
+ end
590
+ module Dry::Monads::Lazy::Mixin
591
+ include Dry::Monads::Lazy::Mixin::Constructors
592
+ end
593
+ module Dry::Monads::Lazy::Mixin::Constructors
594
+ def Lazy(&block); end
595
+ end
596
+ class Dry::Monads::Result::Fixed < Module
597
+ def included(base); end
598
+ def initialize(error, **options); end
599
+ def self.[](error, **options); end
600
+ end
601
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
602
+ # srb rbi gems
603
+
604
+ # typed: true
605
+ #
606
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
607
+ #
608
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-monads/all/dry-monads.rbi
609
+ #
610
+ # dry-monads-1.3.5
611
+ module Dry
612
+ end
613
+ module Dry::Monads
614
+ def self.Result(error, **options); end
615
+ def self.[](*monads); end
616
+ def self.all_loaded?; end
617
+ def self.constructors; end
618
+ def self.included(base); end
619
+ def self.known_monads; end
620
+ def self.load_monad(name); end
621
+ def self.register_mixin(name, mod); end
622
+ def self.registry; end
623
+ def self.registry=(registry); end
624
+ extend Dry::Monads::Maybe::Mixin::Constructors
625
+ extend Dry::Monads::Maybe::Mixin::Constructors
626
+ extend Dry::Monads::Result::Mixin::Constructors
627
+ extend Dry::Monads::Validated::Mixin::Constructors
628
+ include Dry::Core::Constants
629
+ end
630
+ module Dry::Monads::Curry
631
+ def self.call(value); end
632
+ end
633
+ class Dry::Monads::UnwrapError < StandardError
634
+ def initialize(ctx); end
635
+ end
636
+ class Dry::Monads::InvalidFailureTypeError < StandardError
637
+ def initialize(failure); end
638
+ end
639
+ class Dry::Monads::ConstructorNotAppliedError < NoMethodError
640
+ def initialize(method_name, constructor_name); end
641
+ end
642
+ module Dry::Monads::RightBiased
643
+ end
644
+ module Dry::Monads::RightBiased::Right
645
+ def ===(other); end
646
+ def and(mb); end
647
+ def apply(val = nil); end
648
+ def bind(*args, **kwargs); end
649
+ def curry; end
650
+ def deconstruct; end
651
+ def deconstruct_keys(keys); end
652
+ def destructure(*args, **kwargs); end
653
+ def discard; end
654
+ def flatten; end
655
+ def fmap(*arg0); end
656
+ def or(*arg0); end
657
+ def or_fmap(*arg0); end
658
+ def self.included(m); end
659
+ def tee(*args, &block); end
660
+ def value!; end
661
+ def value_or(_val = nil); end
662
+ end
663
+ module Dry::Monads::RightBiased::Left
664
+ def and(_); end
665
+ def apply(*arg0); end
666
+ def bind(*arg0); end
667
+ def deconstruct; end
668
+ def deconstruct_keys(keys); end
669
+ def discard; end
670
+ def flatten; end
671
+ def fmap(*arg0); end
672
+ def or(*arg0); end
673
+ def or_fmap(*arg0); end
674
+ def self.trace_caller; end
675
+ def tee(*arg0); end
676
+ def value!; end
677
+ def value_or(val = nil); end
678
+ end
679
+ module Dry::Monads::Transformer
680
+ def fmap2(*args); end
681
+ def fmap3(*args); end
682
+ end
683
+ class Dry::Monads::Maybe
684
+ def failure?; end
685
+ def monad; end
686
+ def none?; end
687
+ def self.coerce(value); end
688
+ def self.lift(*args, &block); end
689
+ def self.pure(value = nil, &block); end
690
+ def self.to_proc; end
691
+ def some?; end
692
+ def success?; end
693
+ def to_maybe; end
694
+ def to_monad; end
695
+ include Dry::Monads::Transformer
696
+ end
697
+ class Dry::Monads::Maybe::Some < Dry::Monads::Maybe
698
+ def fmap(*args, &block); end
699
+ def initialize(value = nil); end
700
+ def inspect; end
701
+ def maybe(*args, &block); end
702
+ def self.[](*value); end
703
+ def self.call(*arg0); end
704
+ def self.to_proc; end
705
+ def to_result(_fail = nil); end
706
+ def to_s; end
707
+ include Anonymous_Dry_Equalizer_40
708
+ include Dry::Equalizer::Methods
709
+ include Dry::Monads::RightBiased::Right
710
+ end
711
+ module Anonymous_Dry_Equalizer_40
712
+ def cmp?(comparator, other); end
713
+ def hash; end
714
+ def inspect; end
715
+ end
716
+ class Dry::Monads::Maybe::None < Dry::Monads::Maybe
717
+ def ==(other); end
718
+ def deconstruct; end
719
+ def eql?(other); end
720
+ def hash; end
721
+ def initialize(trace = nil); end
722
+ def inspect; end
723
+ def maybe(*arg0); end
724
+ def or(*args); end
725
+ def or_fmap(*args, &block); end
726
+ def self.instance; end
727
+ def self.method_missing(m, *arg1); end
728
+ def to_result(fail = nil); end
729
+ def to_s; end
730
+ def trace; end
731
+ include Dry::Monads::RightBiased::Left
732
+ end
733
+ module Dry::Monads::Maybe::Mixin
734
+ include Dry::Monads::Maybe::Mixin::Constructors
735
+ end
736
+ module Dry::Monads::Maybe::Mixin::Constructors
737
+ def Maybe(value); end
738
+ def None; end
739
+ def Some(value = nil, &block); end
740
+ end
741
+ module Dry::Monads::Maybe::Hash
742
+ def self.all(hash, trace = nil); end
743
+ def self.filter(hash); end
744
+ end
745
+ class Dry::Monads::Result
746
+ def failure; end
747
+ def monad; end
748
+ def self.pure(value = nil, &block); end
749
+ def success; end
750
+ def to_monad; end
751
+ def to_result; end
752
+ include Anonymous_Module_41
753
+ include Dry::Monads::Transformer
754
+ end
755
+ class Dry::Monads::Result::Success < Dry::Monads::Result
756
+ def either(f, _); end
757
+ def failure?; end
758
+ def flip; end
759
+ def fmap(*args, &block); end
760
+ def initialize(value); end
761
+ def inspect; end
762
+ def result(_, f); end
763
+ def self.[](*value); end
764
+ def self.call(*arg0); end
765
+ def self.to_proc; end
766
+ def success; end
767
+ def success?; end
768
+ def to_maybe; end
769
+ def to_s; end
770
+ def to_validated; end
771
+ include Anonymous_Dry_Equalizer_42
772
+ include Dry::Equalizer::Methods
773
+ include Dry::Monads::RightBiased::Right
774
+ end
775
+ class Dry::Monads::Result::Failure < Dry::Monads::Result
776
+ def ===(other); end
777
+ def either(_, g); end
778
+ def failure; end
779
+ def failure?; end
780
+ def flip; end
781
+ def initialize(value, trace = nil); end
782
+ def inspect; end
783
+ def or(*args); end
784
+ def or_fmap(*args, &block); end
785
+ def result(f, _); end
786
+ def self.[](*value); end
787
+ def self.call(*arg0); end
788
+ def self.to_proc; end
789
+ def success?; end
790
+ def to_maybe; end
791
+ def to_s; end
792
+ def to_validated; end
793
+ def trace; end
794
+ def value_or(val = nil); end
795
+ include Anonymous_Dry_Equalizer_43
796
+ include Dry::Equalizer::Methods
797
+ include Dry::Monads::RightBiased::Left
798
+ end
799
+ class Dry::Monads::Task
800
+ def ==(other); end
801
+ def apply(val = nil); end
802
+ def bind(&block); end
803
+ def compare_promises(x, y); end
804
+ def complete?; end
805
+ def curry(value); end
806
+ def discard; end
807
+ def fmap(&block); end
808
+ def initialize(promise); end
809
+ def inspect; end
810
+ def monad; end
811
+ def or(&block); end
812
+ def or_fmap(&block); end
813
+ def promise; end
814
+ def self.[](executor, &block); end
815
+ def self.failed(exc); end
816
+ def self.new(promise = nil, &block); end
817
+ def self.pure(value = nil, &block); end
818
+ def then(&block); end
819
+ def to_maybe; end
820
+ def to_monad; end
821
+ def to_result; end
822
+ def to_s; end
823
+ def value!; end
824
+ def value_or(&block); end
825
+ def wait(timeout = nil); end
826
+ include Anonymous_Module_44
827
+ end
828
+ class Dry::Monads::Try
829
+ def error?; end
830
+ def exception; end
831
+ def failure?; end
832
+ def self.[](*exceptions, &block); end
833
+ def self.lift(*args, &block); end
834
+ def self.pure(value = nil, exceptions = nil, &block); end
835
+ def self.run(exceptions, f); end
836
+ def success?; end
837
+ def to_monad; end
838
+ def value?; end
839
+ include Anonymous_Module_45
840
+ end
841
+ class Dry::Monads::Try::Value < Dry::Monads::Try
842
+ def bind(*args); end
843
+ def bind_call(*args, **kwargs); end
844
+ def catchable; end
845
+ def fmap(*args, &block); end
846
+ def initialize(exceptions, value); end
847
+ def inspect; end
848
+ def self.call(*arg0); end
849
+ def self.to_proc; end
850
+ def to_maybe; end
851
+ def to_result; end
852
+ def to_s; end
853
+ include Anonymous_Dry_Equalizer_46
854
+ include Dry::Equalizer::Methods
855
+ include Dry::Monads::RightBiased::Right
856
+ end
857
+ class Dry::Monads::Try::Error < Dry::Monads::Try
858
+ def ===(other); end
859
+ def initialize(exception); end
860
+ def inspect; end
861
+ def or(*args); end
862
+ def self.call(*arg0); end
863
+ def to_maybe; end
864
+ def to_result; end
865
+ def to_s; end
866
+ include Anonymous_Dry_Equalizer_47
867
+ include Dry::Equalizer::Methods
868
+ include Dry::Monads::RightBiased::Left
869
+ end
870
+ class Dry::Monads::Validated
871
+ def bind(*arg0); end
872
+ def self.pure(value = nil, &block); end
873
+ def to_monad; end
874
+ include Anonymous_Module_48
875
+ end
876
+ class Dry::Monads::Validated::Valid < Dry::Monads::Validated
877
+ def ===(other); end
878
+ def alt_map(_ = nil); end
879
+ def apply(val = nil); end
880
+ def fmap(proc = nil, &block); end
881
+ def initialize(value); end
882
+ def inspect; end
883
+ def or(_ = nil); end
884
+ def to_maybe; end
885
+ def to_result; end
886
+ def to_s; end
887
+ def value!; end
888
+ include Anonymous_Dry_Equalizer_49
889
+ include Dry::Equalizer::Methods
890
+ end
891
+ class Dry::Monads::Validated::Invalid < Dry::Monads::Validated
892
+ def ===(other); end
893
+ def alt_map(proc = nil, &block); end
894
+ def apply(val = nil); end
895
+ def error; end
896
+ def fmap(_ = nil); end
897
+ def initialize(error, trace = nil); end
898
+ def inspect; end
899
+ def or(proc = nil, &block); end
900
+ def to_maybe; end
901
+ def to_result; end
902
+ def to_s; end
903
+ def trace; end
904
+ include Anonymous_Dry_Equalizer_50
905
+ include Dry::Equalizer::Methods
906
+ end
907
+ module Dry::Monads::ConversionStubs
908
+ def self.[](*method_names); end
909
+ end
910
+ module Dry::Monads::ConversionStubs::Methods
911
+ def self.to_maybe; end
912
+ def self.to_result; end
913
+ def self.to_validated; end
914
+ def to_maybe; end
915
+ def to_result; end
916
+ def to_validated; end
917
+ end
918
+ class Dry::Monads::Task::Promise < Concurrent::Promise
919
+ def on_fulfill(result); end
920
+ def on_reject(reason); end
921
+ end
922
+ module Anonymous_Module_44
923
+ def to_maybe(*arg0); end
924
+ def to_result(*arg0); end
925
+ end
926
+ module Dry::Monads::Task::Mixin
927
+ def self.[](executor); end
928
+ include Dry::Monads::Task::Mixin::Constructors
929
+ end
930
+ module Dry::Monads::Task::Mixin::Constructors
931
+ def Task(&block); end
932
+ end
933
+ module Anonymous_Module_41
934
+ def to_maybe(*arg0); end
935
+ def to_validated(*arg0); end
936
+ end
937
+ module Anonymous_Dry_Equalizer_42
938
+ def cmp?(comparator, other); end
939
+ def hash; end
940
+ def inspect; end
941
+ end
942
+ module Anonymous_Dry_Equalizer_43
943
+ def cmp?(comparator, other); end
944
+ def hash; end
945
+ def inspect; end
946
+ end
947
+ module Dry::Monads::Result::Mixin
948
+ include Dry::Monads::Result::Mixin::Constructors
949
+ end
950
+ module Dry::Monads::Result::Mixin::Constructors
951
+ def Failure(value = nil, &block); end
952
+ def Success(value = nil, &block); end
953
+ end
954
+ module Anonymous_Module_45
955
+ def to_maybe(*arg0); end
956
+ def to_result(*arg0); end
957
+ end
958
+ module Anonymous_Dry_Equalizer_46
959
+ def cmp?(comparator, other); end
960
+ def hash; end
961
+ def inspect; end
962
+ end
963
+ module Anonymous_Dry_Equalizer_47
964
+ def cmp?(comparator, other); end
965
+ def hash; end
966
+ def inspect; end
967
+ end
968
+ module Dry::Monads::Try::Mixin
969
+ def Error(error = nil, &block); end
970
+ def Value(value = nil, exceptions = nil, &block); end
971
+ include Dry::Monads::Try::Mixin::Constructors
972
+ end
973
+ module Dry::Monads::Try::Mixin::Constructors
974
+ def Try(*exceptions, &f); end
975
+ end
976
+ module Anonymous_Module_48
977
+ def to_maybe(*arg0); end
978
+ def to_result(*arg0); end
979
+ end
980
+ module Anonymous_Dry_Equalizer_49
981
+ def cmp?(comparator, other); end
982
+ def hash; end
983
+ def inspect; end
984
+ end
985
+ module Anonymous_Dry_Equalizer_50
986
+ def cmp?(comparator, other); end
987
+ def hash; end
988
+ def inspect; end
989
+ end
990
+ module Dry::Monads::Validated::Mixin
991
+ include Dry::Monads::Validated::Mixin::Constructors
992
+ end
993
+ module Dry::Monads::Validated::Mixin::Constructors
994
+ def Invalid(value = nil, &block); end
995
+ def Valid(value = nil, &block); end
996
+ end
997
+ class Dry::Monads::List
998
+ def +(other); end
999
+ def apply(list = nil); end
1000
+ def bind(*args); end
1001
+ def coerce(other); end
1002
+ def collect; end
1003
+ def deconstruct; end
1004
+ def empty?; end
1005
+ def filter; end
1006
+ def first; end
1007
+ def fmap(*args); end
1008
+ def fold_left(initial); end
1009
+ def fold_right(initial); end
1010
+ def foldl(initial); end
1011
+ def foldr(initial); end
1012
+ def head; end
1013
+ def initialize(value, type = nil); end
1014
+ def inspect; end
1015
+ def last; end
1016
+ def map(&block); end
1017
+ def monad; end
1018
+ def reduce(initial); end
1019
+ def reverse; end
1020
+ def select; end
1021
+ def self.[](*values); end
1022
+ def self.coerce(value, type = nil); end
1023
+ def self.pure(value = nil, type = nil, &block); end
1024
+ def self.unfold(state, type = nil); end
1025
+ def size; end
1026
+ def sort; end
1027
+ def tail; end
1028
+ def to_a; end
1029
+ def to_ary; end
1030
+ def to_monad; end
1031
+ def to_s; end
1032
+ def traverse(proc = nil, &block); end
1033
+ def type; end
1034
+ def typed(type = nil); end
1035
+ def typed?; end
1036
+ def value; end
1037
+ extend Anonymous_Dry_Core_Deprecations_Tagged_51
1038
+ extend Dry::Core::Deprecations::Interface
1039
+ include Anonymous_Dry_Equalizer_52
1040
+ include Dry::Equalizer::Methods
1041
+ include Dry::Monads::Transformer
1042
+ end
1043
+ module Anonymous_Dry_Core_Deprecations_Tagged_51
1044
+ end
1045
+ module Anonymous_Dry_Equalizer_52
1046
+ def cmp?(comparator, other); end
1047
+ def hash; end
1048
+ def inspect; end
1049
+ end
1050
+ class Dry::Monads::List::ListBuilder
1051
+ def [](*args); end
1052
+ def coerce(value); end
1053
+ def initialize(type); end
1054
+ def pure(val = nil, &block); end
1055
+ def self.[](*arg0); end
1056
+ def type; end
1057
+ end
1058
+ module Dry::Monads::List::Mixin
1059
+ def List(value); end
1060
+ end
1061
+ module Dry::Monads::Do
1062
+ def self.coerce_to_monad(monads); end
1063
+ def self.for(*methods); end
1064
+ def self.halt(result); end
1065
+ def self.included(base); end
1066
+ def self.wrap_method(target, method_name); end
1067
+ extend Dry::Monads::Do::Mixin
1068
+ end
1069
+ module Dry::Monads::Do::Mixin
1070
+ def bind(monads); end
1071
+ def call; end
1072
+ end
1073
+ class Dry::Monads::Do::Halt < StandardError
1074
+ def initialize(result); end
1075
+ def result; end
1076
+ end
1077
+ module Dry::Monads::Do::All
1078
+ def self.included(base); end
1079
+ extend Dry::Monads::Do::All::InstanceMixin
1080
+ end
1081
+ class Dry::Monads::Do::All::MethodTracker < Module
1082
+ def extend_object(target); end
1083
+ def initialize(wrappers); end
1084
+ def wrap_method(target, method); end
1085
+ def wrappers; end
1086
+ end
1087
+ module Dry::Monads::Do::All::InstanceMixin
1088
+ def extended(object); end
1089
+ end
1090
+ class Dry::Monads::Lazy < Dry::Monads::Task
1091
+ def force!; end
1092
+ def force; end
1093
+ def inspect; end
1094
+ def self.[](executor, &block); end
1095
+ def self.new(promise = nil, &block); end
1096
+ def to_s; end
1097
+ def value!; end
1098
+ end
1099
+ module Dry::Monads::Lazy::Mixin
1100
+ include Dry::Monads::Lazy::Mixin::Constructors
1101
+ end
1102
+ module Dry::Monads::Lazy::Mixin::Constructors
1103
+ def Lazy(&block); end
1104
+ end
1105
+ class Dry::Monads::Result::Fixed < Module
1106
+ def included(base); end
1107
+ def initialize(error, **_options); end
1108
+ def self.[](error, **options); end
1109
+ end