mangrove 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +42 -0
  3. data/LICENSE +21 -0
  4. data/README.md +54 -0
  5. data/Rakefile +14 -0
  6. data/lib/mangrove/control_flow/control_signal.rb +16 -0
  7. data/lib/mangrove/control_flow/rewriter.rb +152 -0
  8. data/lib/mangrove/control_flow.rb +84 -0
  9. data/lib/mangrove/interfaces.rb +8 -0
  10. data/lib/mangrove/mangrove.rb +35 -0
  11. data/lib/mangrove/option/control_signal.rb +33 -0
  12. data/lib/mangrove/option.rb +134 -0
  13. data/lib/mangrove/result/control_signal.rb +33 -0
  14. data/lib/mangrove/result.rb +167 -0
  15. data/lib/mangrove/version.rb +6 -0
  16. data/lib/mangrove.rb +8 -0
  17. data/sig/mangrove.rbs +4 -0
  18. data/sorbet/config +4 -0
  19. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  20. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  21. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  22. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  23. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  24. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  25. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  26. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  27. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  28. data/sorbet/rbi/gems/ordinare@0.4.0.rbi +77 -0
  29. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  30. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  31. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  32. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  33. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  34. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  35. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  36. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  37. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  38. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  39. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  40. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5310 -0
  41. data/sorbet/rbi/gems/rspec-sorbet@1.9.2.rbi +163 -0
  42. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  43. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  44. data/sorbet/rbi/gems/ruboclean@0.4.0.rbi +189 -0
  45. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +6985 -0
  46. data/sorbet/rbi/gems/rubocop@1.56.0.rbi +56491 -0
  47. data/sorbet/rbi/gems/ruby-lsp@0.8.0.rbi +11 -0
  48. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  49. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  50. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  51. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  52. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  53. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  54. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  55. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  56. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  57. data/sorbet/rbi/shims/gems/rspec-core.rbi +12 -0
  58. data/sorbet/rbi/shims/gems/rspec-expectations.rbi +8 -0
  59. data/sorbet/rbi/shims/mangrove/option.rbi +15 -0
  60. data/sorbet/rbi/shims/mangrove/result.rbi +15 -0
  61. data/sorbet/tapioca/config.yml +13 -0
  62. data/sorbet/tapioca/require.rb +4 -0
  63. metadata +161 -0
@@ -0,0 +1,12 @@
1
+ # typed: true
2
+
3
+ class RSpec::Core::ExampleGroup
4
+ class << self
5
+ sig { params(args: T.untyped, example_group_block: T.proc.bind(T.untyped).void).void }
6
+ def describe(*args, &example_group_block); end
7
+
8
+ sig { params(all_args: T.untyped, block: T.proc.bind(RSpec::Matchers).void).void }
9
+ def it(*all_args, &block); end
10
+ end
11
+ end
12
+
@@ -0,0 +1,8 @@
1
+ # typed: true
2
+
3
+ module RSpec
4
+ class << self
5
+ sig { params(args: T.untyped, example_group_block: T.proc.bind(T.class_of(RSpec::Core::ExampleGroup)).void).void }
6
+ def describe(*args, &example_group_block); end
7
+ end
8
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+
3
+ module Mangrove
4
+ module Option
5
+ class Some
6
+ # sig { params(other: Option[InnerType]).returns(T::Boolean) }
7
+ # def ==(other); end
8
+ end
9
+
10
+ class None
11
+ # sig { params(other: Option[InnerType]).returns(T::Boolean) }
12
+ # def ==(other); end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+
3
+ module Mangrove
4
+ module Result
5
+ class Ok
6
+ # sig { params(other: Result[OkType, ErrType]).returns(T::Boolean) }
7
+ # def ==(other); end
8
+ end
9
+
10
+ class Err
11
+ # sig { params(other: Result[OkType, ErrType]).returns(T::Boolean) }
12
+ # def ==(other); end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ gem:
2
+ # Add your `gem` command parameters here:
3
+ #
4
+ # exclude:
5
+ # - gem_name
6
+ # doc: true
7
+ # workers: 5
8
+ dsl:
9
+ # Add your `dsl` command parameters here:
10
+ #
11
+ # exclude:
12
+ # - SomeGeneratorName
13
+ # workers: 5
@@ -0,0 +1,4 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ # Add your extra requires here (`bin/tapioca require` can be used to bootstrap this list)
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mangrove
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Kazuma Murata
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-08-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sorbet-runtime
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: method_source
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: parser
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: unparser
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.6.8
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.6.8
69
+ description: Type Utility for Ruby.
70
+ email:
71
+ - kazzix14@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".rubocop.yml"
77
+ - LICENSE
78
+ - README.md
79
+ - Rakefile
80
+ - lib/mangrove.rb
81
+ - lib/mangrove/control_flow.rb
82
+ - lib/mangrove/control_flow/control_signal.rb
83
+ - lib/mangrove/control_flow/rewriter.rb
84
+ - lib/mangrove/interfaces.rb
85
+ - lib/mangrove/mangrove.rb
86
+ - lib/mangrove/option.rb
87
+ - lib/mangrove/option/control_signal.rb
88
+ - lib/mangrove/result.rb
89
+ - lib/mangrove/result/control_signal.rb
90
+ - lib/mangrove/version.rb
91
+ - sig/mangrove.rbs
92
+ - sorbet/config
93
+ - sorbet/rbi/annotations/rainbow.rbi
94
+ - sorbet/rbi/gems/ast@2.4.2.rbi
95
+ - sorbet/rbi/gems/base64@0.1.1.rbi
96
+ - sorbet/rbi/gems/diff-lcs@1.5.0.rbi
97
+ - sorbet/rbi/gems/erubi@1.12.0.rbi
98
+ - sorbet/rbi/gems/json@2.6.3.rbi
99
+ - sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
100
+ - sorbet/rbi/gems/method_source@1.0.0.rbi
101
+ - sorbet/rbi/gems/netrc@0.11.0.rbi
102
+ - sorbet/rbi/gems/ordinare@0.4.0.rbi
103
+ - sorbet/rbi/gems/parallel@1.23.0.rbi
104
+ - sorbet/rbi/gems/parser@3.2.2.3.rbi
105
+ - sorbet/rbi/gems/prettier_print@1.2.1.rbi
106
+ - sorbet/rbi/gems/racc@1.7.1.rbi
107
+ - sorbet/rbi/gems/rainbow@3.1.1.rbi
108
+ - sorbet/rbi/gems/rake@13.0.6.rbi
109
+ - sorbet/rbi/gems/rbi@0.0.17.rbi
110
+ - sorbet/rbi/gems/regexp_parser@2.8.1.rbi
111
+ - sorbet/rbi/gems/rexml@3.2.6.rbi
112
+ - sorbet/rbi/gems/rspec-core@3.12.2.rbi
113
+ - sorbet/rbi/gems/rspec-expectations@3.12.3.rbi
114
+ - sorbet/rbi/gems/rspec-mocks@3.12.6.rbi
115
+ - sorbet/rbi/gems/rspec-sorbet@1.9.2.rbi
116
+ - sorbet/rbi/gems/rspec-support@3.12.1.rbi
117
+ - sorbet/rbi/gems/rspec@3.12.0.rbi
118
+ - sorbet/rbi/gems/ruboclean@0.4.0.rbi
119
+ - sorbet/rbi/gems/rubocop-ast@1.29.0.rbi
120
+ - sorbet/rbi/gems/rubocop@1.56.0.rbi
121
+ - sorbet/rbi/gems/ruby-lsp@0.8.0.rbi
122
+ - sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi
123
+ - sorbet/rbi/gems/spoom@1.2.3.rbi
124
+ - sorbet/rbi/gems/syntax_tree@6.1.1.rbi
125
+ - sorbet/rbi/gems/tapioca@0.11.8.rbi
126
+ - sorbet/rbi/gems/thor@1.2.2.rbi
127
+ - sorbet/rbi/gems/unicode-display_width@2.4.2.rbi
128
+ - sorbet/rbi/gems/unparser@0.6.8.rbi
129
+ - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
130
+ - sorbet/rbi/gems/yard@0.9.34.rbi
131
+ - sorbet/rbi/shims/gems/rspec-core.rbi
132
+ - sorbet/rbi/shims/gems/rspec-expectations.rbi
133
+ - sorbet/rbi/shims/mangrove/option.rbi
134
+ - sorbet/rbi/shims/mangrove/result.rbi
135
+ - sorbet/tapioca/config.yml
136
+ - sorbet/tapioca/require.rb
137
+ homepage: https://github.com/kazzix14/mangrove
138
+ licenses: []
139
+ metadata:
140
+ homepage_uri: https://github.com/kazzix14/mangrove
141
+ source_code_uri: https://github.com/kazzix14/mangrove
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 3.2.0
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ requirements: []
157
+ rubygems_version: 3.4.18
158
+ signing_key:
159
+ specification_version: 4
160
+ summary: Type Utility for Ruby.
161
+ test_files: []