dry-monads-sorbet 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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