Salat
Salat is a simple serialization library for case classes.
Install / Use
/learn @salat/SalatREADME
Salat
Salat is a simple serialization library for case classes.
Salat currently supports bidirectional serialization for:
Goals
Simplicity. Flexibility. Consistency.
Your model there and back again should just work.
Get Salat
Salat publishes snapshots and releases to OSS Sontatype.
Stable Release
Available for Scala 2.10, 2.11 and 2.12. Based on Casbah 3.1.1, with support for Mongo 3.x
"com.github.salat" %% "salat" % "1.11.2"
Snapshot
Available for Scala 2.11 and 2.12. Based on Casbah 3.1.1, with support for Mongo 3.x
"com.github.salat" %% "salat" % "1.11.3-SNAPSHOT"
Legacy support
Package
Starting with version 1.10.0, the package for Salat has changed.
Version 1.10.x and Later
import salat._
Version 1.9.x and Earlier
import com.novus.salat._
Repositories
Salat has been hosted exclusively by Sonatype since version 0.0.8. Please remove all references to repo.novus.com from your build files.
If you are not using sbt 0.11.2+, or you need a SNAPSHOT release, explicitly add OSS Sonatype to your resolvers:
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
Scala 2.12.x
Based on Casbah 3.1.1.
"org.github.salat" %% "salat" % "1.11.2"
Scala 2.11.x
Based on Casbah 3.1.1.
"org.github.salat" %% "salat" % "1.11.2"
Based on Casbah 2.8.2.
"org.github.salat" %% "salat" % "1.10.0"
Scala 2.10.4
Based on Casbah 2.7.1.
"com.novus" %% "salat" % "1.9.10"
Scala 2.9.3
Based on Casbah 2.7.0.
"com.novus" %% "salat" % "1.9.7"
Scala 2.9.2
Based on Casbah 2.6.4.
"com.novus" %% "salat" % "1.9.5"
Scala 2.8.1
Based on Casbah 2.1.5-1.
"com.novus" %% "salat" % "0.0.8"
Play 2 plugin
Are you using Play framework? Make sure to see our Play support wiki page, and check out the play-salat plugin at cloudinsights/play-salat.
Documentation
See the wiki and the mailing list.
What does Salat support?
See Supported Types.
What doesn't Salat support?
We don't have the resources to support everything. Here are some things Salat doesn't do:
- Java compatibility
- non-case classes
- type aliases
- nested inner classes
- varags
- arrays
- multiple constructors
- tuples
Optioncontaining a collection (see collection support for workarounds)- relationship management like a traditional ORM
How does Salat work?
Salat uses the Product trait implemented by case classes with the hi-fi type information found in pickled Scala signatures.
Details are thin on the ground, but here's where we got started:
- the source code for
scala.tools.scalap.scalax.rules.scalasig.ScalaSigParser - SID # 10 (draft) - Storage of pickled Scala signatures in class files
Related Skills
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.6kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
