sorbet-runtime 0.5.5420 → 0.5.5427

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