Skip to content

Commit

Permalink
d2ir: Fix variables to passthrough primary type
Browse files Browse the repository at this point in the history
If the variable is a number it should be parsed as a number and not coerced into a string.
See test change.
  • Loading branch information
nhooyr committed Jul 18, 2023
1 parent 4adfb22 commit a79e963
Show file tree
Hide file tree
Showing 23 changed files with 513 additions and 61 deletions.
8 changes: 6 additions & 2 deletions d2ir/compile.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,12 @@ func (c *compiler) resolveSubstitutions(varsStack []*Map, node Node) {
n.Primary_ = nil
}
} else {
s.Value[i].String = go2.Pointer(resolvedField.Primary().Value.ScalarString())
subbed = true
if i == 0 && len(s.Value) == 1 {
node.Primary().Value = resolvedField.Primary().Value
} else {
s.Value[i].String = go2.Pointer(resolvedField.Primary().Value.ScalarString())
subbed = true
}
}
if resolvedField.Composite != nil {
switch n := node.(type) {
Expand Down
4 changes: 2 additions & 2 deletions d2ir/import_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ label: meow`,
"a.d2": "vars: { x: 2 }; hi: ${x}",
})
assert.Success(t, err)
assertQuery(t, m, 0, 0, "2", "hi")
assertQuery(t, m, 0, 0, 2, "hi")
},
},
{
Expand All @@ -168,7 +168,7 @@ label: meow`,
"a.d2": "vars: { x: 2 }",
})
assert.Success(t, err)
assertQuery(t, m, 0, 0, "1", "hi")
assertQuery(t, m, 0, 0, 1, "hi")
},
},
}
Expand Down
18 changes: 17 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/edge-label.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 17 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/edge-map.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 39 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/nested.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 17 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/number.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 39 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/quoted-var.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 17 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/shape-label.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 17 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/style.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 17 additions & 1 deletion testdata/d2compiler/TestCompile2/vars/basic/sub-array.exp.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a79e963

Please sign in to comment.