sorbet-runtime 0.5.9154 → 0.5.9163

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8a9e880b12a9c32becd43ef060b330c6abf93182cc4769cbcfb0a4fb60528d2
4
- data.tar.gz: 70875b78bff59251d4002cf865b5674dddc7e758e59dfabefd395b4b08d8fa63
3
+ metadata.gz: 7962e7a490aee0242f5029d3997bec8330cff295b5252edfe920742a54a0d00c
4
+ data.tar.gz: 36c544c971fb04d99214f33fbc7489ad1cbe2e05e49c7dcd2d6014be1bee01a9
5
5
  SHA512:
6
- metadata.gz: e62cc0b2abcfb16de9e34c3cd29c8af4ed4c0597f4283d304c72c5d877e5663136ac1eee88d2b55837d44806c7e74155f7926f6baa650864be72ab5a0cd6314e
7
- data.tar.gz: 9996a1a6ec2b67df973c9bd07d438ccd5843165f1f6e409f6fdbff683cbee67f470c63aed9235ce059aa14a97eacab377a37e1e48224187be8d61ad69d45ecce
6
+ metadata.gz: 2089be8c21f2b61ce8d5a5c844db5aab4012dbbf55891fd83492c0903de9cfdfbdc40371ddb5e463c7018d3c31f68d298c97d7e7cf2a88e8c7b6e5712beb4a63
7
+ data.tar.gz: 05f519fded0eac2099c991a8c04b14ecb364be2a7f7020ec0825755a9265e363cf554fe5a518809722be6e7c2889caaed2e848fef286fa4dba798c670b6e06ef
data/lib/types/_types.rb CHANGED
@@ -214,7 +214,7 @@ module T
214
214
  begin
215
215
  raise TypeError.new("Passed `nil` into T.must")
216
216
  rescue TypeError => e # raise into rescue to ensure e.backtrace is populated
217
- T::Configuration.inline_type_error_handler(e)
217
+ T::Configuration.inline_type_error_handler(e, {kind: 'T.must', value: arg, type: nil})
218
218
  end
219
219
  end
220
220
 
@@ -239,7 +239,7 @@ module T
239
239
  begin
240
240
  raise TypeError.new(msg)
241
241
  rescue TypeError => e # raise into rescue to ensure e.backtrace is populated
242
- T::Configuration.inline_type_error_handler(e)
242
+ T::Configuration.inline_type_error_handler(e, {kind: 'T.absurd', value: value, type: nil})
243
243
  end
244
244
  end
245
245
 
@@ -131,9 +131,14 @@ module T::Configuration
131
131
  # Parameters passed to value.call:
132
132
  #
133
133
  # @param [TypeError] error TypeError that was raised
134
+ # @param [Hash] opts A hash containing contextual information on the error:
135
+ # @option opts [String] :kind One of:
136
+ # ['T.cast', 'T.let', 'T.bind', 'T.assert_type!', 'T.must', 'T.absurd']
137
+ # @option opts [Object, nil] :type Expected param/return value type
138
+ # @option opts [Object] :value Actual param/return value
134
139
  #
135
140
  # @example
136
- # T::Configuration.inline_type_error_handler = lambda do |error|
141
+ # T::Configuration.inline_type_error_handler = lambda do |error, opts|
137
142
  # puts error.message
138
143
  # end
139
144
  def self.inline_type_error_handler=(value)
@@ -141,15 +146,20 @@ module T::Configuration
141
146
  @inline_type_error_handler = value
142
147
  end
143
148
 
144
- private_class_method def self.inline_type_error_handler_default(error)
149
+ private_class_method def self.inline_type_error_handler_default(error, opts)
145
150
  raise error
146
151
  end
147
152
 
148
- def self.inline_type_error_handler(error)
153
+ def self.inline_type_error_handler(error, opts={})
149
154
  if @inline_type_error_handler
150
- @inline_type_error_handler.call(error)
155
+ # Backwards compatibility before `inline_type_error_handler` took a second arg
156
+ if @inline_type_error_handler.arity == 1
157
+ @inline_type_error_handler.call(error)
158
+ else
159
+ @inline_type_error_handler.call(error, opts)
160
+ end
151
161
  else
152
- inline_type_error_handler_default(error)
162
+ inline_type_error_handler_default(error, opts)
153
163
  end
154
164
  nil
155
165
  end
@@ -14,7 +14,7 @@ module T::Private
14
14
 
15
15
  raise TypeError.new("#{cast_method}: #{error}\n#{suffix}")
16
16
  rescue TypeError => e # raise into rescue to ensure e.backtrace is populated
17
- T::Configuration.inline_type_error_handler(e)
17
+ T::Configuration.inline_type_error_handler(e, {kind: cast_method, value: value, type: type})
18
18
  value
19
19
  end
20
20
  end
@@ -33,7 +33,7 @@ module T::Private
33
33
 
34
34
  raise TypeError.new("#{cast_method}: #{error}\n#{suffix}")
35
35
  rescue TypeError => e # raise into rescue to ensure e.backtrace is populated
36
- T::Configuration.inline_type_error_handler(e)
36
+ T::Configuration.inline_type_error_handler(e, {kind: cast_method, value: value, type: type})
37
37
  value
38
38
  end
39
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorbet-runtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9154
4
+ version: 0.5.9163
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-22 00:00:00.000000000 Z
11
+ date: 2021-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest