encodeKeyValuePair function
void
encodeKeyValuePair(
- String key,
- Object? value,
- LineWriter writer,
- int depth,
- ResolvedEncodeOptions options,
Encodes a key-value pair
Implementation
void encodeKeyValuePair(String key, Object? value, LineWriter writer, int depth,
ResolvedEncodeOptions options) {
final encodedKey = encodeKey(key);
if (isJsonPrimitive(value)) {
writer.push(
depth, '$encodedKey: ${encodePrimitive(value, options.delimiter)}');
} else if (isJsonArray(value)) {
encodeArray(key, value as List<Object?>, writer, depth, options);
} else if (isJsonObject(value)) {
final nestedKeys = (value as Map<String, Object?>).keys;
if (nestedKeys.isEmpty) {
// Empty object
writer.push(depth, '$encodedKey:');
} else {
writer.push(depth, '$encodedKey:');
encodeObject(value, writer, depth + 1, options);
}
}
}