Print back records without trailing comma

This commit is contained in:
Ayaz Hafiz 2022-08-09 18:04:35 -07:00
parent 0fd467ca01
commit c81eecd644
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
2 changed files with 15 additions and 15 deletions

View file

@ -174,10 +174,7 @@ fn one_field_record() {
\#Derived.bytes, #Derived.fmt -> \#Derived.bytes, #Derived.fmt ->
Encode.appendWith Encode.appendWith
#Derived.bytes #Derived.bytes
(Encode.record (Encode.record [{ value: Encode.toEncoder #Derived.rcd.a, key: "a" }])
[
{ value: Encode.toEncoder #Derived.rcd.a, key: "a", },
])
#Derived.fmt #Derived.fmt
"### "###
) )
@ -202,8 +199,8 @@ fn two_field_record() {
#Derived.bytes #Derived.bytes
(Encode.record (Encode.record
[ [
{ value: Encode.toEncoder #Derived.rcd.a, key: "a", }, { value: Encode.toEncoder #Derived.rcd.a, key: "a" },
{ value: Encode.toEncoder #Derived.rcd.b, key: "b", }, { value: Encode.toEncoder #Derived.rcd.b, key: "b" },
]) ])
#Derived.fmt #Derived.fmt
"### "###

View file

@ -178,15 +178,18 @@ fn expr<'a>(c: &Ctx, p: EPrec, f: &'a Arena<'a>, e: &'a Expr) -> DocBuilder<'a,
Record { fields, .. } => f Record { fields, .. } => f
.reflow("{") .reflow("{")
.append( .append(
f.concat(fields.iter().map(|(name, field)| { f.intersperse(
let field = f fields.iter().map(|(name, field)| {
.text(name.as_str()) let field = f
.append(f.reflow(": ")) .text(name.as_str())
.append(expr(c, Free, f, &field.loc_expr.value)) .append(f.reflow(": "))
.nest(2) .append(expr(c, Free, f, &field.loc_expr.value))
.group(); .nest(2)
f.line().append(field).append(",") .group();
})) f.line().append(field)
}),
f.reflow(","),
)
.nest(2) .nest(2)
.group(), .group(),
) )