Skip to content

Commit 6b0f9e5

Browse files
authored
Merge pull request #434 from queryverse:buffered-output
Use a buffered output stream
2 parents 16fb368 + 17a77f7 commit 6b0f9e5

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ uuid = "112f6efa-9a02-5b7d-90c0-432ed331239a"
33
version = "3.2.1-DEV"
44

55
[deps]
6+
BufferedStreams = "e1450e63-4bb3-523b-b2a4-4ffa8c0fd77d"
67
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
78
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
89
TableTraits = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c"
@@ -30,6 +31,7 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
3031
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46"
3132

3233
[compat]
34+
BufferedStreams = "1.1"
3335
TableTraits = "0.3.1, 0.4, 1"
3436
IteratorInterfaceExtensions = "0.1.1, 1"
3537
JSON = "0.19, 0.20, 0.21"

src/VegaLite.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ using DataStructures
2121
import TableTraitsUtils
2222
using Vega
2323
import Base64
24+
import BufferedStreams
2425

2526
export renderer, actionlinks
2627
export @vl_str, @vlplot, vlplot, @vlfrag, vlfrag

src/rendering/show.jl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ function convert_vl_to_x(v::VLSpec, fileformat; cmd_args="")
22
script_path = vegalite_app_path("node_modules", "vega-lite", "bin", "vl2$fileformat")
33

44
p = open(Cmd(`$(NodeJS_18_jll.node()) $script_path $cmd_args`, dir=vegalite_app_path()),"r+")
5+
6+
buffered_output_stream = BufferedStreams.BufferedOutputStream(p.in)
7+
58
writer = @async begin
6-
our_json_print(p, v)
9+
our_json_print(buffered_output_stream, v)
10+
close(buffered_output_stream)
711
close(p.in)
812
end
13+
914
reader = @async read(p, String)
10-
wait(p)
15+
16+
wait(writer)
17+
wait(p)
1118
res = fetch(reader)
19+
1220
if p.exitcode != 0
1321
throw(ArgumentError("Invalid spec"))
1422
end

0 commit comments

Comments
 (0)