Skip to main content

Syntax

Module

  • The core module:
    "io.kevinlee" %% "extras-core" % "0.50.1"

or for Scala.js:

  • The core module:
    "io.kevinlee" %%% "extras-core" % "0.50.1"

Import

Scala 2

import extras.core.syntax.all._

Scala 3

import extras.core.syntax.all.*

core Syntax

There is core syntax provided for convenience.

String.encodeToUnicode

String.encodeToUnicode
import extras.core.syntax.all._

"A".encodeToUnicode
// res1: String = "\\u0041"
"a".encodeToUnicode
// res2: String = "\\u0061"

"Z".encodeToUnicode
// res3: String = "\\u005a"
"z".encodeToUnicode
// res4: String = "\\u007a"

"Hello".encodeToUnicode
// res5: String = "\\u0048\\u0065\\u006c\\u006c\\u006f"

" ".encodeToUnicode
// res6: String = "\\u0020"

"\n".encodeToUnicode
// res7: String = "\\u000a"

Elvis Operator (?:) for Scala 3

a ?: fallback

Elvis Operator

import extras.core.syntax.all.*

val a = "Some value"
// a: String = "Some value"

a ?: "default"
// String = "Some value"

val b: String = null
// b: String = null

b ?: "default"
// String = "default"

Crying Elvis Operator (?:=) for Scala 2

a ?:= fallback

Crying Elvis Operator

import extras.core.syntax.all._

val a = "Some value"
// a: String = "Some value"

a ?:= "default"
// res9: String = "Some value"

val b: String = null
// b: String = null

b ?:= "default"
// res10: String = "default"