This macro annotation transforms a case class into a trait extending js.Object and a companion object with an apply() method.
This annotation will expand into either @JSName or @JSImport at compile time.
This annotation will expand into either @JSName or @JSImport at compile time.
Creates a @ScalaJSDefined
version of the annotated class or trait on the companion object.
Creates a @ScalaJSDefined
version of the annotated class or trait on the companion object.
@createJS trait Foo { def bar: String }
will expand to
trait Foo { def bar: String } object Foo { @js.native @ScalaJSDefined trait JS extends js.Object { def bar: String } }
Enables debugging of an annotated angulate2 class during macro expansion and/or at runtime.
(Since version 0.0.4) Use MacroAnnotationHandlerNew instead
This macro annotation transforms a case class into a trait extending js.Object and a companion object with an apply() method. This allows easy definition of JavaScript "confguration" objects, where some options are required, but ohters are optional.
is transformed into
Arguments of type scalajs.js.UndefOr will only be defined on the returned object, iff their value is
!= js.undefined