Skip to content

Commit

Permalink
hotfix: JsonifyTransformer (#469)
Browse files Browse the repository at this point in the history
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **新機能**
-
JSON変換時に配列の取り扱いを条件付きで変更する機能を追加しました。`jsonify_array`フラグがtrueの場合、配列全体をJSON文字列に変換します。そうでない場合は、配列内の各オブジェクトを個別に文字列に変換します。

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • Loading branch information
ciscorn authored Mar 13, 2024
1 parent 72506ec commit 8db4aac
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions nusamai/src/transformer/transform/jsonify.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,19 @@ impl Transform for JsonifyTransform {
attrs.insert(key, Value::String(value.to_attribute_json().to_string()));
}
Value::Array(mut arr) => {
if !self.jsonify_array {
if self.jsonify_array {
attrs.insert(
key,
Value::String(Value::Array(arr).to_attribute_json().to_string()),
);
} else {
for v in arr.iter_mut() {
if let Value::Object(_) = v {
*v = Value::String(v.to_attribute_json().to_string())
}
}
};
attrs.insert(
key,
Value::String(Value::Array(arr).to_attribute_json().to_string()),
);
attrs.insert(key, Value::Array(arr));
}
}
value => {
attrs.insert(key, value);
Expand Down

0 comments on commit 8db4aac

Please sign in to comment.