microsoft_kiota_serialization_json 0.21.0 → 0.22.0
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 99d3aaf3bb83a8c789383d853f1181377ee92db658f667fb110306995311e4c1
|
|
4
|
+
data.tar.gz: b7827075fc0b80e2d8bbc7bdb291d618aea39ed4df0a904545ec87e9cad15b6f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6ec0ac94f56351227acf2b01099cec17257e73f8302671ddf7175295a6aa0ee32efa3644aea3552a28b9640c6585135d6e4a2e769e7ae4daac08dfd0fe663d07
|
|
7
|
+
data.tar.gz: 89be60bd077fab8ece0ad40b7f94dc425ea7112a817dccee2829f399cc80b318dee46faea2f812e63d680d3b37f30d81d37debe1ed688737e16c2da6f354d477
|
|
@@ -124,16 +124,27 @@ module MicrosoftKiotaSerializationJson
|
|
|
124
124
|
end
|
|
125
125
|
end
|
|
126
126
|
|
|
127
|
-
def get_enum_values(
|
|
127
|
+
def get_enum_values(type)
|
|
128
128
|
raw_values = get_string_value
|
|
129
|
-
return [] if raw_values.nil?
|
|
129
|
+
return [] if raw_values.nil? || raw_values.empty?
|
|
130
130
|
|
|
131
|
-
raw_values.split(',').map(
|
|
131
|
+
raw_values.split(',').map { |raw| resolve_enum_member(type, raw.strip) }
|
|
132
132
|
end
|
|
133
133
|
|
|
134
134
|
def get_enum_value(type)
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
get_enum_values(type).first
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def get_collection_of_enum_values(type)
|
|
139
|
+
return get_enum_values(type) unless @current_node.is_a?(Array)
|
|
140
|
+
|
|
141
|
+
@current_node.map { |value| JsonParseNode.new(value).get_enum_value(type) }
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def resolve_enum_member(type, raw)
|
|
145
|
+
return raw.to_sym unless type.is_a?(Hash)
|
|
146
|
+
|
|
147
|
+
type[raw.to_sym] || type[(raw[0].to_s.upcase + raw[1..].to_s).to_sym]
|
|
137
148
|
end
|
|
138
149
|
|
|
139
150
|
def get_child_node(name)
|
|
@@ -64,7 +64,7 @@ module MicrosoftKiotaSerializationJson
|
|
|
64
64
|
|
|
65
65
|
def write_guid_value(key, value)
|
|
66
66
|
raise StandardError, 'no key or value included in write_guid_value(key, value)' if !key && !value
|
|
67
|
-
return value.to_s unless key
|
|
67
|
+
return set_root_value(value.to_s) unless key
|
|
68
68
|
return if value.nil?
|
|
69
69
|
|
|
70
70
|
@writer[key] = value.to_s
|
|
@@ -72,7 +72,7 @@ module MicrosoftKiotaSerializationJson
|
|
|
72
72
|
|
|
73
73
|
def write_date_value(key, value)
|
|
74
74
|
raise StandardError, 'no key or value included in write_date_value(key, value)' if !key && !value
|
|
75
|
-
return value.strftime('%Y-%m-%d') unless key
|
|
75
|
+
return set_root_value(value.strftime('%Y-%m-%d')) unless key
|
|
76
76
|
return if value.nil?
|
|
77
77
|
|
|
78
78
|
@writer[key] = value.strftime('%Y-%m-%d')
|
|
@@ -80,7 +80,7 @@ module MicrosoftKiotaSerializationJson
|
|
|
80
80
|
|
|
81
81
|
def write_time_value(key, value)
|
|
82
82
|
raise StandardError, 'no key or value included in write_time_value(key, value)' if !key && !value
|
|
83
|
-
return value.strftime('%H:%M:%S%Z') unless key
|
|
83
|
+
return set_root_value(value.strftime('%H:%M:%S%Z')) unless key
|
|
84
84
|
return if value.nil?
|
|
85
85
|
|
|
86
86
|
@writer[key] = value.strftime('%H:%M:%S%Z')
|
|
@@ -88,7 +88,7 @@ module MicrosoftKiotaSerializationJson
|
|
|
88
88
|
|
|
89
89
|
def write_date_time_value(key, value)
|
|
90
90
|
raise StandardError, 'no key or value included in write_date_time_value(key, value)' if !key && !value
|
|
91
|
-
return value.strftime('%Y-%m-%dT%H:%M:%S%Z') unless key
|
|
91
|
+
return set_root_value(value.strftime('%Y-%m-%dT%H:%M:%S%Z')) unless key
|
|
92
92
|
return if value.nil?
|
|
93
93
|
|
|
94
94
|
@writer[key] = value.strftime('%Y-%m-%dT%H:%M:%S%Z')
|
|
@@ -96,7 +96,7 @@ module MicrosoftKiotaSerializationJson
|
|
|
96
96
|
|
|
97
97
|
def write_duration_value(key, value)
|
|
98
98
|
raise StandardError, 'no key or value included in write_duration_value(key, value)' if !key && !value
|
|
99
|
-
return value.string unless key
|
|
99
|
+
return set_root_value(value.string) unless key
|
|
100
100
|
return if value.nil?
|
|
101
101
|
|
|
102
102
|
@writer[key] = value.string
|
|
@@ -104,11 +104,8 @@ module MicrosoftKiotaSerializationJson
|
|
|
104
104
|
|
|
105
105
|
def write_collection_of_primitive_values(key, values)
|
|
106
106
|
return unless values
|
|
107
|
-
unless key
|
|
108
|
-
|
|
109
|
-
write_any_value(nil, v)
|
|
110
|
-
end
|
|
111
|
-
end
|
|
107
|
+
return set_root_value(values.map { |v| serialized_scalar(v) }) unless key
|
|
108
|
+
|
|
112
109
|
@writer[key] = values.map do |v|
|
|
113
110
|
write_any_value(key, v)
|
|
114
111
|
end
|
|
@@ -132,6 +129,15 @@ module MicrosoftKiotaSerializationJson
|
|
|
132
129
|
end
|
|
133
130
|
end
|
|
134
131
|
|
|
132
|
+
def write_collection_of_enum_values(key, values)
|
|
133
|
+
return unless values
|
|
134
|
+
|
|
135
|
+
serialized = values.compact.map(&:to_s)
|
|
136
|
+
return set_root_value(serialized) unless key
|
|
137
|
+
|
|
138
|
+
@writer[key] = serialized
|
|
139
|
+
end
|
|
140
|
+
|
|
135
141
|
def write_enum_value(key, values)
|
|
136
142
|
raise StandardError, 'no key or value included in write_enum_value(key, values)' if key.nil? && values.nil?
|
|
137
143
|
return if values.nil?
|
|
@@ -162,6 +168,14 @@ module MicrosoftKiotaSerializationJson
|
|
|
162
168
|
|
|
163
169
|
public
|
|
164
170
|
|
|
171
|
+
def serialized_scalar(value)
|
|
172
|
+
return value if value.nil? || value == true || value == false
|
|
173
|
+
|
|
174
|
+
temp = JsonSerializationWriter.new
|
|
175
|
+
result = temp.write_any_value(nil, value)
|
|
176
|
+
temp.root_value? ? temp.root_value : result
|
|
177
|
+
end
|
|
178
|
+
|
|
165
179
|
def write_any_value(key, value)
|
|
166
180
|
if value
|
|
167
181
|
if !value.nil? == value
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: microsoft_kiota_serialization_json
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.22.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Microsoft Corporation
|
|
@@ -35,14 +35,14 @@ dependencies:
|
|
|
35
35
|
requirements:
|
|
36
36
|
- - '='
|
|
37
37
|
- !ruby/object:Gem::Version
|
|
38
|
-
version: 0.
|
|
38
|
+
version: 0.22.0
|
|
39
39
|
type: :runtime
|
|
40
40
|
prerelease: false
|
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
42
42
|
requirements:
|
|
43
43
|
- - '='
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
|
-
version: 0.
|
|
45
|
+
version: 0.22.0
|
|
46
46
|
- !ruby/object:Gem::Dependency
|
|
47
47
|
name: uuidtools
|
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|