All Downloads are FREE. Search and download functionalities are using the official Maven repository.

os.web.angular.macroTools.scala Maven / Gradle / Ivy

The newest version!
// Copyright AGPL3 2015 ~ Optersoft SL

package os.web.angular

import scala.language.reflectiveCalls
import os.web.internal.angular.CommonMacroTools
import os.web.internal.angular.BlackboxMacroTools
import os.web.internal.angular.WhiteboxMacroTools

trait JsCommonMacroTools {
  this: CommonMacroTools =>

  import c.universe._

  def selectGlobalDynamic[T: c.WeakTypeTag]: Tree = selectGlobalDynamic(weakTypeOf[T].typeSymbol.fullName)

  def selectGlobalDynamic(fullName: String): Tree = fullName.split("\\.").
    foldLeft(q"scalajs.js.Dynamic.global": Tree)((b, name) => q"""$b.selectDynamic($name)""")
}

abstract class JsBlackboxMacroTools extends BlackboxMacroTools with JsCommonMacroTools

abstract class JsWhiteboxMacroTools extends WhiteboxMacroTools with JsCommonMacroTools




© 2015 - 2025 Weber Informatics LLC | Privacy Policy