sorbet-runtime 0.5.5420 → 0.5.5427

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: 2a516534f055ea25f6c09a17ad4a9b2dddd9bb52092d3a7b11dfc9cee15caaf0
4
- data.tar.gz: 9cfe46cb9aa4df2b8c87d9da885f97a76e85629432f9a569068ee8f5a985921c
3
+ metadata.gz: 5b228cc0ee00687b4018dbf5fc980049e08fe9a505e99ff2e3ea1c97afc0d5f5
4
+ data.tar.gz: 6206411eaa5aa731cf5e3e461296838c0b373c03d59f99885de170ea05c82d0a
5
5
  SHA512:
6
- metadata.gz: 5bd8c3e9d095a60d95810ae6f73acd084096c32a79025f199a6939757b38163b090eacd5b7aca62c78df816745a26d5d35f97e9b6c5c2d8dbb10d11e07966173
7
- data.tar.gz: c54efa4d0e6f9a78bf6954d67715f45e940747d9855c59457dbd32c4550728664283eb332702d5b9b6653b3fc5d8eb4f58692e9d4c02ca3b127439b43aee4954
6
+ metadata.gz: '08a0170f51a993b951f27c67ffb4559157a964ce2c239a0cb0da806a8c7ea29f35ade5405c10379ab4090063f89899e0cbc11a4169e3a04f3c5348bb4af49288'
7
+ data.tar.gz: 956dca3d6a45e665f5ad4bca9e0d4564889ece92f0a0a6ab583fb563d205d5cfb79c213cb6ac1bb5e900e49c781265b0df88e6ae4f8df43cf5374f7cd2039b22
@@ -20,7 +20,7 @@ class T::Props::Decorator
20
20
  EMPTY_PROPS = T.let({}.freeze, T::Hash[Symbol, Rules])
21
21
  private_constant :EMPTY_PROPS
22
22
 
23
- sig {params(klass: T.untyped).void}
23
+ sig {params(klass: T.untyped).void.checked(:never)}
24
24
  def initialize(klass)
25
25
  @class = T.let(klass, T.all(Module, T::Props::ClassMethods))
26
26
  @class.plugins.each do |mod|
@@ -27,6 +27,9 @@ module T::Props
27
27
  #
28
28
  # This is intended to be called after startup but before interacting with
29
29
  # the outside world, to limit attack surface for our `class_eval` use.
30
+ #
31
+ # Note it does _not_ prevent explicit calls to `eagerly_define_lazy_methods!`
32
+ # from working.
30
33
  sig {void}
31
34
  def self.disable_lazy_evaluation!
32
35
  @lazy_evaluation_disabled ||= true
@@ -72,11 +75,7 @@ module T::Props
72
75
 
73
76
  sig {void}
74
77
  def eagerly_define_lazy_methods!
75
- if !HasLazilySpecializedMethods.lazy_evaluation_enabled?
76
- raise SourceEvaluationDisabled.new
77
- elsif lazily_defined_methods.empty?
78
- return
79
- end
78
+ return if lazily_defined_methods.empty?
80
79
 
81
80
  source = lazily_defined_methods.values.map(&:call).map(&:to_s).join("\n\n")
82
81
 
@@ -6,11 +6,16 @@ module T::Props
6
6
  module SerdeTransform
7
7
  extend T::Sig
8
8
 
9
- class Mode < T::Enum
10
- enums do
11
- SERIALIZE = new
12
- DESERIALIZE = new
13
- end
9
+ class Serialize; end
10
+ private_constant :Serialize
11
+ class Deserialize; end
12
+ private_constant :Deserialize
13
+ ModeType = T.type_alias {T.any(Serialize, Deserialize)}
14
+ private_constant :ModeType
15
+
16
+ module Mode
17
+ SERIALIZE = T.let(Serialize.new.freeze, Serialize)
18
+ DESERIALIZE = T.let(Deserialize.new.freeze, Deserialize)
14
19
  end
15
20
 
16
21
  NO_TRANSFORM_TYPES = T.let(
@@ -22,7 +27,7 @@ module T::Props
22
27
  sig do
23
28
  params(
24
29
  type: T.any(T::Types::Base, Module),
25
- mode: Mode,
30
+ mode: ModeType,
26
31
  varname: String,
27
32
  )
28
33
  .returns(T.nilable(String))
@@ -91,12 +96,12 @@ module T::Props
91
96
  end
92
97
  end
93
98
 
94
- sig {params(varname: String, type: Module, mode: Mode).returns(String).checked(:never)}
99
+ sig {params(varname: String, type: Module, mode: ModeType).returns(String).checked(:never)}
95
100
  private_class_method def self.handle_serializable_subtype(varname, type, mode)
96
101
  case mode
97
- when Mode::SERIALIZE
102
+ when Serialize
98
103
  "#{varname}.serialize(strict)"
99
- when Mode::DESERIALIZE
104
+ when Deserialize
100
105
  type_name = T.must(module_name(type))
101
106
  "#{type_name}.from_hash(#{varname})"
102
107
  else
@@ -104,13 +109,13 @@ module T::Props
104
109
  end
105
110
  end
106
111
 
107
- sig {params(varname: String, type: Module, mode: Mode).returns(String).checked(:never)}
112
+ sig {params(varname: String, type: Module, mode: ModeType).returns(String).checked(:never)}
108
113
  private_class_method def self.handle_custom_type(varname, type, mode)
109
114
  case mode
110
- when Mode::SERIALIZE
115
+ when Serialize
111
116
  type_name = T.must(module_name(type))
112
117
  "T::Props::CustomType.checked_serialize(#{type_name}, #{varname})"
113
- when Mode::DESERIALIZE
118
+ when Deserialize
114
119
  type_name = T.must(module_name(type))
115
120
  "#{type_name}.deserialize(#{varname})"
116
121
  else
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.5420
4
+ version: 0.5.5427
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-06 00:00:00.000000000 Z
11
+ date: 2020-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest