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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b228cc0ee00687b4018dbf5fc980049e08fe9a505e99ff2e3ea1c97afc0d5f5
|
4
|
+
data.tar.gz: 6206411eaa5aa731cf5e3e461296838c0b373c03d59f99885de170ea05c82d0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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:
|
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:
|
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
|
102
|
+
when Serialize
|
98
103
|
"#{varname}.serialize(strict)"
|
99
|
-
when
|
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:
|
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
|
115
|
+
when Serialize
|
111
116
|
type_name = T.must(module_name(type))
|
112
117
|
"T::Props::CustomType.checked_serialize(#{type_name}, #{varname})"
|
113
|
-
when
|
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.
|
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-
|
11
|
+
date: 2020-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|