Skip to content

Commit 7bdfd7c

Browse files
committed
Simplify show implementation
1 parent b8ccb1d commit 7bdfd7c

File tree

1 file changed

+7
-41
lines changed

1 file changed

+7
-41
lines changed

src/rendering/show.jl

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,7 @@
1-
function convert_vl_to_vg(v::VLSpec)
2-
vl2vg_script_path = vegalite_app_path("vl2vg.js")
3-
p = open(Cmd(`$(NodeJS_16_jll.node()) $vl2vg_script_path`, dir=vegalite_app_path()), "r+")
4-
writer = @async begin
5-
our_json_print(p, v)
6-
close(p.in)
7-
end
8-
reader = @async read(p, String)
9-
wait(p)
10-
res = fetch(reader)
11-
if p.exitcode != 0
12-
throw(ArgumentError("Invalid spec"))
13-
end
14-
return res
15-
end
1+
function convert_vl_to_x(v::VLSpec, fileformat)
2+
script_path = vegalite_app_path("node_modules", "vega-lite", "bin", "vl2$fileformat")
163

17-
function convert_vl_to_x(v::VLSpec, second_script)
18-
vl2vg_script_path = vegalite_app_path("vl2vg.js")
19-
full_second_script_path = vegalite_app_path("node_modules", "vega-cli", "bin", second_script)
20-
p = open(pipeline(Cmd(`$(NodeJS_16_jll.node()) $vl2vg_script_path`, dir=vegalite_app_path()), Cmd(`$(NodeJS_16_jll.node()) $full_second_script_path -l error`, dir=vegalite_app_path())), "r+")
21-
writer = @async begin
22-
our_json_print(p, v)
23-
close(p.in)
24-
end
25-
reader = @async read(p, String)
26-
wait(p)
27-
res = fetch(reader)
28-
if p.processes[1].exitcode != 0 || p.processes[2].exitcode != 0
29-
throw(ArgumentError("Invalid spec"))
30-
end
31-
return res
32-
end
33-
34-
function convert_vl_to_svg(v::VLSpec)
35-
vl2vg_script_path = vegalite_app_path("vl2vg.js")
36-
vg2svg_script_path = vegalite_app_path("vg2svg.js")
37-
p = open(pipeline(Cmd(`$(NodeJS_16_jll.node()) $vl2vg_script_path`, dir=vegalite_app_path()), Cmd(`$(NodeJS_16_jll.node()) $vg2svg_script_path`, dir=vegalite_app_path())), "r+")
4+
p = open(Cmd(`$(NodeJS_16_jll.node()) $script_path`, dir=vegalite_app_path()),"r+")
385
writer = @async begin
396
our_json_print(p, v)
407
close(p.in)
@@ -55,17 +22,16 @@ function Base.show(io::IO, m::MIME"application/vnd.vegalite.v5+json", v::VLSpec)
5522
end
5623

5724
function Base.show(io::IO, m::MIME"application/vnd.vega.v5+json", v::VLSpec)
58-
59-
print(io, convert_vl_to_vg(v))
25+
print(io, convert_vl_to_x(v, "vg"))
6026
end
6127

6228
function Base.show(io::IO, m::MIME"image/svg+xml", v::VLSpec)
63-
print(io, convert_vl_to_svg(v))
29+
print(io, convert_vl_to_x(v, "svg"))
6430
end
6531

6632
function Base.show(io::IO, m::MIME"application/pdf", v::VLSpec)
6733
if vegaliate_app_includes_canvas[]
68-
print(io, convert_vl_to_x(v, "vg2pdf"))
34+
print(io, convert_vl_to_x(v, "pdf"))
6935
else
7036
error("Not yet implemented.")
7137
# svgstring = convert_vl_to_svg(v)
@@ -100,7 +66,7 @@ end
10066

10167
function Base.show(io::IO, m::MIME"image/png", v::VLSpec)
10268
if vegaliate_app_includes_canvas[]
103-
print(io, convert_vl_to_x(v, "vg2png"))
69+
print(io, convert_vl_to_x(v, "png"))
10470
else
10571
error("Not yet implemented.")
10672
# svgstring = convert_vl_to_svg(v)

0 commit comments

Comments
 (0)