Skip to content

Commit

Permalink
Upgrade examples to Tyrian 0.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
davesmith00000 committed May 20, 2023
1 parent fec2bab commit a0d8c26
Show file tree
Hide file tree
Showing 37 changed files with 1,101 additions and 101 deletions.
2 changes: 1 addition & 1 deletion examples/.tyrian-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.6.2
0.7.0
5 changes: 4 additions & 1 deletion examples/bootstrap/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) = (0, Cmd.None)

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
case Msg.Increment => (model + 1, Cmd.None)
case Msg.Decrement => (model - 1, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
div(`class` := "container")(
Expand All @@ -36,4 +39,4 @@ object Main extends TyrianApp[Msg, Model]:
type Model = Int

enum Msg:
case Increment, Decrement
case Increment, Decrement, NoOp
5 changes: 0 additions & 5 deletions examples/bootstrap/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4031,11 +4031,6 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"

snabbdom@^3.0.1:
version "3.2.0"
resolved "https://registry.yarnpkg.com/snabbdom/-/snabbdom-3.2.0.tgz#8ea6b2517739a7d9ca82df3f181d052adf1ca5ad"
integrity sha512-UWyfm8WbaFmbmYLC33pe5fawBfExhynkMDoZqQ8ehlHDwkxrgIOpWhKf5PaacLUW1n+Uwu5N5HND6mESU7cMlw==

"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf"
Expand Down
3 changes: 1 addition & 2 deletions examples/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,7 @@ lazy val zio =
.settings(
name := "zio",
libraryDependencies ++= Seq(
"dev.zio" %%% "zio" % "2.0.10",
"dev.zio" %%% "zio-interop-cats" % "23.0.03"
"dev.zio" %%% "zio-interop-cats" % "23.0.0.5"
)
)

Expand Down
5 changes: 3 additions & 2 deletions examples/bundler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ This is a minimal working project setup to run the counter example.

To compile, follow the instructions in the parent directories README.md file.

To serve the site, you will need a static web server. A simple one is `http-server` (install: `npm install -g http-server`) which you can launch in the same directory as your `index.html` page as follows
To serve the site, you will need a static web server. A simple one is `http-server` which you can launch in the same directory as your `index.html` page as follows

```sh
http-server -c-1
npm install http-server
npx http-server -c-1
```

The arguments disable the servers cache.
Expand Down
2 changes: 1 addition & 1 deletion examples/bundler/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@

<body>
<div id="myapp"></div>
<script type="module" src="./target/scala-3.2.2/scalajs-bundler/main/bundler-fastopt-bundle.js"></script>
<script type="module" src="./target/scala-3.2.2/scalajs-bundler/main/bundler-fastopt.js"></script>
</body>
5 changes: 4 additions & 1 deletion examples/bundler/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) = (0, Cmd.None)

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
case Msg.Increment => (model + 1, Cmd.None)
case Msg.Decrement => (model - 1, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
div()(
Expand All @@ -31,4 +34,4 @@ object Main extends TyrianApp[Msg, Model]:
type Model = Int

enum Msg:
case Increment, Decrement
case Increment, Decrement, NoOp
11 changes: 8 additions & 3 deletions examples/clock/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@ import concurrent.duration.DurationInt
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) =
(new js.Date(), Cmd.None)

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
msg => (msg.newTime, Cmd.None)
case Msg.Tick(newTime) => (newTime, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
val angle = model.getSeconds() * 2 * math.Pi / 60 - math.Pi / 2
Expand All @@ -40,8 +43,10 @@ object Main extends TyrianApp[Msg, Model]:
)

def subscriptions(model: Model): Sub[IO, Msg] =
Sub.every[IO](1.second, "clock-ticks").map(Msg.apply)
Sub.every[IO](1.second, "clock-ticks").map(Msg.Tick.apply)

type Model = js.Date

final case class Msg(newTime: js.Date)
enum Msg:
case Tick(newTime: js.Date)
case NoOp
5 changes: 0 additions & 5 deletions examples/clock/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4057,11 +4057,6 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"

snabbdom@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/snabbdom/-/snabbdom-3.0.1.tgz#9355339e7c970be7fcd54128ccde9ee57301f222"
integrity sha512-H4gKokDT1HPe3dlGyTihNw0NtEH9FxZy55MXp3ODM4O30NBRe+11veox1wf/CP9NfGcbStDM3BmO1DFC9/5wRw==

source-map-js@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf"
Expand Down
5 changes: 4 additions & 1 deletion examples/counter/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,15 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) =
(Model.init, Cmd.None)

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
case Msg.Increment => (model + 1, Cmd.None)
case Msg.Decrement => (model - 1, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
div(
Expand All @@ -35,4 +38,4 @@ object Model:
def -(other: Int): Model = i - other

enum Msg:
case Increment, Decrement
case Increment, Decrement, NoOp
5 changes: 0 additions & 5 deletions examples/counter/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4057,11 +4057,6 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"

snabbdom@^3.0.1:
version "3.2.0"
resolved "https://registry.yarnpkg.com/snabbdom/-/snabbdom-3.2.0.tgz#8ea6b2517739a7d9ca82df3f181d052adf1ca5ad"
integrity sha512-UWyfm8WbaFmbmYLC33pe5fawBfExhynkMDoZqQ8ehlHDwkxrgIOpWhKf5PaacLUW1n+Uwu5N5HND6mESU7cMlw==

source-map-js@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf"
Expand Down
5 changes: 4 additions & 1 deletion examples/electron/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,15 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) =
(Model.init, Cmd.None)

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
case Msg.Increment => (model + 1, Cmd.None)
case Msg.Decrement => (model - 1, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
div(
Expand All @@ -35,4 +38,4 @@ object Model:
def -(other: Int): Model = i - other

enum Msg:
case Increment, Decrement
case Increment, Decrement, NoOp
6 changes: 5 additions & 1 deletion examples/field/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) = ("", Cmd.None)

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
case Msg.NewContent(content) => (content, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
div()(
Expand All @@ -39,4 +42,5 @@ object Main extends TyrianApp[Msg, Model]:
type Model = String

enum Msg:
case NewContent(content: String) extends Msg
case NewContent(content: String)
case NoOp
5 changes: 0 additions & 5 deletions examples/field/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4057,11 +4057,6 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"

snabbdom@^3.0.1:
version "3.2.0"
resolved "https://registry.yarnpkg.com/snabbdom/-/snabbdom-3.2.0.tgz#8ea6b2517739a7d9ca82df3f181d052adf1ca5ad"
integrity sha512-UWyfm8WbaFmbmYLC33pe5fawBfExhynkMDoZqQ8ehlHDwkxrgIOpWhKf5PaacLUW1n+Uwu5N5HND6mESU7cMlw==

source-map-js@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf"
Expand Down
7 changes: 5 additions & 2 deletions examples/fs2/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) =
(List("A message will appear here every 5 seconds."), Cmd.None)

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
case Msg.Tick(msg) =>
(model :+ msg, Cmd.None)
case Msg.Tick(msg) => (model :+ msg, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
div(
Expand All @@ -37,3 +39,4 @@ type Model = List[String]

enum Msg:
case Tick(msg: String)
case NoOp
10 changes: 7 additions & 3 deletions examples/http/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,16 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) =
(Model("cats", "waiting.gif"), HttpHelper.getRandomGif("cats"))

def update(model: Model): Msg => (Model, Cmd[IO, Msg]) =
case Msg.MorePlease => (model, HttpHelper.getRandomGif(model.topic))
case Msg.NewGif(newUrl) => (model.copy(gifUrl = newUrl), Cmd.None)
case Msg.GifError(_) => (model, Cmd.None)
case Msg.NoOp => (model, Cmd.None)

def view(model: Model): Html[Msg] =
div()(
Expand All @@ -32,9 +35,10 @@ object Main extends TyrianApp[Msg, Model]:
Sub.None

enum Msg:
case MorePlease extends Msg
case NewGif(result: String) extends Msg
case GifError(error: String) extends Msg
case MorePlease
case NewGif(result: String)
case GifError(error: String)
case NoOp

object Msg:
private val onResponse: Response => Msg = { response =>
Expand Down
5 changes: 0 additions & 5 deletions examples/http/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4057,11 +4057,6 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"

snabbdom@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/snabbdom/-/snabbdom-3.0.1.tgz#9355339e7c970be7fcd54128ccde9ee57301f222"
integrity sha512-H4gKokDT1HPe3dlGyTihNw0NtEH9FxZy55MXp3ODM4O30NBRe+11veox1wf/CP9NfGcbStDM3BmO1DFC9/5wRw==

source-map-js@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf"
Expand Down
6 changes: 6 additions & 0 deletions examples/http4s-dom/src/main/scala/example/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import scala.scalajs.js.annotation.*
@JSExportTopLevel("TyrianApp")
object Main extends TyrianApp[Msg, Model]:

def router: Location => Msg = Routing.none(Msg.NoOp)

def init(flags: Map[String, String]): (Model, Cmd[IO, Msg]) =
(Model.init, Cmd.None)

Expand All @@ -28,6 +30,9 @@ object Main extends TyrianApp[Msg, Model]:
case Msg.Stars(res) =>
(model.copy(stargazersResult = res), Cmd.None)

case Msg.NoOp =>
(model, Cmd.None)

def view(model: Model): Html[Msg] =
div(
div(
Expand All @@ -54,6 +59,7 @@ enum Msg:
case FetchStars
case UpdateRepo(repo: String)
case Stars(result: String)
case NoOp

object Http4sHelper:

Expand Down
Loading

0 comments on commit a0d8c26

Please sign in to comment.