sorbet-runtime 0.5.5767 → 0.5.5772
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: c4330fb542b74c403f4ffe741dbf18462ff723a62aae0f6619b0ba68f809c728
|
4
|
+
data.tar.gz: 9c01c8ffa8239295e4efc9dc5076927491d5f0c79f854aa26958f2a6e6c1de87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e20a1bba181928eeb770d972419cc1eb384c740679e7d82ee60246863b2ae19d34d4447fe83d93173cb5ff4cf8e81d2a7deb33093f5c3b9c1155e3b08267038a
|
7
|
+
data.tar.gz: eca4c25fcaa93949db7aacaca418f39d145814b6d79de2c89ebb4855209ea7ea396b830424d23644d83dbd3f1e4ee25c581c4290efac221ea4f08027ae687c90
|
@@ -260,7 +260,7 @@ module T::Props
|
|
260
260
|
# Method calls generated by SerdeTransform
|
261
261
|
private_class_method def self.whitelisted_methods_for_deserialize
|
262
262
|
@whitelisted_methods_for_deserialize ||= {
|
263
|
-
:lvar => %i{dup map transform_values transform_keys each_with_object nil? []=},
|
263
|
+
:lvar => %i{dup map transform_values transform_keys each_with_object nil? []= to_f},
|
264
264
|
:const => %i{deserialize from_hash deep_clone_object soft_assert_handler},
|
265
265
|
}
|
266
266
|
end
|
@@ -19,7 +19,7 @@ module T::Props
|
|
19
19
|
end
|
20
20
|
|
21
21
|
NO_TRANSFORM_TYPES = T.let(
|
22
|
-
[TrueClass, FalseClass, NilClass, Symbol, String
|
22
|
+
[TrueClass, FalseClass, NilClass, Symbol, String].freeze,
|
23
23
|
T::Array[Module],
|
24
24
|
)
|
25
25
|
private_constant :NO_TRANSFORM_TYPES
|
@@ -65,6 +65,14 @@ module T::Props
|
|
65
65
|
raw = type.raw_type
|
66
66
|
if NO_TRANSFORM_TYPES.any? {|cls| raw <= cls}
|
67
67
|
nil
|
68
|
+
elsif raw <= Float
|
69
|
+
case mode
|
70
|
+
when Deserialize then "#{varname}.to_f"
|
71
|
+
when Serialize then nil
|
72
|
+
else T.absurd(mode)
|
73
|
+
end
|
74
|
+
elsif raw <= Numeric
|
75
|
+
nil
|
68
76
|
elsif raw < T::Props::Serializable
|
69
77
|
handle_serializable_subtype(varname, raw, mode)
|
70
78
|
elsif raw.singleton_class < T::Props::CustomType
|
@@ -96,6 +104,13 @@ module T::Props
|
|
96
104
|
if type.types.all? {|t| generate(t, mode, varname).nil?}
|
97
105
|
nil
|
98
106
|
else
|
107
|
+
# We currently deep_clone_object if the type was T.any(Integer, Float).
|
108
|
+
# When we get better support for union types (maybe this specific
|
109
|
+
# union type, because it would be a replacement for
|
110
|
+
# Chalk::ODM::DeprecatedNumemric), we could opt to special case
|
111
|
+
# this union to have no specific serde transform (the only reason
|
112
|
+
# why Float has a special case is because round tripping through
|
113
|
+
# JSON might normalize Floats to Integers)
|
99
114
|
"T::Props::Utils.deep_clone_object(#{varname})"
|
100
115
|
end
|
101
116
|
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.
|
4
|
+
version: 0.5.5772
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stripe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|