luaur_analysis/functions/
write_json_emitter.rs1extern crate alloc;
16
17use crate::methods::object_emitter_write_pair::WriteJson;
18use crate::records::json_emitter::JsonEmitter;
19use alloc::vec::Vec;
20
21pub fn write_json_emitter_vector_t<T: WriteJson>(emitter: &mut JsonEmitter, vec: &Vec<T>) {
22 let mut a = emitter.write_array();
23
24 for value in vec {
25 a.write_value(value);
26 }
27
28 a.finish();
29}
30
31impl<T: WriteJson> WriteJson for Vec<T> {
34 fn write_json(&self, emitter: &mut JsonEmitter) {
35 write_json_emitter_vector_t(emitter, self);
36 }
37}
38
39impl<T: WriteJson> WriteJson for [T] {
41 fn write_json(&self, emitter: &mut JsonEmitter) {
42 let mut a = emitter.write_array();
43 for value in self {
44 a.write_value(value);
45 }
46 a.finish();
47 }
48}