AsIsCodec

trait AsIsCodec[T] extends Codec[T, T]

Use this codec when you don't need any data transformation

Companion:
object
trait Codec[T, T]
class Object
trait Matchable
class Any
object BooleanAsIsCodec.type
object DoubleAsIsCodec.type
object IntAsIsCodec.type
object StringAsIsCodec.type

Value members

Concrete methods

override def decode(domValue: T): T

Convert the result of a dom.Node.getAttribute call to appropriate Scala type.

Convert the result of a dom.Node.getAttribute call to appropriate Scala type.

Note: HTML Attributes are generally optional, and dom.Node.getAttribute will return null if an attribute is not defined on a given DOM node. However, this decoder is only intended for cases when the attribute is defined.

// @TODO Orly? What about boolean attrs? How do we distinguish that? What about props?

Definition Classes
override def encode(scalaValue: T): T

Convert desired attribute value to appropriate DOM type. The resulting value should be passed to dom.Node.setAttribute call, EXCEPT when resulting value is a null. In that case you should call dom.Node.removeAttribute instead.

Convert desired attribute value to appropriate DOM type. The resulting value should be passed to dom.Node.setAttribute call, EXCEPT when resulting value is a null. In that case you should call dom.Node.removeAttribute instead.

We use null instead of Option here to reduce overhead in JS land. This method should not be called by end users anyway, it's the consuming library's job to call this method under the hood.

Definition Classes