Scala.jsに対応したscodec-msgpackをリリースしました
この記事は予約投稿です。
id:xuwei さんが ささっと作業してくださったのでリリースしました。
https://github.com/pocketberserker/scodec-msgpack/tree/v0.4.1
v0.4.0はプロジェクトの設定ミスにより空のjarが降って来るだけなのでスルーしてください…。
なんでscala-jsに対応できたのか
- shapeless は Scala.js をサポートしている
- scodec-bits も Scala.js をサポートしている
- 依存している二つのライブラリが Scala.js をサポートしたので、 scodec-core も v1.8.3 から Scala.js をサポート開始
- scodec-msgpack は scodec-core のみに依存する、かつそんなに変なことはしていない
- よってプロジェクト設定とテスト部分のみコストをかければ問題なく対応可能
といった形です。 shapeless が Scala.js をサポートしているのはなんというか、すごいですね。 マクロ的とか楽に対応できるものなのだろうか…?
TypeClassを使うようにした
ライブラリを作っておいてアレですが、私自身がscodec-msgpackを使っているというわけではないのでテキトーでいいかなと思ってメンテナンスをさぼり気味でした。
しかし、下記issueがきたので
Make primitive `Serialize`s implicit · Issue #8 · pocketberserker/scodec-msgpack · GitHub
重い腰をあげてimplicitな形式に変更しました。
変更ついでにshapeless.TypeClass
も使うようにしたのでそれなりに自動生成できます。
インスタンス増やさないといけないのは…ぼちぼちやろうと思います。