sorbet-runtime 0.5.6403 → 0.5.6415

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: 934f2633647eadae126214ed8a4d32405e3a4b70d22dad1bc063ca80bcb4d5b7
4
- data.tar.gz: 0166aadaf73d0b47d8dd2796087e8cafd5ba0bb10597e2f1142fe7d43e5675d3
3
+ metadata.gz: a2b0af998331ace72c37ec13afd9f4d95e52236ac1e7154f7f375db6bfe37b7f
4
+ data.tar.gz: e91cde474b0cd16cba07dbab3df0ea9b362b443347344d4df7c9191128e319a9
5
5
  SHA512:
6
- metadata.gz: b4853a2df561860d716b187b399b9848a32846400ae56c0047b554acc0abd4af772bb88f3969dacec5f69fb9bc6a8eaa104622fa21b56549c3862a0d0721ac7c
7
- data.tar.gz: 42454124325c85b1739001998e11b1b3c25b663feb69f2383ed69f82f6ca71a9f1cb38fd54b7b97f407b7d1baabe0ff05ca98f768bac022a94b9012d4b916e3f
6
+ metadata.gz: 2000b036974c7bb5c5807f8d7cde86899136d5cd0dec02300c26a7f5c95f12598a9b921724dd35a7ba44f8be6801593f2d43a7713db0666d0b88225a3d2b3549
7
+ data.tar.gz: 334f74ac7bb639f04e10299289f6445bf875be7548f9a4ab1eaa05ff1b35313655686572eec3f013206e04049b9b5bf9bed33770b65714a41115f30c2e1b0bfd
@@ -73,6 +73,13 @@ module T::Configuration
73
73
  @include_value_in_type_errors = true
74
74
  end
75
75
 
76
+ # Whether VM-defined prop serialization/deserialization routines can be enabled.
77
+ #
78
+ # @return [T::Boolean]
79
+ def self.can_enable_vm_prop_serde?
80
+ T::Props::Private::DeserializerGenerator.respond_to?(:generate2)
81
+ end
82
+
76
83
  # Whether to use VM-defined prop serialization/deserialization routines.
77
84
  #
78
85
  # The default is to use runtime codegen inside sorbet-runtime itself.
@@ -86,6 +93,9 @@ module T::Configuration
86
93
  #
87
94
  # This method is likely to break things outside of Stripe's systems.
88
95
  def self.enable_vm_prop_serde
96
+ if !can_enable_vm_prop_serde?
97
+ hard_assert_handler('Ruby VM is not setup to use VM-defined prop serde')
98
+ end
89
99
  @use_vm_prop_serde = true
90
100
  end
91
101
 
@@ -41,11 +41,26 @@ module T::Types
41
41
  module Private
42
42
  module Pool
43
43
  def self.type_for_module(mod)
44
- cached = mod.instance_variable_get(:@__as_sorbet_simple_type)
44
+ cached = mod.instance_variable_get(:@__as_sorbet_type)
45
45
  return cached if cached
46
46
 
47
- type = Simple.new(mod)
48
- mod.instance_variable_set(:@__as_sorbet_simple_type, type) unless mod.frozen?
47
+ type = if mod == ::Array
48
+ T::Array[T.untyped]
49
+ elsif mod == ::Set
50
+ T::Set[T.untyped]
51
+ elsif mod == ::Hash
52
+ T::Hash[T.untyped, T.untyped]
53
+ elsif mod == ::Enumerable
54
+ T::Enumerable[T.untyped]
55
+ elsif mod == ::Enumerator
56
+ T::Enumerator[T.untyped]
57
+ elsif mod == ::Range
58
+ T::Range[T.untyped]
59
+ else
60
+ Simple.new(mod)
61
+ end
62
+
63
+ mod.instance_variable_set(:@__as_sorbet_type, type) unless mod.frozen?
49
64
  type
50
65
  end
51
66
  end
@@ -8,12 +8,12 @@ module T::Types
8
8
 
9
9
  def initialize(types)
10
10
  @types = types.flat_map do |type|
11
- type = T::Utils.resolve_alias(type)
11
+ type = T::Utils.coerce(type)
12
12
  if type.is_a?(Union)
13
13
  # Simplify nested unions (mostly so `name` returns a nicer value)
14
14
  type.types
15
15
  else
16
- T::Utils.coerce(type)
16
+ type
17
17
  end
18
18
  end.uniq
19
19
  end
data/lib/types/utils.rb CHANGED
@@ -8,18 +8,6 @@ module T::Utils
8
8
  val.aliased_type
9
9
  elsif val.is_a?(T::Types::Base)
10
10
  val
11
- elsif val == ::Array
12
- T::Array[T.untyped]
13
- elsif val == ::Set
14
- T::Set[T.untyped]
15
- elsif val == ::Hash
16
- T::Hash[T.untyped, T.untyped]
17
- elsif val == ::Enumerable
18
- T::Enumerable[T.untyped]
19
- elsif val == ::Enumerator
20
- T::Enumerator[T.untyped]
21
- elsif val == ::Range
22
- T::Range[T.untyped]
23
11
  elsif val.is_a?(Module)
24
12
  T::Types::Simple::Private::Pool.type_for_module(val)
25
13
  elsif val.is_a?(::Array)
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.6403
4
+ version: 0.5.6415
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-07 00:00:00.000000000 Z
11
+ date: 2021-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest