Skip to content
This repository was archived by the owner on Jun 15, 2023. It is now read-only.

Commit 6f205ff

Browse files
authored
Merge pull request #47 from cryogenian/trans
Transformer
2 parents 30515e8 + ad440bc commit 6f205ff

File tree

18 files changed

+717
-638
lines changed

18 files changed

+717
-638
lines changed

bower.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
"purescript-dom": "^4.0.0",
3030
"purescript-transformers": "^3.0.0",
3131
"purescript-colors": "^3.0.0",
32-
"purescript-variant": "^3.2.1"
32+
"purescript-variant": "^3.2.1",
33+
"purescript-aff": "^4.0.0"
3334
},
3435
"devDependencies": {
3536
"purescript-debug": "^3.0.0",

example/src/Bar.purs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ import Debug.Trace as DT
1616
import ECharts.Chart as EC
1717
import ECharts.Commands as E
1818
import ECharts.Event as EE
19-
import ECharts.Monad (DSL)
19+
import ECharts.Monad (DSL', interpret)
2020
import ECharts.Types as ET
2121
import ECharts.Types.Phantom as ETP
2222
import Utils as U
2323

24-
itemStyle DSL ETP.ItemStyleI
24+
itemStyle DSL' ETP.ItemStyleI
2525
itemStyle = do
2626
E.normalItemStyle $ pure unit
2727
E.emphasisItemStyle do
@@ -39,7 +39,7 @@ type OptionInput =
3939
, four Number
4040
}
4141

42-
options Array OptionInput DSL ETP.OptionI
42+
options Array OptionInput DSL' ETP.OptionI
4343
options inp = do
4444
F.for_ (C.fromHexString "#eee") E.backgroundColor
4545

@@ -146,6 +146,6 @@ chart = do
146146
Just el → do
147147
ch ← EC.init el
148148
inp ← genInp
149-
EC.setOption (options inp) ch
149+
EC.setOption (interpret $ options inp) ch
150150
EC.getOption ch >>= DT.traceAnyA
151151
EE.listenAll ch DT.traceAnyA

example/src/Funnel.purs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ import ECharts.Chart as EC
1919
import ECharts.Types as ET
2020
import ECharts.Types.Phantom as ETP
2121
import ECharts.Commands as E
22-
import ECharts.Monad (DSL)
22+
import ECharts.Monad (DSL', interpret)
2323

2424
import Utils as U
2525

26-
options DSL ETP.OptionI
26+
options DSL' ETP.OptionI
2727
options = do
2828
E.title do
2929
E.text "Funnel example"
@@ -121,4 +121,4 @@ chart = do
121121
NothingDT.traceAnyA "There is no element with 'funnel' id"
122122
Just el → do
123123
ch ← EC.init el
124-
EC.setOption options ch
124+
EC.setOption (interpret options) ch

example/src/Gauge.purs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ import ECharts.Chart as EC
1717
import ECharts.Types as ET
1818
import ECharts.Types.Phantom as ETP
1919
import ECharts.Commands as E
20-
import ECharts.Monad (DSL)
20+
import ECharts.Monad (DSL', interpret)
2121

2222
import Signal (Signal, runSignal, (~>))
2323
import Signal.Time (every)
2424

2525
import Utils as U
2626

27-
options {speed Number, r Number, gas Number, water Number} DSL ETP.OptionI
27+
options {speed Number, r Number, gas Number, water Number} DSL' ETP.OptionI
2828
options obj = do
2929
E.tooltip $ E.formatterString "{a} <br />{c} {b}"
3030

@@ -170,7 +170,7 @@ chart = do
170170
NothingDT.traceAnyA "There is no element with 'gauge' id"
171171
Just el → do
172172
ch ← EC.init el
173-
EC.setOption (options initialVal) ch
173+
EC.setOption (interpret $ options initialVal) ch
174174
runSignal $ dataStream ~> \effVal → do
175175
val ← effVal
176-
EC.setOption (options val) ch
176+
EC.setOption (interpret $ options val) ch

example/src/Graph.purs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ import ECharts.Chart as EC
1616
import ECharts.Types as ET
1717
import ECharts.Types.Phantom as ETP
1818
import ECharts.Commands as E
19-
import ECharts.Monad (DSL)
19+
import ECharts.Monad (DSL', interpret)
2020

2121
import Utils as U
2222

23-
options DSL ETP.OptionI
23+
options DSL' ETP.OptionI
2424
options = do
2525
E.title $ E.text "Graph"
2626
E.tooltip $ pure unit
@@ -96,4 +96,4 @@ chart = do
9696
NothingDT.traceAnyA "There is no element with 'graph' id"
9797
Just el → do
9898
ch ← EC.init el
99-
EC.setOption options ch
99+
EC.setOption (interpret options) ch

example/src/Heatmap.purs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import ECharts.Chart as EC
2121
import ECharts.Types as ET
2222
import ECharts.Types.Phantom as ETP
2323
import ECharts.Commands as E
24-
import ECharts.Monad (DSL)
24+
import ECharts.Monad (DSL', interpret)
2525

2626
import Utils as U
2727

@@ -72,7 +72,7 @@ arrValues =
7272
, [6, 17, 0], [6, 18, 0], [6, 19, 0], [6, 20, 1], [6, 21, 2], [6, 22, 2], [6, 23, 6]
7373
]
7474

75-
values i. Array (DSL (value ETP.I|i))
75+
values i. Array (DSL' (value ETP.I|i))
7676
values = A.catMaybes $ arrValues <#> case _ of
7777
[x, y, z] → pure $ E.buildValues do
7878
E.addValue $ toNumber y
@@ -82,7 +82,7 @@ values = A.catMaybes $ arrValues <#> case _ of
8282
else E.addValue $ toNumber z
8383
_ → Nothing
8484

85-
options DSL ETP.OptionI
85+
options DSL' ETP.OptionI
8686
options = do
8787
E.tooltip $ pure unit
8888
E.animationEnabled false
@@ -121,4 +121,4 @@ chart = do
121121
NothingDT.traceAnyA "There is no element with 'heatmap' id"
122122
Just el → do
123123
ch ← EC.init el
124-
EC.setOption options ch
124+
EC.setOption (interpret options) ch

example/src/HeatmapCalendar.purs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import ECharts.Chart as EC
2020
import ECharts.Types as ET
2121
import ECharts.Types.Phantom as ETP
2222
import ECharts.Commands as E
23-
import ECharts.Monad (DSL)
23+
import ECharts.Monad (DSL', interpret)
2424

2525
import Partial.Unsafe (unsafePartial)
2626
import Utils as U
@@ -48,14 +48,14 @@ arrValues =
4848
, [ "2017-02-24", "528" ], [ "2017-02-25", "859" ], [ "2017-02-26", "802" ]
4949
, [ "2017-02-27", "992" ], [ "2017-02-28", "342" ] ]
5050

51-
values i. Array (DSL (value ETP.I|i))
51+
values i. Array (DSL' (value ETP.I|i))
5252
values = A.catMaybes $ arrValues <#> case _ of
5353
[x, y] → pure $ E.buildValues do
5454
E.addStringValue x
5555
E.addStringValue y
5656
_ → Nothing
5757

58-
options DSL ETP.OptionI
58+
options DSL' ETP.OptionI
5959
options = do
6060
E.tooltip do
6161
E.positionTop
@@ -105,4 +105,4 @@ chart = do
105105
NothingDT.traceAnyA "There is no element with 'heatmap-calendar' id"
106106
Just el → do
107107
ch ← EC.init el
108-
EC.setOption options ch
108+
EC.setOption (interpret options) ch

example/src/K.purs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ import ECharts.Chart as EC
1717
import ECharts.Types as ET
1818
import ECharts.Types.Phantom as ETP
1919
import ECharts.Commands as E
20-
import ECharts.Monad (DSL)
20+
import ECharts.Monad (DSL', interpret)
2121

2222
import Utils as U
2323

24-
options DSL ETP.OptionI
24+
options DSL' ETP.OptionI
2525
options = do
2626
E.xAxis do
2727
E.axisType ET.Category
@@ -62,4 +62,4 @@ chart = do
6262
NothingDT.traceAnyA "There is no element with 'k' id"
6363
Just el → do
6464
ch ← EC.init el
65-
EC.setOption options ch
65+
EC.setOption (interpret options) ch

example/src/Line.purs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import Debug.Trace as DT
2323
import ECharts.Chart as EC
2424
import ECharts.Types as ET
2525
import ECharts.Commands as E
26-
import ECharts.Monad (DSL)
26+
import ECharts.Monad (DSL', interpret)
2727
import ECharts.Types.Phantom (I)
2828
import ECharts.Types.Phantom as ETP
2929

@@ -32,7 +32,7 @@ import Signal.Time (every)
3232

3333
import Utils as U
3434

35-
startOptions DSL ETP.OptionI
35+
startOptions DSL' ETP.OptionI
3636
startOptions = do
3737
E.title do
3838
E.text "Dynamic line"
@@ -58,11 +58,11 @@ startOptions = do
5858
type Accum =
5959
{ dt D.DateTime
6060
, value Number
61-
, values Array (DSL ETP.ItemI)
61+
, values Array (DSL' ETP.ItemI)
6262
}
6363

6464
dataStream
65-
e i. Accum Signal (Eff (random RANDOM|e) (DSL (items I|i)))
65+
e i. Accum Signal (Eff (random RANDOM|e) (DSL' (items I|i)))
6666
dataStream start =
6767
accumStream ~> map (E.itemsDSL <<< _.values)
6868
where
@@ -78,14 +78,14 @@ dataStream start =
7878
newTimeLabel = either (const $ "Incorrect date") id $ FDT.formatDateTime "YYYY-MM-DD" newTime
7979
newValue = acc.value + (ran * 21.0 - 10.0)
8080

81-
newItem DSL ETP.ItemI
81+
newItem DSL' ETP.ItemI
8282
newItem = do
8383
E.name newTimeLabel
8484
E.valuePair newTimeLabel newValue
8585

8686
pure { value: newValue, dt: newTime, values: [newItem] <> acc.values }
8787

88-
optStream e. Accum Signal (Eff (now NOW, random RANDOM|e) (DSL ETP.OptionI))
88+
optStream e. Accum Signal (Eff (now NOW, random RANDOM|e) (DSL' ETP.OptionI))
8989
optStream acc =
9090
dataStream acc ~> \effItemsSet → do
9191
itemsSet ← effItemsSet
@@ -98,9 +98,9 @@ chart = do
9898
NothingDT.traceAnyA "There is no element with line id"
9999
Just el → do
100100
ch ← EC.init el
101-
EC.setOption startOptions ch
101+
EC.setOption (interpret startOptions) ch
102102
timeStart ← map toDateTime now
103103
valueStart ← random
104104
runSignal $ optStream {dt: timeStart, value: valueStart, values: []} ~> \effOpt → do
105105
opt ← effOpt
106-
EC.setOption opt ch
106+
EC.setOption (interpret opt) ch

example/src/Pie.purs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import ECharts.Event as EE
1515
import ECharts.Types as ET
1616
import ECharts.Types.Phantom as ETP
1717
import ECharts.Commands as E
18-
import ECharts.Monad (DSL)
18+
import ECharts.Monad (DSL', interpret)
1919
import Utils as U
2020

21-
options DSL ETP.OptionI
21+
options DSL' ETP.OptionI
2222
options = do
2323
E.tooltip do
2424
E.trigger ET.ItemTrigger
@@ -84,7 +84,7 @@ chart = do
8484
NothingDT.traceAnyA "There is no element with pie id"
8585
Just el → do
8686
ch ← EC.init el
87-
EC.setOption options ch
87+
EC.setOption (interpret options) ch
8888
EE.listenAll ch DT.traceAnyA
8989
EE.dispatch
9090
(V.inj (SProxy SProxy "pieselected")

0 commit comments

Comments
 (0)